Modify align for I420 when using s/w codec 19/90219/1
authorSejun Park <sejun79.park@samsung.com>
Thu, 29 Sep 2016 05:22:07 +0000 (14:22 +0900)
committerSejun Park <sejun79.park@samsung.com>
Thu, 29 Sep 2016 05:22:07 +0000 (14:22 +0900)
Change-Id: I9f1c1df1e443c43a046e421dfa19428f57e3f05f

src/mm_player_priv.c

index d51222f1c182d396d54862f1240e2b1d1a83e69a..76857529bd7541890fe20e490f1b6ad5d34e2003 100644 (file)
@@ -5101,14 +5101,14 @@ __mmplayer_video_stream_decoded_render_cb(GstElement* object, GstBuffer *buffer,
                stream.elevation[0] = elevation;
                if (stream.format == MM_PIXEL_FORMAT_I420) {
                        stream.stride[1] = stream.stride[2] = GST_ROUND_UP_4(GST_ROUND_UP_2(stream.width) / 2);
-                       stream.elevation[1] = stream.elevation[2] = elevation / 2;
+                       stream.elevation[1] = stream.elevation[2] = GST_ROUND_UP_2(stream.height / 2);
                } else {
                        LOGE("Not support format %d", stream.format);
                        gst_memory_unmap(dataBlock, &mapinfo);
                        return;
                }
 
-               size = (stream.stride[0] + stream.stride[1]) * elevation;
+               size = stream.stride[0] * stream.elevation[0] + stream.stride[1] * stream.elevation[1] + stream.stride[2] * stream.elevation[2];
                stream.bo[0] = __mmplayer_video_stream_get_bo(player, size);
                if (!stream.bo[0]) {
                        LOGE("Fail to tbm_bo_alloc!!");