summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/decode/vdpau.c2
-rw-r--r--video/img_format.c6
-rw-r--r--video/img_format.h19
-rw-r--r--video/out/vo_vdpau.c3
-rw-r--r--video/vdpau.c17
-rw-r--r--video/vdpau.h4
6 files changed, 10 insertions, 41 deletions
diff --git a/video/decode/vdpau.c b/video/decode/vdpau.c
index ae8f6be531..80ce21ffa3 100644
--- a/video/decode/vdpau.c
+++ b/video/decode/vdpau.c
@@ -146,7 +146,7 @@ static struct mp_image *allocate_image(struct lavc_ctx *ctx, int fmt,
VdpChromaType chroma;
mp_vdpau_get_format(IMGFMT_VDPAU, &chroma, NULL);
- return mp_vdpau_get_video_surface(p->mpvdp, IMGFMT_VDPAU, chroma, w, h);
+ return mp_vdpau_get_video_surface(p->mpvdp, chroma, w, h);
}
static void uninit(struct lavc_ctx *ctx)
diff --git a/video/img_format.c b/video/img_format.c
index 8681744e5c..96398f8600 100644
--- a/video/img_format.c
+++ b/video/img_format.c
@@ -114,12 +114,6 @@ struct mp_imgfmt_entry mp_imgfmt_list[] = {
FMT_ENDIAN("gbrp14", IMGFMT_GBRP14)
FMT_ENDIAN("gbrp16", IMGFMT_GBRP16)
FMT_ENDIAN("xyz12", IMGFMT_XYZ12)
- FMT("vdpau_mpeg1", IMGFMT_VDPAU_MPEG1)
- FMT("vdpau_mpeg2", IMGFMT_VDPAU_MPEG2)
- FMT("vdpau_h264", IMGFMT_VDPAU_H264)
- FMT("vdpau_wmv3", IMGFMT_VDPAU_WMV3)
- FMT("vdpau_vc1", IMGFMT_VDPAU_VC1)
- FMT("vdpau_mpeg4", IMGFMT_VDPAU_MPEG4)
FMT("vdpau", IMGFMT_VDPAU)
FMT("vda", IMGFMT_VDA)
FMT("vaapi", IMGFMT_VAAPI)
diff --git a/video/img_format.h b/video/img_format.h
index 3707018477..9cf3a60f11 100644
--- a/video/img_format.h
+++ b/video/img_format.h
@@ -252,20 +252,8 @@ enum mp_imgfmt {
// Hardware accelerated formats. Plane data points to special data
// structures, instead of pixel data.
-
- IMGFMT_VDPAU, // new decoder API
- IMGFMT_VDPAU_MPEG1, // old API
- IMGFMT_VDPAU_MPEG2,
- IMGFMT_VDPAU_H264,
- IMGFMT_VDPAU_WMV3,
- IMGFMT_VDPAU_VC1,
- IMGFMT_VDPAU_MPEG4,
-
- IMGFMT_VDPAU_FIRST = IMGFMT_VDPAU,
- IMGFMT_VDPAU_LAST = IMGFMT_VDPAU_MPEG4,
-
+ IMGFMT_VDPAU,
IMGFMT_VDA,
-
IMGFMT_VAAPI,
@@ -341,11 +329,8 @@ static inline bool IMGFMT_IS_RGB(int fmt)
#define IMGFMT_RGB_DEPTH(fmt) (mp_imgfmt_get_desc(fmt).plane_bits)
-#define IMGFMT_IS_VDPAU(fmt) \
- (((fmt) >= IMGFMT_VDPAU_FIRST) && ((fmt) <= IMGFMT_VDPAU_LAST))
-
#define IMGFMT_IS_HWACCEL(fmt) \
- (IMGFMT_IS_VDPAU(fmt) || ((fmt) == IMGFMT_VAAPI) || ((fmt) == IMGFMT_VDA))
+ ((fmt) == IMGFMT_VDPAU || (fmt) == IMGFMT_VAAPI || (fmt) == IMGFMT_VDA)
struct mp_imgfmt_entry {
diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c
index 1045572aa4..9822063892 100644
--- a/video/out/vo_vdpau.c
+++ b/video/out/vo_vdpau.c
@@ -1189,8 +1189,7 @@ static void draw_image(struct vo *vo, mp_image_t *mpi)
"output_surface_put_bits_native");
}
} else {
- reserved_mpi = mp_vdpau_get_video_surface(vc->mpvdp, IMGFMT_VDPAU,
- vc->vdp_chroma_type,
+ reserved_mpi = mp_vdpau_get_video_surface(vc->mpvdp, vc->vdp_chroma_type,
mpi->w, mpi->h);
if (!reserved_mpi)
return;
diff --git a/video/vdpau.c b/video/vdpau.c
index e543a2553c..cd6af07cb9 100644
--- a/video/vdpau.c
+++ b/video/vdpau.c
@@ -140,26 +140,24 @@ static struct mp_image *create_ref(struct surface_entry *e)
struct mp_image *res =
mp_image_new_custom_ref(&(struct mp_image){0}, &e->in_use,
release_decoder_surface);
- mp_image_setfmt(res, e->fmt);
+ mp_image_setfmt(res, IMGFMT_VDPAU);
mp_image_set_size(res, e->w, e->h);
res->planes[0] = (void *)"dummy"; // must be non-NULL, otherwise arbitrary
res->planes[3] = (void *)(intptr_t)e->surface;
return res;
}
-struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx, int fmt,
+struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx,
VdpChromaType chroma, int w, int h)
{
struct vdp_functions *vdp = ctx->vdp;
VdpStatus vdp_st;
- assert(IMGFMT_IS_VDPAU(fmt));
-
// Destroy all unused surfaces that don't have matching parameters
for (int n = 0; n < MAX_VIDEO_SURFACES; n++) {
struct surface_entry *e = &ctx->video_surfaces[n];
if (!e->in_use && e->surface != VDP_INVALID_HANDLE) {
- if (e->fmt != fmt || e->chroma != chroma || e->w != w || e->h != h) {
+ if (e->chroma != chroma || e->w != w || e->h != h) {
vdp_st = vdp->video_surface_destroy(e->surface);
CHECK_VDP_WARNING(ctx, "Error when calling vdp_video_surface_destroy");
e->surface = VDP_INVALID_HANDLE;
@@ -172,7 +170,7 @@ struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx, int fmt,
struct surface_entry *e = &ctx->video_surfaces[n];
if (!e->in_use && e->surface != VDP_INVALID_HANDLE) {
assert(e->w == w && e->h == h);
- assert(e->fmt == fmt && e->chroma == chroma);
+ assert(e->chroma == chroma);
return create_ref(e);
}
}
@@ -182,7 +180,6 @@ struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx, int fmt,
struct surface_entry *e = &ctx->video_surfaces[n];
if (!e->in_use) {
assert(e->surface == VDP_INVALID_HANDLE);
- e->fmt = fmt;
e->chroma = chroma;
e->w = w;
e->h = h;
@@ -265,12 +262,6 @@ bool mp_vdpau_get_format(int imgfmt, VdpChromaType *out_chroma_type,
ycbcr = VDP_YCBCR_FORMAT_UYVY;
chroma = VDP_CHROMA_TYPE_422;
break;
- case IMGFMT_VDPAU_MPEG1:
- case IMGFMT_VDPAU_MPEG2:
- case IMGFMT_VDPAU_H264:
- case IMGFMT_VDPAU_WMV3:
- case IMGFMT_VDPAU_VC1:
- case IMGFMT_VDPAU_MPEG4:
case IMGFMT_VDPAU:
break;
default:
diff --git a/video/vdpau.h b/video/vdpau.h
index 7b8d4099b5..24615529d2 100644
--- a/video/vdpau.h
+++ b/video/vdpau.h
@@ -49,7 +49,7 @@ struct mp_vdpau_ctx {
// Surface pool
struct surface_entry {
VdpVideoSurface surface;
- int fmt, w, h;
+ int w, h;
VdpChromaType chroma;
bool in_use;
} video_surfaces[MAX_VIDEO_SURFACES];
@@ -63,7 +63,7 @@ void mp_vdpau_destroy(struct mp_vdpau_ctx *ctx);
bool mp_vdpau_status_ok(struct mp_vdpau_ctx *ctx);
-struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx, int fmt,
+struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx,
VdpChromaType chroma, int w, int h);
bool mp_vdpau_get_format(int imgfmt, VdpChromaType *out_chroma_type,