Go to the source code of this file.
 | 
| #define  | HEADER(name) | 
|   | 
| #define  | CHECK(call) | 
|   | 
| #define  | FUNC_NAME(rw,  codec,  name)   cbs_ ## codec ## _ ## rw ## _ ## name | 
|   | 
| #define  | FUNC_VP9(rw,  name)   FUNC_NAME(rw, vp9, name) | 
|   | 
| #define  | FUNC(name)   FUNC_VP9(READWRITE, name) | 
|   | 
| #define  | SUBSCRIPTS(subs, ...)   (subs > 0 ? ((int[subs + 1]){ subs, __VA_ARGS__ }) : NULL) | 
|   | 
| #define  | f(width,  name)   xf(width, name, current->name, 0, ) | 
|   | 
| #define  | s(width,  name)   xs(width, name, current->name, 0, ) | 
|   | 
| #define  | fs(width,  name,  subs, ...)   xf(width, name, current->name, subs, __VA_ARGS__) | 
|   | 
| #define  | ss(width,  name,  subs, ...)   xs(width, name, current->name, subs, __VA_ARGS__) | 
|   | 
| #define  | READ | 
|   | 
| #define  | READWRITE   read | 
|   | 
| #define  | RWContext   GetBitContext | 
|   | 
| #define  | xf(width,  name,  var,  subs, ...) | 
|   | 
| #define  | xs(width,  name,  var,  subs, ...) | 
|   | 
| #define  | increment(name,  min,  max) | 
|   | 
| #define  | fle(width,  name,  subs, ...) | 
|   | 
| #define  | delta_q(name) | 
|   | 
| #define  | prob(name,  subs, ...) | 
|   | 
| #define  | fixed(width,  name,  value) | 
|   | 
| #define  | infer(name,  value) | 
|   | 
| #define  | byte_alignment(rw)   (get_bits_count(rw) % 8) | 
|   | 
| #define  | WRITE | 
|   | 
| #define  | READWRITE   write | 
|   | 
| #define  | RWContext   PutBitContext | 
|   | 
| #define  | xf(width,  name,  var,  subs, ...) | 
|   | 
| #define  | xs(width,  name,  var,  subs, ...) | 
|   | 
| #define  | increment(name,  min,  max) | 
|   | 
| #define  | fle(width,  name,  subs, ...) | 
|   | 
| #define  | delta_q(name) | 
|   | 
| #define  | prob(name,  subs, ...) | 
|   | 
| #define  | fixed(width,  name,  value) | 
|   | 
| #define  | infer(name,  value) | 
|   | 
| #define  | byte_alignment(rw)   (put_bits_count(rw) % 8) | 
|   | 
 | 
| static int  | cbs_vp9_read_s (CodedBitstreamContext *ctx, GetBitContext *gbc, int width, const char *name, const int *subscripts, int32_t *write_to) | 
|   | 
| static int  | cbs_vp9_write_s (CodedBitstreamContext *ctx, PutBitContext *pbc, int width, const char *name, const int *subscripts, int32_t value) | 
|   | 
| static int  | cbs_vp9_read_increment (CodedBitstreamContext *ctx, GetBitContext *gbc, uint32_t range_min, uint32_t range_max, const char *name, uint32_t *write_to) | 
|   | 
| static int  | cbs_vp9_write_increment (CodedBitstreamContext *ctx, PutBitContext *pbc, uint32_t range_min, uint32_t range_max, const char *name, uint32_t value) | 
|   | 
| static int  | cbs_vp9_read_le (CodedBitstreamContext *ctx, GetBitContext *gbc, int width, const char *name, const int *subscripts, uint32_t *write_to) | 
|   | 
| static int  | cbs_vp9_write_le (CodedBitstreamContext *ctx, PutBitContext *pbc, int width, const char *name, const int *subscripts, uint32_t value) | 
|   | 
| static int  | cbs_vp9_split_fragment (CodedBitstreamContext *ctx, CodedBitstreamFragment *frag, int header) | 
|   | 
| static int  | cbs_vp9_read_unit (CodedBitstreamContext *ctx, CodedBitstreamUnit *unit) | 
|   | 
| static int  | cbs_vp9_write_unit (CodedBitstreamContext *ctx, CodedBitstreamUnit *unit, PutBitContext *pbc) | 
|   | 
| static int  | cbs_vp9_assemble_fragment (CodedBitstreamContext *ctx, CodedBitstreamFragment *frag) | 
|   | 
| static void  | cbs_vp9_flush (CodedBitstreamContext *ctx) | 
|   | 
◆ HEADER
◆ CHECK
Value:        do { \
        err = (call); \
        if (err < 0) \
            return err; \
    } while (0)
 
Definition at line 243 of file cbs_vp9.c.
 
 
◆ FUNC_NAME
      
        
          | #define FUNC_NAME | 
          ( | 
            | 
          rw,  | 
        
        
           | 
           | 
            | 
          codec,  | 
        
        
           | 
           | 
            | 
          name  | 
        
        
           | 
          ) | 
           |    cbs_ ## codec ## _ ## rw ## _ ## name | 
        
      
 
 
◆ FUNC_VP9
◆ FUNC
◆ SUBSCRIPTS
      
        
          | #define SUBSCRIPTS | 
          ( | 
            | 
          subs,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |    (subs > 0 ? ((int[subs + 1]){ subs, __VA_ARGS__ }) : NULL) | 
        
      
 
 
◆ fs
◆ ss
◆ READ
◆ READWRITE [1/2]
◆ RWContext [1/2]
◆ xf [1/2]
◆ xs [1/2]
◆ increment [1/2]
◆ fle [1/2]
Value:        do { \
                              SUBSCRIPTS(subs, __VA_ARGS__), ¤t->name)); \
 
    } while (0)
 
Definition at line 362 of file cbs_vp9.c.
 
 
◆ delta_q [1/2]
Value:        do { \
        uint8_t delta_coded; \
        xf(1, 
name.delta_coded, delta_coded, 0, ); \
 
        if (delta_coded) \
        else \
            delta_q = 0; \
    } while (0)
 
Definition at line 367 of file cbs_vp9.c.
 
 
◆ prob [1/2]
      
        
          | #define prob | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          subs,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:        do { \
        uint8_t prob_coded; \
        xf(1, 
name.prob_coded, prob_coded, subs, __VA_ARGS__); \
 
        if (prob_coded) \
            xf(8, 
name.prob, 
prob, subs, __VA_ARGS__); \
 
        else \
            prob = 255; \
    } while (0)
 
Definition at line 373 of file cbs_vp9.c.
 
 
◆ fixed [1/2]
Value:        do { \
        av_unused uint32_t fixed_value; \
    } while (0)
 
Definition at line 379 of file cbs_vp9.c.
 
 
◆ infer [1/2]
◆ byte_alignment [1/2]
◆ WRITE
◆ READWRITE [2/2]
◆ RWContext [2/2]
◆ xf [2/2]
Value:        do { \
                                    var, 0, (1 << 
width) - 1)); \
 
    } while (0)
 
Definition at line 348 of file cbs_vp9.c.
 
 
◆ xs [2/2]
◆ increment [2/2]
◆ fle [2/2]
◆ delta_q [2/2]
Value:        do { \
        xf(1, 
name.delta_coded, !!current->name, 0, ); \
 
        if (current->name) \
            xs(4, 
name.delta_q, current->name, 0, ); \
 
    } while (0)
 
Definition at line 367 of file cbs_vp9.c.
 
 
◆ prob [2/2]
      
        
          | #define prob | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          subs,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:        do { \
        xf(1, 
name.prob_coded, current->name != 255, subs, __VA_ARGS__); \
 
        if (current->name != 255) \
            xf(8, 
name.prob, current->name, subs, __VA_ARGS__); \
 
    } while (0)
 
Definition at line 373 of file cbs_vp9.c.
 
 
◆ fixed [2/2]
◆ infer [2/2]
Value:        do { \
        if (current->name != (
value)) { \
 
                   "%s does not match inferred value: " \
                   "%"PRId64", but should be %"PRId64".\n", \
                   #
name, (int64_t)current->name, (int64_t)(
value)); \
 
        } \
    } while (0)
 
Definition at line 384 of file cbs_vp9.c.
 
 
◆ byte_alignment [2/2]
◆ cbs_vp9_read_s()
◆ cbs_vp9_write_s()
◆ cbs_vp9_read_increment()
◆ cbs_vp9_write_increment()
◆ cbs_vp9_read_le()
◆ cbs_vp9_write_le()
◆ cbs_vp9_split_fragment()
◆ cbs_vp9_read_unit()
◆ cbs_vp9_write_unit()
◆ cbs_vp9_assemble_fragment()
◆ cbs_vp9_flush()
◆ cbs_vp9_unit_types
◆ ff_cbs_type_vp9
 
#define AV_LOG_WARNING
Something somehow does not look correct.
 
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 default minimum maximum flags name is the option name
 
#define SUBSCRIPTS(subs,...)
 
static int cbs_vp9_write_increment(CodedBitstreamContext *ctx, PutBitContext *pbc, uint32_t range_min, uint32_t range_max, const char *name, uint32_t value)
 
static int cbs_vp9_split_fragment(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag, int header)
 
static void cbs_vp9_flush(CodedBitstreamContext *ctx)
 
static int cbs_vp9_write_le(CodedBitstreamContext *ctx, PutBitContext *pbc, int width, const char *name, const int *subscripts, uint32_t value)
 
int ff_cbs_write_unsigned(CodedBitstreamContext *ctx, PutBitContext *pbc, int width, const char *name, const int *subscripts, uint32_t value, uint32_t range_min, uint32_t range_max)
 
#define CBS_UNIT_TYPE_INTERNAL_REF(type, structure, ref_field)
 
static int cbs_vp9_assemble_fragment(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag)
 
static int cbs_vp9_read_s(CodedBitstreamContext *ctx, GetBitContext *gbc, int width, const char *name, const int *subscripts, int32_t *write_to)
 
static const CodedBitstreamUnitTypeDescriptor cbs_vp9_unit_types[]
 
static void flush(AVCodecContext *avctx)
 
static int cbs_vp9_read_unit(CodedBitstreamContext *ctx, CodedBitstreamUnit *unit)
 
static int cbs_vp9_write_unit(CodedBitstreamContext *ctx, CodedBitstreamUnit *unit, PutBitContext *pbc)
 
static int cbs_vp9_read_increment(CodedBitstreamContext *ctx, GetBitContext *gbc, uint32_t range_min, uint32_t range_max, const char *name, uint32_t *write_to)
 
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 default value
 
int ff_cbs_read_unsigned(CodedBitstreamContext *ctx, GetBitContext *gbc, int width, const char *name, const int *subscripts, uint32_t *write_to, uint32_t range_min, uint32_t range_max)
 
#define CBS_UNIT_TYPE_END_OF_LIST
 
static int cbs_vp9_read_le(CodedBitstreamContext *ctx, GetBitContext *gbc, int width, const char *name, const int *subscripts, uint32_t *write_to)
 
#define prob(name, subs,...)
 
static int cbs_vp9_write_s(CodedBitstreamContext *ctx, PutBitContext *pbc, int width, const char *name, const int *subscripts, int32_t value)