FFmpeg  4.0
Data Structures | Macros | Enumerations | Functions
movenc.h File Reference
#include "avformat.h"
#include "movenccenc.h"

Go to the source code of this file.

Data Structures

struct  MOVIentry
 
struct  HintSample
 
struct  HintSampleQueue
 
struct  MOVFragmentInfo
 
struct  MOVTrack
 
struct  MOVMuxContext
 

Macros

#define MOV_FRAG_INFO_ALLOC_INCREMENT   64
 
#define MOV_INDEX_CLUSTER_SIZE   1024
 
#define MOV_TIMESCALE   1000
 
#define RTP_MAX_PACKET_SIZE   1450
 
#define MODE_MP4   0x01
 
#define MODE_MOV   0x02
 
#define MODE_3GP   0x04
 
#define MODE_PSP   0x08
 
#define MODE_3G2   0x10
 
#define MODE_IPOD   0x20
 
#define MODE_ISM   0x40
 
#define MODE_F4V   0x80
 
#define MOV_SYNC_SAMPLE   0x0001
 
#define MOV_PARTIAL_SYNC_SAMPLE   0x0002
 
#define MOV_DISPOSABLE_SAMPLE   0x0004
 
#define MOV_TRACK_CTTS   0x0001
 
#define MOV_TRACK_STPS   0x0002
 
#define MOV_TRACK_ENABLED   0x0004
 
#define MOV_TIMECODE_FLAG_DROPFRAME   0x0001
 
#define MOV_TIMECODE_FLAG_24HOURSMAX   0x0002
 
#define MOV_TIMECODE_FLAG_ALLOWNEGATIVE   0x0004
 
#define FF_MOV_FLAG_RTP_HINT   (1 << 0)
 
#define FF_MOV_FLAG_FRAGMENT   (1 << 1)
 
#define FF_MOV_FLAG_EMPTY_MOOV   (1 << 2)
 
#define FF_MOV_FLAG_FRAG_KEYFRAME   (1 << 3)
 
#define FF_MOV_FLAG_SEPARATE_MOOF   (1 << 4)
 
#define FF_MOV_FLAG_FRAG_CUSTOM   (1 << 5)
 
#define FF_MOV_FLAG_ISML   (1 << 6)
 
#define FF_MOV_FLAG_FASTSTART   (1 << 7)
 
#define FF_MOV_FLAG_OMIT_TFHD_OFFSET   (1 << 8)
 
#define FF_MOV_FLAG_DISABLE_CHPL   (1 << 9)
 
#define FF_MOV_FLAG_DEFAULT_BASE_MOOF   (1 << 10)
 
#define FF_MOV_FLAG_DASH   (1 << 11)
 
#define FF_MOV_FLAG_FRAG_DISCONT   (1 << 12)
 
#define FF_MOV_FLAG_DELAY_MOOV   (1 << 13)
 
#define FF_MOV_FLAG_GLOBAL_SIDX   (1 << 14)
 
#define FF_MOV_FLAG_WRITE_COLR   (1 << 15)
 
#define FF_MOV_FLAG_WRITE_GAMA   (1 << 16)
 
#define FF_MOV_FLAG_USE_MDTA   (1 << 17)
 
#define FF_MOV_FLAG_SKIP_TRAILER   (1 << 18)
 
#define FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS   (1 << 19)
 
#define FF_MOV_FLAG_FRAG_EVERY_FRAME   (1 << 20)
 

Enumerations

enum  MOVEncryptionScheme { MOV_ENC_NONE = 0, MOV_ENC_CENC_AES_CTR }
 

Functions

int ff_mov_write_packet (AVFormatContext *s, AVPacket *pkt)
 
int ff_mov_init_hinting (AVFormatContext *s, int index, int src_index)
 
int ff_mov_add_hinted_packet (AVFormatContext *s, AVPacket *pkt, int track_index, int sample, uint8_t *sample_data, int sample_size)
 
void ff_mov_close_hinting (MOVTrack *track)
 

Macro Definition Documentation

◆ MOV_FRAG_INFO_ALLOC_INCREMENT

#define MOV_FRAG_INFO_ALLOC_INCREMENT   64

Definition at line 30 of file movenc.h.

Referenced by mov_add_tfra_entries().

◆ MOV_INDEX_CLUSTER_SIZE

#define MOV_INDEX_CLUSTER_SIZE   1024

Definition at line 31 of file movenc.h.

Referenced by ff_mov_write_packet().

◆ MOV_TIMESCALE

#define MOV_TIMESCALE   1000

◆ RTP_MAX_PACKET_SIZE

#define RTP_MAX_PACKET_SIZE   1450

Definition at line 34 of file movenc.h.

Referenced by ff_mov_add_hinted_packet(), and ff_mov_init_hinting().

◆ MODE_MP4

#define MODE_MP4   0x01

◆ MODE_MOV

#define MODE_MOV   0x02

◆ MODE_3GP

#define MODE_3GP   0x04

Definition at line 38 of file movenc.h.

Referenced by mov_find_codec_tag(), mov_init(), mov_write_ftyp_tag(), and mov_write_udta_tag().

◆ MODE_PSP

#define MODE_PSP   0x08

◆ MODE_3G2

#define MODE_3G2   0x10

Definition at line 41 of file movenc.h.

Referenced by mov_init(), and mov_write_ftyp_tag().

◆ MODE_IPOD

#define MODE_IPOD   0x20

◆ MODE_ISM

#define MODE_ISM   0x40

◆ MODE_F4V

#define MODE_F4V   0x80

Definition at line 44 of file movenc.h.

Referenced by mov_find_codec_tag(), mov_init(), and mov_write_ftyp_tag().

◆ MOV_SYNC_SAMPLE

#define MOV_SYNC_SAMPLE   0x0001

◆ MOV_PARTIAL_SYNC_SAMPLE

#define MOV_PARTIAL_SYNC_SAMPLE   0x0002

Definition at line 55 of file movenc.h.

Referenced by ff_mov_write_packet(), mov_parse_mpeg2_frame(), and mov_write_stbl_tag().

◆ MOV_DISPOSABLE_SAMPLE

#define MOV_DISPOSABLE_SAMPLE   0x0004

Definition at line 56 of file movenc.h.

Referenced by ff_mov_write_packet(), and mov_write_sdtp_tag().

◆ MOV_TRACK_CTTS

#define MOV_TRACK_CTTS   0x0001

Definition at line 94 of file movenc.h.

Referenced by ff_mov_write_packet(), mov_write_stbl_tag(), and mov_write_trun_tag().

◆ MOV_TRACK_STPS

#define MOV_TRACK_STPS   0x0002

Definition at line 95 of file movenc.h.

Referenced by ff_mov_write_packet(), and mov_write_stbl_tag().

◆ MOV_TRACK_ENABLED

#define MOV_TRACK_ENABLED   0x0004

Definition at line 96 of file movenc.h.

Referenced by enable_tracks(), and mov_write_tkhd_tag().

◆ MOV_TIMECODE_FLAG_DROPFRAME

#define MOV_TIMECODE_FLAG_DROPFRAME   0x0001

Definition at line 98 of file movenc.h.

Referenced by mov_create_timecode_track().

◆ MOV_TIMECODE_FLAG_24HOURSMAX

#define MOV_TIMECODE_FLAG_24HOURSMAX   0x0002

Definition at line 99 of file movenc.h.

◆ MOV_TIMECODE_FLAG_ALLOWNEGATIVE

#define MOV_TIMECODE_FLAG_ALLOWNEGATIVE   0x0004

Definition at line 100 of file movenc.h.

◆ FF_MOV_FLAG_RTP_HINT

#define FF_MOV_FLAG_RTP_HINT   (1 << 0)

Definition at line 229 of file movenc.h.

Referenced by mov_init(), and mov_write_header().

◆ FF_MOV_FLAG_FRAGMENT

#define FF_MOV_FLAG_FRAGMENT   (1 << 1)

◆ FF_MOV_FLAG_EMPTY_MOOV

#define FF_MOV_FLAG_EMPTY_MOOV   (1 << 2)

◆ FF_MOV_FLAG_FRAG_KEYFRAME

#define FF_MOV_FLAG_FRAG_KEYFRAME   (1 << 3)

Definition at line 232 of file movenc.h.

Referenced by mov_init(), mov_write_header(), and mov_write_single_packet().

◆ FF_MOV_FLAG_SEPARATE_MOOF

#define FF_MOV_FLAG_SEPARATE_MOOF   (1 << 4)

Definition at line 233 of file movenc.h.

Referenced by mov_flush_fragment(), and mov_init().

◆ FF_MOV_FLAG_FRAG_CUSTOM

#define FF_MOV_FLAG_FRAG_CUSTOM   (1 << 5)

Definition at line 234 of file movenc.h.

Referenced by mov_init(), and mov_write_header().

◆ FF_MOV_FLAG_ISML

#define FF_MOV_FLAG_ISML   (1 << 6)

Definition at line 235 of file movenc.h.

Referenced by mov_write_header(), and mov_write_mfra_tag().

◆ FF_MOV_FLAG_FASTSTART

#define FF_MOV_FLAG_FASTSTART   (1 << 7)

Definition at line 236 of file movenc.h.

Referenced by mov_init(), mov_write_header(), and mov_write_trailer().

◆ FF_MOV_FLAG_OMIT_TFHD_OFFSET

#define FF_MOV_FLAG_OMIT_TFHD_OFFSET   (1 << 8)

Definition at line 237 of file movenc.h.

Referenced by mov_init(), mov_write_tfhd_tag(), and mov_write_trun_tag().

◆ FF_MOV_FLAG_DISABLE_CHPL

#define FF_MOV_FLAG_DISABLE_CHPL   (1 << 9)

Definition at line 238 of file movenc.h.

Referenced by mov_write_udta_tag().

◆ FF_MOV_FLAG_DEFAULT_BASE_MOOF

#define FF_MOV_FLAG_DEFAULT_BASE_MOOF   (1 << 10)

Definition at line 239 of file movenc.h.

Referenced by mov_init(), mov_write_ftyp_tag(), mov_write_tfhd_tag(), and mov_write_trun_tag().

◆ FF_MOV_FLAG_DASH

#define FF_MOV_FLAG_DASH   (1 << 11)

Definition at line 240 of file movenc.h.

Referenced by ff_mov_write_packet(), mov_init(), mov_write_ftyp_tag(), and mov_write_moof_tag().

◆ FF_MOV_FLAG_FRAG_DISCONT

#define FF_MOV_FLAG_FRAG_DISCONT   (1 << 12)

Definition at line 241 of file movenc.h.

Referenced by mov_write_single_packet().

◆ FF_MOV_FLAG_DELAY_MOOV

#define FF_MOV_FLAG_DELAY_MOOV   (1 << 13)

Definition at line 242 of file movenc.h.

Referenced by mov_auto_flush_fragment(), mov_flush_fragment(), mov_init(), and mov_write_header().

◆ FF_MOV_FLAG_GLOBAL_SIDX

#define FF_MOV_FLAG_GLOBAL_SIDX   (1 << 14)

◆ FF_MOV_FLAG_WRITE_COLR

#define FF_MOV_FLAG_WRITE_COLR   (1 << 15)

Definition at line 244 of file movenc.h.

Referenced by mov_write_video_tag().

◆ FF_MOV_FLAG_WRITE_GAMA

#define FF_MOV_FLAG_WRITE_GAMA   (1 << 16)

Definition at line 245 of file movenc.h.

Referenced by mov_write_video_tag().

◆ FF_MOV_FLAG_USE_MDTA

#define FF_MOV_FLAG_USE_MDTA   (1 << 17)

Definition at line 246 of file movenc.h.

Referenced by mov_write_meta_tag(), and mov_write_udta_tag().

◆ FF_MOV_FLAG_SKIP_TRAILER

#define FF_MOV_FLAG_SKIP_TRAILER   (1 << 18)

Definition at line 247 of file movenc.h.

Referenced by mov_write_moof_tag(), and mov_write_trailer().

◆ FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS

#define FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS   (1 << 19)

◆ FF_MOV_FLAG_FRAG_EVERY_FRAME

#define FF_MOV_FLAG_FRAG_EVERY_FRAME   (1 << 20)

Definition at line 249 of file movenc.h.

Referenced by mov_init(), mov_write_header(), and mov_write_single_packet().

Enumeration Type Documentation

◆ MOVEncryptionScheme

Enumerator
MOV_ENC_NONE 
MOV_ENC_CENC_AES_CTR 

Definition at line 167 of file movenc.h.

Function Documentation

◆ ff_mov_write_packet()

int ff_mov_write_packet ( AVFormatContext s,
AVPacket pkt 
)

◆ ff_mov_init_hinting()

int ff_mov_init_hinting ( AVFormatContext s,
int  index,
int  src_index 
)

Definition at line 29 of file movenchint.c.

Referenced by mov_write_header().

◆ ff_mov_add_hinted_packet()

int ff_mov_add_hinted_packet ( AVFormatContext s,
AVPacket pkt,
int  track_index,
int  sample,
uint8_t sample_data,
int  sample_size 
)

Definition at line 401 of file movenchint.c.

Referenced by ff_mov_write_packet().

◆ ff_mov_close_hinting()

void ff_mov_close_hinting ( MOVTrack track)

Definition at line 459 of file movenchint.c.

Referenced by mov_free().