24 #include <vdpau/vdpau.h>
38 VdpPictureInfoVC1 *info = &pic_ctx->info.vc1;
42 info->forward_reference = VDP_INVALID_HANDLE;
43 info->backward_reference = VDP_INVALID_HANDLE;
49 assert(ref != VDP_INVALID_HANDLE);
50 info->backward_reference =
ref;
56 assert(ref != VDP_INVALID_HANDLE);
57 info->forward_reference =
ref;
61 info->slice_count = 0;
63 info->picture_type = 4;
67 info->frame_coding_mode = v->
fcm ? (v->
fcm + 1) : 0;
112 pic_ctx->info.vc1.slice_count++;
122 profile = VDP_DECODER_PROFILE_VC1_SIMPLE;
125 profile = VDP_DECODER_PROFILE_VC1_MAIN;
128 profile = VDP_DECODER_PROFILE_VC1_ADVANCED;
137 #if CONFIG_WMV3_VDPAU_HWACCEL
146 .frame_priv_data_size =
sizeof(
struct vdpau_picture_context),
161 .frame_priv_data_size =
sizeof(
struct vdpau_picture_context),
const char const char void * val
static av_cold int init(AVCodecContext *avctx)
int ff_vdpau_common_start_frame(struct vdpau_picture_context *pic_ctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
int extended_mv
Ext MV in P/B (not in Simple)
int broadcast
TFF/RFF present.
uint8_t rangeredfrm
Frame decoding info for S/M profiles only.
Public libavcodec VDPAU header.
int fastuvmc
Rounding of qpel vector to hpel ? (not in Simple)
int ff_vdpau_common_uninit(AVCodecContext *avctx)
int panscanflag
NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present.
int interlace
Progressive/interlaced (RPTFTM syntax element)
int refdist_flag
REFDIST syntax element present in II, IP, PI or PP field picture headers.
int psf
Progressive Segmented Frame.
int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile, int level)
int overlap
overlapped transforms in use
int resync_marker
could this stream contain resync markers
int postprocflag
Per-frame processing suggestion flag present.
static int vdpau_vc1_init(AVCodecContext *avctx)
const char * name
Name of the hardware accelerated codec.
int tfcntrflag
TFCNTR present.
static int vdpau_vc1_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
#define FF_PROFILE_VC1_MAIN
Picture * current_picture_ptr
pointer to the current picture
void * hwaccel_picture_private
Hardware accelerator private data.
#define FF_PROFILE_VC1_SIMPLE
int rangered
RANGEREDFRM (range reduction) syntax element present at frame level.
int finterpflag
INTERPFRM present.
AVHWAccel ff_vc1_vdpau_hwaccel
Libavcodec external API header.
int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx)
int multires
frame-level RESPIC syntax element present
main external API structure.
int extended_dmv
Additional extended dmv range at P/B-frame-level.
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
int quantizer_mode
2 bits, quantizer mode used for sequence, see QUANT_*
int max_b_frames
max number of B-frames for encoding
int pict_type
AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ...
int vstransform
variable-size [48]x[48] transform type + info
static int vdpau_vc1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Picture * next_picture_ptr
pointer to the next picture (for bidir pred)
static int ref[MAX_W *MAX_W]
int ff_vdpau_add_buffer(struct vdpau_picture_context *pic_ctx, const uint8_t *buf, uint32_t size)
enum FrameCodingMode fcm
Frame decoding info for Advanced profile.
Picture last_picture
copy of the previous picture structure.
Picture * last_picture_ptr
pointer to the previous picture.
#define FF_PROFILE_VC1_ADVANCED
Picture next_picture
copy of the next picture structure.
int dquant
How qscale varies with MBs, 2 bits (not in Simple)
static uintptr_t ff_vdpau_get_surface_id(AVFrame *pic)
Extract VdpVideoSurface from an AVFrame.