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