FFmpeg
|
#include "movenc.h"
#include "avformat.h"
#include "avio_internal.h"
#include "riff.h"
#include "avio.h"
#include "isom.h"
#include "avc.h"
#include "libavcodec/get_bits.h"
#include "libavcodec/put_bits.h"
#include "libavcodec/vc1.h"
#include "internal.h"
#include "libavutil/avstring.h"
#include "libavutil/intfloat.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "rtpenc.h"
#include "mov_chan.h"
#include <assert.h>
Go to the source code of this file.
Macros | |
#define | MOV_CLASS(flavor) |
#define | READ_BLOCK |
Variables | |
static const AVOption | options [] |
static const AVCodecTag | codec_ipod_tags [] |
struct { | |
enum AVPixelFormat pix_fmt | |
uint32_t tag | |
unsigned bps | |
} | mov_pix_fmt_tags [] |
static const AVCodecTag | codec_3gp_tags [] |
static const AVCodecTag | codec_f4v_tags [] |
static const uint16_t | fiel_data [] |
#define MOV_CLASS | ( | flavor | ) |
#define READ_BLOCK |
Referenced by shift_data().
|
static |
Definition at line 77 of file movenc.c.
Referenced by mov_write_3gp_udta_tag(), mov_write_audio_tag(), mov_write_avcc_tag(), mov_write_chan_tag(), mov_write_dinf_tag(), mov_write_esds_tag(), mov_write_ftyp_tag(), mov_write_gmhd_tag(), mov_write_hdlr_tag(), mov_write_ilst_tag(), mov_write_iods_tag(), mov_write_isml_manifest(), mov_write_mdia_tag(), mov_write_meta_tag(), mov_write_mfra_tag(), mov_write_minf_tag(), mov_write_moof_tag(), mov_write_moov_tag(), mov_write_ms_tag(), mov_write_mvex_tag(), mov_write_rtp_tag(), mov_write_stbl_tag(), mov_write_stco_tag(), mov_write_string_tag(), mov_write_stsc_tag(), mov_write_stsd_tag(), mov_write_stss_tag(), mov_write_stsz_tag(), mov_write_subtitle_tag(), mov_write_tapt_tag(), mov_write_tcmi_tag(), mov_write_tfhd_tag(), mov_write_tfra_tag(), mov_write_tfxd_tag(), mov_write_tmcd_tag(), mov_write_traf_tag(), mov_write_trak_tag(), mov_write_trun_tag(), mov_write_uuidusmt_tag(), mov_write_video_tag(), mov_write_wave_tag(), and mov_write_wfex_tag().
|
static |
Definition at line 87 of file movenc.c.
Referenced by ff_mov_write_packet(), mov_write_header(), and mov_write_trak_tag().
|
static |
Definition at line 93 of file movenc.c.
Referenced by mov_write_stco_tag().
|
static |
Definition at line 107 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 131 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 169 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 199 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 222 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 236 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
This function writes extradata "as is".
Extradata must be formatted like a valid atom (with size and tag).
Definition at line 284 of file movenc.c.
Referenced by mov_write_audio_tag(), mov_write_video_tag(), and mov_write_wave_tag().
|
static |
Definition at line 290 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 298 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 306 of file movenc.c.
Referenced by mov_write_esds_tag(), and mov_write_iods_tag().
|
static |
Definition at line 315 of file movenc.c.
Referenced by mov_write_esds_tag().
|
static |
Definition at line 326 of file movenc.c.
Referenced by mov_write_audio_tag(), mov_write_video_tag(), and mov_write_wave_tag().
|
static |
Definition at line 379 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 387 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 395 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 405 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 414 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 439 of file movenc.c.
Referenced by mov_write_audio_tag().
Definition at line 480 of file movenc.c.
Referenced by mov_write_dvc1_tag(), and mov_write_trailer().
|
static |
Definition at line 555 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 572 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_video_tag().
|
static |
Compute flags for 'lpcm' tag.
See CoreAudioTypes and AudioStreamBasicDescription at Apple.
Definition at line 584 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 609 of file movenc.c.
Referenced by get_samples_per_packet(), mov_write_stts_tag(), mov_write_tfhd_tag(), and mov_write_trun_tag().
|
static |
Definition at line 624 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 645 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 752 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 764 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 775 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 822 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 851 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 868 of file movenc.c.
Referenced by mov_get_codec_tag().
|
static |
Definition at line 915 of file movenc.c.
Referenced by mov_get_codec_tag().
|
static |
Definition at line 932 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 989 of file movenc.c.
Referenced by mov_write_header().
|
static |
Write uuid atom.
Needed to make file play in iPods running newest firmware goes after avcC atom in moov.trak.mdia.minf.stbl.stsd.avc1
Definition at line 1015 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1031 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1044 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1059 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1072 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1150 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1175 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1195 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1215 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1249 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1290 of file movenc.c.
Referenced by mov_write_dinf_tag().
|
static |
Definition at line 1305 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1327 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1336 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1344 of file movenc.c.
Referenced by mov_write_gmhd_tag().
|
static |
Definition at line 1366 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1412 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1422 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1431 of file movenc.c.
Referenced by mov_write_mdia_tag(), and mov_write_minf_tag().
|
static |
Definition at line 1486 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1501 of file movenc.c.
Referenced by mov_write_mdia_tag().
|
static |
Definition at line 1528 of file movenc.c.
Referenced by mov_write_mdia_tag().
|
static |
Definition at line 1564 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1579 of file movenc.c.
Referenced by mov_write_mvhd_tag(), and mov_write_tkhd_tag().
|
static |
Definition at line 1593 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1667 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1699 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1750 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1761 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1779 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1801 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1825 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1854 of file movenc.c.
Referenced by mov_write_mvex_tag().
|
static |
Definition at line 1867 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1878 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1931 of file movenc.c.
Referenced by mov_write_meta_tag().
|
static |
Definition at line 1947 of file movenc.c.
Referenced by mov_write_string_tag().
|
static |
Definition at line 1967 of file movenc.c.
Referenced by mov_write_ilst_tag(), and mov_write_string_metadata().
|
static |
Definition at line 1979 of file movenc.c.
Referenced by mov_write_ilst_tag(), and mov_write_udta_tag().
|
static |
Definition at line 2004 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2022 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2043 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2062 of file movenc.c.
Referenced by mov_write_meta_tag().
|
static |
Definition at line 2096 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2110 of file movenc.c.
Referenced by mov_write_3gp_udta_tag(), and mov_write_psp_udta_tag().
|
static |
Definition at line 2121 of file movenc.c.
Referenced by mov_write_psp_udta_tag().
|
static |
Definition at line 2132 of file movenc.c.
Referenced by mov_write_3gp_udta_tag(), mov_write_psp_udta_tag(), and mov_write_uuidusmt_tag().
|
static |
Definition at line 2137 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2159 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2185 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 2241 of file movenc.c.
Referenced by mov_write_uuidusmt_tag().
|
static |
Definition at line 2254 of file movenc.c.
Referenced by mov_write_moov_tag().
Definition at line 2291 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 2314 of file movenc.c.
Referenced by get_moov_size(), mov_flush_fragment(), mov_write_header(), and mov_write_trailer().
|
static |
Definition at line 2373 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2378 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2383 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2392 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2478 of file movenc.c.
Referenced by mov_write_moof_tag().
|
static |
Definition at line 2487 of file movenc.c.
Referenced by mov_write_traf_tag().
Definition at line 2534 of file movenc.c.
Referenced by mov_write_trun_tag().
|
static |
Definition at line 2540 of file movenc.c.
Referenced by mov_write_traf_tag().
|
static |
Definition at line 2584 of file movenc.c.
Referenced by mov_write_traf_tag().
|
static |
Definition at line 2604 of file movenc.c.
Referenced by mov_write_tfrf_tags().
|
static |
Definition at line 2640 of file movenc.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 2654 of file movenc.c.
Referenced by mov_write_moof_tag().
|
static |
Definition at line 2680 of file movenc.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 2714 of file movenc.c.
Referenced by mov_write_mfra_tag().
|
static |
Definition at line 2738 of file movenc.c.
Referenced by mov_write_trailer().
|
static |
Definition at line 2764 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2776 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2839 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2900 of file movenc.c.
Referenced by ff_mov_write_packet().
Definition at line 2921 of file movenc.c.
Referenced by ff_mov_write_packet().
|
static |
Definition at line 2978 of file movenc.c.
Referenced by compute_moov_size(), and mov_flush_fragment().
|
static |
Definition at line 2993 of file movenc.c.
Referenced by mov_write_packet(), mov_write_single_packet(), and mov_write_trailer().
int ff_mov_write_packet | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) |
Definition at line 3113 of file movenc.c.
Referenced by ff_mov_add_hinted_packet(), mov_create_timecode_track(), and mov_write_single_packet().
|
static |
Definition at line 3263 of file movenc.c.
Referenced by mov_write_packet(), and mov_write_subtitle_end_packet().
|
static |
Definition at line 3290 of file movenc.c.
Referenced by mov_write_packet(), and mov_write_trailer().
|
static |
|
static |
Definition at line 3360 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 3439 of file movenc.c.
Referenced by mov_write_header().
|
static |
|
static |
This function gets the moov size if moved to the top of the file: the chunk offset table can switch between stco (32-bit entries) to co64 (64-bit entries) when the moov is moved to the top, so the size of the moov would change.
It also updates the chunk offset tables.
Definition at line 3751 of file movenc.c.
Referenced by shift_data().
|
static |
Definition at line 3776 of file movenc.c.
Referenced by mov_write_trailer().
|
static |
|
static |
|
static |
enum AVPixelFormat pix_fmt |
uint32_t tag |
Definition at line 895 of file movenc.c.
Referenced by aac_encode_frame(), add_input_streams(), aiff_read_header(), ape_read_header(), asf_write_header1(), av_codec_get_tag(), av_dict_set(), av_find_info_tag(), av_get_audio_frame_duration(), avformat_find_stream_info(), avi_load_index(), avi_read_header(), avi_read_idx1(), avi_read_nikon(), avi_stream2fourcc(), avi_write_header(), avi_write_idx1(), avi_write_ix(), avi_write_packet(), copy_tag(), decode_frame(), dump_metadata(), dxa_read_header(), eval_function(), ff_id3v2_parse(), ff_mov_get_channel_layout_tag(), ff_mov_read_esds(), ff_mp4_read_dec_config_descr(), ff_vorbiscomment_length(), ff_vorbiscomment_write(), ffm_read_header(), flv_write_header(), get_swf_tag(), gxf_material_tags(), gxf_track_tags(), id3v1_create_tag(), id3v1_set_string(), id3v2_check_write_tag(), ipod_get_codec_tag(), ircam_read_header(), ircam_write_header(), libschroedinger_decode_frame(), lz_unpack(), main(), matroska_convert_tags(), mkv_write_codecprivate(), mkv_write_header(), mkv_write_simpletag(), mkv_write_tag(), mkv_write_tracks(), mmf_read_header(), mov_find_codec_tag(), mov_get_codec_tag(), mov_get_dv_codec_tag(), mov_get_rawvideo_codec_tag(), mov_probe(), mov_read_custom_metadata(), mov_read_meta(), mov_read_udta_string(), mov_write_audio_tag(), mp4_get_codec_tag(), mpc8_parse_seektable(), mpc8_read_header(), mpc8_read_packet(), new_output_stream(), nuv_resync(), ogm_header(), parse_fragment(), parse_mp4_descr(), pmt_cb(), process_line(), put_meta(), put_swf_end_tag(), put_swf_tag(), qcp_read_packet(), qt_rtp_parse_packet(), rdt_load_mdpr(), read_header(), rm_read_header(), rv10_write_header(), sami_paragraph_to_ass(), show_tags(), siff_probe(), siff_read_header(), smjpeg_write_header(), sol_read_header(), srt_to_ass(), swf_read_header(), swf_read_packet(), tiff_decode_tag(), validate_codec_tag(), write_table_entries_attrib(), write_table_redirector_legacy_attrib(), wv_read_block_header(), xan_decode_frame(), xwma_read_header(), yop_decode_frame(), and yop_paint_block().
unsigned bps |
Definition at line 896 of file movenc.c.
Referenced by av_get_audio_frame_duration(), avr_read_header(), copy_samples(), decode_element(), decode_subframe(), decode_wave_header(), ff_wma_init(), gxf_packet(), main(), nist_read_header(), nsv_read_chunk(), pvf_read_header(), rso_read_header(), swap_sample_fmts_on_filter(), and tta_read_header().
struct { ... } mov_pix_fmt_tags[] |
Referenced by mov_get_rawvideo_codec_tag().
|
static |
|
static |
|
static |
Definition at line 1027 of file movenc.c.
Referenced by mov_write_fiel_tag().