summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-03-17 18:21:11 +0100
committerwm4 <wm4@nowhere>2014-03-17 18:21:11 +0100
commit638950731451cbef616015bd81d411e7cdbb9ff0 (patch)
treefe19c24135e89048df777b163474936afe8b2902 /video
parent4e70335c2fa3eaea6f8f2d11fb7981f55a582fa5 (diff)
downloadmpv-638950731451cbef616015bd81d411e7cdbb9ff0.tar.bz2
mpv-638950731451cbef616015bd81d411e7cdbb9ff0.tar.xz
vdpau: remove legacy pixel formats
They were used by ancient libavcodec versions. This also removes the need to distinguish vdpau image formats at all (since there is only one), and some code can be simplified.
Diffstat (limited to 'video')
-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,