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)