diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2011-08-29 20:56:48 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2011-08-29 20:56:48 +0000 |
commit | 26ee52dd61de15deaf4ee315df43eebe6def9193 (patch) | |
tree | 196aa4f0c9bf5a56a97a5e6d47c7d3473a9001d8 /legacy/evas/src/modules/engines/gl_sdl/evas_engine.c | |
parent | 93ded6d380ff0d51abe837e3ecdba3c9f1c529c7 (diff) |
evas: add NV12 and MT12 colorspace.
MT12 is has documented in Linux videodev documentation
a 64 * 32 macro block tiled colorspace format used on
Samsung hardware.
SVN revision: 62967
Diffstat (limited to '')
-rw-r--r-- | legacy/evas/src/modules/engines/gl_sdl/evas_engine.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c b/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c index 3134270fdd..332438a9c2 100644 --- a/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c | |||
@@ -468,6 +468,8 @@ eng_image_colorspace_set(void *data, void *image, int cspace) | |||
468 | case EVAS_COLORSPACE_YCBCR422P601_PL: | 468 | case EVAS_COLORSPACE_YCBCR422P601_PL: |
469 | case EVAS_COLORSPACE_YCBCR422P709_PL: | 469 | case EVAS_COLORSPACE_YCBCR422P709_PL: |
470 | case EVAS_COLORSPACE_YCBCR422601_PL: | 470 | case EVAS_COLORSPACE_YCBCR422601_PL: |
471 | case EVAS_COLORSPACE_YCBCR420NV12601_PL: | ||
472 | case EVAS_COLORSPACE_YCBCR420TM12601_PL: | ||
471 | if (im->tex) evas_gl_common_texture_free(im->tex); | 473 | if (im->tex) evas_gl_common_texture_free(im->tex); |
472 | im->tex = NULL; | 474 | im->tex = NULL; |
473 | if (im->cs.data) | 475 | if (im->cs.data) |
@@ -599,10 +601,18 @@ eng_image_size_set(void *data, void *image, int w, int h) | |||
599 | return image; | 601 | return image; |
600 | } | 602 | } |
601 | im_old = image; | 603 | im_old = image; |
602 | if ((eng_image_colorspace_get(data, image) == EVAS_COLORSPACE_YCBCR422P601_PL) || | 604 | |
603 | (eng_image_colorspace_get(data, image) == EVAS_COLORSPACE_YCBCR422P709_PL) || | 605 | switch (eng_image_colorspace_get(data, image)) |
604 | (eng_image_colorspace_get(data, image) == EVAS_COLORSPACE_YCBCR422601_PL)) | 606 | { |
605 | w &= ~0x1; | 607 | case EVAS_COLORSPACE_YCBCR422P601_PL: |
608 | case EVAS_COLORSPACE_YCBCR422P709_PL: | ||
609 | case EVAS_COLORSPACE_YCBCR422601_PL: | ||
610 | case EVAS_COLORSPACE_YCBCR420NV12601_PL: | ||
611 | case EVAS_COLORSPACE_YCBCR420TM12601_PL: | ||
612 | w &= ~0x1; | ||
613 | break; | ||
614 | } | ||
615 | |||
606 | if ((im_old) && (im_old->im->cache_entry.w == w) && (im_old->im->cache_entry.h == h)) | 616 | if ((im_old) && (im_old->im->cache_entry.w == w) && (im_old->im->cache_entry.h == h)) |
607 | return image; | 617 | return image; |
608 | if (im_old) | 618 | if (im_old) |
@@ -689,6 +699,8 @@ eng_image_data_get(void *data, void *image, int to_write, DATA32 **image_data, i | |||
689 | case EVAS_COLORSPACE_YCBCR422P601_PL: | 699 | case EVAS_COLORSPACE_YCBCR422P601_PL: |
690 | case EVAS_COLORSPACE_YCBCR422P709_PL: | 700 | case EVAS_COLORSPACE_YCBCR422P709_PL: |
691 | case EVAS_COLORSPACE_YCBCR422601_PL: | 701 | case EVAS_COLORSPACE_YCBCR422601_PL: |
702 | case EVAS_COLORSPACE_YCBCR420NV12601_PL: | ||
703 | case EVAS_COLORSPACE_YCBCR420TM12601_PL: | ||
692 | *image_data = im->cs.data; | 704 | *image_data = im->cs.data; |
693 | break; | 705 | break; |
694 | default: | 706 | default: |
@@ -729,6 +741,8 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data) | |||
729 | case EVAS_COLORSPACE_YCBCR422P601_PL: | 741 | case EVAS_COLORSPACE_YCBCR422P601_PL: |
730 | case EVAS_COLORSPACE_YCBCR422P709_PL: | 742 | case EVAS_COLORSPACE_YCBCR422P709_PL: |
731 | case EVAS_COLORSPACE_YCBCR422601_PL: | 743 | case EVAS_COLORSPACE_YCBCR422601_PL: |
744 | case EVAS_COLORSPACE_YCBCR420NV12601_PL: | ||
745 | case EVAS_COLORSPACE_YCBCR420TM12601_PL: | ||
732 | if (image_data != im->cs.data) | 746 | if (image_data != im->cs.data) |
733 | { | 747 | { |
734 | if (im->cs.data) | 748 | if (im->cs.data) |