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 78 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 88 of file movenc.c.
Referenced by ff_mov_write_packet(), mov_write_header(), and mov_write_trak_tag().
|
static |
Definition at line 94 of file movenc.c.
Referenced by mov_write_stco_tag().
|
static |
Definition at line 108 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 132 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 168 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 197 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 220 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 234 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 282 of file movenc.c.
Referenced by mov_write_audio_tag(), mov_write_video_tag(), and mov_write_wave_tag().
|
static |
Definition at line 288 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 296 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 304 of file movenc.c.
Referenced by mov_write_esds_tag(), and mov_write_iods_tag().
|
static |
Definition at line 313 of file movenc.c.
Referenced by mov_write_esds_tag().
|
static |
Definition at line 324 of file movenc.c.
Referenced by mov_write_audio_tag(), mov_write_video_tag(), and mov_write_wave_tag().
|
static |
Definition at line 376 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 384 of file movenc.c.
Referenced by mov_write_audio_tag(), and mov_write_wave_tag().
|
static |
Definition at line 392 of file movenc.c.
Referenced by mov_write_wave_tag().
|
static |
Definition at line 402 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 411 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 436 of file movenc.c.
Referenced by mov_write_audio_tag().
Definition at line 477 of file movenc.c.
Referenced by mov_write_dvc1_tag(), and mov_write_trailer().
|
static |
Definition at line 552 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 569 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 581 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 606 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 621 of file movenc.c.
Referenced by mov_write_audio_tag().
|
static |
Definition at line 642 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 749 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 761 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 772 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 819 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 848 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 865 of file movenc.c.
Referenced by mov_get_codec_tag().
|
static |
Definition at line 912 of file movenc.c.
Referenced by mov_get_codec_tag().
|
static |
Definition at line 929 of file movenc.c.
Referenced by mov_find_codec_tag().
|
static |
Definition at line 986 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 1012 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1028 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1041 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1056 of file movenc.c.
Referenced by mov_write_video_tag().
|
static |
Definition at line 1069 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1147 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1172 of file movenc.c.
Referenced by mov_write_stsd_tag().
|
static |
Definition at line 1192 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1212 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1246 of file movenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 1287 of file movenc.c.
Referenced by mov_write_dinf_tag().
|
static |
Definition at line 1302 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1324 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1333 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1341 of file movenc.c.
Referenced by mov_write_gmhd_tag().
|
static |
Definition at line 1363 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1409 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1419 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1428 of file movenc.c.
Referenced by mov_write_mdia_tag(), and mov_write_minf_tag().
|
static |
Definition at line 1483 of file movenc.c.
Referenced by mov_write_minf_tag().
|
static |
Definition at line 1498 of file movenc.c.
Referenced by mov_write_mdia_tag().
|
static |
Definition at line 1525 of file movenc.c.
Referenced by mov_write_mdia_tag().
|
static |
Definition at line 1561 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1576 of file movenc.c.
Referenced by mov_write_mvhd_tag(), and mov_write_tkhd_tag().
|
static |
Definition at line 1590 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1663 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1695 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1746 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1757 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1775 of file movenc.c.
Referenced by mov_write_trak_tag().
|
static |
Definition at line 1796 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1820 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1849 of file movenc.c.
Referenced by mov_write_mvex_tag().
|
static |
Definition at line 1862 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1873 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 1926 of file movenc.c.
Referenced by mov_write_meta_tag().
|
static |
Definition at line 1942 of file movenc.c.
Referenced by mov_write_string_tag().
|
static |
Definition at line 1962 of file movenc.c.
Referenced by mov_write_ilst_tag(), and mov_write_string_metadata().
|
static |
Definition at line 1976 of file movenc.c.
Referenced by mov_write_ilst_tag(), and mov_write_udta_tag().
|
static |
Definition at line 2001 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2019 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2040 of file movenc.c.
Referenced by mov_write_ilst_tag().
|
static |
Definition at line 2068 of file movenc.c.
Referenced by mov_write_meta_tag().
|
static |
Definition at line 2102 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2116 of file movenc.c.
Referenced by mov_write_3gp_udta_tag(), and mov_write_psp_udta_tag().
|
static |
Definition at line 2127 of file movenc.c.
Referenced by mov_write_psp_udta_tag().
|
static |
Definition at line 2138 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 2145 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2167 of file movenc.c.
Referenced by mov_write_udta_tag().
|
static |
Definition at line 2193 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 2249 of file movenc.c.
Referenced by mov_write_uuidusmt_tag().
|
static |
Definition at line 2262 of file movenc.c.
Referenced by mov_write_moov_tag().
Definition at line 2299 of file movenc.c.
Referenced by mov_write_moov_tag().
|
static |
Definition at line 2322 of file movenc.c.
Referenced by get_moov_size(), mov_flush_fragment(), mov_write_header(), and mov_write_trailer().
|
static |
Definition at line 2389 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2394 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2399 of file movenc.c.
Referenced by mov_write_isml_manifest().
|
static |
Definition at line 2408 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2494 of file movenc.c.
Referenced by mov_write_moof_tag().
|
static |
Definition at line 2503 of file movenc.c.
Referenced by mov_write_traf_tag().
Definition at line 2552 of file movenc.c.
Referenced by mov_write_trun_tag().
|
static |
Definition at line 2558 of file movenc.c.
Referenced by mov_write_traf_tag().
|
static |
Definition at line 2602 of file movenc.c.
Referenced by mov_write_traf_tag().
|
static |
Definition at line 2622 of file movenc.c.
Referenced by mov_write_tfrf_tags().
|
static |
Definition at line 2657 of file movenc.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 2671 of file movenc.c.
Referenced by mov_write_moof_tag().
|
static |
Definition at line 2697 of file movenc.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 2731 of file movenc.c.
Referenced by mov_write_mfra_tag().
|
static |
Definition at line 2755 of file movenc.c.
Referenced by mov_write_trailer().
|
static |
Definition at line 2781 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2793 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2856 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 2917 of file movenc.c.
Referenced by ff_mov_write_packet().
Definition at line 2938 of file movenc.c.
Referenced by ff_mov_write_packet().
|
static |
Definition at line 2995 of file movenc.c.
Referenced by compute_moov_size(), and mov_flush_fragment().
|
static |
Definition at line 3010 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 3135 of file movenc.c.
Referenced by ff_mov_add_hinted_packet(), mov_create_timecode_track(), and mov_write_single_packet().
|
static |
Definition at line 3289 of file movenc.c.
Referenced by mov_write_packet(), and mov_write_subtitle_end_packet().
|
static |
Definition at line 3317 of file movenc.c.
Referenced by mov_write_packet(), and mov_write_trailer().
|
static |
|
static |
Definition at line 3387 of file movenc.c.
Referenced by mov_write_header().
|
static |
Definition at line 3466 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 3783 of file movenc.c.
Referenced by shift_data().
|
static |
Definition at line 3808 of file movenc.c.
Referenced by mov_write_trailer().
|
static |
|
static |
|
static |
enum AVPixelFormat pix_fmt |
uint32_t tag |
Definition at line 892 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_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(), id3v2_parse(), 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_chapter(), 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(), vs_2_av_log_wrapper(), write_table_entries_attrib(), write_table_redirector_legacy_attrib(), xan_decode_frame(), xwma_read_header(), yop_decode_frame(), and yop_paint_block().
unsigned bps |
Definition at line 893 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 1024 of file movenc.c.
Referenced by mov_write_fiel_tag().