androidmedia: Add suport for Intel color formats

https://bugzilla.gnome.org/show_bug.cgi?id=747126
This commit is contained in:
Edward Hervey 2015-03-25 17:43:59 +01:00 committed by Sebastian Dröge
parent 3fae18b5d2
commit 0654442c8f
2 changed files with 18 additions and 0 deletions

View file

@ -94,6 +94,8 @@ enum
COLOR_Format24BitABGR6666 = 43, COLOR_Format24BitABGR6666 = 43,
COLOR_FormatAndroidOpaque = 0x7F000789, COLOR_FormatAndroidOpaque = 0x7F000789,
COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100, COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100,
COLOR_INTEL_FormatYUV420PackedSemiPlanar = 0x7fa00e00,
COLOR_INTEL_FormatYUV420PackedSemiPlanar_Tiled = 0x7fa00f00,
COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00, COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00,
COLOR_QCOM_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7fa30c03, COLOR_QCOM_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7fa30c03,
/* NV12 but with stride and plane heights aligned to 32 */ /* NV12 but with stride and plane heights aligned to 32 */

View file

@ -1778,6 +1778,8 @@ static const struct
COLOR_FormatYUV420SemiPlanar, GST_VIDEO_FORMAT_NV12}, { COLOR_FormatYUV420SemiPlanar, GST_VIDEO_FORMAT_NV12}, {
COLOR_TI_FormatYUV420PackedSemiPlanar, GST_VIDEO_FORMAT_NV12}, { COLOR_TI_FormatYUV420PackedSemiPlanar, GST_VIDEO_FORMAT_NV12}, {
COLOR_TI_FormatYUV420PackedSemiPlanarInterlaced, GST_VIDEO_FORMAT_NV12}, { COLOR_TI_FormatYUV420PackedSemiPlanarInterlaced, GST_VIDEO_FORMAT_NV12}, {
COLOR_INTEL_FormatYUV420PackedSemiPlanar, GST_VIDEO_FORMAT_NV12}, {
COLOR_INTEL_FormatYUV420PackedSemiPlanar_Tiled, GST_VIDEO_FORMAT_NV12}, {
COLOR_QCOM_FormatYUV420SemiPlanar, GST_VIDEO_FORMAT_NV12}, { COLOR_QCOM_FormatYUV420SemiPlanar, GST_VIDEO_FORMAT_NV12}, {
COLOR_QCOM_FormatYUV420PackedSemiPlanar64x32Tile2m8ka, GST_VIDEO_FORMAT_NV12}, { COLOR_QCOM_FormatYUV420PackedSemiPlanar64x32Tile2m8ka, GST_VIDEO_FORMAT_NV12}, {
COLOR_QCOM_FormatYVU420SemiPlanar32m, GST_VIDEO_FORMAT_NV12}, { COLOR_QCOM_FormatYVU420SemiPlanar32m, GST_VIDEO_FORMAT_NV12}, {
@ -1977,6 +1979,20 @@ gst_amc_color_format_info_set (GstAmcColorFormatInfo * color_format_info,
1) / 2); 1) / 2);
break; break;
} }
case COLOR_INTEL_FormatYUV420PackedSemiPlanar:
case COLOR_INTEL_FormatYUV420PackedSemiPlanar_Tiled:
if (stride == 0) {
GST_ERROR ("Stride is 0");
return FALSE;
}
if (slice_height <= 0)
slice_height = height;
frame_size =
stride * (slice_height - crop_top / 2) +
(GST_ROUND_UP_2 (stride) * ((slice_height + 1) / 2));
break;
case COLOR_TI_FormatYUV420PackedSemiPlanar: case COLOR_TI_FormatYUV420PackedSemiPlanar:
case COLOR_TI_FormatYUV420PackedSemiPlanarInterlaced:{ case COLOR_TI_FormatYUV420PackedSemiPlanarInterlaced:{
if (stride == 0 || slice_height == 0) { if (stride == 0 || slice_height == 0) {