[vlc-commits] chroma_yuv_neon: add conversions to YVYU and VYUY (come for free)

Rémi Denis-Courmont git at videolan.org
Thu Jul 7 19:30:46 CEST 2011


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Jul  7 20:30:08 2011 +0300| [d9acc0bcca8b21d91fcbe47c93783be8029542a6] | committer: Rémi Denis-Courmont

chroma_yuv_neon: add conversions to YVYU and VYUY (come for free)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d9acc0bcca8b21d91fcbe47c93783be8029542a6
---

 modules/arm_neon/chroma_yuv.c |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/modules/arm_neon/chroma_yuv.c b/modules/arm_neon/chroma_yuv.c
index 0dc66ed..8372c90 100644
--- a/modules/arm_neon/chroma_yuv.c
+++ b/modules/arm_neon/chroma_yuv.c
@@ -54,14 +54,14 @@ static void I420_YUYV (filter_t *filter, picture_t *src, picture_t *dst)
 }
 VIDEO_FILTER_WRAPPER (I420_YUYV)
 
-static void YV12_YUYV (filter_t *filter, picture_t *src, picture_t *dst)
+static void I420_YVYU (filter_t *filter, picture_t *src, picture_t *dst)
 {
     DEFINE_PACK(out, dst);
     DEFINE_PLANES_SWAP(in, src);
     i420_yuyv_neon (&out, &in, filter->fmt_in.video.i_width,
                     filter->fmt_in.video.i_height);
 }
-VIDEO_FILTER_WRAPPER (YV12_YUYV)
+VIDEO_FILTER_WRAPPER (I420_YVYU)
 
 static void I420_UYVY (filter_t *filter, picture_t *src, picture_t *dst)
 {
@@ -72,14 +72,14 @@ static void I420_UYVY (filter_t *filter, picture_t *src, picture_t *dst)
 }
 VIDEO_FILTER_WRAPPER (I420_UYVY)
 
-static void YV12_UYVY (filter_t *filter, picture_t *src, picture_t *dst)
+static void I420_VYUY (filter_t *filter, picture_t *src, picture_t *dst)
 {
     DEFINE_PACK(out, dst);
     DEFINE_PLANES_SWAP(in, src);
     i420_uyvy_neon (&out, &in, filter->fmt_in.video.i_width,
                     filter->fmt_in.video.i_height);
 }
-VIDEO_FILTER_WRAPPER (YV12_UYVY)
+VIDEO_FILTER_WRAPPER (I420_VYUY)
 
 static int Open (vlc_object_t *obj)
 {
@@ -103,6 +103,12 @@ static int Open (vlc_object_t *obj)
                 case VLC_CODEC_UYVY:
                     filter->pf_video_filter = I420_UYVY_Filter;
                     break;
+                case VLC_CODEC_YVYU:
+                    filter->pf_video_filter = I420_YVYU_Filter;
+                    break;
+                case VLC_CODEC_VYUY:
+                    filter->pf_video_filter = I420_VYUY_Filter;
+                    break;
                 default:
                     return VLC_EGENERIC;
             }
@@ -112,10 +118,16 @@ static int Open (vlc_object_t *obj)
             switch (filter->fmt_out.video.i_chroma)
             {
                 case VLC_CODEC_YUYV:
-                    filter->pf_video_filter = YV12_YUYV_Filter;
+                    filter->pf_video_filter = I420_YVYU_Filter;
                     break;
                 case VLC_CODEC_UYVY:
-                    filter->pf_video_filter = YV12_UYVY_Filter;
+                    filter->pf_video_filter = I420_VYUY_Filter;
+                    break;
+                case VLC_CODEC_YVYU:
+                    filter->pf_video_filter = I420_YUYV_Filter;
+                    break;
+                case VLC_CODEC_VYUY:
+                    filter->pf_video_filter = I420_UYVY_Filter;
                     break;
                 default:
                     return VLC_EGENERIC;



More information about the vlc-commits mailing list