22#ifndef AVFORMAT_MOVENCCENC_H
23#define AVFORMAT_MOVENCCENC_H
30#define CENC_KID_SIZE (16)
AVCodecID
Identify the syntax and semantics of the bitstream.
void ff_mov_cenc_flush(MOVMuxCencContext *ctx)
Clear subsample data.
int ff_mov_cenc_av1_write_obus(AVFormatContext *s, MOVMuxCencContext *ctx, AVIOContext *pb, const AVPacket *pkt)
int ff_mov_cenc_avc_parse_nal_units(MOVMuxCencContext *ctx, AVIOContext *pb, const uint8_t *buf_in, int size)
Parse AVC NAL units from annex B format, the nal size and type are written in the clear while the bod...
int ff_mov_cenc_init(MOVMuxCencContext *ctx, uint8_t *encryption_key, int use_subsamples, enum AVCodecID codec_id, int bitexact)
Initialize a CENC context.
void ff_mov_cenc_write_stbl_atoms(MOVMuxCencContext *ctx, AVIOContext *pb, int64_t moof_offset)
Write the cenc atoms that should reside inside stbl.
int ff_mov_cenc_write_sinf_tag(struct MOVTrack *track, AVIOContext *pb, uint8_t *kid)
Write the sinf atom, contained inside stsd.
void ff_mov_cenc_free(MOVMuxCencContext *ctx)
Free a CENC context.
int ff_mov_cenc_avc_write_nal_units(AVFormatContext *s, MOVMuxCencContext *ctx, int nal_length_size, AVIOContext *pb, const uint8_t *buf_in, int size)
Write AVC NAL units that are in MP4 format, the nal size and type are written in the clear while the ...
int ff_mov_cenc_write_packet(MOVMuxCencContext *ctx, AVIOContext *pb, const uint8_t *buf_in, int size)
Write a fully encrypted packet.
This structure stores compressed data.
Context structure for coded bitstream operations.
Coded bitstream fragment structure, combining one or more units.
uint32_t write_clear_bytes
CodedBitstreamFragment temporal_unit
CodedBitstreamContext * cbc
struct AVAESCTR * aes_ctr
size_t auxiliary_info_alloc_size
size_t auxiliary_info_sizes_alloc_size
size_t auxiliary_info_subsample_start
uint8_t * auxiliary_info_sizes
struct MOVMuxCencAV1TGInfo * tile_group_sizes
size_t auxiliary_info_size
uint32_t auxiliary_info_entries
static AVFormatContext * ctx