summaryrefslogtreecommitdiff
path: root/src/modules/emotion/gstreamer1/emotion_sink.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-05-27 23:31:28 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-05-27 23:34:08 +0900
commit2b8d54c35769934101989c9ab14ecb11cf740e75 (patch)
treed57c96f4c50b609ee8cf2d20cb49332d9f539b2a /src/modules/emotion/gstreamer1/emotion_sink.c
parent742d7c394ca99587fbe01fb0da5fd744c7ffbaee (diff)
emotion gstreamer1 module - support 709 color matrix properly now
now that 709 colorsp[ace works in evas, use it properly in gst1 module if possible
Diffstat (limited to '')
-rw-r--r--src/modules/emotion/gstreamer1/emotion_sink.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/modules/emotion/gstreamer1/emotion_sink.c b/src/modules/emotion/gstreamer1/emotion_sink.c
index eda2a6ab07..f897d3707d 100644
--- a/src/modules/emotion/gstreamer1/emotion_sink.c
+++ b/src/modules/emotion/gstreamer1/emotion_sink.c
@@ -181,17 +181,21 @@ gboolean emotion_video_sink_set_caps(GstBaseSink *bsink, GstCaps *caps)
181 priv->info = info; 181 priv->info = info;
182 priv->eheight = info.height; 182 priv->eheight = info.height;
183 183
184 for (i = 0; colorspace_format_convertion[i].name != NULL; ++i) 184 for (i = 0; colorspace_format_convertion[i].name; i++)
185 if (info.finfo->format == colorspace_format_convertion[i].format) 185 {
186 { 186 if ((info.finfo->format == colorspace_format_convertion[i].format) &&
187 DBG("Found '%s'", colorspace_format_convertion[i].name); 187 ((colorspace_format_convertion[i].colormatrix == GST_VIDEO_COLOR_MATRIX_UNKNOWN) ||
188 priv->eformat = colorspace_format_convertion[i].eformat; 188 (colorspace_format_convertion[i].colormatrix == info.colorimetry.matrix)))
189 priv->func = colorspace_format_convertion[i].func; 189 {
190 if (colorspace_format_convertion[i].force_height) 190 DBG("Found '%s'", colorspace_format_convertion[i].name);
191 { 191 priv->eformat = colorspace_format_convertion[i].eformat;
192 priv->eheight = (priv->eheight >> 1) << 1; 192 priv->func = colorspace_format_convertion[i].func;
193 } 193 if (colorspace_format_convertion[i].force_height)
194 return TRUE; 194 {
195 priv->eheight = (priv->eheight >> 1) << 1;
196 }
197 return TRUE;
198 }
195 } 199 }
196 200
197 ERR("unsupported : %s\n", gst_video_format_to_string(info.finfo->format)); 201 ERR("unsupported : %s\n", gst_video_format_to_string(info.finfo->format));