Go to the documentation of this file.
27 #define MAX_SPS_COUNT 32
28 #define MAX_PPS_COUNT 256
33 int sps = 0,
pps = 0,
idr = 0, res = 0, sli = 0;
37 unsigned pps_id, sps_id;
42 if ((
code & 0xffffff00) == 0x100) {
43 int ref_idc = (
code >> 5) & 3;
45 static const int8_t ref_zero[] = {
46 2, 0, 0, 0, 0, -1, 1, -1,
47 -1, 1, 1, 1, 1, -1, 2, 2,
48 2, 2, 2, 0, 2, 2, 2, 2,
49 2, 2, 2, 2, 2, 2, 2, 2
55 if (ref_zero[
type] == 1 && ref_idc)
57 if (ref_zero[
type] == -1 && !ref_idc)
59 if (ref_zero[
type] == 2) {
60 if (!(
code == 0x100 && !p->
buf[
i + 1] && !p->
buf[
i + 2]))
103 if (!sps_ids[sps_id])
static void idr(H264Context *h)
instantaneous decoder refresh.
int buf_size
Size of buf except extra allocated bytes.
static void skip_bits(GetBitContext *s, int n)
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
static int init_get_bits8(GetBitContext *s, const uint8_t *buffer, int byte_size)
Initialize GetBitContext.
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)
This structure contains the data a format has to probe a file.
static int FUNC() pps(CodedBitstreamContext *ctx, RWContext *rw, H264RawPPS *current)
#define i(width, name, range_min, range_max)
and forward the test the status of outputs and forward it to the corresponding return FFERROR_NOT_READY If the filters stores internally one or a few frame for some it can consider them to be part of the FIFO and delay acknowledging a status change accordingly Example code
static int FUNC() sps(CodedBitstreamContext *ctx, RWContext *rw, H264RawSPS *current)
static unsigned get_ue_golomb_long(GetBitContext *gb)
Read an unsigned Exp-Golomb code in the range 0 to UINT32_MAX-1.