FFmpeg
|
#include "libavutil/buffer.h"
#include "dovi_rpu.h"
#include "golomb.h"
#include "get_bits.h"
#include "refstruct.h"
Go to the source code of this file.
Data Structures | |
struct | DOVIVdr |
Private contents of vdr. More... | |
Macros | |
#define | COPY(t, a, b, last) memcpy(a, b, offsetof(t, last) + sizeof((b)->last)) |
#define | VALIDATE(VAR, MIN, MAX) |
Enumerations | |
enum | { RPU_COEFF_FIXED = 0, RPU_COEFF_FLOAT = 1 } |
Functions | |
void | ff_dovi_ctx_unref (DOVIContext *s) |
Completely reset a DOVIContext, preserving only logctx. More... | |
void | ff_dovi_ctx_flush (DOVIContext *s) |
Partially reset the internal state. More... | |
void | ff_dovi_ctx_replace (DOVIContext *s, const DOVIContext *s0) |
void | ff_dovi_update_cfg (DOVIContext *s, const AVDOVIDecoderConfigurationRecord *cfg) |
Read the contents of an AVDOVIDecoderConfigurationRecord (usually provided by stream side data) and update internal state accordingly. More... | |
int | ff_dovi_attach_side_data (DOVIContext *s, AVFrame *frame) |
Attach the decoded AVDOVIMetadata as side data to an AVFrame. More... | |
static int | guess_profile (const AVDOVIRpuDataHeader *hdr) |
static uint64_t | get_ue_coef (GetBitContext *gb, const AVDOVIRpuDataHeader *hdr) |
static int64_t | get_se_coef (GetBitContext *gb, const AVDOVIRpuDataHeader *hdr) |
int | ff_dovi_rpu_parse (DOVIContext *s, const uint8_t *rpu, size_t rpu_size) |
Parse the contents of a Dovi RPU NAL and update the parsed values in the DOVIContext struct. More... | |
Definition at line 177 of file dovi_rpu.c.
anonymous enum |
Enumerator | |
---|---|
RPU_COEFF_FIXED | |
RPU_COEFF_FLOAT |
Definition at line 31 of file dovi_rpu.c.
void ff_dovi_ctx_unref | ( | DOVIContext * | s | ) |
Completely reset a DOVIContext, preserving only logctx.
Definition at line 44 of file dovi_rpu.c.
Referenced by ff_dovi_rpu_parse(), and hevc_decode_free().
void ff_dovi_ctx_flush | ( | DOVIContext * | s | ) |
Partially reset the internal state.
Resets per-frame state while preserving fields parsed from the configuration record.
Definition at line 54 of file dovi_rpu.c.
Referenced by hevc_decode_flush().
void ff_dovi_ctx_replace | ( | DOVIContext * | s, |
const DOVIContext * | s0 | ||
) |
Definition at line 65 of file dovi_rpu.c.
void ff_dovi_update_cfg | ( | DOVIContext * | s, |
const AVDOVIDecoderConfigurationRecord * | cfg | ||
) |
Read the contents of an AVDOVIDecoderConfigurationRecord (usually provided by stream side data) and update internal state accordingly.
Definition at line 75 of file dovi_rpu.c.
Referenced by hevc_decode_frame(), and hevc_decode_init().
int ff_dovi_attach_side_data | ( | DOVIContext * | s, |
AVFrame * | frame | ||
) |
Attach the decoded AVDOVIMetadata as side data to an AVFrame.
Definition at line 83 of file dovi_rpu.c.
Referenced by set_side_data().
|
static |
Definition at line 117 of file dovi_rpu.c.
Referenced by ff_dovi_rpu_parse().
|
inlinestatic |
Definition at line 139 of file dovi_rpu.c.
Referenced by ff_dovi_rpu_parse().
|
inlinestatic |
Definition at line 158 of file dovi_rpu.c.
Referenced by ff_dovi_rpu_parse().
int ff_dovi_rpu_parse | ( | DOVIContext * | s, |
const uint8_t * | rpu, | ||
size_t | rpu_size | ||
) |
Parse the contents of a Dovi RPU NAL and update the parsed values in the DOVIContext struct.
Returns 0 or an error code.
The patent mentions another legal value, NLQ_MU_LAW, but it's not documented anywhere how to parse or apply that type of NLQ.
Definition at line 186 of file dovi_rpu.c.
Referenced by decode_nal_units().