FFmpeg
4.4.6
|
#include "movenccenc.h"
#include "libavutil/intreadwrite.h"
#include "avio_internal.h"
#include "movenc.h"
#include "avc.h"
Go to the source code of this file.
|
static |
Definition at line 27 of file movenccenc.c.
Referenced by auxiliary_info_add_subsample(), and auxiliary_info_write().
|
static |
Definition at line 43 of file movenccenc.c.
Referenced by mov_cenc_start_packet().
|
static |
Definition at line 58 of file movenccenc.c.
Referenced by ff_mov_cenc_avc_parse_nal_units(), ff_mov_cenc_avc_write_nal_units(), and ff_mov_cenc_write_packet().
|
static |
Encrypt the input buffer and write using avio_write.
Definition at line 89 of file movenccenc.c.
Referenced by ff_mov_cenc_avc_parse_nal_units(), ff_mov_cenc_avc_write_nal_units(), and ff_mov_cenc_write_packet().
|
static |
Start writing a packet.
Definition at line 109 of file movenccenc.c.
Referenced by ff_mov_cenc_avc_parse_nal_units(), ff_mov_cenc_avc_write_nal_units(), and ff_mov_cenc_write_packet().
|
static |
Finalize a packet.
Definition at line 137 of file movenccenc.c.
Referenced by ff_mov_cenc_avc_parse_nal_units(), ff_mov_cenc_avc_write_nal_units(), and ff_mov_cenc_write_packet().
int ff_mov_cenc_write_packet | ( | MOVMuxCencContext * | ctx, |
AVIOContext * | pb, | ||
const uint8_t * | buf_in, | ||
int | size | ||
) |
Write a fully encrypted packet.
Definition at line 167 of file movenccenc.c.
Referenced by ff_mov_write_packet().
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 body is encrypted.
Definition at line 192 of file movenccenc.c.
Referenced by ff_mov_write_packet().
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 body is encrypted.
Definition at line 232 of file movenccenc.c.
Referenced by ff_mov_write_packet().
|
static |
Definition at line 282 of file movenccenc.c.
Referenced by ff_mov_cenc_write_sinf_tag(), mov_cenc_write_saio_tag(), mov_cenc_write_saiz_tag(), mov_cenc_write_schi_tag(), and mov_cenc_write_senc_tag().
|
static |
Definition at line 292 of file movenccenc.c.
Referenced by ff_mov_cenc_write_stbl_atoms().
|
static |
Definition at line 306 of file movenccenc.c.
Referenced by ff_mov_cenc_write_stbl_atoms().
|
static |
Definition at line 325 of file movenccenc.c.
Referenced by ff_mov_cenc_write_stbl_atoms().
void ff_mov_cenc_write_stbl_atoms | ( | MOVMuxCencContext * | ctx, |
AVIOContext * | pb | ||
) |
Write the cenc atoms that should reside inside stbl.
Definition at line 339 of file movenccenc.c.
Referenced by mov_write_stbl_tag().
|
static |
Definition at line 348 of file movenccenc.c.
Referenced by ff_mov_cenc_write_sinf_tag().
int ff_mov_cenc_write_sinf_tag | ( | MOVTrack * | track, |
AVIOContext * | pb, | ||
uint8_t * | kid | ||
) |
Write the sinf atom, contained inside stsd.
Definition at line 364 of file movenccenc.c.
Referenced by mov_write_audio_tag(), and mov_write_video_tag().
int ff_mov_cenc_init | ( | MOVMuxCencContext * | ctx, |
uint8_t * | encryption_key, | ||
int | use_subsamples, | ||
int | bitexact | ||
) |
Initialize a CENC context.
key | encryption key, must have a length of AES_CTR_KEY_SIZE |
use_subsamples | when enabled parts of a packet can be encrypted, otherwise the whole packet is encrypted |
Definition at line 388 of file movenccenc.c.
Referenced by mov_init().
void ff_mov_cenc_free | ( | MOVMuxCencContext * | ctx | ) |