FFmpeg
Data Structures | Functions | Variables
apv_decode.c File Reference
#include "libavutil/mastering_display_metadata.h"
#include "libavutil/mem_internal.h"
#include "libavutil/pixdesc.h"
#include "apv.h"
#include "apv_decode.h"
#include "apv_dsp.h"
#include "avcodec.h"
#include "cbs.h"
#include "cbs_apv.h"
#include "codec_internal.h"
#include "decode.h"
#include "internal.h"
#include "thread.h"

Go to the source code of this file.

Data Structures

struct  APVDecodeContext
 

Functions

static int apv_decode_check_format (AVCodecContext *avctx, const APVRawFrameHeader *header)
 
static av_cold int apv_decode_init (AVCodecContext *avctx)
 
static av_cold int apv_decode_close (AVCodecContext *avctx)
 
static int apv_decode_block (AVCodecContext *avctx, void *output, ptrdiff_t pitch, GetBitContext *gbc, APVEntropyState *entropy_state, int bit_depth, int qp_shift, const uint16_t *qmatrix)
 
static int apv_decode_tile_component (AVCodecContext *avctx, void *data, int job, int thread)
 
static int apv_decode (AVCodecContext *avctx, AVFrame *output, APVRawFrame *input)
 
static int apv_decode_metadata (AVCodecContext *avctx, AVFrame *frame, const APVRawMetadata *md)
 
static int apv_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *packet)
 

Variables

static enum AVPixelFormat apv_format_table [5][5]
 
static const CodedBitstreamUnitType apv_decompose_unit_types []
 
const FFCodec ff_apv_decoder
 

Function Documentation

◆ apv_decode_check_format()

static int apv_decode_check_format ( AVCodecContext avctx,
const APVRawFrameHeader header 
)
static

Definition at line 58 of file apv_decode.c.

Referenced by apv_decode().

◆ apv_decode_init()

static av_cold int apv_decode_init ( AVCodecContext avctx)
static

Definition at line 104 of file apv_decode.c.

◆ apv_decode_close()

static av_cold int apv_decode_close ( AVCodecContext avctx)
static

Definition at line 127 of file apv_decode.c.

◆ apv_decode_block()

static int apv_decode_block ( AVCodecContext avctx,
void *  output,
ptrdiff_t  pitch,
GetBitContext gbc,
APVEntropyState entropy_state,
int  bit_depth,
int  qp_shift,
const uint16_t *  qmatrix 
)
static

Definition at line 137 of file apv_decode.c.

Referenced by apv_decode_tile_component().

◆ apv_decode_tile_component()

static int apv_decode_tile_component ( AVCodecContext avctx,
void *  data,
int  job,
int  thread 
)
static

Definition at line 162 of file apv_decode.c.

Referenced by apv_decode().

◆ apv_decode()

static int apv_decode ( AVCodecContext avctx,
AVFrame output,
APVRawFrame input 
)
static

Definition at line 265 of file apv_decode.c.

Referenced by apv_decode_frame().

◆ apv_decode_metadata()

static int apv_decode_metadata ( AVCodecContext avctx,
AVFrame frame,
const APVRawMetadata md 
)
static

Definition at line 295 of file apv_decode.c.

Referenced by apv_decode_frame().

◆ apv_decode_frame()

static int apv_decode_frame ( AVCodecContext avctx,
AVFrame frame,
int *  got_frame,
AVPacket packet 
)
static

Definition at line 360 of file apv_decode.c.

Variable Documentation

◆ apv_format_table

enum AVPixelFormat apv_format_table[5][5]
static

◆ apv_decompose_unit_types

const CodedBitstreamUnitType apv_decompose_unit_types[]
static
Initial value:

Definition at line 99 of file apv_decode.c.

Referenced by apv_decode_init().

◆ ff_apv_decoder

const FFCodec ff_apv_decoder
Initial value:
= {
.p.name = "apv",
CODEC_LONG_NAME("Advanced Professional Video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_APV,
.priv_data_size = sizeof(APVDecodeContext),
.p.capabilities = AV_CODEC_CAP_DR1 |
}

Definition at line 419 of file apv_decode.c.

APVDecodeContext
Definition: apv_decode.c:35
APV_PBU_METADATA
@ APV_PBU_METADATA
Definition: apv.h:33
AV_PIX_FMT_YUVA444P16
#define AV_PIX_FMT_YUVA444P16
Definition: pixfmt.h:580
apv_decode_init
static av_cold int apv_decode_init(AVCodecContext *avctx)
Definition: apv_decode.c:104
AV_PIX_FMT_GRAY16
#define AV_PIX_FMT_GRAY16
Definition: pixfmt.h:511
AV_PIX_FMT_YUV444P10
#define AV_PIX_FMT_YUV444P10
Definition: pixfmt.h:531
AV_PIX_FMT_YUV422P16
#define AV_PIX_FMT_YUV422P16
Definition: pixfmt.h:540
FF_CODEC_DECODE_CB
#define FF_CODEC_DECODE_CB(func)
Definition: codec_internal.h:341
AV_PIX_FMT_YUV444P16
#define AV_PIX_FMT_YUV444P16
Definition: pixfmt.h:541
apv_decode_frame
static int apv_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *packet)
Definition: apv_decode.c:360
AV_PIX_FMT_YUVA444P12
#define AV_PIX_FMT_YUVA444P12
Definition: pixfmt.h:577
AV_PIX_FMT_GRAY14
#define AV_PIX_FMT_GRAY14
Definition: pixfmt.h:510
CODEC_LONG_NAME
#define CODEC_LONG_NAME(str)
Definition: codec_internal.h:326
AV_PIX_FMT_GRAY10
#define AV_PIX_FMT_GRAY10
Definition: pixfmt.h:508
AV_CODEC_CAP_FRAME_THREADS
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
Definition: codec.h:95
AV_PIX_FMT_YUV422P10
#define AV_PIX_FMT_YUV422P10
Definition: pixfmt.h:529
AV_PIX_FMT_GRAY8
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition: pixfmt.h:81
close
av_cold void CBS_FUNC() close(CodedBitstreamContext **ctx_ptr)
Close a context and free all internal state.
Definition: cbs.c:146
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts.c:368
AV_CODEC_CAP_DR1
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition: codec.h:52
AV_PIX_FMT_YUV422P12
#define AV_PIX_FMT_YUV422P12
Definition: pixfmt.h:533
AV_PIX_FMT_YUV444P12
#define AV_PIX_FMT_YUV444P12
Definition: pixfmt.h:535
AV_PIX_FMT_YUVA444P
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
Definition: pixfmt.h:174
AV_CODEC_CAP_SLICE_THREADS
#define AV_CODEC_CAP_SLICE_THREADS
Codec supports slice-based (or partition-based) multithreading.
Definition: codec.h:99
AV_PIX_FMT_YUVA444P10
#define AV_PIX_FMT_YUVA444P10
Definition: pixfmt.h:575
apv_decode_close
static av_cold int apv_decode_close(AVCodecContext *avctx)
Definition: apv_decode.c:127
AV_CODEC_ID_APV
@ AV_CODEC_ID_APV
Definition: codec_id.h:332
APV_PBU_PRIMARY_FRAME
@ APV_PBU_PRIMARY_FRAME
Definition: apv.h:27
AV_PIX_FMT_YUV444P
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:78
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
AV_PIX_FMT_YUV422P
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:77
AV_PIX_FMT_GRAY12
#define AV_PIX_FMT_GRAY12
Definition: pixfmt.h:509