Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (10)
Showing
with 4 additions and 2663 deletions
......@@ -2949,56 +2949,11 @@ dnl fdk-aac encoder plugin
dnl
PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled])
dnl
dnl A52/AC3 decoder plugin
dnl
AC_ARG_ENABLE([a52],
AS_HELP_STRING([--enable-a52], [A/52 support with liba52 (default enabled)]))
if test "${enable_a52}" != "no"
then
AC_ARG_WITH([a52],
AS_HELP_STRING([--with-a52=PATH], [a52 headers and libraries]))
if test -z "${with_a52}"
then
LDFLAGS_test=""
CPPFLAGS_test=""
else
LDFLAGS_test="-L${with_a52}/lib"
CPPFLAGS_test="-I${with_a52}/include"
fi
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52}"
LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52}"
AC_CHECK_HEADERS([a52dec/a52.h], [
AC_CHECK_LIB([a52], [a52_free], [
VLC_ADD_PLUGIN([a52])
VLC_ADD_LIBS([a52],[${LDFLAGS_test} -la52 $LIBM])
VLC_ADD_CPPFLAGS([a52],[${CPPFLAGS_test}])
],[
AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
], [$LIBM])
],[
AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
])
VLC_RESTORE_FLAGS
fi
dnl
dnl DTS Coherent Acoustics decoder plugin
dnl
PKG_ENABLE_MODULES_VLC([DCA], [dca], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
dnl
dnl Flac plugin
dnl
PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
dnl
dnl Libmpeg2 plugin
dnl
PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
dnl
dnl Vorbis plugin
dnl
......
4b26fe9492f218b775fb190b76ecf06edaeb656adfe6dcbd24d0a0f86871c3ba917edb88a398eb12dccedaa1605b6f0a0be06b09f9fddd9a46e457b7dd244848 a52dec-0.7.4.tar.gz
This diff is collapsed.
--- a52dec/configure.in 2002-07-28 05:50:20.000000000 +0200
+++ a52dec.new/configure.in 2016-01-20 15:11:39.816137143 +0100
@@ -85,7 +85,6 @@
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
-AC_C_ALWAYS_INLINE
AC_C_RESTRICT
AC_TYPE_SIZE_T
AC_C_BIGENDIAN
diff -ru a52dec.orig/liba52/configure.incl a52dec/liba52/configure.incl
--- a52dec.orig/liba52/configure.incl 2011-08-03 13:22:24.000000000 +0300
+++ a52dec/liba52/configure.incl 2011-08-03 13:22:46.000000000 +0300
@@ -1,9 +1,6 @@
AC_SUBST([LIBA52_CFLAGS])
AC_SUBST([LIBA52_LIBS])
-dnl avoid -fPIC when possible
-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
-
AC_ARG_ENABLE([double],
[ --enable-double use double-precision samples])
if test x"$enable_double" = x"yes"; then
diff -ru a52dec.orig/liba52/imdct.c a52dec/liba52/imdct.c
--- a52dec.orig/liba52/imdct.c 2012-02-06 19:40:21.000000000 +0200
+++ a52dec/liba52/imdct.c 2012-02-06 19:40:53.000000000 +0200
@@ -419,13 +419,11 @@
#ifdef LIBA52_DJBFFT
if (mm_accel & MM_ACCEL_DJBFFT) {
- fprintf (stderr, "Using djbfft for IMDCT transform\n");
ifft128 = (void (*) (complex_t *)) fftc4_un128;
ifft64 = (void (*) (complex_t *)) fftc4_un64;
} else
#endif
{
- fprintf (stderr, "No accelerated IMDCT transform found\n");
ifft128 = ifft128_c;
ifft64 = ifft64_c;
}
# liba52
A52DEC_VERSION := 0.7.4
A52DEC_URL := $(CONTRIB_VIDEOLAN)/a52/a52dec-$(A52DEC_VERSION).tar.gz
ifdef GPL
PKGS += a52
endif
$(TARBALLS)/a52dec-$(A52DEC_VERSION).tar.gz:
$(call download,$(A52DEC_URL))
.sum-a52: a52dec-$(A52DEC_VERSION).tar.gz
a52dec: a52dec-$(A52DEC_VERSION).tar.gz .sum-a52
$(UNPACK)
# $(call update_autoconfig,autotools)
$(APPLY) $(SRC)/a52/liba52-pic.patch
$(APPLY) $(SRC)/a52/liba52-silence.patch
$(APPLY) $(SRC)/a52/liba52-inline.patch
ifndef HAVE_FPU
$(APPLY) $(SRC)/a52/liba52-fixed.diff
endif
$(MOVE)
.a52: a52dec
$(REQUIRE_GPL)
$(RECONF)
$(MAKEBUILDDIR)
$(MAKECONFIGURE)
+$(MAKEBUILD) -C liba52
+$(MAKEBUILD) -C include
+$(MAKEBUILD) -C liba52 install
+$(MAKEBUILD) -C include install
touch $@
dae15d77d066687c882833d5bed8d65a585c1fc0277b7276563c89ddd5a83b35389ec94cca445f38af28a9b01430b72647e9afd1b08f030959e711de1a08924a libdca-0.0.7.tar.bz2
# libdca
DCA_VERSION := 0.0.7
DCA_URL := $(VIDEOLAN)/libdca/$(DCA_VERSION)/libdca-$(DCA_VERSION).tar.bz2
ifdef HAVE_FPU
ifdef GPL
PKGS += dca
endif
endif
ifeq ($(call need_pkg,"libdca"),)
PKGS_FOUND += dca
endif
$(TARBALLS)/libdca-$(DCA_VERSION).tar.bz2:
$(call download,$(DCA_URL))
.sum-dca: libdca-$(DCA_VERSION).tar.bz2
libdca: libdca-$(DCA_VERSION).tar.bz2 .sum-dca
$(UNPACK)
# $(call update_autoconfig,.auto)
$(call pkg_static,"./libdca/libdca.pc.in")
$(MOVE)
.dca: libdca
$(REQUIRE_GPL)
$(RECONF)
$(MAKEBUILDDIR)
$(MAKECONFIGURE)
+$(MAKEBUILD) -C include
+$(MAKEBUILD) -C libdca
+$(MAKEBUILD) -C include install
+$(MAKEBUILD) -C libdca install
rm -f $(PREFIX)/lib/libdts.a
touch $@
3648a2b3d7e2056d5adb328acd2fb983a1fa9a05ccb6f9388cc686c819445421811f42e8439418a0491a13080977f074a0d8bf8fa6bc101ff245ddea65a46fbc libmpeg2-0.5.1.tar.gz
diff -urNp libmpeg2.orig/libmpeg2/motion_comp_arm_s.S libmpeg2/libmpeg2/motion_comp_arm_s.S
--- libmpeg2.orig/libmpeg2/motion_comp_arm_s.S 2008-07-09 21:16:05.000000000 +0200
+++ libmpeg2/libmpeg2/motion_comp_arm_s.S 2009-11-20 19:55:22.000000000 +0100
@@ -19,6 +19,16 @@
@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+@ Data preload is supported only by ARM V5TE and above
+
+#if (defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \
+ || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \
+ || defined (__ARM_ARCH_4T__) || defined (__ARM_ARCH_5__) \
+ || defined (__ARM_ARCH_5T__))
+.macro pld reg
+.endm
+#endif
+
.text
@ ----------------------------------------------------------------
--- libmpeg2/configure.ac 2016-01-20 15:31:37.933547037 +0100
+++ libmpeg2.new/configure.ac 2016-01-20 15:05:40.931231465 +0100
@@ -149,7 +149,6 @@
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
-AC_C_ALWAYS_INLINE
AC_C_RESTRICT
AC_C_BUILTIN_EXPECT
AC_C_BIGENDIAN
diff -ruN libmpeg2.orig//configure.ac libmpeg2/configure.ac
--- libmpeg2.orig//configure.ac 2011-11-06 22:25:07.273694621 -0500
+++ libmpeg2/configure.ac 2011-11-06 22:25:19.033752939 -0500
@@ -103,7 +103,14 @@
AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);;
arm*)
arm_conditional=:
- AC_DEFINE([ARCH_ARM],,[ARM architecture]);;
+ AC_DEFINE([ARCH_ARM],,[ARM architecture])
+ AC_MSG_CHECKING([if inline ARM Advanced SIMD assembly is supported])
+ AC_TRY_COMPILE([],
+ [asm ("vqmovun.s64 d0, q1":::"d0");],
+ [AC_DEFINE([ARCH_ARM_NEON],, [ARM Advanced SIMD assembly])
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+ ;;
esac
elif test x"$CC" = x"tendracc"; then
dnl TenDRA portability checking compiler
diff -ruN libmpeg2.orig//include/mpeg2.h libmpeg2/include/mpeg2.h
--- libmpeg2.orig//include/mpeg2.h 2011-11-06 22:25:07.297694741 -0500
+++ libmpeg2/include/mpeg2.h 2011-11-06 22:25:19.025752913 -0500
@@ -164,6 +164,7 @@
#define MPEG2_ACCEL_SPARC_VIS 1
#define MPEG2_ACCEL_SPARC_VIS2 2
#define MPEG2_ACCEL_ARM 1
+#define MPEG2_ACCEL_ARM_NEON 2
#define MPEG2_ACCEL_DETECT 0x80000000
uint32_t mpeg2_accel (uint32_t accel);
diff -ruN libmpeg2.orig//libmpeg2/Makefile.am libmpeg2/libmpeg2/Makefile.am
--- libmpeg2.orig//libmpeg2/Makefile.am 2011-11-06 22:25:07.289694707 -0500
+++ libmpeg2/libmpeg2/Makefile.am 2011-11-06 22:25:19.033752939 -0500
@@ -14,7 +14,7 @@
motion_comp_vis.c motion_comp_arm.c \
cpu_accel.c cpu_state.c
if ARCH_ARM
-libmpeg2arch_la_SOURCES += motion_comp_arm_s.S
+libmpeg2arch_la_SOURCES += motion_comp_arm_s.S motion_comp_neon.c
endif
libmpeg2arch_la_CFLAGS = $(OPT_CFLAGS) $(ARCH_OPT_CFLAGS) $(LIBMPEG2_CFLAGS)
diff -ruN libmpeg2.orig//libmpeg2/motion_comp.c libmpeg2/libmpeg2/motion_comp.c
--- libmpeg2.orig//libmpeg2/motion_comp.c 2011-11-06 22:25:07.289694707 -0500
+++ libmpeg2/libmpeg2/motion_comp.c 2011-11-06 22:25:19.029752924 -0500
@@ -58,6 +58,11 @@
else
#endif
#ifdef ARCH_ARM
+#ifdef ARCH_ARM_NEON
+ if (accel & MPEG2_ACCEL_ARM_NEON)
+ mpeg2_mc = mpeg2_mc_neon;
+ else
+#endif
if (accel & MPEG2_ACCEL_ARM) {
mpeg2_mc = mpeg2_mc_arm;
} else
diff -ruN libmpeg2.orig//libmpeg2/motion_comp_neon.c libmpeg2/libmpeg2/motion_comp_neon.c
--- libmpeg2.orig//libmpeg2/motion_comp_neon.c 1969-12-31 19:00:00.000000000 -0500
+++ libmpeg2/libmpeg2/motion_comp_neon.c 2011-11-06 22:25:19.029752924 -0500
@@ -0,0 +1,302 @@
+/*
+ * motion_comp_neon.c
+ * Copyright (C) 2009 Rémi Denis-Courmont
+ *
+ * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
+ * See http://libmpeg2.sourceforge.net/ for updates.
+ *
+ * mpeg2dec is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mpeg2dec 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mpeg2dec; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "config.h"
+
+#if defined(ARCH_ARM_NEON)
+
+#include <stdint.h>
+#include <string.h>
+
+#include "mpeg2.h"
+#include "attributes.h"
+#include "mpeg2_internal.h"
+
+/* dest = ref */
+static void MC_put_o_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ do {
+ memcpy (dest, ref, 16);
+ ref += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_put_o_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ do {
+ memcpy (dest, ref, 8);
+ ref += stride;
+ dest += stride;
+ } while (--height);
+}
+
+/* dest = (src1 + src2 + 1) / 2 */
+static void MC_avg_1_16_neon (uint8_t * dest, const uint8_t * src1,
+ const uint8_t * src2,
+ const int stride, unsigned height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {q0}, [%[src1]]\n"
+ "vld1.u8 {q1}, [%[src2]]\n"
+ "vrhadd.u8 q0, q0, q1\n"
+ /* XXX: three cycles stall */
+ "vst1.u8 {q0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2)
+ : "memory", "q0", "q1");
+ src1 += stride;
+ src2 += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_avg_1_8_neon (uint8_t * dest, const uint8_t * src1,
+ const uint8_t * src2,
+ const int stride, unsigned height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {d0}, [%[src1]]\n"
+ "vld1.u8 {d1}, [%[src2]]\n"
+ "vrhadd.u8 d0, d0, d1\n"
+ "vst1.u8 {d0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2)
+ : "memory", "q0");
+
+ src1 += stride;
+ src2 += stride;
+ dest += stride;
+ } while (--height);
+}
+
+/* dest = (dest + ((src1 + src2 + 1) / 2) + 1) / 2 */
+static void MC_avg_2_16_neon (uint8_t * dest, const uint8_t * src1,
+ const uint8_t * src2,
+ const int stride, unsigned height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {q0}, [%[src1]]\n"
+ "vld1.u8 {q1}, [%[src2]]\n"
+ "vrhadd.u8 q0, q0, q1\n"
+ "vld1.u8 {q2}, [%[dest]]\n"
+ /* XXX: one cycle stall */
+ "vrhadd.u8 q0, q0, q2\n"
+ /* XXX: three cycles stall */
+ "vst1.u8 {q0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2)
+ : "memory", "q0", "q1", "q2");
+ src1 += stride;
+ src2 += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_avg_2_8_neon (uint8_t * dest, const uint8_t * src1,
+ const uint8_t * src2,
+ const int stride, unsigned height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {d0}, [%[src1]]\n"
+ "vld1.u8 {d1}, [%[src2]]\n"
+ "vrhadd.u8 d0, d0, d1\n"
+ "vld1.u8 {d2}, [%[dest]]\n"
+ "vrhadd.u8 d0, d0, d2\n"
+ "vst1.u8 {d0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2)
+ : "memory", "q0", "d2");
+ src1 += stride;
+ src2 += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_avg_o_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_1_16_neon (dest, dest, ref, stride, height);
+}
+
+static void MC_avg_o_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_1_8_neon (dest, dest, ref, stride, height);
+}
+
+static void MC_put_x_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_1_16_neon (dest, ref, ref + 1, stride, height);
+}
+
+static void MC_put_x_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_1_8_neon (dest, ref, ref + 1, stride, height);
+}
+
+static void MC_avg_x_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_2_16_neon (dest, ref, ref + 1, stride, height);
+}
+
+static void MC_avg_x_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_2_8_neon (dest, ref, ref + 1, stride, height);
+}
+
+static void MC_put_y_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_1_16_neon (dest, ref, ref + stride, stride, height);
+}
+static void MC_put_y_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_1_8_neon (dest, ref, ref + stride, stride, height);
+}
+
+static void MC_avg_y_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_2_16_neon (dest, ref, ref + stride, stride, height);
+}
+
+static void MC_avg_y_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ MC_avg_2_8_neon (dest, ref, ref + stride, stride, height);
+}
+
+static void MC_put_xy_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {q0}, [%[ref]]\n"
+ "vld1.u8 {q1}, [%[refx]]\n"
+ "vrhadd.u8 q0, q0, q1\n"
+ "vld1.u8 {q2}, [%[refy]]\n"
+ "vld1.u8 {q3}, [%[refxy]]\n"
+ "vrhadd.u8 q2, q2, q3\n"
+ /* XXX: three cycles stall */
+ "vrhadd.u8 q0, q0, q2\n"
+ /* XXX: three cycles stall */
+ "vst1.u8 {q0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1),
+ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1)
+ : "memory", "q0", "q1", "q2", "q3");
+ ref += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_put_xy_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {d0}, [%[ref]]\n"
+ "vld1.u8 {d1}, [%[refx]]\n"
+ "vrhadd.u8 d0, d0, d1\n"
+ "vld1.u8 {d2}, [%[refy]]\n"
+ "vld1.u8 {d3}, [%[refxy]]\n"
+ "vrhadd.u8 d2, d2, d3\n"
+ /* XXX: three cycles stall */
+ "vrhadd.u8 d0, d0, d2\n"
+ /* XXX: three cycles stall */
+ "vst1.u8 {d0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1),
+ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1)
+ : "memory", "q0", "q1");
+ ref += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_avg_xy_16_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {q0}, [%[ref]]\n"
+ "vld1.u8 {q1}, [%[refx]]\n"
+ "vrhadd.u8 q0, q0, q1\n"
+ "vld1.u8 {q2}, [%[refy]]\n"
+ "vld1.u8 {q3}, [%[refxy]]\n"
+ "vrhadd.u8 q2, q2, q3\n"
+ "vld1.u8 {q4}, [%[dest]]\n"
+ /* XXX: one cycle stall */
+ "vrhadd.u8 q0, q0, q2\n"
+ /* XXX: three cycles stall */
+ "vrhadd.u8 q0, q4, q0\n"
+ "vst1.u8 {q0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1),
+ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1)
+ : "memory", "q0", "q1", "q2", "q3", "q4");
+ ref += stride;
+ dest += stride;
+ } while (--height);
+}
+
+static void MC_avg_xy_8_neon (uint8_t * dest, const uint8_t * ref,
+ const int stride, int height)
+{
+ do {
+ asm volatile (
+ "vld1.u8 {d0}, [%[ref]]\n"
+ "vld1.u8 {d1}, [%[refx]]\n"
+ "vrhadd.u8 d0, d0, d1\n"
+ "vld1.u8 {d2}, [%[refy]]\n"
+ "vld1.u8 {d3}, [%[refxy]]\n"
+ "vrhadd.u8 d2, d2, d3\n"
+ "vld1.u8 {d4}, [%[dest]]\n"
+ /* XXX: one cycle stall */
+ "vrhadd.u8 d0, d0, d2\n"
+ /* XXX: three cycles stall */
+ "vrhadd.u8 d0, d4, d0\n"
+ "vst1.u8 {d0}, [%[dest]]\n"
+ :
+ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1),
+ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1)
+ : "memory", "q0", "q1", "d4");
+ ref += stride;
+ dest += stride;
+ } while (--height);
+}
+
+MPEG2_MC_EXTERN (neon)
+
+#endif /* ARCH_ARM_NEON */
diff -ruN libmpeg2.orig//libmpeg2/mpeg2_internal.h libmpeg2/libmpeg2/mpeg2_internal.h
--- libmpeg2.orig//libmpeg2/mpeg2_internal.h 2011-11-06 22:25:07.293694722 -0500
+++ libmpeg2/libmpeg2/mpeg2_internal.h 2011-11-06 22:25:19.029752924 -0500
@@ -313,5 +313,6 @@
extern mpeg2_mc_t mpeg2_mc_alpha;
extern mpeg2_mc_t mpeg2_mc_vis;
extern mpeg2_mc_t mpeg2_mc_arm;
+extern mpeg2_mc_t mpeg2_mc_neon;
#endif /* LIBMPEG2_MPEG2_INTERNAL_H */
# libmpeg2
LIBMPEG2_VERSION := 0.5.1
LIBMPEG2_URL := $(SF)/libmpeg2/libmpeg2-$(LIBMPEG2_VERSION).tar.gz
ifdef GPL
PKGS += libmpeg2
endif
ifeq ($(call need_pkg,"libmpeg2"),)
PKGS_FOUND += libmpeg2
endif
$(TARBALLS)/libmpeg2-$(LIBMPEG2_VERSION).tar.gz:
$(call download_pkg,$(LIBMPEG2_URL),libmpeg2)
.sum-libmpeg2: libmpeg2-$(LIBMPEG2_VERSION).tar.gz
libmpeg2: libmpeg2-$(LIBMPEG2_VERSION).tar.gz .sum-libmpeg2
$(UNPACK)
# $(call update_autoconfig,.auto)
$(APPLY) $(SRC)/libmpeg2/libmpeg2-arm-pld.patch
$(APPLY) $(SRC)/libmpeg2/libmpeg2-inline.patch
$(APPLY) $(SRC)/libmpeg2/libmpeg2-mc-neon.patch
$(MOVE)
LIBMPEG2_CONF := --without-x --disable-sdl
.libmpeg2: libmpeg2
$(REQUIRE_GPL)
$(RECONF)
$(MAKEBUILDDIR)
$(MAKECONFIGURE) $(LIBMPEG2_CONF)
+$(MAKEBUILD) -C libmpeg2
+$(MAKEBUILD) -C include
+$(MAKEBUILD) -C libmpeg2 install
+$(MAKEBUILD) -C include install
touch $@
......@@ -622,7 +622,7 @@ xros-arm64:
name: $VLC_ANDROID_IMAGE
script: |
git clone https://code.videolan.org/videolan/libvlcjni.git
(cd libvlcjni && git checkout a0efd0406625cde9f9b93e5b33f4401994f0fb1b)
(cd libvlcjni && git checkout 6eb83177884f08b68e4283de7d9bb5d33379385d)
if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
CONTRIB_FLAGS="--with-prebuilt-contribs"
elif [ "${CI_COMMIT_BRANCH}" = "${CI_DEFAULT_BRANCH}" -a "${CI_PROJECT_PATH}" = "videolan/vlc" ]; then
......
......@@ -52,7 +52,6 @@ export VLC_CONTRIB_OPTIONS_BASE=(
--disable-vncserver
--disable-orc
--disable-schroedinger
--disable-libmpeg2
--disable-chromaprint
--disable-mad
--enable-fribidi
......@@ -138,7 +137,6 @@ export VLC_CONTRIB_OPTIONS_WATCHOS=(
# Base configure options for VLC
export VLC_CONFIG_OPTIONS_BASE=(
--disable-sse
--disable-a52
--disable-vcd
--disable-libcddb
--disable-macosx
......
......@@ -176,12 +176,10 @@ case $LICENSE in
l)
# LGPL v3 + ad-clauses
CONTRIBFLAGS="$CONTRIBFLAGS --disable-gpl --enable-ad-clauses"
VLC_CONFIGURE_ARGS="$VLC_CONFIGURE_ARGS --disable-a52"
;;
a)
# LGPL v2.1 + ad-clauses
CONTRIBFLAGS="$CONTRIBFLAGS --disable-gpl --disable-gnuv3 --enable-ad-clauses"
VLC_CONFIGURE_ARGS="$VLC_CONFIGURE_ARGS --disable-a52"
;;
g|*)
# GPL v3
......
......@@ -18,9 +18,7 @@ OPTIONS="
--enable-avformat
--enable-swscale
--enable-postproc
--enable-a52
--enable-flac
--enable-libmpeg2
--enable-vorbis
--enable-png
--enable-x264
......
......@@ -7,7 +7,6 @@ OPTIONS="
--enable-flac
--enable-theora
--enable-avcodec --enable-merge-ffmpeg
--enable-dca
--enable-libass
--enable-schroedinger
--enable-live555
......
......@@ -132,8 +132,8 @@ cd "$VLC_SRCPATH"/contrib/contrib-emscripten
diagnostic "vlc contribs: bootstrap"
../bootstrap --disable-disc --disable-sout --disable-net \
--disable-a52 --disable-aom --disable-faad2 --disable-chromaprint \
--disable-mad --disable-libmpeg2 --disable-nvcodec \
--disable-aom --disable-faad2 --disable-chromaprint \
--disable-mad --disable-nvcodec \
--disable-tremor --disable-vpx --disable-theora \
--disable-postproc --disable-gmp --disable-gcrypt \
--disable-gpgerror --disable-fontconfig \
......@@ -203,7 +203,7 @@ if [ $BUILD_MODE -eq 1 ]; then
emconfigure "$VLC_SRCPATH"/configure --host=wasm32-unknown-emscripten --enable-debug \
$SHARED_CONFIGURE_FLAGS $EXTRA_CONFIGURE_FLAGS --disable-vlc \
--enable-avcodec --enable-avformat --enable-swscale --enable-postproc \
--disable-sout --disable-vlm --disable-a52 --disable-xcb --disable-lua \
--disable-sout --disable-vlm --disable-xcb --disable-lua \
--disable-addonmanagermodules --disable-ssp --disable-nls \
--enable-gles2 \
--with-contrib="$VLC_SRCPATH"/contrib/wasm32-unknown-emscripten \
......