diff options
author | Chen Jie <chenj@lemote.com> | 2013-06-07 14:06:56 +0800 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-06-07 11:08:52 +0200 |
commit | a36c9c1cc9db978808288604714fd4170575733a (patch) | |
tree | c6bd174d2aa25dabf8f2ca60c371770831bad685 /sys/androidmedia/gstamcvideodec.c | |
parent | 0a496f4167490a048c8dcde4f2f8999621592a5b (diff) | |
download | gstreamer-plugins-bad-a36c9c1cc9db978808288604714fd4170575733a.tar.gz |
androidmedia: Hacks for HuaweiMediaPad which reports wrong color format
COLOR_FormatYCbYCr is reported but it is actually COLOR_TI_FormatYUV420PackedSemiPlanar.
Diffstat (limited to 'sys/androidmedia/gstamcvideodec.c')
-rw-r--r-- | sys/androidmedia/gstamcvideodec.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index 18c733446..a464521d4 100644 --- a/sys/androidmedia/gstamcvideodec.c +++ b/sys/androidmedia/gstamcvideodec.c @@ -698,6 +698,7 @@ gst_amc_video_dec_set_src_caps (GstAmcVideoDec * self, GstAmcFormat * format) gint crop_left, crop_right; gint crop_top, crop_bottom; GstVideoFormat gst_format; + GstAmcVideoDecClass *klass = GST_AMC_VIDEO_DEC_GET_CLASS (self); if (!gst_amc_format_get_int (format, "color-format", &color_format) || !gst_amc_format_get_int (format, "width", &width) || @@ -706,6 +707,10 @@ gst_amc_video_dec_set_src_caps (GstAmcVideoDec * self, GstAmcFormat * format) return FALSE; } + if (strcmp (klass->codec_info->name, "OMX.k3.video.decoder.avc") && + color_format == COLOR_FormatYCbYCr) + color_format = COLOR_TI_FormatYUV420PackedSemiPlanar; + if (!gst_amc_format_get_int (format, "stride", &stride) || !gst_amc_format_get_int (format, "slice-height", &slice_height)) { GST_ERROR_OBJECT (self, "Failed to get stride and slice-height"); |