[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