Go to the documentation of this file.
23 #include "config_components.h"
38 CUVIDPICPARAMS *pp = &
ctx->pic_params;
41 AVFrame *cur_frame =
s->cur_pic.ptr->f;
52 *pp = (CUVIDPICPARAMS) {
53 .PicWidthInMbs = (cur_frame->
width + 15) / 16,
54 .FrameHeightInMbs = (cur_frame->
height + 15) / 16,
55 .CurrPicIdx = cf->
idx,
65 .CodecSpecific.vc1 = {
68 .FrameWidth = cur_frame->
width,
69 .FrameHeight = cur_frame->
height,
75 .progressive_fcm = v->
fcm == 0,
87 .maxbframes =
s->max_b_frames,
118 .
p.
name =
"vc1_nvdec",
131 #if CONFIG_WMV3_NVDEC_HWACCEL
133 .
p.
name =
"wmv3_nvdec",
@ AV_PIX_FMT_CUDA
HW acceleration through CUDA.
int overlap
overlapped transforms in use
int interlace
Progressive/interlaced (RPTFTM syntax element)
uint8_t * data
The data buffer.
const struct FFHWAccel ff_wmv3_nvdec_hwaccel
int ff_nvdec_get_ref_idx(AVFrame *frame)
AVHWAccel p
The public AVHWAccel.
This struct stores per-frame lavc-internal data and is attached to it via private_ref.
This structure describes decoded (raw) audio or video data.
static int nvdec_vc1_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
int fastuvmc
Rounding of qpel vector to hpel ? (not in Simple)
int ff_nvdec_start_frame(AVCodecContext *avctx, AVFrame *frame)
int multires
frame-level RESPIC syntax element present
int dquant
How qscale varies with MBs, 2 bits (not in Simple)
int postprocflag
Per-frame processing suggestion flag present.
int rangered
RANGEREDFRM (range reduction) syntax element present at frame level.
static int nvdec_vc1_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
int ff_nvdec_simple_end_frame(AVCodecContext *avctx)
int field_mode
1 for interlaced field pictures
int panscanflag
NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present.
int ff_nvdec_decode_init(AVCodecContext *avctx)
struct AVCodecInternal * internal
Private context used for internal data.
@ AV_PICTURE_TYPE_I
Intra.
int resync_marker
could this stream contain resync markers
int refdist_flag
REFDIST syntax element present in II, IP, PI or PP field picture headers.
void * hwaccel_priv_data
hwaccel-specific private data
uint8_t rangeredfrm
Frame decoding info for S/M profiles only.
int tfcntrflag
TFCNTR present.
int ff_nvdec_decode_uninit(AVCodecContext *avctx)
AVBufferRef * private_ref
AVBufferRef for internal use by a single libav* library.
int cur_field_type
0: top, 1: bottom
const char * name
Name of the hardware accelerated codec.
int extended_mv
Ext MV in P/B (not in Simple)
const FFHWAccel ff_vc1_nvdec_hwaccel
main external API structure.
int ff_nvdec_simple_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
the frame and frame reference mechanism is intended to as much as expensive copies of that data while still allowing the filters to produce correct results The data is stored in buffers represented by AVFrame structures Several references can point to the same frame buffer
int ff_nvdec_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx, int dpb_size, int supports_444)
int profile
Sequence header data for all Profiles TODO: choose between ints, uint8_ts and monobit flags.
int vstransform
variable-size [48]x[48] transform type + info
enum FrameCodingMode fcm
Frame decoding info for Advanced profile.
@ AV_PICTURE_TYPE_P
Predicted.
int psf
Progressive Segmented Frame.
A reference to a data buffer.
int broadcast
TFF/RFF present.
@ AV_PICTURE_TYPE_BI
BI type.
int finterpflag
INTERPFRM present.
void * hwaccel_priv
Per-frame private data for hwaccels.
int quantizer_mode
2 bits, quantizer mode used for sequence, see QUANT_*
int extended_dmv
Additional extended dmv range at P/B-frame-level.