[vlc-devel] [PATCH 2/3] deinterlace: x86: add external asm emms function

Janne Grunau janne-vlc at jannau.net
Thu Oct 20 00:53:16 CEST 2016


---
 modules/video_filter/Makefile.am                   |  4 +++
 modules/video_filter/deinterlace/common.h          |  4 +++
 .../video_filter/deinterlace/deinterlace_x86.asm   | 34 ++++++++++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 modules/video_filter/deinterlace/deinterlace_x86.asm

diff --git a/modules/video_filter/Makefile.am b/modules/video_filter/Makefile.am
index 5d5fdaf..92c5bc3 100644
--- a/modules/video_filter/Makefile.am
+++ b/modules/video_filter/Makefile.am
@@ -120,6 +120,10 @@ libdeinterlace_plugin_la_SOURCES = \
 	video_filter/deinterlace/algo_ivtc.c video_filter/deinterlace/algo_ivtc.h
 # inline ASM doesn't build with -O0
 libdeinterlace_plugin_la_CFLAGS = $(AM_CFLAGS) -O2
+if HAVE_YASM
+libdeinterlace_plugin_la_CFLAGS += -DHAVE_YASM
+libdeinterlace_plugin_la_SOURCES += video_filter/deinterlace/deinterlace_x86.asm
+endif
 if HAVE_NEON
 libdeinterlace_plugin_la_SOURCES += video_filter/deinterlace/merge_arm.S
 libdeinterlace_plugin_la_CFLAGS += -DCAN_COMPILE_ARM
diff --git a/modules/video_filter/deinterlace/common.h b/modules/video_filter/deinterlace/common.h
index dcd7e63..afce82b 100644
--- a/modules/video_filter/deinterlace/common.h
+++ b/modules/video_filter/deinterlace/common.h
@@ -35,4 +35,8 @@
 #define FFMIN(a,b)      __MIN(a,b)
 #define FFMIN3(a,b,c)   FFMIN(FFMIN(a,b),c)
 
+#if HAVE_YASM
+void vlcpriv_emms_ext_asm(void);
+#endif
+
 #endif
diff --git a/modules/video_filter/deinterlace/deinterlace_x86.asm b/modules/video_filter/deinterlace/deinterlace_x86.asm
new file mode 100644
index 0000000..60ce829
--- /dev/null
+++ b/modules/video_filter/deinterlace/deinterlace_x86.asm
@@ -0,0 +1,34 @@
+;*****************************************************************************
+;* x86-optimized functions for deinterlace filter
+;*****************************************************************************
+;* Cpyright (C) 2016- VLC authors and VideoLAN
+;* $Id: 1e2cf65f9467664726cfed16aa792342339946b1 $
+;*
+;* Authors: Janne Grunau <janne-vlc at jannau.net>
+;*
+;* This file is part of vlc.
+;*
+;* This program is free software; you can redistribute it and/or modify it
+;* under the terms of the GNU Lesser General Public License as published by
+;* the Free Software Foundation; either version 2.1 of the License, or
+;* (at your option) any later version.
+;*
+;* This program is distributed in the hope that it will be useful,
+;* but WITHOUT ANY WARRANTY; without even the implied warranty of
+;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;* GNU Lesser General Public License for more details.
+;*
+;* You should have received a copy of the GNU Lesser General Public License
+;* along with this program; if not, write to the Free Software Foundation,
+;* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+;******************************************************************************
+
+%include "x86util.asm"
+
+SECTION_RODATA
+
+SECTION .text
+
+cglobal emms_ext_asm, 0,0,0
+        emms
+        RET
-- 
2.10.1



More information about the vlc-devel mailing list