38 CUVIDVP9PICPARAMS *ppc = &pp->CodecSpecific.vp9;
52 *pp = (CUVIDPICPARAMS) {
53 .PicWidthInMbs = (cur_frame->
width + 15) / 16,
54 .FrameHeightInMbs = (cur_frame->
height + 15) / 16,
55 .CurrPicIdx = cf->
idx,
57 .CodecSpecific.vp9 = {
58 .width = cur_frame->
width,
59 .height = cur_frame->
height,
77 .bitDepthMinus8Luma = pixdesc->
comp[0].
depth - 8,
78 .bitDepthMinus8Chroma = pixdesc->
comp[1].
depth - 8,
103 .refFrameSignBias[0] = 0,
107 for (i = 0; i < 2; i++)
110 for (i = 0; i < 4; i++)
113 for (i = 0; i < 7; i++)
116 for (i = 0; i < 3; i++) {
117 ppc->activeRefIdx[i] = h->
h.
refidx[i];
119 ppc->refFrameSignBias[i + 1] = h->
h.
signbias[i];
122 for (i = 0; i < 8; i++) {
131 ppc->segmentFeatureData[i][3] = 0;
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
This structure describes decoded (raw) audio or video data.
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601 ...
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
int ff_nvdec_simple_end_frame(AVCodecContext *avctx)
order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB)
uint8_t log2_chroma_w
Amount to shift the luma width right to find the chroma width.
functionally identical to above
AVComponentDescriptor comp[4]
Parameters that describe how pixels are packed.
CUVIDPICPARAMS pic_params
AVBufferRef * private_ref
AVBufferRef for internal use by a single libav* library.
int ff_nvdec_simple_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height.
int ff_nvdec_start_frame(AVCodecContext *avctx, AVFrame *frame)
int ff_nvdec_decode_init(AVCodecContext *avctx)
int ff_nvdec_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx, int dpb_size)
const char * name
Name of the hardware accelerated codec.
ITU-R BT2020 non-constant luminance system.
HW acceleration through CUDA.
static int nvdec_vp9_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
Libavcodec external API header.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
main external API structure.
int ff_nvdec_decode_uninit(AVCodecContext *avctx)
uint8_t * data
The data buffer.
enum AVColorSpace colorspace
YUV colorspace type.
static int nvdec_vp9_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
A reference to a data buffer.
This struct stores per-frame lavc-internal data and is attached to it via private_ref.
common internal api header.
int ff_nvdec_get_ref_idx(AVFrame *frame)
void * hwaccel_priv_data
hwaccel-specific private data
const AVHWAccel ff_vp9_nvdec_hwaccel
struct AVCodecInternal * internal
Private context used for internal data.
void * hwaccel_priv
Per-frame private data for hwaccels.
int depth
Number of bits in the component.
enum AVPixelFormat sw_pix_fmt
Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx.