summaryrefslogtreecommitdiff
path: root/omx/gstomxvideodec.c
diff options
context:
space:
mode:
Diffstat (limited to 'omx/gstomxvideodec.c')
-rw-r--r--omx/gstomxvideodec.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
index 68d7d78..da765fc 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
@@ -2935,16 +2935,26 @@ gst_omx_video_dec_get_supported_image_colorformats (GstOMXVideoDec * self)
param.eColorFormat, (guint) param.nIndex);
break;
case OMX_COLOR_Format32bitARGB8888:
+ /* RPI hack */
m = g_slice_new (VideoNegotiationMap);
- m->format = GST_VIDEO_FORMAT_ARGB;
+ m->format = GST_VIDEO_FORMAT_BGRx;
+ m->type = param.eColorFormat;
+ negotiation_map = g_list_append (negotiation_map, m);
+ m = g_slice_new (VideoNegotiationMap);
+ m->format = GST_VIDEO_FORMAT_BGRA;
m->type = param.eColorFormat;
negotiation_map = g_list_append (negotiation_map, m);
GST_DEBUG_OBJECT (self, "Component supports ARGB (%d) at index %u",
param.eColorFormat, (guint) param.nIndex);
break;
case OMX_COLOR_Format32bitABGR8888:
+ /* RPI hack */
+ m = g_slice_new (VideoNegotiationMap);
+ m->format = GST_VIDEO_FORMAT_RGBx;
+ m->type = param.eColorFormat;
+ negotiation_map = g_list_append (negotiation_map, m);
m = g_slice_new (VideoNegotiationMap);
- m->format = GST_VIDEO_FORMAT_ABGR;
+ m->format = GST_VIDEO_FORMAT_RGBA;
m->type = param.eColorFormat;
negotiation_map = g_list_append (negotiation_map, m);
GST_DEBUG_OBJECT (self, "Component supports ABGR (%d) at index %u",