|
|
|
@ -27,15 +27,16 @@ static void _setup(void) |
|
|
|
|
Evas_Object *o; |
|
|
|
|
for (i = 0; i < 1; i++) |
|
|
|
|
{ |
|
|
|
|
unsigned int length; |
|
|
|
|
|
|
|
|
|
o = eo_add(EVAS_IMAGE_CLASS, evas); |
|
|
|
|
o_images[i] = o; |
|
|
|
|
evas_obj_image_content_hint_set(o, EVAS_IMAGE_CONTENT_HINT_DYNAMIC); |
|
|
|
|
evas_obj_image_colorspace_set(o, EVAS_COLORSPACE_YCBCR422P601_PL); |
|
|
|
|
efl_gfx_view_size_set(o, 320, 480); |
|
|
|
|
evas_obj_image_alpha_set(o, 0); |
|
|
|
|
efl_image_content_hint_set(o, EVAS_IMAGE_CONTENT_HINT_DYNAMIC); |
|
|
|
|
efl_gfx_buffer_alpha_set(o, 0); |
|
|
|
|
efl_gfx_fill_set(o, 0, 0, 640, 480); |
|
|
|
|
efl_gfx_size_set(o, 640, 480); |
|
|
|
|
efl_gfx_visible_set(o, EINA_TRUE); |
|
|
|
|
data = malloc(sizeof (unsigned char*) * (480 + 240 + 240)); |
|
|
|
|
yp = malloc(640 * 480); |
|
|
|
|
up = malloc(320 * 240); |
|
|
|
|
vp = malloc(320 * 240); |
|
|
|
@ -47,28 +48,24 @@ static void _setup(void) |
|
|
|
|
fread(vp, 320 * 240, 1, f); |
|
|
|
|
fclose(f); |
|
|
|
|
} |
|
|
|
|
data = evas_object_image_data_get(o_images[i], 1); |
|
|
|
|
if (data) |
|
|
|
|
lp = data; |
|
|
|
|
for (y = 0; y < 480; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = yp + (y * 640); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
lp = data; |
|
|
|
|
for (y = 0; y < 480; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = yp + (y * 640); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = up + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = vp + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
evas_obj_image_data_set(o_images[i], data); |
|
|
|
|
evas_obj_image_data_update_add(o_images[i], 0, 0, 320, 480); |
|
|
|
|
*lp = up + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = vp + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
efl_gfx_buffer_set(o_images[i], data, 640, 480, 640 * sizeof (int), EVAS_COLORSPACE_YCBCR422P601_PL); |
|
|
|
|
efl_gfx_buffer_update_add(o_images[i], 0, 0, 320, 480); |
|
|
|
|
} |
|
|
|
|
done = 0; |
|
|
|
|
} |
|
|
|
@ -78,9 +75,9 @@ static void _cleanup(void) |
|
|
|
|
{ |
|
|
|
|
int i; |
|
|
|
|
for (i = 0; i < 1; i++) eo_del(o_images[i]); |
|
|
|
|
free(yp); |
|
|
|
|
free(up); |
|
|
|
|
free(vp); |
|
|
|
|
/* free(yp); */ |
|
|
|
|
/* free(up); */ |
|
|
|
|
/* free(vp); */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* loop - do things */ |
|
|
|
@ -90,7 +87,8 @@ static void _loop(double t, int f) |
|
|
|
|
Evas_Coord x, y, w, h; |
|
|
|
|
for (i = 0; i < 1; i++) |
|
|
|
|
{ |
|
|
|
|
unsigned char **data, **lp; |
|
|
|
|
unsigned char **data, **lp; |
|
|
|
|
int stride; |
|
|
|
|
|
|
|
|
|
w = 640; |
|
|
|
|
h = 480; |
|
|
|
@ -106,29 +104,27 @@ static void _loop(double t, int f) |
|
|
|
|
|
|
|
|
|
w &= ~0x1; |
|
|
|
|
|
|
|
|
|
efl_gfx_view_size_set(o_images[i], w, 480); |
|
|
|
|
data = evas_object_image_data_get(o_images[i], 1); |
|
|
|
|
if (data) |
|
|
|
|
{ |
|
|
|
|
lp = data; |
|
|
|
|
for (y = 0; y < 480; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = yp + (y * 640); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = up + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = vp + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
evas_obj_image_data_set(o_images[i], data); |
|
|
|
|
evas_obj_image_data_update_add(o_images[i], 0, 0, w, 480); |
|
|
|
|
} |
|
|
|
|
data = malloc(sizeof (void*) * (480 + 240 + 240)); |
|
|
|
|
lp = data; |
|
|
|
|
for (y = 0; y < 480; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = yp + (y * 640); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = up + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
for (y = 0; y < 240; y++) |
|
|
|
|
{ |
|
|
|
|
*lp = vp + (y * 320); |
|
|
|
|
lp++; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
efl_gfx_buffer_copy_set(o_images[i], data, w, 480, w * sizeof (int), EVAS_COLORSPACE_YCBCR422P601_PL); |
|
|
|
|
efl_gfx_buffer_update_add(o_images[i], 0, 0, w, 480); |
|
|
|
|
free(data); |
|
|
|
|
} |
|
|
|
|
FPS_STD(NAME); |
|
|
|
|
} |
|
|
|
|