|
FFmpeg
|
#include <stddef.h>#include <stdint.h>#include "cbs_h2645.h"#include "cbs_sei.h"#include "lcevc.h"Go to the source code of this file.
Data Structures | |
| struct | LCEVCRawNALUnitHeader |
| struct | LCEVCRawSequenceConfig |
| struct | LCEVCRawGlobalConfig |
| struct | LCEVCRawPictureConfig |
| struct | LCEVCRawEncodedData |
| struct | LCEVCRawVUI |
| struct | LCEVCRawSEI |
| struct | LCEVCRawAdditionalInfo |
| struct | LCEVCRawFiller |
| struct | LCEVCRawProcessBlock |
| struct | LCEVCRawProcessBlockList |
| struct | LCEVCRawNAL |
| struct | LCEVCProcessBlockState |
| struct | LCEVCProcessBlockTypeDescriptor |
| struct | CodedBitstreamLCEVCContext |
Macros | |
| #define | LCEVC_PROCESS_BLOCK_TYPE_END { .payload_type = -1 } |
Typedefs | |
| typedef int(* | LCEVCRawProcessBlockReadFunction) (CodedBitstreamContext *ctx, struct GetBitContext *rw, void *current, LCEVCProcessBlockState *state, int nal_unit_type) |
| typedef int(* | LCEVCRawProcessBlockWriteFunction) (CodedBitstreamContext *ctx, struct PutBitContext *rw, void *current, LCEVCProcessBlockState *state, int nal_unit_type) |
Functions | |
| const LCEVCProcessBlockTypeDescriptor * | ff_cbs_lcevc_process_block_find_type (CodedBitstreamContext *ctx, int payload_type) |
| Find the type descriptor for the given payload type. More... | |
| int | ff_cbs_lcevc_alloc_process_block_payload (LCEVCRawProcessBlock *block, const LCEVCProcessBlockTypeDescriptor *desc) |
| Allocate a new payload for the given Process Block. More... | |
| int | ff_cbs_lcevc_list_add (LCEVCRawProcessBlockList *list, int position) |
| Allocate a new empty Process Block in a block list at a given position. More... | |
| void | ff_cbs_lcevc_free_process_block_list (LCEVCRawProcessBlockList *list) |
| Free all Process Block in a block list. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| #define LCEVC_PROCESS_BLOCK_TYPE_END { .payload_type = -1 } |
Definition at line 235 of file cbs_lcevc.h.
| typedef int(* LCEVCRawProcessBlockReadFunction) (CodedBitstreamContext *ctx, struct GetBitContext *rw, void *current, LCEVCProcessBlockState *state, int nal_unit_type) |
Definition at line 211 of file cbs_lcevc.h.
| typedef int(* LCEVCRawProcessBlockWriteFunction) (CodedBitstreamContext *ctx, struct PutBitContext *rw, void *current, LCEVCProcessBlockState *state, int nal_unit_type) |
Definition at line 217 of file cbs_lcevc.h.
| 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().
| 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 525 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 552 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 591 of file cbs_lcevc.c.
Referenced by cbs_lcevc_free_nal().
| 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 613 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 665 of file cbs_lcevc.c.
Referenced by lcevc_metadata_handle_vui().
| 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().
1.8.17