diff options
author | Jan Schmidt <thaytan@noraisin.net> | 2009-06-22 03:55:27 +0100 |
---|---|---|
committer | Jan Schmidt <thaytan@noraisin.net> | 2009-06-23 22:22:02 +0100 |
commit | eb528cbcc4dab321910defb319feb4387b30b548 (patch) | |
tree | d28c07139011e09868628565b849cbacd5dfe41f | |
parent | da11b1672fcd03717ca445b8ff300dc2527c0b87 (diff) | |
download | gst-plugins-bad-eb528cbcc4dab321910defb319feb4387b30b548.tar.gz gst-plugins-bad-eb528cbcc4dab321910defb319feb4387b30b548.tar.bz2 gst-plugins-bad-eb528cbcc4dab321910defb319feb4387b30b548.zip |
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.
-rw-r--r-- | sys/vdpau/gstvdpdevice.h | 20 | ||||
-rw-r--r-- | sys/vdpau/gstvdpvideoyuv.c | 3 |
2 files changed, 13 insertions, 10 deletions
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 @@ -86,6 +86,16 @@ static const VdpChromaType chroma_types[N_CHROMA_TYPES] = 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, GST_MAKE_FOURCC ('N', 'V', '1', '2') }, @@ -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)) |