forked from enlightenment/efl
emotion: fix stride for all YUV video.
SVN revision: 71772
This commit is contained in:
parent
dd84715cc8
commit
e14550b58c
|
@ -1,12 +1,15 @@
|
||||||
2012-04-26 Carsten Haitzler (The Rasterman)
|
2012-04-26 Carsten Haitzler (The Rasterman)
|
||||||
|
|
||||||
* 1.0.0 release
|
* 1.0.0 release
|
||||||
|
|
||||||
2012-04-30 Jérôme Pinot
|
2012-04-30 Jérôme Pinot
|
||||||
|
|
||||||
* Fix build out of tree.
|
* Fix build out of tree.
|
||||||
|
|
||||||
2012-05-16 Carsten Haitzler (The Rasterman)
|
2012-05-16 Carsten Haitzler (The Rasterman)
|
||||||
|
|
||||||
* Fix emotion video overlay support to detect correct engine name.
|
* Fix emotion video overlay support to detect correct engine name.
|
||||||
|
|
||||||
|
2012-06-07 Cedric Bail
|
||||||
|
|
||||||
|
* Fix stride for all YUV video stream.
|
||||||
|
|
|
@ -7,6 +7,7 @@ Additions:
|
||||||
|
|
||||||
Fixes:
|
Fixes:
|
||||||
- build out of tree.
|
- build out of tree.
|
||||||
|
- stride of all YUV video.
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
||||||
|
|
|
@ -78,45 +78,57 @@ _evas_video_bgra(unsigned char *evas_data, const unsigned char *gst_data, unsign
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_evas_video_i420(unsigned char *evas_data, const unsigned char *gst_data, unsigned int w, unsigned int h __UNUSED__, unsigned int output_height)
|
_evas_video_i420(unsigned char *evas_data, const unsigned char *gst_data, unsigned int w, unsigned int h, unsigned int output_height)
|
||||||
{
|
{
|
||||||
const unsigned char **rows;
|
const unsigned char **rows;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
unsigned int rh;
|
unsigned int rh;
|
||||||
|
unsigned int stride_y, stride_uv;
|
||||||
|
|
||||||
rh = output_height;
|
rh = output_height;
|
||||||
|
|
||||||
rows = (const unsigned char **)evas_data;
|
rows = (const unsigned char **)evas_data;
|
||||||
|
|
||||||
|
stride_y = GST_ROUND_UP_4(w);
|
||||||
|
stride_uv = GST_ROUND_UP_8(w) / 2;
|
||||||
|
|
||||||
for (i = 0; i < rh; i++)
|
for (i = 0; i < rh; i++)
|
||||||
rows[i] = &gst_data[i * w];
|
rows[i] = &gst_data[i * stride_y];
|
||||||
|
|
||||||
for (j = 0; j < (rh / 2); j++, i++)
|
for (j = 0; j < (rh / 2); j++, i++)
|
||||||
rows[i] = &gst_data[h * w + j * (w / 2)];
|
rows[i] = &gst_data[h * stride_y + j * stride_uv];
|
||||||
|
|
||||||
for (j = 0; j < (rh / 2); j++, i++)
|
for (j = 0; j < (rh / 2); j++, i++)
|
||||||
rows[i] = &gst_data[h * w + rh * (w / 4) + j * (w / 2)];
|
rows[i] = &gst_data[h * stride_y +
|
||||||
|
(rh / 2) * stride_uv +
|
||||||
|
j * stride_uv];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_evas_video_yv12(unsigned char *evas_data, const unsigned char *gst_data, unsigned int w, unsigned int h __UNUSED__, unsigned int output_height)
|
_evas_video_yv12(unsigned char *evas_data, const unsigned char *gst_data, unsigned int w, unsigned int h, unsigned int output_height)
|
||||||
{
|
{
|
||||||
const unsigned char **rows;
|
const unsigned char **rows;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
unsigned int rh;
|
unsigned int rh;
|
||||||
|
unsigned int stride_y, stride_uv;
|
||||||
|
|
||||||
rh = output_height;
|
rh = output_height;
|
||||||
|
|
||||||
rows = (const unsigned char **)evas_data;
|
rows = (const unsigned char **)evas_data;
|
||||||
|
|
||||||
|
stride_y = GST_ROUND_UP_4(w);
|
||||||
|
stride_uv = GST_ROUND_UP_8(w) / 2;
|
||||||
|
|
||||||
for (i = 0; i < rh; i++)
|
for (i = 0; i < rh; i++)
|
||||||
rows[i] = &gst_data[i * w];
|
rows[i] = &gst_data[i * stride_y];
|
||||||
|
|
||||||
for (j = 0; j < (rh / 2); j++, i++)
|
for (j = 0; j < (rh / 2); j++, i++)
|
||||||
rows[i] = &gst_data[h * w + rh * (w / 4) + j * (w / 2)];
|
rows[i] = &gst_data[h * stride_y +
|
||||||
|
(rh / 2) * stride_uv +
|
||||||
|
j * stride_uv];
|
||||||
|
|
||||||
for (j = 0; j < (rh / 2); j++, i++)
|
for (j = 0; j < (rh / 2); j++, i++)
|
||||||
rows[i] = &gst_data[h * w + j * (w / 2)];
|
rows[i] = &gst_data[h * stride_y + j * stride_uv];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -124,11 +136,14 @@ _evas_video_yuy2(unsigned char *evas_data, const unsigned char *gst_data, unsign
|
||||||
{
|
{
|
||||||
const unsigned char **rows;
|
const unsigned char **rows;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
unsigned int stride;
|
||||||
|
|
||||||
rows = (const unsigned char **)evas_data;
|
rows = (const unsigned char **)evas_data;
|
||||||
|
|
||||||
|
stride = GST_ROUND_UP_4(w * 2);
|
||||||
|
|
||||||
for (i = 0; i < output_height; i++)
|
for (i = 0; i < output_height; i++)
|
||||||
rows[i] = &gst_data[i * w * 2];
|
rows[i] = &gst_data[i * stride];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue