Commit c1b69b53 authored by Jean-Paul Saman's avatar Jean-Paul Saman

Merge branch 'master' of git.m2x.eu:vlc into hls

parents bb22020a 18b1e6cb
......@@ -471,7 +471,7 @@ VLC-release.app: vlc
$(top_builddir)/tmp/modules/gui/macosx; \
done
$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
xcodebuild install -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
cd ../../../../ && \
cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
rm -Rf $(top_builddir)/tmp
......@@ -624,7 +624,7 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib
$(top_builddir)/tmp/modules/gui/macosx; \
done
$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
xcodebuild install -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
cd ../../../../ && \
cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
......
......@@ -18,7 +18,8 @@ Access
* Support for VDR recordings (http://www.tvdr.de/) folders
* Blu-Ray Discs integration using libbluray
* HTTP Live Streaming (IETF draft) playback support
* Blackmagic DeckLink SDI card input support (Linux only currently)
* Blackmagic DeckLink SDI cards input support (Linux only currently)
* Linear Systems (HD-)SDI cards input support (Linux)
* RTP: support for dynamic payload types by specifying the payload format
in an option (no autodetection): only Theora supported for now
......@@ -26,6 +27,8 @@ Codecs
* You can now use ffmpeg-mt in conjunction with vlc
* Important fixes for RealVideo 3.0 and 4.0 playback, notably in MKV
* Experimental Hardware decoding using Broadcom CrystalHD cards
* New module for Dirac encoding, using the faster libschroedinger
The Schroedinger module should be prefered to the Dirac one
Core:
* Playback rate doesn't get resetted to 1 between items anymore
......@@ -44,11 +47,14 @@ Interfaces
* Qt: effects dialogs rework
* Qt: new CoverFlow-like view of the playlist
* Qt: port to MacOS X platform
* Skins2: fullscreen controller support, relative placement support
and important cleanups and optimisations
* ncurses: heavy refactor of the complete interface
Video Output:
* New video output based on Direct2D for Windows 7 and Vista (with Platform Update)
* New video output for iOS platform
* New video output using EGL
* Adaptation of the OpenGL layer for OpenGL ES 1.1
* Various vmem improvements
......@@ -74,6 +80,12 @@ Stream output:
dst=public_html/iphonestreamfile-###.ts}"
* RTP: support for Vorbis and Theora
* Major rework of VoD support
* New delay module, to introduce delays of one ES, when streaming:
#delay{id=12,delay=500}:standard...
* New setlang, setid modules to change lang or id of one ES, when streaming:
#setid{id=12,new-id=42}:std...
* New langfromtelx module, to change lang of one ES, when streaming, based on
a telextex page: #langfromtelx{id=12,magazine=7,page=0x99,row=1}:std...
Services Discovery:
* Search API to be able to query distant search APIs from the interfaces
......@@ -84,6 +96,13 @@ libVLC:
** libvlc_audio_filter_list_get, libvlc_video_filter_list_get to get the
list of available audio and video filters
Removed modules:
* asademux: use libass only
* fake: use the new image demuxers
* hal, v4l, gapi, omapfb, hd1000v: obsolete unmaintained modules
* id3tag: use taglib
* upnp: use upnp_intel
Changes between 1.1.4.1 and 1.1.5:
----------------------------------
......
......@@ -109,6 +109,13 @@ static void *getsym (const char *name)
logbug(&counter, level, __func__, __VA_ARGS__); \
} while (0)
#ifdef __clang__
#define CALL(func, ...) \
({ typeof (func) *sym = getsym ( # func); sym (__VA_ARGS__); })
#else
/* Evil non-standard GNU C macro ;)
* typeof keyword,
* statement-expression,
......@@ -127,6 +134,7 @@ static void *getsym (const char *name)
sym (__VA_ARGS__); \
})
#endif
/*** Environment ***
*
......
dnl Autoconf settings for vlc
AC_COPYRIGHT([Copyright 2002-2010 the VideoLAN team])
AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
AC_INIT(vlc, 1.2.0-git)
VERSION_MAJOR="1"
......@@ -12,7 +12,7 @@ AC_SUBST(PKGDIR)
CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
CODENAME="Twoflower"
COPYRIGHT_YEARS="1996-2010"
COPYRIGHT_YEARS="1996-2011"
AC_CONFIG_SRCDIR(src/libvlc.c)
AC_CONFIG_AUX_DIR(autotools)
......@@ -389,6 +389,7 @@ AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"])
dnl
......@@ -546,7 +547,7 @@ dnl Check for system libs needed
need_libc=false
dnl Check for usual libc functions
AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp uselocale])
AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp uselocale])
AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
AC_CHECK_FUNCS(fdatasync,,
[AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
......@@ -1685,7 +1686,7 @@ AS_IF([test "${enable_growl}" != "no"], [
dnl
dnl Libnotify notification plugin
dnl
PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
dnl
dnl Taglibplugin
......@@ -1838,10 +1839,27 @@ fi
dnl
dnl - special access module for dc1394 input
dnl - dv module: digital video module check for libraw1394
dnl - linsys modules: access module check for libzvbi
dnl
PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
AC_ARG_ENABLE(linsys,
[ --enable-linsys Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])
case "${SYS}" in
linux*)
if test "${enable_linsys}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
VLC_ADD_PLUGIN([linsys_hdsdi])
PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28,
[ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
VLC_ADD_PLUGIN([linsys_sdi]) ],
[AC_MSG_WARN([Couldn't find zvbi >= 0.2.28, install libzvbi-dev ?])]
)
fi
;;
esac
dnl
dnl dvdread module: check for libdvdread
dnl
......@@ -2461,12 +2479,16 @@ if test "${enable_crystalhd}" == "yes"; then
VLC_ADD_PLUGIN([crystalhd])
VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
],[
AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
if test "${SYS}" = "mingw32" ; then
AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
VLC_ADD_PLUGIN([crystalhd])
VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
])
],[
AC_MSG_ERROR("Could not find CrystalHD development headers")
])
fi
])
fi
......@@ -2966,7 +2988,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
dnl
dnl schroedinger decoder plugin (for dirac format video)
dnl
PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
dnl
dnl PNG decoder module
......@@ -4203,8 +4225,8 @@ AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
dnl
dnl media library
dnl
AC_ARG_ENABLE(media-library, [--enable-media-library media library (default auto)])
if test "${enable_media_library}" != "no"; then
AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)])
if test "${enable_media_library}" == "yes"; then
if test "${enable_sqlite}" != "yes"; then
if test "${enable_media_library}" == "yes"; then
AC_MSG_ERROR([SQLite module is required for the media library])
......@@ -4217,6 +4239,7 @@ if test "${enable_media_library}" != "no"; then
VLC_ADD_PLUGIN([media_library])
fi
fi
AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"])
dnl
dnl Endianness check
......@@ -4451,7 +4474,6 @@ AC_CONFIG_FILES([
modules/misc/playlist/Makefile
modules/misc/osd/Makefile
modules/misc/stats/Makefile
modules/misc/xml/Makefile
modules/media_library/Makefile
modules/mux/Makefile
modules/mux/mpeg/Makefile
......
......@@ -73,7 +73,7 @@ function VlcSyntax()
syn keyword cType sout_mux_t sout_mux_sys_t
syn keyword cType sout_stream_t sout_stream_sys_t
" Sout - announce
syn keyword cType announce_handler_t announce_method_t session_descriptor_t
syn keyword cType session_descriptor_t
syn keyword cType sap_address_t sap_handler_t sap_session_t
" Decoders
syn keyword cType decoder_t decoder_sys_t encoder_t encoder_sys_t
......
......@@ -6,7 +6,7 @@ all: .freetype \
.flac .speex .shout .faad .lame .twolame .ebml .matroska .ffmpeg \
.dvdcss .libdvdread .dvdnav .dvbpsi .live .caca .mod .fontconfig \
.png .gpg-error .gcrypt .gnutls .cddb .cdio .vcdimager \
.SDL_image .gecko .mpcdec .dirac_encoder .dirac_decoder \
.SDL_image .gecko .mpcdec \
.dca .tag .x264 .goom2k4 .lua .zvbi .fluid .fontconfig .ncurses \
.schroedinger .libass .libupnp .kate .sqlite3 .Sparkle
......
......@@ -6,7 +6,7 @@ all: .freetype \
.flac .speex .shout .faad .lame .twolame .ebml .matroska .ffmpeg \
.dvdcss .libdvdread .dvdnav .dvbpsi .live .caca .mod .fontconfig \
.png .jpeg .tiff .gpg-error .gcrypt .gnutls .cddb .cdio .vcdimager \
.gecko .mpcdec .dirac_encoder .dirac_decoder \
.gecko .mpcdec \
.dca .tag .x264 .lua .zvbi .fontconfig .ncurses \
.schroedinger .libass .libupnp .kate .sqlite3 .Sparkle
......
......@@ -4,7 +4,7 @@ all: .iconv .intl .freetype .fribidi .zlib \
.a52 .mpeg2 .mad .ogg .vorbis .shout .vorbisenc .theora \
.flac .speex .faad .lame .ebml .matroska .ffmpeg \
.live .goom2k4 .caca .mod .x264 .twolame \
.png .mpcdec .dirac .schroedinger .dvbpsi \
.png .mpcdec .schroedinger .dvbpsi \
.dca .kate .libass .zvbi .fluid .SDL_image \
.libbluray .dvdcss .libupnp .dvdnav .qt4_win32 \
.dx_headers .dshow_headers .portaudio .gecko \
......
......@@ -6,7 +6,7 @@ all: .iconv .intl .freetype .fribidi .zlib \
.png .gpg-error .gcrypt .gnutls .mpcdec \
.dvdnav .dvbpsi .qt4_win32 .schroedinger .SDL_image \
.dx_headers .dshow_headers .gecko .dca .portaudio \
.lua .tag .fontconfig .kate .libass .dirac
.lua .tag .fontconfig .kate .libass
# .pthreads
#.zvbi \
# .fluid
......
diff --git a/libavcodec/x86/h264_intrapred.asm b/libavcodec/x86/h264_intrapred.asm
index afe6426..dbe6b8a 100644
--- a/libavcodec/x86/h264_intrapred.asm
+++ b/libavcodec/x86/h264_intrapred.asm
@@ -1249,7 +1249,10 @@ cglobal pred8x8l_horizontal_%1, 4,4
sub r0, r3
lea r2, [r0+r3*2]
movq mm0, [r0+r3*1-8]
- punpckhbw mm0, [r0+r3*0-8]
+ test r1, r1
+ lea r1, [r0+r3]
+ cmovnz r1, r0
+ punpckhbw mm0, [r1+r3*0-8]
movq mm1, [r2+r3*1-8]
punpckhbw mm1, [r0+r3*2-8]
mov r2, r0
@@ -1264,21 +1267,12 @@ cglobal pred8x8l_horizontal_%1, 4,4
punpckhdq mm3, mm1
lea r0, [r0+r3*2]
movq mm0, [r0+r3*0-8]
- movq mm1, [r2]
+ movq mm1, [r1+r3*0-8]
mov r0, r2
movq mm4, mm3
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1 ; top_left
- jnz .do_left
-.fix_lt_1:
- movq mm5, mm3
- pxor mm5, mm4
- psrlq mm5, 56
- psllq mm5, 48
- pxor mm1, mm5
-.do_left:
movq mm0, mm4
PRED4x4_LOWPASS mm2, mm1, mm4, mm3, mm5
movq mm4, mm0
@@ -2153,7 +2147,10 @@ cglobal pred8x8l_horizontal_up_%1, 4,4
sub r0, r3
lea r2, [r0+r3*2]
movq mm0, [r0+r3*1-8]
- punpckhbw mm0, [r0+r3*0-8]
+ test r1, r1
+ lea r1, [r0+r3]
+ cmovnz r1, r0
+ punpckhbw mm0, [r1+r3*0-8]
movq mm1, [r2+r3*1-8]
punpckhbw mm1, [r0+r3*2-8]
mov r2, r0
@@ -2168,21 +2165,12 @@ cglobal pred8x8l_horizontal_up_%1, 4,4
punpckhdq mm3, mm1
lea r0, [r0+r3*2]
movq mm0, [r0+r3*0-8]
- movq mm1, [r2]
+ movq mm1, [r1+r3*0-8]
mov r0, r2
movq mm4, mm3
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
- jnz .do_left
-.fix_lt_1:
- movq mm5, mm3
- pxor mm5, mm4
- psrlq mm5, 56
- psllq mm5, 48
- pxor mm1, mm5
-.do_left:
movq mm0, mm4
PRED4x4_LOWPASS mm2, mm1, mm4, mm3, mm5
movq mm4, mm0
......@@ -102,12 +102,12 @@ diff -urN live.orig/liveMedia/Locale.cpp live/liveMedia/Locale.cpp
return sscanf(paramStr, "%f", &scale) == 1;
}
--- live/liveMedia/RTSPCommon.cpp.orig 2010-08-22 03:25:03.000000000 +0200
+++ live/liveMedia/RTSPCommon.cpp 2010-08-24 17:06:36.000000000 +0200
@@ -136,7 +136,7 @@
--- live/liveMedia/RTSPCommon.cpp.orig 2011-01-06 01:26:50.000000000 +0100
+++ live/liveMedia/RTSPCommon.cpp 2011-01-09 16:32:24.142645155 +0100
@@ -137,7 +137,7 @@
Boolean parseRangeParam(char const* paramStr, double& rangeStart, double& rangeEnd) {
double start, end;
int numCharsMatched = 0;
- Locale l("C", LC_NUMERIC);
+ Locale l("C", LC_NUMERIC_MASK);
if (sscanf(paramStr, "npt = %lf - %lf", &start, &end) == 2) {
......
--- sidplay-2.1.1/Makefile.am 2002-12-23 21:21:03.000000000 +0100
+++ sidplay-2.1.1.new/Makefile.am 2011-01-15 16:50:45.517649286 +0100
@@ -1,7 +1,7 @@
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = libsidplay libsidutils resid builders
+SUBDIRS = libsidplay resid builders
# Remove CVS directories from any subdirs that get
# included completely (e.g. win, directx,...).
diff -ruN sidplay-2.1.1/builders/resid-builder/src/resid-builder.cpp sidplay-2.1.1.new/builders/resid-builder/src/resid-builder.cpp
--- sidplay-2.1.1/builders/resid-builder/src/resid-builder.cpp 2004-06-14 22:07:58.000000000 +0200
+++ sidplay-2.1.1.new/builders/resid-builder/src/resid-builder.cpp 2011-01-15 16:49:24.909660710 +0100
@@ -46,6 +46,8 @@
#include "resid.h"
#include "resid-emu.h"
+#include <string.h>
+
// Error String(s)
const char *ReSIDBuilder::ERR_FILTER_DEFINITION = "RESID ERROR: Filter definition is not valid (see docs).";
Les fichiers binaires sidplay-2.1.1/builders/resid-builder/src/resid-builder.o et sidplay-2.1.1.new/builders/resid-builder/src/resid-builder.o sont différents.
diff -ruN sidplay-2.1.1/builders/resid-builder/src/resid.cpp sidplay-2.1.1.new/builders/resid-builder/src/resid.cpp
--- sidplay-2.1.1/builders/resid-builder/src/resid.cpp 2004-06-14 22:07:58.000000000 +0200
+++ sidplay-2.1.1.new/builders/resid-builder/src/resid.cpp 2011-01-15 16:49:05.441652832 +0100
@@ -25,6 +25,7 @@
#include "resid.h"
#include "resid-emu.h"
+#include <string.h>
char ReSID::m_credit[];
--- configure 2008-04-06 09:07:25.000000000 +0200
+++ configure 2008-04-06 09:10:52.000000000 +0200
@@ -516,6 +516,7 @@
# autodetect options that weren't forced nor disabled
libpthread=""
+extradef=""
if test "$pthread" = "auto" ; then
pthread="no"
case $SYS in
@@ -523,13 +524,13 @@
pthread="yes"
;;
MINGW)
- if cc_check pthread.h -lpthread "pthread_create(0,0,0,0);" ; then
+ if cc_check pthread.h -lpthread "pthread_create(0,0,0,0); pthread_num_processors_np();" ; then
pthread="yes"
libpthread="-lpthread"
- elif cc_check pthread.h -lpthreadGC2 "pthread_create(0,0,0,0);" ; then
+ elif cc_check pthread.h -lpthreadGC2 "pthread_create(0,0,0,0); pthread_num_processors_np(); " ; then
pthread="yes"
libpthread="-lpthreadGC2"
- elif cc_check pthread.h "-lpthreadGC2 -lwsock32 -DPTW32_STATIC_LIB" "pthread_create(0,0,0,0);" ; then
+ elif cc_check pthread.h "-lpthreadGC2 -lwsock32 -DPTW32_STATIC_LIB" "pthread_create(0,0,0,0); pthread_num_processors_np();" ; then
pthread="yes"
libpthread="-lpthreadGC2 -lwsock32"
define PTW32_STATIC_LIB
@@ -807,7 +808,7 @@
Description: H.264 (MPEG4 AVC) encoder library
Version: $(grep POINTVER < config.h | sed -e 's/.* "//; s/".*//')
Libs: $pclibs
-Cflags: -I$includedir
+Cflags: -I$includedir $extradef
EOF
filters="crop select_every"
......@@ -660,7 +660,7 @@ tremor: tremor-$(TREMOR_VERSION).tar.bz2
endif
.tremor: tremor .ogg
(cd $<; ACLOCAL="aclocal -I $(PREFIX)/share/aclocal/" autoreconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared CFLAGS="$(NOTHUMB)" && make && make install)
(cd $<; $(HOSTCC) ./autogen.sh $(HOSTCONF) --prefix=$(PREFIX) --disable-shared CFLAGS="$(NOTHUMB)" && make && make install)
$(INSTALL_NAME)
touch $@
......@@ -1094,6 +1094,7 @@ endif
ifdef HAVE_WIN32
sed -i "s/std=c99/std=gnu99/" ffmpeg/configure
endif
(cd ffmpeg; patch -p1 < ../Patches/ffmpeg-h264-ssse3.patch )
touch $@
ffmpeg-$(FFMPEG_VERSION).tar.gz:
......@@ -1448,9 +1449,6 @@ x264-$(X264_VERSION).tar.gz:
ifdef GIT
x264:
$(GIT) clone git://git.videolan.org/x264.git
ifdef HAVE_WIN32
(cd x264; patch -p0 < ../Patches/x264-svn-win32.patch )
endif
ifdef HAVE_WIN64
(cd x264; patch -p0 < ../Patches/x264-svn-win64.patch )
endif
......@@ -2068,10 +2066,10 @@ endif
.mpcdec: mpcdec
(cd $<; cmake . -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) && make install)
ifdef HAVE_WIN32
(cd $<; cp libmpcdec/libmpcdec_static.a $(PREFIX)/lib/libmpcdec.a)
(cd $<; mkdir -p $(PREFIX)/lib && cp libmpcdec/libmpcdec_static.a $(PREFIX)/lib/libmpcdec.a)
endif
ifdef HAVE_MACOSX
(cd $<; cp libmpcdec/libmpcdec.dylib $(PREFIX)/lib/libmpcdec.dylib)
(cd $<; mkdir -p $(PREFIX)/lib && cp libmpcdec/libmpcdec.dylib $(PREFIX)/lib/libmpcdec.dylib)
endif
touch $@
......@@ -2661,15 +2659,21 @@ sidplay-2.1.1: sidplay-libs-2.1.1.tar.gz
(cd $@; patch -p1 < ../Patches/sidplay2-openmode.patch)
(cd $@; patch -p1 < ../Patches/sidplay2-endian.patch)
(cd $@; patch -p1 < ../Patches/sidplay2-smartprt.patch)
(cd $@; patch -p1 < ../Patches/sidplay2-noutils.patch)
(cd $@; patch -p1 < ../Patches/sidplay2-string.patch)
(cd $@; autoreconf -ivf)
.sidplay: sidplay-2.1.1
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make -C libsidplay && make -C libsidplay install )
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
(cp -f $(PREFIX)/lib/sidplay/builders/* $(PREFIX)/lib/)
touch $@
CLEAN_FILE += .sidplay
CLEAN_PKG += sidplay-2.1.1
DISTCLEAN_PKG += sidplay-libs-2.1.1.tar.gz
##
###################################
tools: $(TOOLS)
......
......@@ -95,7 +95,7 @@ LIBMATROSKA_URL=http://dl.matroska.org/downloads/libmatroska/libmatroska-$(LIBMA
FFMPEG_VERSION=0.4.8
FFMPEG_URL=$(SF)/ffmpeg/ffmpeg-$(FFMPEG_VERSION).tar.gz
FFMPEG_SVN=svn://svn.ffmpeg.org/ffmpeg/trunk
FFMPEG_SVN_REV=26165
FFMPEG_SVN_REV=26400
LIBDVDCSS_VERSION=1.2.10
LIBDVDCSS_URL=$(VIDEOLAN)/libdvdcss/$(LIBDVDCSS_VERSION)/libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2
LIBDVDNAV_VERSION=4.1.1
......
#!/bin/sh
if [ -z "$ANDROID_NDK" ]; then
echo "Please set the ANDROID_NDK environment variable with its path."
exit 1
fi
ANDROID_BIN=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/
ANDROID_INCLUDE=$ANDROID_NDK/platforms/android-9/arch-arm/usr/include
ANDROID_LIB=$ANDROID_NDK/platforms/android-9/arch-arm/usr/lib
VLC_SOURCEDIR="`pwd`/.."
# needed for old ndk: change all the arm-linux-androideabi to arm-eabi
# the --host is kept on purpose because otherwise libtool complains..
PATH="$ANDROID_BIN":$PATH \
CPPFLAGS="-I$ANDROID_INCLUDE" \
LDFLAGS="-Wl,-rpath-link=$ANDROID_LIB,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined -Wl,-shared -L$ANDROID_LIB" \
CFLAGS="" \
LIBS="-lc -ldl -lgcc" \
CC="arm-linux-androideabi-gcc -nostdlib" CXX="arm-linux-androideabi-g++ -nostdlib" \
NM="arm-linux-androideabi-nm" STRIP="arm-linux-androideabi-strip" \
PKG_CONFIG_LIBDIR="$VLC_SOURCEDIR/extras/contrib/hosts/arm-eabi/lib/pkgconfig" \
sh ../configure --host=arm-eabi-linux --build=x86_64-unknown-linux \
--enable-static-modules \
--enable-debug \
--disable-qt4 \
--disable-skins2 \
--disable-mad \
--disable-mkv \
--disable-live555 \
--disable-libgcrypt \
--disable-remoteosd \
--disable-lua \
--enable-swscale \
--enable-avcodec \
--enable-avformat \
--disable-xcb \
--disable-dbus \
--disable-vcd \
--disable-v4l2 \
--disable-atmo \
--disable-vlc \
--enable-opensles \
--enable-android \
--enable-egl-android
......@@ -28,7 +28,8 @@
--enable-sse --enable-mmx \
--enable-libcddb \
--enable-zvbi --disable-telx \
--enable-sqlite \
--disable-dvb \
--disable-sqlite \
--disable-dirac \
--enable-peflags \
$CONFIGOPTS
......@@ -7,5 +7,5 @@ export CONTRIB_DIR="$1"
CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
CONFIGURE="${root}configure" \
CONFIGOPTS="--host=i586-mingw32msvc --build=i386-linux
--enable-dirac --enable-mkv --enable-taglib --enable-release --enable-nls --enable-projectm" \
--enable-mkv --enable-taglib --enable-release --enable-nls --enable-projectm" \
sh ${root}extras/package/win32/configure-common.sh
......@@ -7,5 +7,5 @@ export CONTRIB_DIR="$1"
CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
CONFIGURE="${root}configure" \
CONFIGOPTS="--host=i586-mingw32msvc --build=i386-linux
--enable-dirac --enable-mkv --enable-taglib --enable-debug --enable-projectm" \
--enable-mkv --enable-taglib --enable-debug --enable-projectm" \
sh ${root}extras/package/win32/configure-common.sh
......@@ -7,5 +7,5 @@ export CONTRIB_DIR="$1"
CC=gcc CXX=g++ \
CONFIGURE="${root}configure" \
CONFIGOPTS="--host=i586-mingw32msvc --build=i386-linux
--disable-mkv --disable-taglib --disable-nls --disable-dirac --enable-debug" \
--disable-mkv --disable-taglib --disable-nls --enable-debug" \
sh ${root}extras/package/win32/configure-common.sh
......@@ -744,7 +744,7 @@ Section $Name_Section07 SEC07
!insertmacro AddContextMenuExt "Directory"
SectionEnd
Section $Name_Section08 SEC08
Section /o $Name_Section08 SEC08
!insertmacro delprefs
SectionEnd
......
......@@ -114,6 +114,7 @@ VLC_EXPORT( void *, ToCharset, ( const char *charset, const char *in, size_t *ou
VLC_EXPORT( double, us_strtod, ( const char *, char ** ) LIBVLC_USED );
VLC_EXPORT( float, us_strtof, ( const char *, char ** ) LIBVLC_USED );
VLC_EXPORT( double, us_atof, ( const char * ) LIBVLC_USED );
VLC_EXPORT( int, us_vasprintf, ( char **, const char *, va_list ) );
VLC_EXPORT( int, us_asprintf, ( char **, const char *, ... ) LIBVLC_USED );
#endif
......@@ -207,6 +207,7 @@ ATTR_PACKED
#endif
/* WAVE format wFormatTag IDs */
/* See http://msdn.microsoft.com/en-us/library/aa904731%28v=vs.80%29.aspx */
#define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
#define WAVE_FORMAT_PCM 0x0001 /* Microsoft Corporation */
#define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
......@@ -222,17 +223,22 @@ ATTR_PACKED
#define WAVE_FORMAT_G726 0x0045 /* ITU-T standard */
#define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
#define WAVE_FORMAT_MPEGLAYER3 0x0055 /* ISO/MPEG Layer3 Format Tag */
#define WAVE_FORMAT_AMR_NB 0x0057 /* AMR NB */
#define WAVE_FORMAT_AMR_WB 0x0058 /* AMR Wideband */
#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 /* Sonic Foundry */
#define WAVE_FORMAT_A52 0x2000
#define WAVE_FORMAT_DTS 0x2001
#define WAVE_FORMAT_AAC 0x00FF /* */
#define WAVE_FORMAT_SIPRO 0x0130 /* Sipro Lab Telecom Inc. */
#define WAVE_FORMAT_WMA1 0x0160 /* WMA version 1 */
#define WAVE_FORMAT_WMA2 0x0161 /* WMA (v2) 7, 8, 9 Series */
#define WAVE_FORMAT_WMAP 0x0162 /* WMA 9 Professional */
#define WAVE_FORMAT_WMAL 0x0163 /* WMA 9 Lossless */
#define WAVE_FORMAT_DIVIO_AAC 0x4143
#define WAVE_FORMAT_AAC 0x00FF
#define WAVE_FORMAT_A52 0x2000 /* a52 */
#define WAVE_FORMAT_DTS 0x2001 /* DTS */
#define WAVE_FORMAT_FFMPEG_AAC 0x706D
#define WAVE_FORMAT_DIVIO_AAC 0x4143 /* Divio's AAC */
/* Need to check these */
#define WAVE_FORMAT_DK3 0x0061
......@@ -258,9 +264,8 @@ ATTR_PACKED
#define WAVE_FORMAT_SPEEX 0xa109 /* Speex audio */
#if !defined(WAVE_FORMAT_EXTENSIBLE)
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE /* Microsoft */
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE /* Microsoft */
#endif
/* GUID SubFormat IDs */
......@@ -325,6 +330,9 @@ wave_format_tag_to_fourcc[] =
{ WAVE_FORMAT_G726, VLC_CODEC_ADPCM_G726, "G.726 ADPCM" },
{ WAVE_FORMAT_MPEGLAYER3, VLC_CODEC_MPGA, "Mpeg Audio" },
{ WAVE_FORMAT_MPEG, VLC_CODEC_MPGA, "Mpeg Audio" },
{ WAVE_FORMAT_AMR_NB, VLC_CODEC_AMR_NB, "AMR NB" },
{ WAVE_FORMAT_AMR_WB, VLC_CODEC_AMR_WB, "AMR Wideband" },
{ WAVE_FORMAT_SIPRO, VLC_CODEC_SIPR, "Sipr Audio" },
{ WAVE_FORMAT_A52, VLC_CODEC_A52, "A/52" },
{ WAVE_FORMAT_WMA1, VLC_CODEC_WMA1, "Window Media Audio v1" },
{ WAVE_FORMAT_WMA2, VLC_CODEC_WMA2, "Window Media Audio v2" },
......
......@@ -278,7 +278,6 @@ typedef struct sout_stream_sys_t sout_stream_sys_t;
typedef struct config_chain_t config_chain_t;
typedef struct session_descriptor_t session_descriptor_t;
typedef struct announce_method_t announce_method_t;
/* Decoders */
typedef struct decoder_t decoder_t;
......
/*****************************************************************************
* modules.h : Module descriptor and load functions
*****************************************************************************
* Copyright (C) 2001 the VideoLAN team
* Copyright (C) 2001-2011 the VideoLAN team
* $Id$
*
* Authors: Samuel Hocevar <sam@zoy.org>
......@@ -26,10 +26,18 @@
* This file defines functions for modules in vlc
*/
typedef int (*vlc_activate_t)(void *func, va_list args);
typedef void (*vlc_deactivate_t)(void *func, va_list args);
/*****************************************************************************
* Exported functions.
*****************************************************************************/
VLC_EXPORT( module_t *, vlc_module_load, ( vlc_object_t *obj, const char *cap, const char *name, bool strict, vlc_activate_t probe, ... ) );
#define vlc_module_load(o,c,n,s,...) \
vlc_module_load(VLC_OBJECT(o),c,n,s,__VA_ARGS__)
VLC_EXPORT( void, vlc_module_unload, ( module_t *, vlc_deactivate_t deinit, ... ) );
VLC_EXPORT( module_t *, module_need, ( vlc_object_t *, const char *, const char *, bool ) );
#define module_need(a,b,c,d) module_need(VLC_OBJECT(a),b,c,d)
VLC_EXPORT( void, module_unneed, ( vlc_object_t *, module_t * ) );
......
......@@ -279,6 +279,19 @@ VLC_EXPORT( int, picture_Export, ( vlc_object_t *p_obj, block_t **pp_image, vide
*/
VLC_EXPORT( int, picture_Setup, ( picture_t *, vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den ) );
/**
* This function will blend a given subpicture onto a picture.
*
* The subpicture and all its region must:
* - be absolute.
* - not be ephemere.
* - not have the fade flag.
* - contains only picture (no text rendering).
*/
VLC_EXPORT( void, picture_BlendSubpicture, ( picture_t *, filter_t *p_blend, subpicture_t * ) );
/*****************************************************************************
* Flags used to describe the status of a picture
*****************************************************************************/
......
......@@ -249,16 +249,13 @@ VLC_EXPORT( encoder_t *, sout_EncoderCreate, ( vlc_object_t *obj ) );
/****************************************************************************
* Announce handler
****************************************************************************/
VLC_EXPORT(session_descriptor_t*,sout_AnnounceRegisterSDP, ( vlc_object_t *, const char *, const char *, announce_method_t* ) LIBVLC_USED );
VLC_EXPORT(session_descriptor_t*,sout_AnnounceRegisterSDP, ( vlc_object_t *, const char *, const char * ) LIBVLC_USED );
VLC_EXPORT( int, sout_AnnounceUnRegister, (vlc_object_t *,session_descriptor_t* ) );
#define sout_AnnounceRegisterSDP(o, sdp, addr, m) \
sout_AnnounceRegisterSDP(VLC_OBJECT (o), sdp, addr, m)
#define sout_AnnounceRegisterSDP(o, sdp, addr) \
sout_AnnounceRegisterSDP(VLC_OBJECT (o), sdp, addr)
#define sout_AnnounceUnRegister(o, a) \
sout_AnnounceUnRegister(VLC_OBJECT (o), a)
VLC_EXPORT(announce_method_t*, sout_SAPMethod, (void) LIBVLC_USED );
VLC_EXPORT(void, sout_MethodRelease, (announce_method_t *) );
/** SDP */
struct sockaddr;
......
......@@ -68,22 +68,19 @@ VLC_EXPORT( void, spu_Destroy, ( spu_t * ) );
* You cannot use the provided subpicture anymore. The spu_t core
* will destroy it at its convenience.
*/
VLC_EXPORT( void, spu_DisplaySubpicture, ( spu_t *, subpicture_t * ) );
VLC_EXPORT( void, spu_PutSubpicture, ( spu_t *, subpicture_t * ) );
/**
* This function asks the spu_t core a list of subpictures to display.
* This function will return an unique subpicture containing the OSD and
* subtitles visibles at the requested date.
*
* The returned list can only be used by spu_RenderSubpictures.
*/
VLC_EXPORT( subpicture_t *, spu_SortSubpictures, ( spu_t *, mtime_t render_subtitle_date, bool b_subtitle_only ) );
/**
* This function renders a list of subpicture_t on the provided picture.
*
* \param p_fmt_dst is the format of the destination picture.
* \param p_chroma_list is a list of supported chroma for the output (can be NULL)
* \param p_fmt_dst is the format of the picture on which the return subpicture will be rendered.
* \param p_fmt_src is the format of the original(source) video.
*
* The returned value if non NULL must be released by subpicture_Delete().
*/
VLC_EXPORT( void, spu_RenderSubpictures, ( spu_t *, picture_t *, const video_format_t *p_fmt_dst, subpicture_t *p_list, const video_format_t *p_fmt_src, mtime_t render_subtitle_date ) );
VLC_EXPORT( subpicture_t *, spu_Render, ( spu_t *, const vlc_fourcc_t *p_chroma_list, const video_format_t *p_fmt_dst, const video_format_t *p_fmt_src, mtime_t render_subtitle_date, mtime_t render_osd_date, bool b_subtitle_only ) );
/**
* It registers a new SPU channel.
......
......@@ -116,15 +116,16 @@ typedef struct {
* Information from a vout_display_t to configure
* the core behaviour.
*
* By default they are all false.
* By default they are all false or NULL.
*
*/
typedef struct {
bool is_slow; /* The picture memory has slow read/write */
bool has_double_click; /* Is double-click generated */
bool has_hide_mouse; /* Is mouse automatically hidden */
bool has_pictures_invalid;/* Will VOUT_DISPLAY_EVENT_PICTURES_INVALID be used */
bool has_event_thread; /* Will events (key at least) be emitted using an independent thread */
bool is_slow; /* The picture memory has slow read/write */
bool has_double_click; /* Is double-click generated */
bool has_hide_mouse; /* Is mouse automatically hidden */
bool has_pictures_invalid; /* Will VOUT_DISPLAY_EVENT_PICTURES_INVALID be used */
bool has_event_thread; /* Will events (key at least) be emitted using an independent thread */
const vlc_fourcc_t *subpicture_chromas; /* List of supported chromas for subpicture rendering. */
} vout_display_info_t;
/**
......@@ -288,25 +289,29 @@ struct vout_display_t {
*/
picture_pool_t *(*pool)(vout_display_t *, unsigned count);
/* Prepare a picture for display (optional).
/* Prepare a picture and an optional subpicture for display (optional).
*
* It is called before the next pf_display call to provide as much
* time as possible to prepare the given picture for display.
* time as possible to prepare the given picture and the subpicture
* for display.
* You are guaranted that pf_display will always be called and using
* the exact same picture_t.
* You cannot change the pixel content of the picture_t.
* the exact same picture_t and subpicture_t.
* You cannot change the pixel content of the picture_t or of the
* subpicture_t.
*/
void (*prepare)(vout_display_t *, picture_t *);
void (*prepare)(vout_display_t *, picture_t *, subpicture_t *);
/* Display a picture (mandatory).
/* Display a picture and an optional subpicture (mandatory).
*
* The picture must be displayed as soon as possible.
* You cannot change the pixel content of the picture_t.
* The picture and the optional subpicture must be displayed as soon as
* possible.
* You cannot change the pixel content of the picture_t or of the
* subpicture_t.
*
* This function gives away the ownership of the picture, so you must
* release it as soon as possible.
* This function gives away the ownership of the picture and of the
* subpicture, so you must release them as soon as possible.
*/
void (*display)(vout_display_t *, picture_t *);
void (*display)(vout_display_t *, picture_t *, subpicture_t *);
/* Control on the module (mandatory) */
int (*control)(vout_display_t *, int, va_list);
......
......@@ -79,11 +79,6 @@ typedef struct {
struct vout_window_t {
VLC_COMMON_MEMBERS
/* Initial state (reserved).
* Once the open function is called, it will be set to NULL
*/
const vout_window_cfg_t *cfg;
/* window handle (mandatory)
*
* It must be filled in the open function.
......
......@@ -40,18 +40,22 @@ static inline picture_pool_t *vout_display_Pool(vout_display_t *vd, unsigned cou
/**
* It preparse a picture for display.
*/
static inline void vout_display_Prepare(vout_display_t *vd, picture_t *picture)
static inline void vout_display_Prepare(vout_display_t *vd,
picture_t *picture,
subpicture_t *subpicture)
{
if (vd->prepare )
vd->prepare(vd, picture);
vd->prepare(vd, picture, subpicture);
}
/**
* It display a picture.
*/
static inline void vout_display_Display(vout_display_t *vd, picture_t *picture)
static inline void vout_display_Display(vout_display_t *vd,
picture_t *picture,
subpicture_t *subpicture)
{
vd->display(vd, picture);
vd->display(vd, picture, subpicture);
}
/**
......
......@@ -28,29 +28,29 @@
static inline bool vlc_xlib_init (vlc_object_t *obj)
{
if (!var_InheritBool (obj, "xlib"))
return false;
bool ok = false;
if (var_InheritBool (obj, "xlib"))
{
/* XInitThreads() can be called multiple times,
* but it is not reentrant, so we need this global lock. */
vlc_global_lock (VLC_XLIB_MUTEX);
if (_Xglobal_lock == NULL && unlikely(_XErrorFunction != NULL))
{
/* (_Xglobal_lock == NULL) => Xlib threads not initialized */
/* (_XErrorFunction != NULL) => Xlib already in use */
fprintf (stderr, "%s:%u:%s: Xlib not initialized for threads.\n"
"This process is probably using LibVLC incorrectly.\n"
"Pass \"--no-xlib\" to libvlc_new() to fix this.\n",
__FILE__, __LINE__, __func__);
/* Initiate core meltdown */
abort ();
}
else
ok = XInitThreads () != 0;
vlc_global_unlock (VLC_XLIB_MUTEX);
}
/* XInitThreads() can be called multiple times,
* but it is not reentrant, so we need this global lock. */
vlc_global_lock (VLC_XLIB_MUTEX);
if (_Xglobal_lock == NULL && unlikely(_XErrorFunction != NULL))
/* (_Xglobal_lock == NULL) => Xlib threads not initialized */
/* (_XErrorFunction != NULL) => Xlib already in use */
fprintf (stderr, "%s:%u:%s: Xlib not initialized for threads.\n"
"This process is probably using LibVLC incorrectly.\n"
"Pass \"--no-xlib\" to libvlc_new() to fix this.\n",
__FILE__, __LINE__, __func__);
else if (XInitThreads ())
ok = true;
vlc_global_unlock (VLC_XLIB_MUTEX);
if (!ok)
msg_Err (obj, "Xlib not initialized for threads");
return ok;
}
......
......@@ -70,11 +70,9 @@ struct xml_reader_t
stream_t *p_stream;
module_t *p_module;
int (*pf_read) ( xml_reader_t * );
int (*pf_node_type) ( xml_reader_t * );
char * (*pf_name) ( xml_reader_t * );
int (*pf_next_node) ( xml_reader_t *, const char ** );
char * (*pf_value) ( xml_reader_t * );
int (*pf_next_attr) ( xml_reader_t * );
const char *(*pf_next_attr) ( xml_reader_t * );
int (*pf_use_dtd) ( xml_reader_t * );
};
......@@ -84,19 +82,9 @@ VLC_EXPORT( xml_reader_t *, xml_ReaderCreate, (vlc_object_t *, stream_t *) LIBVL
VLC_EXPORT( void, xml_ReaderDelete, (xml_reader_t *) );
VLC_EXPORT( xml_reader_t *, xml_ReaderReset, (xml_reader_t *, stream_t *) LIBVLC_USED );
static inline int xml_ReaderRead( xml_reader_t *reader )
static inline int xml_ReaderNextNode( xml_reader_t *reader, const char **pval )
{
return reader->pf_read( reader );
}
static inline int xml_ReaderNodeType( xml_reader_t *reader )
{
return reader->pf_node_type( reader );
}
static inline char *xml_ReaderName( xml_reader_t *reader )
{
return reader->pf_name( reader );
return reader->pf_next_node( reader, pval );
}
static inline char *xml_ReaderValue( xml_reader_t *reader )
......@@ -104,7 +92,7 @@ static inline char *xml_ReaderValue( xml_reader_t *reader )
return reader->pf_value( reader );
}
static inline int xml_ReaderNextAttr( xml_reader_t *reader )
static inline const char *xml_ReaderNextAttr( xml_reader_t *reader )
{
return reader->pf_next_attr( reader );
}
......
List of vlc plugins (360)
List of vlc plugins (366)
$Id$
* a52: A/52 basic parser/packetizer
* a52tofloat32: A/52 audio converter & decoder plugin, using liba52
* a52tospdif: Audio converter module to encapsulate A/52 into S/PDIF
* aa: Ascii art video output
* access_alsa: Alsa access module
* access_attachment: Attachment accesss module
* access_attachment: Attachment access module
* access_avio: Access module using FFmpeg libavformat network
* access_bd: Blu-Ray Disc access
* access_directory: Access module to read files in a directory
......@@ -77,6 +77,7 @@ $Id$
* converter_fixed: Fixed-point audio format conversions
* crop: Crop video filter
* croppadd: Crop/Padd image filter
* crystalhd: crystalhd decoder
* cvdsub: CVD subtitles decoder
* dbus: D-Bus control interface
* dc1394: firewire input module
......@@ -158,6 +159,8 @@ $Id$
* libass: Subtitle renderers using libass
* libbluray: Library to access Blu-Ray drives
* libmpeg2: Mpeg2 video decoder using libmpeg2
* linsys_hdsdi: Linsys HDSDI cards access module
* linsys_sdi: Linsys SDI cards access module
* lirc: Linux infrared control module
* live555: rtp demux based on liveMedia (live555.com)
* logger: file logger plugin
......@@ -260,16 +263,18 @@ $Id$
* rss: Display a RSS feed on the video output
* rtp: rtp demux module
* rv32: RV32 image format conversion module
* sap: Interface module to read SAP/SDP announcments
* sap: Interface module to read SAP/SDP announcements
* scale: Images rescaler
* scaletempo: Scale audio tempo in sync with playback rate
* scene: scene video filter
* schroedinger: Schroedinger video decoder
* screen: a input module that takes screenshots of the primary monitor
* sdl_image: SDL-based image decoder
* sdp: SDP fake access
* sepia: Sepia video filter
* sharpen: Sharpen video filter
* shine: MP3 encoder using Shine, a fixed point implementation
* sid: Sidplay demuxer
* simple_channel_mixer: channel mixer
* skins2: Skinnable interface, new generation
* smf: Standard MIDI file demuxer
......@@ -285,16 +290,19 @@ $Id$
* stream_filter_record: record any stream instantly
* stream_out_autodel: monitor mux inputs and automatically add/delete streams
* stream_out_bridge: "exchange" streams between sout instances. To be used with VLM
* stream_out_delay: introduce delay in an ES when streaming
* stream_out_description: helper module for RTSP vod
* stream_out_display: displays a stream output chain
* stream_out_dummy: dummy stream out chain module
* stream_out_duplicate: duplicates a stream output chain
* stream_out_es: stream out module outputing ES
* stream_out_gather: stream out module gathering inputs for seemless transitions
* stream_out_langfromtelx: set the the Lang of an ES when streaming based on a teletext page
* stream_out_mosaic_bridge: stream output module to make a mosaic. To be used with VLM
* stream_out_raop: Remote Audio Output Protocol (AirTunes) stream out
* stream_out_record: record stream output module
* stream_out_rtp: rtp stream output module
* stream_out_setid: Set the ID/Lang of an ES when streaming
* stream_out_smem: stream output module to a memory buffer
* stream_out_standard: standard stream output module
* stream_out_switcher: stream output module to display backgrounds
......@@ -356,7 +364,6 @@ $Id$
* xml: LibXML xml parser
* xosd: X On Screen Display interface
* xscreensaver: Xscreensaver inhibition
* xtag: XTAG xml parser
* yuv: yuv video output
* yuvp: YUVP to YUVA/RGBA chroma converter
* yuy2_i420: yuy2 to 4:2:0 conversions functions
......
......@@ -41,6 +41,8 @@ SOURCES_dc1394 = dc1394.c
SOURCES_pvr = pvr.c videodev2.h
SOURCES_v4l2 = v4l2.c
SOURCES_qtcapture = qtcapture.m
SOURCES_linsys_sdi = linsys/linsys_sdi.c
SOURCES_linsys_hdsdi = linsys/linsys_hdsdi.c
SOURCES_cdda = \
cdda.c \
vcd/cdrom.c \
......
This diff is collapsed.
This diff is collapsed.
/* sdi.h
*
* Shared header file for the Linux user-space API for
* Linear Systems Ltd. SMPTE 259M-C interface boards.
*
* Copyright (C) 2004-2010 Linear Systems Ltd.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of Linear Systems Ltd. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY LINEAR SYSTEMS LTD. "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL LINEAR SYSTEMS LTD. OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Linear Systems can be contacted at <http://www.linsys.ca/>.
*
*/
#ifndef _SDI_H
#define _SDI_H
/* Driver info */
#define SDI_DRIVER_NAME "sdi"
#define SDI_MAJOR 121 /* Set to 0 for dynamic allocation.
* Otherwise, 121 is available.
* See /usr/src/linux/Documentation/devices.txt */
#define SDI_TX_BUFFERS_MIN 2 /* This must be at least 2 */
/* The minimum transmit buffer size must be positive, divisible by 4,
* and large enough that the buffers aren't transferred to the onboard FIFOs
* too quickly for the machine to handle the interrupts.
* This is especially a problem at startup, when the FIFOs are empty.
* Relevant factors include onboard FIFO size, PCI bus throughput,
* processor speed, and interrupt latency. */
#define SDI_TX_BUFSIZE_MIN 1024
#define SDI_RX_BUFFERS_MIN 2 /* This must be at least 2 */
#define SDI_RX_BUFSIZE_MIN 8 /* This must be positive and divisible by 4 */
#define SDI_TX_BUFFERS 25 /* This must be at least 2 */
#define SDI_TX_BUFSIZE 1235520 /* This must be positive and divisible by 4 */
#define SDI_RX_BUFFERS 25 /* This must be at least 2 */
#define SDI_RX_BUFSIZE 1235520 /* This must be positive and divisible by 4 */
/* Ioctl () definitions */
#define SDI_IOC_MAGIC '=' /* This ioctl magic number is currently free. See
* /usr/src/linux/Documentation/ioctl-number.txt */
#define SDI_IOC_TXGETCAP _IOR(SDI_IOC_MAGIC, 1, unsigned int)
#define SDI_IOC_TXGETEVENTS _IOR(SDI_IOC_MAGIC, 2, unsigned int)
#define SDI_IOC_TXGETBUFLEVEL _IOR(SDI_IOC_MAGIC, 3, unsigned int)
#define SDI_IOC_TXGETTXD _IOR(SDI_IOC_MAGIC, 4, int)
#define SDI_IOC_RXGETCAP _IOR(SDI_IOC_MAGIC, 65, unsigned int)
#define SDI_IOC_RXGETEVENTS _IOR(SDI_IOC_MAGIC, 66, unsigned int)
#define SDI_IOC_RXGETBUFLEVEL _IOR(SDI_IOC_MAGIC, 67, unsigned int)
#define SDI_IOC_RXGETCARRIER _IOR(SDI_IOC_MAGIC, 68, int)
#define SDI_IOC_RXGETSTATUS _IOR(SDI_IOC_MAGIC, 69, int)
#define SDI_IOC_GETID _IOR(SDI_IOC_MAGIC, 129, unsigned int)
#define SDI_IOC_GETVERSION _IOR(SDI_IOC_MAGIC, 130, unsigned int)
/* Provide compatibility with applications compiled for older API */
#define SDI_IOC_QBUF_DEPRECATED _IOR(SDI_IOC_MAGIC, 131, unsigned int)
#define SDI_IOC_QBUF_DEPRECATED2 _IOW(SDI_IOC_MAGIC, 131, unsigned int)
#define SDI_IOC_QBUF _IO(SDI_IOC_MAGIC, 131)
/* Provide compatibility with applications compiled for older API */
#define SDI_IOC_DQBUF_DEPRECATED _IOR(SDI_IOC_MAGIC, 132, unsigned int)
#define SDI_IOC_DQBUF_DEPRECATED2 _IOW(SDI_IOC_MAGIC, 132, unsigned int)
#define SDI_IOC_DQBUF _IO(SDI_IOC_MAGIC, 132)
/* Transmitter event flag bit locations */
#define SDI_EVENT_TX_BUFFER_ORDER 0
#define SDI_EVENT_TX_BUFFER (1 << SDI_EVENT_TX_BUFFER_ORDER)
#define SDI_EVENT_TX_FIFO_ORDER 1
#define SDI_EVENT_TX_FIFO (1 << SDI_EVENT_TX_FIFO_ORDER)
#define SDI_EVENT_TX_DATA_ORDER 2
#define SDI_EVENT_TX_DATA (1 << SDI_EVENT_TX_DATA_ORDER)
/* Receiver event flag bit locations */
#define SDI_EVENT_RX_BUFFER_ORDER 0
#define SDI_EVENT_RX_BUFFER (1 << SDI_EVENT_RX_BUFFER_ORDER)
#define SDI_EVENT_RX_FIFO_ORDER 1
#define SDI_EVENT_RX_FIFO (1 << SDI_EVENT_RX_FIFO_ORDER)
#define SDI_EVENT_RX_CARRIER_ORDER 2
#define SDI_EVENT_RX_CARRIER (1 << SDI_EVENT_RX_CARRIER_ORDER)
/* Interface capabilities */
#define SDI_CAP_TX_RXCLKSRC 0x00000001
/* Transmitter clock source settings */
#define SDI_CTL_TX_CLKSRC_ONBOARD 0
#define SDI_CTL_TX_CLKSRC_EXT 1
#define SDI_CTL_TX_CLKSRC_RX 2
/* Mode settings */
#define SDI_CTL_MODE_8BIT 0
#define SDI_CTL_MODE_10BIT 1
#endif
/* sdiaudio.h
*
* Shared header file for the Linux user-space API for
* Linear Systems Ltd. SMPTE 292M and SMPTE 259M-C Audio interface boards.
*
* Copyright (C) 2009-2010 Linear Systems Ltd.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of Linear Systems Ltd. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY LINEAR SYSTEMS LTD. "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL LINEAR SYSTEMS LTD. OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Linear Systems can be contacted at <http://www.linsys.ca/>.
*
*/
#ifndef _SDIAUDIO_H
#define _SDIAUDIO_H
/* Driver info */
#define SDIAUDIO_DRIVER_NAME "sdiaudio"
#define SDIAUDIO_MAJOR 0 /* Set to 0 for dynamic allocation.
* See /usr/src/linux/Documentation/devices.txt */
#define SDIAUDIO_TX_BUFFERS_MIN 2 /* This must be at least 2 */
/* The minimum transmit buffer size must be positive, divisible by 4,
* and large enough that the buffers aren't transferred to the onboard FIFOs
* too quickly for the machine to handle the interrupts.
* This is especially a problem at startup, when the FIFOs are empty.
* Relevant factors include onboard FIFO size, PCI bus throughput,
* processor speed, and interrupt latency. */
#define SDIAUDIO_TX_BUFSIZE_MIN 1024
#define SDIAUDIO_RX_BUFFERS_MIN 2 /* This must be at least 2 */
#define SDIAUDIO_RX_BUFSIZE_MIN 8 /* This must be positive and divisible by 4 */
#define SDIAUDIO_TX_BUFFERS 30 /* This must be at least 2 */
#define SDIAUDIO_TX_BUFSIZE 6400 /* This must be positive and divisible by 4 */
#define SDIAUDIO_RX_BUFFERS 30 /* This must be at least 2 */
#define SDIAUDIO_RX_BUFSIZE 6400 /* This must be positive and divisible by 4 */
/* Ioctl () definitions */
#define SDIAUDIO_IOC_MAGIC '~' /* This ioctl magic number is currently free. See
* /usr/src/linux/Documentation/ioctl-number.txt */
#define SDIAUDIO_IOC_TXGETCAP _IOR(SDIAUDIO_IOC_MAGIC, 1, unsigned int)
#define SDIAUDIO_IOC_TXGETEVENTS _IOR(SDIAUDIO_IOC_MAGIC, 2, unsigned int)
#define SDIAUDIO_IOC_TXGETBUFLEVEL _IOR(SDIAUDIO_IOC_MAGIC, 3, unsigned int)
#define SDIAUDIO_IOC_TXGETTXD _IOR(SDIAUDIO_IOC_MAGIC, 4, int)
#define SDIAUDIO_IOC_RXGETCAP _IOR(SDIAUDIO_IOC_MAGIC, 65, unsigned int)
#define SDIAUDIO_IOC_RXGETEVENTS _IOR(SDIAUDIO_IOC_MAGIC, 66, unsigned int)
#define SDIAUDIO_IOC_RXGETBUFLEVEL _IOR(SDIAUDIO_IOC_MAGIC, 67, unsigned int)
#define SDIAUDIO_IOC_RXGETCARRIER _IOR(SDIAUDIO_IOC_MAGIC, 68, int)
#define SDIAUDIO_IOC_RXGETSTATUS _IOR(SDIAUDIO_IOC_MAGIC, 69, int)
#define SDIAUDIO_IOC_RXGETAUDIOGR0ERROR _IOR(SDIAUDIO_IOC_MAGIC, 70, unsigned int)
#define SDIAUDIO_IOC_RXGETAUDIOGR0DELAYA _IOR(SDIAUDIO_IOC_MAGIC, 71, unsigned int)
#define SDIAUDIO_IOC_RXGETAUDIOGR0DELAYB _IOR(SDIAUDIO_IOC_MAGIC, 72, unsigned int)
#define SDIAUDIO_IOC_RXGETNONAUDIO _IOR(SDIAUDIO_IOC_MAGIC, 73, unsigned int)
#define SDIAUDIO_IOC_RXGETAUDSTAT _IOR(SDIAUDIO_IOC_MAGIC, 74, unsigned int)
#define SDIAUDIO_IOC_RXGETAUDRATE _IOR(SDIAUDIO_IOC_MAGIC, 75, unsigned int)
#define SDIAUDIO_IOC_GETID _IOR(SDIAUDIO_IOC_MAGIC, 129, unsigned int)
#define SDIAUDIO_IOC_GETVERSION _IOR(SDIAUDIO_IOC_MAGIC, 130, unsigned int)
/* Provide compatibility with applications compiled for older API */
#define SDIAUDIO_IOC_QBUF_DEPRECATED _IOW(SDIAUDIO_IOC_MAGIC, 131, unsigned int)
#define SDIAUDIO_IOC_QBUF _IO(SDIAUDIO_IOC_MAGIC, 131)
/* Provide compatibility with applications compiled for older API */
#define SDIAUDIO_IOC_DQBUF_DEPRECATED _IOW(SDIAUDIO_IOC_MAGIC, 132, unsigned int)
#define SDIAUDIO_IOC_DQBUF _IO(SDIAUDIO_IOC_MAGIC, 132)
/* Transmitter event flag bit locations */
#define SDIAUDIO_EVENT_TX_BUFFER_ORDER 0
#define SDIAUDIO_EVENT_TX_BUFFER (1 << SDIAUDIO_EVENT_TX_BUFFER_ORDER)
#define SDIAUDIO_EVENT_TX_FIFO_ORDER 1
#define SDIAUDIO_EVENT_TX_FIFO (1 << SDIAUDIO_EVENT_TX_FIFO_ORDER)
#define SDIAUDIO_EVENT_TX_DATA_ORDER 2
#define SDIAUDIO_EVENT_TX_DATA (1 << SDIAUDIO_EVENT_TX_DATA_ORDER)
/* Receiver event flag bit locations */
#define SDIAUDIO_EVENT_RX_BUFFER_ORDER 0
#define SDIAUDIO_EVENT_RX_BUFFER (1 << SDIAUDIO_EVENT_RX_BUFFER_ORDER)
#define SDIAUDIO_EVENT_RX_FIFO_ORDER 1
#define SDIAUDIO_EVENT_RX_FIFO (1 << SDIAUDIO_EVENT_RX_FIFO_ORDER)
#define SDIAUDIO_EVENT_RX_CARRIER_ORDER 2
#define SDIAUDIO_EVENT_RX_CARRIER (1 << SDIAUDIO_EVENT_RX_CARRIER_ORDER)
#define SDIAUDIO_EVENT_RX_DATA_ORDER 3
#define SDIAUDIO_EVENT_RX_DATA (1 << SDIAUDIO_EVENT_RX_DATA_ORDER)
/* Interface capabilities */
#define SDIAUDIO_CAP_RX_CD 0x00000001
#define SDIAUDIO_CAP_RX_DATA 0x00000002
#define SDIAUDIO_CAP_RX_STATS 0x00000004
#define SDIAUDIO_CAP_RX_NONAUDIO 0x00000008
#define SDIAUDIO_CAP_RX_24BIT 0x00000010
/* Audio sample size */
#define SDIAUDIO_CTL_AUDSAMP_SZ_16 16 /* 16 bit */
#define SDIAUDIO_CTL_AUDSAMP_SZ_24 24 /* 24 bit */
#define SDIAUDIO_CTL_AUDSAMP_SZ_32 32 /* 32 bit */
/* Audio channel enable */
#define SDIAUDIO_CTL_AUDCH_EN_0 0 /* 0 channel/disable audio */
#define SDIAUDIO_CTL_AUDCH_EN_2 2 /* 2 channel */
#define SDIAUDIO_CTL_AUDCH_EN_4 4 /* 4 channel */
#define SDIAUDIO_CTL_AUDCH_EN_6 6 /* 6 channel */
#define SDIAUDIO_CTL_AUDCH_EN_8 8 /* 8 channel */
#define SDIAUDIO_CTL_PCM_ALLCHANNEL 0x00000000 /* PCM for channel 1 - 8 */
#define SDIAUDIO_CTL_NONAUDIO_ALLCHANNEL 0x000000ff /* No audio for channel 1 - 8 */
/* Active audio channels status */
#define SDIAUDIO_CTL_ACT_CHAN_0 0x00 /* no audio control packets */
#define SDIAUDIO_CTL_ACT_CHAN_2 0x03 /* 2 channels */
#define SDIAUDIO_CTL_ACT_CHAN_4 0x0f /* 4 channels */
#define SDIAUDIO_CTL_ACT_CHAN_6 0x3f /* 6 channels */
#define SDIAUDIO_CTL_ACT_CHAN_8 0xff /* 8 channels */
/* Audio rate */
#define SDIAUDIO_CTL_SYNC_48_KHZ 0 /* Synchronous, 48 kHz */
#define SDIAUDIO_CTL_SYNC_44_1_KHZ 2 /* Synchronous, 44.1 kHz */
#define SDIAUDIO_CTL_SYNC_32_KHZ 4 /* Synchronous, 32 kHz */
#define SDIAUDIO_CTL_SYNC_96_KHZ 8 /* Synchronous, 96 kHz */
#define SDIAUDIO_CTL_SYNC_FREE_RUNNING 14 /* Synchronous, free running */
#define SDIAUDIO_CTL_ASYNC_48_KHZ 1 /* Asynchronous, 48 kHz */
#define SDIAUDIO_CTL_ASYNC_44_1_KHZ 3 /* Asynchronous, 44.1 kHz */
#define SDIAUDIO_CTL_ASYNC_32_KHZ 5 /* Asynchronous, 32 kHz */
#define SDIAUDIO_CTL_ASYNC_96_KHZ 9 /* Asynchronous, 96 kHz */
#define SDIAUDIO_CTL_ASYNC_FREE_RUNNING 15 /* Asynchronous, free running */
#endif
/* sdivideo.h
*
* Shared header file for the Linux user-space API for
* Linear Systems Ltd. SMPTE 292M and SMPTE 259M-C interface boards.
*
* Copyright (C) 2009-2010 Linear Systems Ltd.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of Linear Systems Ltd. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY LINEAR SYSTEMS LTD. "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL LINEAR SYSTEMS LTD. OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Linear Systems can be contacted at <http://www.linsys.ca/>.
*
*/
#ifndef _SDIVIDEO_H
#define _SDIVIDEO_H
/* Driver info */
#define SDIVIDEO_DRIVER_NAME "sdivideo"
#define SDIVIDEO_MAJOR 0 /* Set to 0 for dynamic allocation.
* See /usr/src/linux/Documentation/devices.txt */
#define SDIVIDEO_TX_BUFFERS_MIN 2 /* This must be at least 2 */
/* The minimum transmit buffer size must be positive, divisible by 4,
* and large enough that the buffers aren't transferred to the onboard FIFOs
* too quickly for the machine to handle the interrupts.
* This is especially a problem at startup, when the FIFOs are empty.
* Relevant factors include onboard FIFO size, PCI bus throughput,
* processor speed, and interrupt latency. */
#define SDIVIDEO_TX_BUFSIZE_MIN 1024
#define SDIVIDEO_RX_BUFFERS_MIN 2 /* This must be at least 2 */
#define SDIVIDEO_RX_BUFSIZE_MIN 8 /* This must be positive and divisible by 4 */
#define SDIVIDEO_TX_BUFFERS 30 /* This must be at least 2 */
#define SDIVIDEO_TX_BUFSIZE 1843200 /* This must be positive and divisible by 4 */
#define SDIVIDEO_RX_BUFFERS 30 /* This must be at least 2 */
#define SDIVIDEO_RX_BUFSIZE 1843200 /* This must be positive and divisible by 4 */
/* Ioctl () definitions */
#define SDIVIDEO_IOC_MAGIC '=' /* This ioctl magic number is currently free. See
* /usr/src/linux/Documentation/ioctl-number.txt */
#define SDIVIDEO_IOC_TXGETCAP _IOR(SDIVIDEO_IOC_MAGIC, 1, unsigned int)
#define SDIVIDEO_IOC_TXGETEVENTS _IOR(SDIVIDEO_IOC_MAGIC, 2, unsigned int)
#define SDIVIDEO_IOC_TXGETBUFLEVEL _IOR(SDIVIDEO_IOC_MAGIC, 3, unsigned int)
#define SDIVIDEO_IOC_TXGETTXD _IOR(SDIVIDEO_IOC_MAGIC, 4, int)
#define SDIVIDEO_IOC_TXGETREF _IOR(SDIVIDEO_IOC_MAGIC, 5, unsigned int)
#define SDIVIDEO_IOC_RXGETCAP _IOR(SDIVIDEO_IOC_MAGIC, 65, unsigned int)
#define SDIVIDEO_IOC_RXGETEVENTS _IOR(SDIVIDEO_IOC_MAGIC, 66, unsigned int)
#define SDIVIDEO_IOC_RXGETBUFLEVEL _IOR(SDIVIDEO_IOC_MAGIC, 67, unsigned int)
#define SDIVIDEO_IOC_RXGETCARRIER _IOR(SDIVIDEO_IOC_MAGIC, 68, int)
#define SDIVIDEO_IOC_RXGETSTATUS _IOR(SDIVIDEO_IOC_MAGIC, 69, int)
#define SDIVIDEO_IOC_RXGETYCRCERROR _IOR(SDIVIDEO_IOC_MAGIC, 70, unsigned int)
#define SDIVIDEO_IOC_RXGETCCRCERROR _IOR(SDIVIDEO_IOC_MAGIC, 71, unsigned int)
#define SDIVIDEO_IOC_RXGETVIDSTATUS _IOR(SDIVIDEO_IOC_MAGIC, 72, unsigned int)
#define SDIVIDEO_IOC_GETID _IOR(SDIVIDEO_IOC_MAGIC, 129, unsigned int)
#define SDIVIDEO_IOC_GETVERSION _IOR(SDIVIDEO_IOC_MAGIC, 130, unsigned int)
/* Provide compatibility with applications compiled for older API */
#define SDIVIDEO_IOC_QBUF_DEPRECATED _IOW(SDIVIDEO_IOC_MAGIC, 131, unsigned int)
#define SDIVIDEO_IOC_QBUF _IO(SDIVIDEO_IOC_MAGIC, 131)
/* Provide compatibility with applications compiled for older API */
#define SDIVIDEO_IOC_DQBUF_DEPRECATED _IOW(SDIVIDEO_IOC_MAGIC, 132, unsigned int)
#define SDIVIDEO_IOC_DQBUF _IO(SDIVIDEO_IOC_MAGIC, 132)
/* Transmitter event flag bit locations */
#define SDIVIDEO_EVENT_TX_BUFFER_ORDER 0
#define SDIVIDEO_EVENT_TX_BUFFER (1 << SDIVIDEO_EVENT_TX_BUFFER_ORDER)
#define SDIVIDEO_EVENT_TX_FIFO_ORDER 1
#define SDIVIDEO_EVENT_TX_FIFO (1 << SDIVIDEO_EVENT_TX_FIFO_ORDER)
#define SDIVIDEO_EVENT_TX_DATA_ORDER 2
#define SDIVIDEO_EVENT_TX_DATA (1 << SDIVIDEO_EVENT_TX_DATA_ORDER)
#define SDIVIDEO_EVENT_TX_REF_ORDER 3
#define SDIVIDEO_EVENT_TX_REF (1 << SDIVIDEO_EVENT_TX_REF_ORDER)
/* Receiver event flag bit locations */
#define SDIVIDEO_EVENT_RX_BUFFER_ORDER 0
#define SDIVIDEO_EVENT_RX_BUFFER (1 << SDIVIDEO_EVENT_RX_BUFFER_ORDER)
#define SDIVIDEO_EVENT_RX_FIFO_ORDER 1
#define SDIVIDEO_EVENT_RX_FIFO (1 << SDIVIDEO_EVENT_RX_FIFO_ORDER)
#define SDIVIDEO_EVENT_RX_CARRIER_ORDER 2
#define SDIVIDEO_EVENT_RX_CARRIER (1 << SDIVIDEO_EVENT_RX_CARRIER_ORDER)
#define SDIVIDEO_EVENT_RX_DATA_ORDER 3
#define SDIVIDEO_EVENT_RX_DATA (1 << SDIVIDEO_EVENT_RX_DATA_ORDER)
#define SDIVIDEO_EVENT_RX_STD_ORDER 4
#define SDIVIDEO_EVENT_RX_STD (1 << SDIVIDEO_EVENT_RX_STD_ORDER)
/* Interface capabilities */
#define SDIVIDEO_CAP_RX_CD 0x00000001
#define SDIVIDEO_CAP_RX_DATA 0x00000002
#define SDIVIDEO_CAP_RX_ERR_COUNT 0x00000004
#define SDIVIDEO_CAP_RX_VBI 0x00000008
#define SDIVIDEO_CAP_RX_RAWMODE 0x00000010
#define SDIVIDEO_CAP_RX_DEINTERLACING 0x00000020
/* Transmitter clock source settings */
#define SDIVIDEO_CTL_TX_CLKSRC_ONBOARD 0
#define SDIVIDEO_CTL_TX_CLKSRC_NTSC 1
#define SDIVIDEO_CTL_TX_CLKSRC_PAL 2
#define SDIVIDEO_CTL_TX_CLKSRC_525P 3
#define SDIVIDEO_CTL_TX_CLKSRC_625P 4
#define SDIVIDEO_CTL_TX_CLKSRC_720P_60 5
#define SDIVIDEO_CTL_TX_CLKSRC_720P_59_94 6
#define SDIVIDEO_CTL_TX_CLKSRC_720P_50 7
#define SDIVIDEO_CTL_TX_CLKSRC_720P_30 8
#define SDIVIDEO_CTL_TX_CLKSRC_720P_29_97 9
#define SDIVIDEO_CTL_TX_CLKSRC_720P_25 10
#define SDIVIDEO_CTL_TX_CLKSRC_720P_24 11
#define SDIVIDEO_CTL_TX_CLKSRC_720P_23_98 12
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_60 13
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_59_94 14
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_50 15
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_30 16
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_29_97 17
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_25 18
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_24 19
#define SDIVIDEO_CTL_TX_CLKSRC_1080P_23_98 20
#define SDIVIDEO_CTL_TX_CLKSRC_1080I_60 21
#define SDIVIDEO_CTL_TX_CLKSRC_1080I_59_94 22
#define SDIVIDEO_CTL_TX_CLKSRC_1080I_50 23
/* Mode settings */
#define SDIVIDEO_CTL_MODE_UYVY 0
#define SDIVIDEO_CTL_MODE_V210 1
#define SDIVIDEO_CTL_MODE_V210_DEINTERLACE 2
#define SDIVIDEO_CTL_MODE_RAW 3
/* Frame mode settings */
#define SDIVIDEO_CTL_UNLOCKED 0
#define SDIVIDEO_CTL_SMPTE_125M_486I_59_94HZ 1
#define SDIVIDEO_CTL_BT_601_576I_50HZ 2
#define SDIVIDEO_CTL_SMPTE_260M_1035I_60HZ 5
#define SDIVIDEO_CTL_SMPTE_260M_1035I_59_94HZ 6
#define SDIVIDEO_CTL_SMPTE_295M_1080I_50HZ 7
#define SDIVIDEO_CTL_SMPTE_274M_1080I_60HZ 8
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_30HZ 9
#define SDIVIDEO_CTL_SMPTE_274M_1080I_59_94HZ 10
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_29_97HZ 11
#define SDIVIDEO_CTL_SMPTE_274M_1080I_50HZ 12
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_25HZ 13
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_24HZ 14
#define SDIVIDEO_CTL_SMPTE_274M_1080PSF_23_98HZ 15
#define SDIVIDEO_CTL_SMPTE_274M_1080P_30HZ 16
#define SDIVIDEO_CTL_SMPTE_274M_1080P_29_97HZ 17
#define SDIVIDEO_CTL_SMPTE_274M_1080P_25HZ 18
#define SDIVIDEO_CTL_SMPTE_274M_1080P_24HZ 19
#define SDIVIDEO_CTL_SMPTE_274M_1080P_23_98HZ 20
#define SDIVIDEO_CTL_SMPTE_296M_720P_60HZ 21
#define SDIVIDEO_CTL_SMPTE_296M_720P_59_94HZ 22
#define SDIVIDEO_CTL_SMPTE_296M_720P_50HZ 23
#define SDIVIDEO_CTL_SMPTE_296M_720P_30HZ 24
#define SDIVIDEO_CTL_SMPTE_296M_720P_29_97HZ 25
#define SDIVIDEO_CTL_SMPTE_296M_720P_25HZ 26
#define SDIVIDEO_CTL_SMPTE_296M_720P_24HZ 27
#define SDIVIDEO_CTL_SMPTE_296M_720P_23_98HZ 28
#endif
......@@ -50,7 +50,7 @@ struct access_sys_t
static int AccessControl( access_t *p_access, int i_query, va_list args );
static ssize_t AccessRead( access_t *, uint8_t *, size_t );
static int AccessSeek( access_t *, uint64_t );
static int OpenFileInZip( access_t *p_access, uint64_t i_pos );
static int OpenFileInZip( access_t *p_access );
static char *unescapeXml( const char *psz_text );
/** **************************************************************************
......@@ -156,7 +156,7 @@ int AccessOpen( vlc_object_t *p_this )
}
/* Open file in zip */
OpenFileInZip( p_access, 0 );
OpenFileInZip( p_access );
/* Set callback */
ACCESS_SET_CALLBACKS( AccessRead, NULL, AccessControl, AccessSeek );
......@@ -292,6 +292,7 @@ static int AccessSeek( access_t *p_access, uint64_t seek_len )
access_sys_t *p_sys = p_access->p_sys;
assert( p_sys );
unzFile file = p_sys->zipFile;
if( !file )
{
msg_Err( p_access, "archive not opened !" );
......@@ -299,9 +300,9 @@ static int AccessSeek( access_t *p_access, uint64_t seek_len )
}
/* Reopen file in zip if needed */
if( p_access->info.i_pos != 0 )
if( p_access->info.i_pos > seek_len )
{
OpenFileInZip( p_access, p_access->info.i_pos + seek_len );
OpenFileInZip( p_access );
}
/* Read seek_len data and drop it */
......@@ -333,7 +334,7 @@ static int AccessSeek( access_t *p_access, uint64_t seek_len )
/** **************************************************************************
* \brief Open file in zip
*****************************************************************************/
static int OpenFileInZip( access_t *p_access, uint64_t i_pos )
static int OpenFileInZip( access_t *p_access )
{
access_sys_t *p_sys = p_access->p_sys;
unzFile file = p_sys->zipFile;
......@@ -357,10 +358,8 @@ static int OpenFileInZip( access_t *p_access, uint64_t i_pos )
p_sys->psz_fileInzip );
return VLC_EGENERIC;
}
if( i_pos > 0 )
return AccessSeek( p_access, i_pos );
else
return VLC_SUCCESS;
return VLC_SUCCESS;
}
/** **************************************************************************
......@@ -373,7 +372,21 @@ static void* ZCALLBACK ZipIO_Open( void* opaque, const char* file, int mode )
access_t *p_access = (access_t*) opaque;
return stream_UrlNew( p_access, file );
char *fileUri = malloc( strlen(file) + 8 );
if( !fileUri ) return VLC_ENOMEM;
if( !strstr( file, "://" ) )
{
strcpy( fileUri, "file://" );
strcat( fileUri, file );
}
else
{
strcpy( fileUri, file );
}
stream_t *s = stream_UrlNew( p_access, fileUri );
free( fileUri );
return s;
}
/** **************************************************************************
......@@ -419,7 +432,6 @@ static long ZCALLBACK ZipIO_Seek( void* opaque, void* stream,
uLong offset, int origin )
{
(void)opaque;
//access_t *p_access = (access_t*) opaque;
int64_t pos = offset;
switch( origin )
{
......@@ -436,7 +448,6 @@ static long ZCALLBACK ZipIO_Seek( void* opaque, void* stream,
}
if( pos < 0 )
return -1;
//msg_Dbg( p_access, "seek (%d,%d): %" PRIu64, offset, origin, pos );
stream_Seek( (stream_t*) stream, pos );
/* Note: in unzip.c, unzlocal_SearchCentralDir seeks to the end of
the stream, which is doable but returns an error in VLC.
......
......@@ -128,7 +128,7 @@ vlc_module_begin ()
add_integer ( "ffmpeg-lowres", 0, LOWRES_TEXT, LOWRES_LONGTEXT,
true )
change_integer_range( 0, 2 )
add_bool( "ffmpeg-fast", false, FAST_TEXT, FAST_LONGTEXT, true )
add_bool( "ffmpeg-fast", false, FAST_TEXT, FAST_LONGTEXT, false )
add_integer ( "ffmpeg-skiploopfilter", 0, SKIPLOOPF_TEXT,
SKIPLOOPF_LONGTEXT, true )
change_safe ()
......@@ -137,7 +137,7 @@ vlc_module_begin ()
add_integer( "ffmpeg-debug", 0, DEBUG_TEXT, DEBUG_LONGTEXT,
true )
#if defined(HAVE_AVCODEC_VAAPI) || defined(HAVE_AVCODEC_DXVA2)
add_bool( "ffmpeg-hw", false, HW_TEXT, HW_LONGTEXT, true )
add_bool( "ffmpeg-hw", false, HW_TEXT, HW_LONGTEXT, false )
#endif
#if defined(FF_THREAD_FRAME)
add_integer( "ffmpeg-threads", 0, THREADS_TEXT, THREADS_LONGTEXT, true );
......
......@@ -258,7 +258,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context,
p_sys->p_context->skip_frame = AVDISCARD_DEFAULT;
break;
case 1:
p_sys->p_context->skip_frame = AVDISCARD_BIDIR;
p_sys->p_context->skip_frame = AVDISCARD_NONREF;
break;
case 2:
p_sys->p_context->skip_frame = AVDISCARD_NONKEY;
......@@ -281,7 +281,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context,
p_sys->p_context->skip_idct = AVDISCARD_DEFAULT;
break;
case 1:
p_sys->p_context->skip_idct = AVDISCARD_BIDIR;
p_sys->p_context->skip_idct = AVDISCARD_NONREF;
break;
case 2:
p_sys->p_context->skip_idct = AVDISCARD_NONKEY;
......@@ -490,8 +490,8 @@ picture_t *DecodeVideo( decoder_t *p_dec, block_t **pp_block )
if( p_sys->i_late_frames < 12 )
{
p_context->skip_frame =
(p_sys->i_skip_frame <= AVDISCARD_BIDIR) ?
AVDISCARD_BIDIR : p_sys->i_skip_frame;
(p_sys->i_skip_frame <= AVDISCARD_NONREF) ?
AVDISCARD_NONREF : p_sys->i_skip_frame;
}
else
{
......
......@@ -37,35 +37,35 @@
*****************************************************************************/
/* The screen size */
#define CDG_SCREEN_WIDTH (300)
#define CDG_SCREEN_HEIGHT (216)
#define CDG_SCREEN_WIDTH 300u
#define CDG_SCREEN_HEIGHT 216u
/* The border of the screen size */
#define CDG_SCREEN_BORDER_WIDTH (6)
#define CDG_SCREEN_BORDER_HEIGHT (12)
#define CDG_SCREEN_BORDER_WIDTH 6u
#define CDG_SCREEN_BORDER_HEIGHT 12u
/* The display part */
#define CDG_DISPLAY_WIDTH (CDG_SCREEN_WIDTH-2*CDG_SCREEN_BORDER_WIDTH)
#define CDG_DISPLAY_HEIGHT (CDG_SCREEN_HEIGHT-2*CDG_SCREEN_BORDER_HEIGHT)
#define CDG_SCREEN_PITCH (CDG_SCREEN_WIDTH)
#define CDG_SCREEN_PITCH CDG_SCREEN_WIDTH
struct decoder_sys_t
{
uint8_t color[16][3];
int i_offseth;
int i_offsetv;
uint8_t screen[CDG_SCREEN_PITCH*CDG_SCREEN_HEIGHT];
uint8_t *p_screen;
uint8_t color[16][3];
unsigned i_offseth;
unsigned i_offsetv;
uint8_t screen[CDG_SCREEN_PITCH*CDG_SCREEN_HEIGHT];
uint8_t *p_screen;
int i_packet;
int i_packet;
};
#define CDG_PACKET_SIZE (24)
#define CDG_PACKET_SIZE 24u
#define CDG_COLOR_R_SHIFT ( 0)
#define CDG_COLOR_G_SHIFT ( 8)
#define CDG_COLOR_B_SHIFT (16)
#define CDG_COLOR_R_SHIFT 0
#define CDG_COLOR_G_SHIFT 8
#define CDG_COLOR_B_SHIFT 16
/*****************************************************************************
* Local prototypes
......@@ -254,7 +254,13 @@ static int DecodeTileBlock( decoder_sys_t *p_cdg, const uint8_t *p_data, int doX
for( x = 0; x < 6; x++ )
{
const int idx = ( p_data[4+y] >> (5-x) ) & 0x01;
uint8_t *p = &p_cdg->p_screen[(sy+y)*CDG_SCREEN_PITCH+(sx+x)];
unsigned index = (sy+y)*CDG_SCREEN_PITCH+(sx+x);
if( index >= CDG_SCREEN_PITCH*CDG_SCREEN_HEIGHT )
return 0;
uint8_t *p = &p_cdg->p_screen[index];
if( doXor )
*p ^= p_color[idx];
else
......@@ -271,7 +277,6 @@ static int DecodeScroll( decoder_sys_t *p_cdg, const uint8_t *p_data, int b_copy
uint8_t color = p_data[0]&0x0f;
int i_shifth;
int i_shiftv;
int x, y;
/* */
p_cdg->i_offseth = p_data[1]&0x7;
......@@ -310,17 +315,17 @@ static int DecodeScroll( decoder_sys_t *p_cdg, const uint8_t *p_data, int b_copy
ScreenFill( p_cdg, 0, 0, CDG_SCREEN_WIDTH, CDG_SCREEN_HEIGHT, color );
/* Copy back */
for( y = 0; y < CDG_SCREEN_HEIGHT; y++ )
for( unsigned y = 0; y < CDG_SCREEN_HEIGHT; y++ )
{
int dy = i_shiftv + y;
for( x = 0; x < CDG_SCREEN_WIDTH; x++ )
for( unsigned x = 0; x < CDG_SCREEN_WIDTH; x++ )
{
int dx = i_shifth + x;
if( b_copy )
{
dy = ( dy + CDG_SCREEN_HEIGHT ) % CDG_SCREEN_HEIGHT;
dy = ( dy + CDG_SCREEN_WIDTH ) % CDG_SCREEN_WIDTH;
dy %= CDG_SCREEN_HEIGHT;
dx %= CDG_SCREEN_WIDTH;
}
else
{
......@@ -402,11 +407,9 @@ static uint32_t RenderRGB( int r, int g, int b )
static int Render( decoder_sys_t *p_cdg, picture_t *p_picture )
{
int x, y;
for( y = 0; y < CDG_DISPLAY_HEIGHT; y++ )
for( unsigned y = 0; y < CDG_DISPLAY_HEIGHT; y++ )
{
for( x = 0; x < CDG_DISPLAY_WIDTH; x++ )
for( unsigned x = 0; x < CDG_DISPLAY_WIDTH; x++ )
{
const int sx = x + p_cdg->i_offseth + CDG_SCREEN_BORDER_WIDTH;
const int sy = y + p_cdg->i_offsetv + CDG_SCREEN_BORDER_HEIGHT;
......
This diff is collapsed.
This diff is collapsed.
......@@ -640,6 +640,9 @@ static char *StripTags( char *psz_subtitle )
*psz_text++ = *psz_subtitle;
}
/* Security fix: Account for the case where input ends early */
if( *psz_subtitle == '\0' ) break;
psz_subtitle++;
}
*psz_text = '\0';
......
This diff is collapsed.
......@@ -94,11 +94,8 @@ static int Open( vlc_object_t *p_this )
if( !p_sys )
return VLC_ENOMEM;
char *psz_display = var_CreateGetNonEmptyString( p_intf, "x11-display" );
int i_screen_default;
p_sys->p_connection = xcb_connect( psz_display, &i_screen_default );
free( psz_display );
p_sys->p_connection = xcb_connect( NULL, &i_screen_default );
if( xcb_connection_has_error( p_sys->p_connection ) )
goto error;
......
......@@ -95,7 +95,10 @@ struct demux_sys_t
int64_t i_data_begin;
int64_t i_data_end;
bool b_index;
bool b_index;
unsigned int i_seek_track;
unsigned int i_wait_keyframe;
vlc_meta_t *meta;
};
......@@ -228,6 +231,7 @@ static void Close( vlc_object_t * p_this )
static int SeekPercent( demux_t *p_demux, int i_query, va_list args )
{
demux_sys_t *p_sys = p_demux->p_sys;
p_sys->i_wait_keyframe = p_sys->i_seek_track ? 50 : 0;
return demux_vaControlHelper( p_demux->s, p_sys->i_data_begin,
p_sys->i_data_end, p_sys->i_bitrate,
p_sys->p_fp->i_min_data_packet_size,
......@@ -254,6 +258,8 @@ static int SeekIndex( demux_t *p_demux, mtime_t i_date, float f_pos )
return VLC_EGENERIC;
}
p_sys->i_wait_keyframe = p_sys->i_seek_track ? 50 : 0;
uint64_t i_offset = (uint64_t)p_index->index_entry[i_entry].i_packet_number *
p_sys->p_fp->i_min_data_packet_size;
return stream_Seek( p_demux->s, p_sys->i_data_begin + i_offset );
......@@ -580,6 +586,16 @@ static int DemuxPacket( demux_t *p_demux )
continue; // over payload
}
if( p_sys->i_wait_keyframe &&
!(i_stream_number == p_sys->i_seek_track && i_packet_keyframe &&
!i_media_object_offset) )
{
i_skip += i_payload_data_length;
p_sys->i_wait_keyframe--;
continue; // over payload
}
p_sys->i_wait_keyframe = 0;
if( !tk->p_es )
{
i_skip += i_payload_data_length;
......@@ -712,6 +728,8 @@ static int DemuxInit( demux_t *p_demux )
p_sys->p_fp = NULL;
p_sys->b_index = 0;
p_sys->i_track = 0;
p_sys->i_seek_track = 0;
p_sys->i_wait_keyframe = 0;
for( int i = 0; i < 128; i++ )
{
p_sys->track[i] = NULL;
......@@ -978,6 +996,10 @@ static int DemuxInit( demux_t *p_demux )
*p = '\0';
}
/* Set the track on which we'll do our seeking to the first video track */
if(!p_sys->i_seek_track && fmt.i_cat == VIDEO_ES)
p_sys->i_seek_track = p_sp->i_stream_number;
tk->p_es = es_out_Add( p_demux->out, &fmt );
}
else
......
This diff is collapsed.
......@@ -75,7 +75,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS
EDocTypeReadVersion doc_read_version = GetChild<EDocTypeReadVersion>(*static_cast<EbmlHead*>(p_l0));
if (uint64(doc_read_version) > 2)
{
msg_Err( p_demux, "This matroska file is needs version %"PRId64" and this VLC only supports version 1 & 2", uint64(doc_read_version));
msg_Err( p_demux, "matroska file needs version %"PRId64" but only versions 1 & 2 supported", uint64(doc_read_version));
return NULL;
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -147,6 +147,9 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget *_parent ) :
SETUP_VFILTER_OPTION( colorthresSaturationthresSlider, valueChanged( int ) )
SETUP_VFILTER_OPTION( colorthresSimilaritythresSlider, valueChanged( int ) )
SETUP_VFILTER( sepia )
SETUP_VFILTER_OPTION( sepiaIntensitySpin, valueChanged( int ) )
SETUP_VFILTER( invert )
SETUP_VFILTER( gradient )
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment