Go to the source code of this file.
Data Structures
Macros
#define
MAX_INT_BITS(length) ((INT64_C(1) << ((length) - 1)) - 1)
#define
MIN_INT_BITS(length) (-(INT64_C(1) << ((length) - 1)))
Enumerations
Functions
Variables
Macro Definition Documentation
◆ MAX_UINT_BITS
#define MAX_UINT_BITS
(
length )
((UINT64_C(1) << (length)) - 1)
◆ MAX_INT_BITS
#define MAX_INT_BITS
(
length )
((INT64_C(1) << ((length) - 1)) - 1)
◆ MIN_INT_BITS
#define MIN_INT_BITS
(
length )
(-(INT64_C(1) << ((length) - 1)))
◆ CBS_TRACE_READ_START
#define CBS_TRACE_READ_START
(
)
Value:
do { \
trace_start = *gbc; \
} while (0)
Definition at line 208 of file cbs_internal.h.
◆ CBS_TRACE_READ_END
#define CBS_TRACE_READ_END
(
)
Value: do { \
if (
ctx->trace_enable) { \
av_assert0(start_position <= end_position); \
ctx->trace_read_callback(
ctx->trace_context, &trace_start, \
end_position - start_position, \
} \
} while (0)
Definition at line 216 of file cbs_internal.h.
◆ CBS_TRACE_READ_END_NO_SUBSCRIPTS
#define CBS_TRACE_READ_END_NO_SUBSCRIPTS
(
)
Value: do { \
const
int *subscripts =
NULL; \
CBS_TRACE_READ_END(); \
} while (0)
Definition at line 229 of file cbs_internal.h.
◆ CBS_TRACE_READ_END_VALUE_ONLY
#define CBS_TRACE_READ_END_VALUE_ONLY
(
)
Value: do { \
if (
ctx->trace_enable) { \
ctx->trace_read_callback(
ctx->trace_context, &trace_start, 0, \
} \
} while (0)
Definition at line 237 of file cbs_internal.h.
◆ CBS_TRACE_WRITE_START
#define CBS_TRACE_WRITE_START
(
)
Value: int start_position; \
do { \
} while (0)
Definition at line 246 of file cbs_internal.h.
◆ CBS_TRACE_WRITE_END
#define CBS_TRACE_WRITE_END
(
)
Value: do { \
if (
ctx->trace_enable) { \
av_assert0(start_position <= end_position); \
ctx->trace_write_callback(
ctx->trace_context, pbc, \
end_position - start_position, \
} \
} while (0)
Definition at line 254 of file cbs_internal.h.
◆ CBS_TRACE_WRITE_END_NO_SUBSCRIPTS
#define CBS_TRACE_WRITE_END_NO_SUBSCRIPTS
(
)
Value: do { \
const
int *subscripts =
NULL; \
CBS_TRACE_WRITE_END(); \
} while (0)
Definition at line 266 of file cbs_internal.h.
◆ CBS_TRACE_WRITE_END_VALUE_ONLY
#define CBS_TRACE_WRITE_END_VALUE_ONLY
(
)
Value: do { \
if (
ctx->trace_enable) { \
init_put_bits(&
tmp, pbc->buf, start_position); \
skip_put_bits(&
tmp, start_position); \
ctx->trace_write_callback(
ctx->trace_context, &
tmp, 0, \
} \
} while (0)
Definition at line 276 of file cbs_internal.h.
◆ TYPE_LIST
#define TYPE_LIST
(
... )
{ __VA_ARGS__ }
◆ CBS_UNIT_TYPE_POD
#define CBS_UNIT_TYPE_POD
(
type_,
structure
)
Value: { \
.nb_unit_types = 1, \
.unit_type.list = { type_ }, \
.content_size = sizeof(structure), \
.
type.ref = { .nb_offsets = 0 }, \
}
Definition at line 288 of file cbs_internal.h.
◆ CBS_UNIT_RANGE_POD
#define CBS_UNIT_RANGE_POD
(
range_start,
range_end,
structure
)
Value: { \
.unit_type.range.start = range_start, \
.unit_type.range.end = range_end, \
.content_size = sizeof(structure), \
.
type.ref = { .nb_offsets = 0 }, \
}
Definition at line 295 of file cbs_internal.h.
◆ CBS_UNIT_TYPES_INTERNAL_REF
#define CBS_UNIT_TYPES_INTERNAL_REF
(
types,
structure,
ref_field
)
Value: { \
.content_size = sizeof(structure), \
.
type.ref = { .nb_offsets = 1, \
.offsets = { offsetof(structure, ref_field) } }, \
}
Definition at line 304 of file cbs_internal.h.
◆ CBS_UNIT_TYPE_INTERNAL_REF
#define CBS_UNIT_TYPE_INTERNAL_REF
(
type,
structure,
ref_field
◆ CBS_UNIT_RANGE_INTERNAL_REF
#define CBS_UNIT_RANGE_INTERNAL_REF
(
range_start,
range_end,
structure,
ref_field
)
Value: { \
.unit_type.range.start = range_start, \
.unit_type.range.end = range_end, \
.content_size = sizeof(structure), \
.
type.ref = { .nb_offsets = 1, \
.offsets = { offsetof(structure, ref_field) } }, \
}
Definition at line 315 of file cbs_internal.h.
◆ CBS_UNIT_TYPES_COMPLEX
#define CBS_UNIT_TYPES_COMPLEX
(
types,
structure,
free_func
)
Value: { \
.content_size = sizeof(structure), \
.
type.complex = { .content_free = free_func }, \
}
Definition at line 325 of file cbs_internal.h.
◆ CBS_UNIT_TYPE_COMPLEX
#define CBS_UNIT_TYPE_COMPLEX
(
type,
structure,
free_func
◆ CBS_UNIT_TYPE_END_OF_LIST
#define CBS_UNIT_TYPE_END_OF_LIST { .nb_unit_types = 0 }
Enumeration Type Documentation
◆ CBSContentType
| Enumerator |
|---|
| CBS_CONTENT_TYPE_INTERNAL_REFS |
| CBS_CONTENT_TYPE_COMPLEX |
Definition at line 34 of file cbs_internal.h.
◆ anonymous enum
| Enumerator |
|---|
| CBS_MAX_LIST_UNIT_TYPES |
| CBS_MAX_REF_OFFSETS |
| CBS_UNIT_TYPE_RANGE |
Definition at line 44 of file cbs_internal.h.
Function Documentation
◆ ff_cbs_trace_header()
◆ ff_cbs_read_unsigned()
int
width,
const char *
name,
const int *
subscripts,
uint32_t *
write_to,
uint32_t
range_min,
uint32_t
range_max
)
◆ ff_cbs_read_simple_unsigned()
int
width,
const char *
name,
uint32_t *
write_to
)
◆ ff_cbs_write_unsigned()
int
width,
const char *
name,
const int *
subscripts,
uint32_t
value,
uint32_t
range_min,
uint32_t
range_max
)
◆ ff_cbs_write_simple_unsigned()
int
width,
const char *
name,
uint32_t
value
)
◆ ff_cbs_read_signed()
int
width,
const char *
name,
const int *
subscripts,
)
◆ ff_cbs_write_signed()
int
width,
const char *
name,
const int *
subscripts,
)
Variable Documentation
◆ ff_cbs_type_av1
◆ ff_cbs_type_h264
◆ ff_cbs_type_h265
◆ ff_cbs_type_h266
◆ ff_cbs_type_jpeg
◆ ff_cbs_type_mpeg2
◆ ff_cbs_type_vp8
◆ ff_cbs_type_vp9