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 /sys/vdpau | |
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.
Diffstat (limited to 'sys/vdpau')
-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)) |