FFmpeg
Data Structures | Macros | Enumerations | Functions
movenc.h File Reference
#include "avformat.h"
#include "movenccenc.h"
#include "libavcodec/packet_internal.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 MODE_AVIF   0x100
 
#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)
 
#define FF_MOV_FLAG_SKIP_SIDX   (1 << 21)
 
#define FF_MOV_FLAG_CMAF   (1 << 22)
 
#define FF_MOV_FLAG_PREFER_ICC   (1 << 23)
 
#define FF_MOV_FLAG_HYBRID_FRAGMENTED   (1 << 24)
 

Enumerations

enum  MOVEncryptionScheme { MOV_ENC_NONE = 0, MOV_ENC_CENC_AES_CTR }
 
enum  MOVPrftBox { MOV_PRFT_NONE = 0, MOV_PRFT_SRC_WALLCLOCK, MOV_PRFT_SRC_PTS, MOV_PRFT_NB }
 

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 31 of file movenc.h.

◆ MOV_INDEX_CLUSTER_SIZE

#define MOV_INDEX_CLUSTER_SIZE   1024

Definition at line 32 of file movenc.h.

◆ MOV_TIMESCALE

#define MOV_TIMESCALE   1000

Definition at line 33 of file movenc.h.

◆ RTP_MAX_PACKET_SIZE

#define RTP_MAX_PACKET_SIZE   1450

Definition at line 35 of file movenc.h.

◆ MODE_MP4

#define MODE_MP4   0x01

Definition at line 37 of file movenc.h.

◆ MODE_MOV

#define MODE_MOV   0x02

Definition at line 38 of file movenc.h.

◆ MODE_3GP

#define MODE_3GP   0x04

Definition at line 39 of file movenc.h.

◆ MODE_PSP

#define MODE_PSP   0x08

Definition at line 40 of file movenc.h.

◆ MODE_3G2

#define MODE_3G2   0x10

Definition at line 42 of file movenc.h.

◆ MODE_IPOD

#define MODE_IPOD   0x20

Definition at line 43 of file movenc.h.

◆ MODE_ISM

#define MODE_ISM   0x40

Definition at line 44 of file movenc.h.

◆ MODE_F4V

#define MODE_F4V   0x80

Definition at line 45 of file movenc.h.

◆ MODE_AVIF

#define MODE_AVIF   0x100

Definition at line 46 of file movenc.h.

◆ MOV_SYNC_SAMPLE

#define MOV_SYNC_SAMPLE   0x0001

Definition at line 57 of file movenc.h.

◆ MOV_PARTIAL_SYNC_SAMPLE

#define MOV_PARTIAL_SYNC_SAMPLE   0x0002

Definition at line 58 of file movenc.h.

◆ MOV_DISPOSABLE_SAMPLE

#define MOV_DISPOSABLE_SAMPLE   0x0004

Definition at line 59 of file movenc.h.

◆ MOV_TRACK_CTTS

#define MOV_TRACK_CTTS   0x0001

Definition at line 98 of file movenc.h.

◆ MOV_TRACK_STPS

#define MOV_TRACK_STPS   0x0002

Definition at line 99 of file movenc.h.

◆ MOV_TRACK_ENABLED

#define MOV_TRACK_ENABLED   0x0004

Definition at line 100 of file movenc.h.

◆ MOV_TIMECODE_FLAG_DROPFRAME

#define MOV_TIMECODE_FLAG_DROPFRAME   0x0001

Definition at line 102 of file movenc.h.

◆ MOV_TIMECODE_FLAG_24HOURSMAX

#define MOV_TIMECODE_FLAG_24HOURSMAX   0x0002

Definition at line 103 of file movenc.h.

◆ MOV_TIMECODE_FLAG_ALLOWNEGATIVE

#define MOV_TIMECODE_FLAG_ALLOWNEGATIVE   0x0004

Definition at line 104 of file movenc.h.

◆ FF_MOV_FLAG_RTP_HINT

#define FF_MOV_FLAG_RTP_HINT   (1 << 0)

Definition at line 262 of file movenc.h.

◆ FF_MOV_FLAG_FRAGMENT

#define FF_MOV_FLAG_FRAGMENT   (1 << 1)

Definition at line 263 of file movenc.h.

◆ FF_MOV_FLAG_EMPTY_MOOV

#define FF_MOV_FLAG_EMPTY_MOOV   (1 << 2)

Definition at line 264 of file movenc.h.

◆ FF_MOV_FLAG_FRAG_KEYFRAME

#define FF_MOV_FLAG_FRAG_KEYFRAME   (1 << 3)

Definition at line 265 of file movenc.h.

◆ FF_MOV_FLAG_SEPARATE_MOOF

#define FF_MOV_FLAG_SEPARATE_MOOF   (1 << 4)

Definition at line 266 of file movenc.h.

◆ FF_MOV_FLAG_FRAG_CUSTOM

#define FF_MOV_FLAG_FRAG_CUSTOM   (1 << 5)

Definition at line 267 of file movenc.h.

◆ FF_MOV_FLAG_ISML

#define FF_MOV_FLAG_ISML   (1 << 6)

Definition at line 268 of file movenc.h.

◆ FF_MOV_FLAG_FASTSTART

#define FF_MOV_FLAG_FASTSTART   (1 << 7)

Definition at line 269 of file movenc.h.

◆ FF_MOV_FLAG_OMIT_TFHD_OFFSET

#define FF_MOV_FLAG_OMIT_TFHD_OFFSET   (1 << 8)

Definition at line 270 of file movenc.h.

◆ FF_MOV_FLAG_DISABLE_CHPL

#define FF_MOV_FLAG_DISABLE_CHPL   (1 << 9)

Definition at line 271 of file movenc.h.

◆ FF_MOV_FLAG_DEFAULT_BASE_MOOF

#define FF_MOV_FLAG_DEFAULT_BASE_MOOF   (1 << 10)

Definition at line 272 of file movenc.h.

◆ FF_MOV_FLAG_DASH

#define FF_MOV_FLAG_DASH   (1 << 11)

Definition at line 273 of file movenc.h.

◆ FF_MOV_FLAG_FRAG_DISCONT

#define FF_MOV_FLAG_FRAG_DISCONT   (1 << 12)

Definition at line 274 of file movenc.h.

◆ FF_MOV_FLAG_DELAY_MOOV

#define FF_MOV_FLAG_DELAY_MOOV   (1 << 13)

Definition at line 275 of file movenc.h.

◆ FF_MOV_FLAG_GLOBAL_SIDX

#define FF_MOV_FLAG_GLOBAL_SIDX   (1 << 14)

Definition at line 276 of file movenc.h.

◆ FF_MOV_FLAG_WRITE_COLR

#define FF_MOV_FLAG_WRITE_COLR   (1 << 15)

Definition at line 277 of file movenc.h.

◆ FF_MOV_FLAG_WRITE_GAMA

#define FF_MOV_FLAG_WRITE_GAMA   (1 << 16)

Definition at line 278 of file movenc.h.

◆ FF_MOV_FLAG_USE_MDTA

#define FF_MOV_FLAG_USE_MDTA   (1 << 17)

Definition at line 279 of file movenc.h.

◆ FF_MOV_FLAG_SKIP_TRAILER

#define FF_MOV_FLAG_SKIP_TRAILER   (1 << 18)

Definition at line 280 of file movenc.h.

◆ FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS

#define FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS   (1 << 19)

Definition at line 281 of file movenc.h.

◆ FF_MOV_FLAG_FRAG_EVERY_FRAME

#define FF_MOV_FLAG_FRAG_EVERY_FRAME   (1 << 20)

Definition at line 282 of file movenc.h.

◆ FF_MOV_FLAG_SKIP_SIDX

#define FF_MOV_FLAG_SKIP_SIDX   (1 << 21)

Definition at line 283 of file movenc.h.

◆ FF_MOV_FLAG_CMAF

#define FF_MOV_FLAG_CMAF   (1 << 22)

Definition at line 284 of file movenc.h.

◆ FF_MOV_FLAG_PREFER_ICC

#define FF_MOV_FLAG_PREFER_ICC   (1 << 23)

Definition at line 285 of file movenc.h.

◆ FF_MOV_FLAG_HYBRID_FRAGMENTED

#define FF_MOV_FLAG_HYBRID_FRAGMENTED   (1 << 24)

Definition at line 286 of file movenc.h.

Enumeration Type Documentation

◆ MOVEncryptionScheme

Enumerator
MOV_ENC_NONE 
MOV_ENC_CENC_AES_CTR 

Definition at line 181 of file movenc.h.

◆ MOVPrftBox

enum MOVPrftBox
Enumerator
MOV_PRFT_NONE 
MOV_PRFT_SRC_WALLCLOCK 
MOV_PRFT_SRC_PTS 
MOV_PRFT_NB 

Definition at line 186 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 30 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 460 of file movenchint.c.

Referenced by mov_free().