From eb528cbcc4dab321910defb319feb4387b30b548 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Mon, 22 Jun 2009 03:55:27 +0100 Subject: VDPAU: Move I420/YV12 to the front of the caps. Add debug. Make I420/YV12 caps be preferred when downloading to YUV buffers, when possible, by listing them first in the set of output caps. Add some debug in the caps selection code. --- sys/vdpau/gstvdpdevice.h | 20 ++++++++++---------- sys/vdpau/gstvdpvideoyuv.c | 3 +++ 2 files changed, 13 insertions(+), 10 deletions(-) (limited to 'sys/vdpau') diff --git a/sys/vdpau/gstvdpdevice.h b/sys/vdpau/gstvdpdevice.h index ac036d73..38cd84bb 100644 --- a/sys/vdpau/gstvdpdevice.h +++ b/sys/vdpau/gstvdpdevice.h @@ -84,6 +84,16 @@ static const VdpChromaType chroma_types[N_CHROMA_TYPES] = { VDP_CHROMA_TYPE_420, VDP_CHROMA_TYPE_422, VDP_CHROMA_TYPE_444 }; static const VdpauFormats formats[N_FORMATS] = { + { + VDP_CHROMA_TYPE_420, + VDP_YCBCR_FORMAT_YV12, + GST_MAKE_FOURCC ('I', '4', '2', '0') + }, + { + VDP_CHROMA_TYPE_420, + VDP_YCBCR_FORMAT_YV12, + GST_MAKE_FOURCC ('Y', 'V', '1', '2') + }, { VDP_CHROMA_TYPE_420, VDP_YCBCR_FORMAT_NV12, @@ -108,16 +118,6 @@ static const VdpauFormats formats[N_FORMATS] = { VDP_CHROMA_TYPE_422, VDP_YCBCR_FORMAT_YUYV, GST_MAKE_FOURCC ('Y', 'U', 'Y', 'V') - }, - { - VDP_CHROMA_TYPE_420, - VDP_YCBCR_FORMAT_YV12, - GST_MAKE_FOURCC ('Y', 'V', '1', '2') - }, - { - VDP_CHROMA_TYPE_420, - VDP_YCBCR_FORMAT_YV12, - GST_MAKE_FOURCC ('I', '4', '2', '0') } }; diff --git a/sys/vdpau/gstvdpvideoyuv.c b/sys/vdpau/gstvdpvideoyuv.c index 2318cd40..bd780075 100644 --- a/sys/vdpau/gstvdpvideoyuv.c +++ b/sys/vdpau/gstvdpvideoyuv.c @@ -332,6 +332,9 @@ gst_vdp_video_yuv_sink_set_caps (GstPad * pad, GstCaps * caps) if (G_UNLIKELY (!src_caps || !gst_caps_get_size (src_caps))) return FALSE; + GST_DEBUG_OBJECT (video_yuv, + "Selecting first caps from set: %" GST_PTR_FORMAT, src_caps); + new_caps = gst_caps_copy_nth (src_caps, 0); gst_caps_unref (src_caps); if (G_UNLIKELY (!new_caps)) -- cgit v1.2.1