|
FFmpeg
|
#include "libavutil/mem.h"#include "libavutil/refstruct.h"#include "bytestream.h"#include "cbs.h"#include "cbs_internal.h"#include "cbs_h2645.h"#include "cbs_lcevc.h"#include "cbs_sei.h"#include "get_bits.h"#include "cbs_lcevc_syntax_template.c"Go to the source code of this file.
Macros | |
| #define | HEADER(name) |
| #define | CHECK(call) |
| #define | FUNC_NAME2(rw, codec, name) |
| #define | FUNC_NAME1(rw, codec, name) |
| #define | FUNC_LCEVC(name) |
| #define | FUNC_NAME2_EXPORT(rw, codec, name) |
| #define | FUNC_NAME1_EXPORT(rw, codec, name) |
| #define | FUNC_SEI(name) |
| #define | SEI_FUNC(name, args) |
| #define | LCEVC_BLOCK_FUNC(name, args) |
| #define | SUBSCRIPTS(subs, ...) |
| #define | u(width, name, range_min, range_max) |
| #define | flag(name) |
| #define | ue(name, range_min, range_max) |
| #define | i(width, name, range_min, range_max) |
| #define | ib(width, name) |
| #define | se(name, range_min, range_max) |
| #define | us(width, name, range_min, range_max, subs, ...) |
| #define | ubs(width, name, subs, ...) |
| #define | flags(name, subs, ...) |
| #define | ues(name, range_min, range_max, subs, ...) |
| #define | is(width, name, range_min, range_max, subs, ...) |
| #define | ibs(width, name, subs, ...) |
| #define | ses(name, range_min, range_max, subs, ...) |
| #define | mb(name) |
| #define | fixed(width, name, value) |
| #define | READ |
| #define | READWRITE read |
| #define | RWContext GetBitContext |
| #define | ub(width, name) |
| #define | xu(width, name, var, range_min, range_max, subs, ...) |
| #define | xue(name, var, range_min, range_max, subs, ...) |
| #define | xi(width, name, var, range_min, range_max, subs, ...) |
| #define | xse(name, var, range_min, range_max, subs, ...) |
| #define | xmb(name, var) |
| #define | infer(name, value) |
| #define | more_rbsp_data(var) |
| #define | bit_position(rw) |
| #define | byte_alignment(rw) |
| #define | allocate(name, size) |
| #define | FUNC(name) |
| #define | WRITE |
| #define | READWRITE write |
| #define | RWContext PutBitContext |
| #define | ub(width, name) |
| #define | xu(width, name, var, range_min, range_max, subs, ...) |
| #define | xue(name, var, range_min, range_max, subs, ...) |
| #define | xi(width, name, var, range_min, range_max, subs, ...) |
| #define | xse(name, var, range_min, range_max, subs, ...) |
| #define | xmb(name, var) |
| #define | infer(name, value) |
| #define | more_rbsp_data(var) |
| #define | bit_position(rw) |
| #define | byte_alignment(rw) |
| #define | allocate(name, size) |
| #define | FUNC(name) |
| #define | LCEVC_PROCESS_BLOCK_RW(codec, name) |
Variables | |
| static CodedBitstreamUnitTypeDescriptor | cbs_lcevc_unit_types [] |
| static const LCEVCProcessBlockTypeDescriptor | cbs_lcevc_process_block_types [] |
| const CodedBitstreamType | ff_cbs_type_lcevc |
| #define HEADER | ( | name | ) |
Definition at line 29 of file cbs_lcevc.c.
| #define CHECK | ( | call | ) |
Definition at line 33 of file cbs_lcevc.c.
| #define FUNC_NAME2 | ( | rw, | |
| codec, | |||
| name ) |
| #define FUNC_NAME1 | ( | rw, | |
| codec, | |||
| name ) |
Definition at line 40 of file cbs_lcevc.c.
| #define FUNC_LCEVC | ( | name | ) |
Definition at line 41 of file cbs_lcevc.c.
| #define FUNC_NAME2_EXPORT | ( | rw, | |
| codec, | |||
| name ) |
Definition at line 42 of file cbs_lcevc.c.
| #define FUNC_NAME1_EXPORT | ( | rw, | |
| codec, | |||
| name ) |
Definition at line 43 of file cbs_lcevc.c.
| #define FUNC_SEI | ( | name | ) |
Definition at line 44 of file cbs_lcevc.c.
| #define SEI_FUNC | ( | name, | |
| args ) |
Definition at line 46 of file cbs_lcevc.c.
| #define LCEVC_BLOCK_FUNC | ( | name, | |
| args ) |
Definition at line 56 of file cbs_lcevc.c.
| #define SUBSCRIPTS | ( | subs, | |
| ... ) |
Definition at line 67 of file cbs_lcevc.c.
Definition at line 69 of file cbs_lcevc.c.
| #define flag | ( | name | ) |
Definition at line 71 of file cbs_lcevc.c.
| #define ue | ( | name, | |
| range_min, | |||
| range_max ) |
Definition at line 72 of file cbs_lcevc.c.
Definition at line 74 of file cbs_lcevc.c.
Definition at line 76 of file cbs_lcevc.c.
| #define se | ( | name, | |
| range_min, | |||
| range_max ) |
Definition at line 78 of file cbs_lcevc.c.
Definition at line 83 of file cbs_lcevc.c.
| #define flags | ( | name, | |
| subs, | |||
| ... ) |
Definition at line 85 of file cbs_lcevc.c.
| #define ues | ( | name, | |
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... ) |
Definition at line 87 of file cbs_lcevc.c.
Definition at line 91 of file cbs_lcevc.c.
| #define ses | ( | name, | |
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... ) |
Definition at line 93 of file cbs_lcevc.c.
| #define mb | ( | name | ) |
Definition at line 95 of file cbs_lcevc.c.
Referenced by add_mb(), aic_decode_coeffs(), aic_decode_slice(), calculate_mode_score(), checkasm_var_add(), checkasm_var_sub(), dctcoef_get(), dctcoef_set(), decode_intra4x4_modes(), decode_mb_coeffs(), decode_mb_info(), decode_mb_info(), decode_mb_mode(), decode_mb_row_no_filter(), decode_splitmvs(), dnxhd_calc_bits_thread(), dnxhd_encode_fast(), dnxhd_encode_rdo(), dnxhd_encode_thread(), dnxhd_mb_var_thread(), dnxhd_setup_threads_slices(), dv_decode_ac(), dv_decode_video_segment(), dv_encode_video_segment(), encode_frame(), encode_mode(), escape124_decode_frame(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), filter_level_for_mb(), find_quant_thread(), get_bmv_ptr(), get_frame_mb(), get_mb(), h264_find_frame_end(), idct_mb(), insert_mb_into_sb(), inter_predict(), intra_predict(), inverse3x3(), ivi_decode_blocks(), ivi_process_empty_tile(), LCEVC_BLOCK_FUNC(), main(), mpc7_decode_frame(), nmr_setup_channel(), opus_rc_enc_carryout(), parse_value(), prefetch_motion(), quantize(), search_for_quantizers_twoloop(), tm2_read_deltas(), vp78_decode_mv_mb_modes(), vp7_decode_mvs(), and vp8_decode_mvs().
Definition at line 98 of file cbs_lcevc.c.
| #define READ |
Definition at line 135 of file cbs_lcevc.c.
| #define READWRITE read |
Definition at line 136 of file cbs_lcevc.c.
| #define RWContext GetBitContext |
Definition at line 137 of file cbs_lcevc.c.
Definition at line 145 of file cbs_lcevc.c.
| #define xue | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... ) |
Definition at line 152 of file cbs_lcevc.c.
Definition at line 159 of file cbs_lcevc.c.
| #define xse | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... ) |
Definition at line 166 of file cbs_lcevc.c.
| #define xmb | ( | name, | |
| var ) |
Definition at line 173 of file cbs_lcevc.c.
Referenced by process_block_list().
Definition at line 179 of file cbs_lcevc.c.
| #define more_rbsp_data | ( | var | ) |
Definition at line 183 of file cbs_lcevc.c.
| #define bit_position | ( | rw | ) |
Definition at line 185 of file cbs_lcevc.c.
| #define byte_alignment | ( | rw | ) |
Definition at line 186 of file cbs_lcevc.c.
Definition at line 190 of file cbs_lcevc.c.
| #define FUNC | ( | name | ) |
Definition at line 197 of file cbs_lcevc.c.
| #define WRITE |
Definition at line 244 of file cbs_lcevc.c.
| #define READWRITE write |
Definition at line 136 of file cbs_lcevc.c.
| #define RWContext PutBitContext |
Definition at line 137 of file cbs_lcevc.c.
Definition at line 145 of file cbs_lcevc.c.
| #define xue | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... ) |
Definition at line 152 of file cbs_lcevc.c.
Definition at line 159 of file cbs_lcevc.c.
| #define xse | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... ) |
Definition at line 166 of file cbs_lcevc.c.
| #define xmb | ( | name, | |
| var ) |
Definition at line 173 of file cbs_lcevc.c.
Definition at line 179 of file cbs_lcevc.c.
| #define more_rbsp_data | ( | var | ) |
Definition at line 183 of file cbs_lcevc.c.
| #define bit_position | ( | rw | ) |
Definition at line 185 of file cbs_lcevc.c.
| #define byte_alignment | ( | rw | ) |
Definition at line 186 of file cbs_lcevc.c.
Definition at line 190 of file cbs_lcevc.c.
| #define FUNC | ( | name | ) |
Definition at line 197 of file cbs_lcevc.c.
| #define LCEVC_PROCESS_BLOCK_RW | ( | codec, | |
| name ) |
Definition at line 769 of file cbs_lcevc.c.
|
static |
Definition at line 104 of file cbs_lcevc.c.
|
static |
Definition at line 218 of file cbs_lcevc.c.
|
static |
Definition at line 330 of file cbs_lcevc.c.
|
static |
Definition at line 418 of file cbs_lcevc.c.
|
static |
Definition at line 467 of file cbs_lcevc.c.
|
static |
Definition at line 492 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_alloc_process_block_payload().
|
static |
Definition at line 499 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_alloc_process_block_payload().
|
static |
Definition at line 510 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_alloc_process_block_payload().
| int ff_cbs_lcevc_alloc_process_block_payload | ( | LCEVCRawProcessBlock * | block, |
| const LCEVCProcessBlockTypeDescriptor * | desc ) |
Allocate a new payload for the given Process Block.
Definition at line 522 of file cbs_lcevc.c.
Referenced by process_block().
| int ff_cbs_lcevc_list_add | ( | LCEVCRawProcessBlockList * | list, |
| int | position ) |
Allocate a new empty Process Block in a block list at a given position.
Definition at line 549 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_add_process_block(), and process_block_list().
| void ff_cbs_lcevc_free_process_block_list | ( | LCEVCRawProcessBlockList * | list | ) |
Free all Process Block in a block list.
Definition at line 588 of file cbs_lcevc.c.
Referenced by cbs_lcevc_free_nal().
|
static |
Definition at line 598 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_add_process_block(), ff_cbs_lcevc_delete_process_block_type(), and ff_cbs_lcevc_find_process_block().
| int ff_cbs_lcevc_add_process_block | ( | CodedBitstreamContext * | ctx, |
| CodedBitstreamFragment * | au, | ||
| int | position, | ||
| uint32_t | payload_type, | ||
| void * | payload_data, | ||
| void * | payload_ref ) |
Add a process block to an access unit.
An existing NAL unit of type IDR or NON_IDR are required.
If set, payload_ref must be a RefStruct reference backing payload_data. This function creates a new reference to payload_ref in this case. If payload_ref is NULL, the new message will not be reference counted.
Definition at line 610 of file cbs_lcevc.c.
Referenced by lcevc_metadata_handle_vui().
| int ff_cbs_lcevc_find_process_block | ( | CodedBitstreamContext * | ctx, |
| CodedBitstreamFragment * | au, | ||
| uint32_t | payload_type, | ||
| LCEVCRawProcessBlock ** | block ) |
Iterate over blocks with the given payload type in an access unit.
Set block to NULL in the first call. Returns 0 while more blocks are available, AVERROR(ENOENT) when all blocks have been found.
Definition at line 662 of file cbs_lcevc.c.
Referenced by ff_lcevc_parse_frame(), and lcevc_metadata_handle_vui().
|
static |
Definition at line 698 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_delete_process_block_type().
| void ff_cbs_lcevc_delete_process_block_type | ( | CodedBitstreamContext * | ctx, |
| CodedBitstreamFragment * | au, | ||
| uint32_t | payload_type ) |
Delete all blocks with the given payload type from an access unit.
Definition at line 717 of file cbs_lcevc.c.
Referenced by lcevc_metadata_update_fragment().
|
static |
Definition at line 738 of file cbs_lcevc.c.
Referenced by cbs_lcevc_close().
|
static |
Definition at line 747 of file cbs_lcevc.c.
|
static |
Definition at line 755 of file cbs_lcevc.c.
| const LCEVCProcessBlockTypeDescriptor * ff_cbs_lcevc_process_block_find_type | ( | CodedBitstreamContext * | ctx, |
| int | payload_type ) |
Find the type descriptor for the given payload type.
Returns NULL if the payload type is not known.
Definition at line 808 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_add_process_block(), and process_block().
|
static |
Definition at line 761 of file cbs_lcevc.c.
|
static |
Definition at line 773 of file cbs_lcevc.c.
Referenced by ff_cbs_lcevc_process_block_find_type().
| const CodedBitstreamType ff_cbs_type_lcevc |
Definition at line 819 of file cbs_lcevc.c.