From f7891c8e53b56c7add13494e0173227c2d961060 Mon Sep 17 00:00:00 2001 From: cehoyos Date: Mon, 30 Mar 2009 21:17:42 +0000 Subject: Support IMGFMT_NV12 for vo vdpau. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29109 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_vdpau.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c index f482533ff6..110a44450d 100644 --- a/libvo/vo_vdpau.c +++ b/libvo/vo_vdpau.c @@ -607,6 +607,9 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, case IMGFMT_IYUV: vdp_pixel_format = VDP_YCBCR_FORMAT_YV12; break; + case IMGFMT_NV12: + vdp_pixel_format = VDP_YCBCR_FORMAT_NV12; + break; case IMGFMT_YUY2: vdp_pixel_format = VDP_YCBCR_FORMAT_YUYV; vdp_chroma_type = VDP_CHROMA_TYPE_422; @@ -903,6 +906,8 @@ static uint32_t draw_image(mp_image_t *mpi) struct vdpau_render_state *rndr = get_surface(deint_counter); deint_counter = (deint_counter + 1) % 3; vid_surface_num = rndr - surface_render; + if (image_format == IMGFMT_NV12) + destdata[1] = destdata[2]; vdp_st = vdp_video_surface_put_bits_y_cb_cr(rndr->surface, vdp_pixel_format, (const void *const*)destdata, @@ -949,6 +954,7 @@ static int query_format(uint32_t format) case IMGFMT_YV12: case IMGFMT_I420: case IMGFMT_IYUV: + case IMGFMT_NV12: case IMGFMT_YUY2: case IMGFMT_UYVY: return default_flags | VOCAP_NOSLICES; -- cgit v1.2.3