# HG changeset patch # User cehoyos # Date 1238447862 0 # Node ID e64e543ed6b32c8928315aa6be47476fe4abe680 # Parent dc5daa85316308df3b0231912c752dbbeed16cac Support IMGFMT_NV12 for vo vdpau. diff -r dc5daa853163 -r e64e543ed6b3 libvo/vo_vdpau.c --- a/libvo/vo_vdpau.c Mon Mar 30 17:05:39 2009 +0000 +++ b/libvo/vo_vdpau.c Mon Mar 30 21:17:42 2009 +0000 @@ -607,6 +607,9 @@ 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 @@ 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 @@ case IMGFMT_YV12: case IMGFMT_I420: case IMGFMT_IYUV: + case IMGFMT_NV12: case IMGFMT_YUY2: case IMGFMT_UYVY: return default_flags | VOCAP_NOSLICES;