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 378 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 386 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 394 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 404 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 413 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 438 of file movenc.c.
Referenced by mov_write_audio_tag().
Definition at line 479 of file movenc.c.
Referenced by mov_write_dvc1_tag(), and mov_write_trailer().
|
static |
Definition at line 554 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 571 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 583 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 608 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 623 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 644 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 751 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 763 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 774 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 821 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 850 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 867 of file movenc.c.
Referenced by mov_get_codec_tag().
|
static |
Definition at line 914 of file movenc.c.
Referenced by mov_get_codec_tag().
|
static |
Definition at line 931 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 988 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 1014 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1030 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1043 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1058 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1071 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1149 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1174 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1194 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1214 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1248 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1289 of file movenc.c.
Referenced by mov_write_dinf_tag().
|
static |
Definition at line 1304 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1326 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1335 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1343 of file movenc.c.
Referenced by mov_write_gmhd_tag().
|
static |
Definition at line 1365 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1411 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1421 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1430 of file movenc.c.
Referenced by mov_write_mdia_tag(), and mov_write_minf_tag().
|
static |
Definition at line 1485 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1500 of file movenc.c.
Referenced by mov_write_mdia_tag().
|
static |
Definition at line 1527 of file movenc.c.
Referenced by mov_write_mdia_tag().
|
static |
Definition at line 1563 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1578 of file movenc.c.
Referenced by mov_write_mvhd_tag(), and mov_write_tkhd_tag().
|
static |
Definition at line 1592 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1666 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1698 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1749 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1760 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1778 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1800 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1824 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1853 of file movenc.c.
Referenced by mov_write_mvex_tag().
|
static |
Definition at line 1866 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1877 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1930 of file movenc.c.
Referenced by mov_write_meta_tag().
|
static |
Definition at line 1946 of file movenc.c.
Referenced by mov_write_string_tag().
|
static |
Definition at line 1966 of file movenc.c.
Referenced by mov_write_ilst_tag(), and mov_write_string_metadata().
|
static |
Definition at line 1978 of file movenc.c.
Referenced by mov_write_ilst_tag(), and mov_write_udta_tag().
|
static |
Definition at line 2003 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2021 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2042 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2061 of file movenc.c.
Referenced by mov_write_meta_tag().
|
static |
Definition at line 2095 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2109 of file movenc.c.
Referenced by mov_write_3gp_udta_tag(), and mov_write_psp_udta_tag().
|
static |
Definition at line 2120 of file movenc.c.
Referenced by mov_write_psp_udta_tag().
|
static |
Definition at line 2131 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 2136 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2158 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2184 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 2240 of file movenc.c.
Referenced by mov_write_uuidusmt_tag().
|
static |
Definition at line 2253 of file movenc.c.
Referenced by mov_write_moov_tag().
Definition at line 2290 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 2313 of file movenc.c.
Referenced by get_moov_size(), mov_flush_fragment(), mov_write_header(), and mov_write_trailer().
|
static |
Definition at line 2380 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2385 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2390 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2399 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2485 of file movenc.c.
Referenced by mov_write_moof_tag().
|
static |
Definition at line 2494 of file movenc.c.
Referenced by mov_write_traf_tag().
Definition at line 2541 of file movenc.c.
Referenced by mov_write_trun_tag().
|
static |
Definition at line 2547 of file movenc.c.
Referenced by mov_write_traf_tag().
|
static |
Definition at line 2591 of file movenc.c.
Referenced by mov_write_traf_tag().
|
static |
Definition at line 2611 of file movenc.c.
Referenced by mov_write_tfrf_tags().
|
static |
Definition at line 2647 of file movenc.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 2661 of file movenc.c.
Referenced by mov_write_moof_tag().
|
static |
Definition at line 2687 of file movenc.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 2721 of file movenc.c.
Referenced by mov_write_mfra_tag().
|
static |
Definition at line 2745 of file movenc.c.
Referenced by mov_write_trailer().
|
static |
Definition at line 2771 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2783 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2846 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2907 of file movenc.c.
Referenced by ff_mov_write_packet().
Definition at line 2928 of file movenc.c.
Referenced by ff_mov_write_packet().
|
static |
Definition at line 2985 of file movenc.c.
Referenced by compute_moov_size(), and mov_flush_fragment().
|
static |
Definition at line 3000 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 3120 of file movenc.c.
Referenced by ff_mov_add_hinted_packet(), mov_create_timecode_track(), and mov_write_single_packet().
|
static |
Definition at line 3270 of file movenc.c.
Referenced by mov_write_packet(), and mov_write_subtitle_end_packet().
|
static |
Definition at line 3297 of file movenc.c.
Referenced by mov_write_packet(), and mov_write_trailer().
|
static |
|
static |
Definition at line 3367 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 3446 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 3758 of file movenc.c.
Referenced by shift_data().
|
static |
Definition at line 3783 of file movenc.c.
Referenced by mov_write_trailer().
|
static |
|
static |
|
static |
enum AVPixelFormat pix_fmt |
uint32_t tag |
Definition at line 894 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 895 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 1026 of file movenc.c.
Referenced by mov_write_fiel_tag().