Go to the documentation of this file.
19 #ifndef AVCODEC_CBS_INTERNAL_H
20 #define AVCODEC_CBS_INTERNAL_H
69 const char *
name,
const int *subscripts,
70 const char *bitstring, int64_t
value);
78 const int *subscripts, uint32_t *write_to,
79 uint32_t range_min, uint32_t range_max);
83 const int *subscripts, uint32_t
value,
84 uint32_t range_min, uint32_t range_max);
88 const int *subscripts,
int32_t *write_to,
98 #define MAX_UINT_BITS(length) ((UINT64_C(1) << (length)) - 1)
102 #define MAX_INT_BITS(length) ((INT64_C(1) << ((length) - 1)) - 1)
106 #define MIN_INT_BITS(length) (-(INT64_C(1) << ((length) - 1)))
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
void(* close)(CodedBitstreamContext *ctx)
const CodedBitstreamType ff_cbs_type_vp9
Context structure for coded bitstream operations.
int ff_cbs_read_signed(CodedBitstreamContext *ctx, GetBitContext *gbc, int width, const char *name, const int *subscripts, int32_t *write_to, int32_t range_min, int32_t range_max)
Coded bitstream unit structure.
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)
void ff_cbs_trace_syntax_element(CodedBitstreamContext *ctx, int position, const char *name, const int *subscripts, const char *bitstring, int64_t value)
const CodedBitstreamType ff_cbs_type_mpeg2
Coded bitstream fragment structure, combining one or more units.
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)
int(* read_unit)(CodedBitstreamContext *ctx, CodedBitstreamUnit *unit)
void ff_cbs_trace_header(CodedBitstreamContext *ctx, const char *name)
AVCodecID
Identify the syntax and semantics of the bitstream.
const CodedBitstreamType ff_cbs_type_jpeg
static const uint8_t header[24]
const CodedBitstreamType ff_cbs_type_av1
int(* write_unit)(CodedBitstreamContext *ctx, CodedBitstreamUnit *unit, PutBitContext *pbc)
int ff_cbs_write_signed(CodedBitstreamContext *ctx, PutBitContext *pbc, int width, const char *name, const int *subscripts, int32_t value, int32_t range_min, int32_t range_max)
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
const CodedBitstreamType ff_cbs_type_h265
int(* assemble_fragment)(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag)
int(* split_fragment)(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag, int header)
const CodedBitstreamType ff_cbs_type_h264