mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-03 05:28:53 +02:00
1740 lines
62 KiB
Plaintext
1740 lines
62 KiB
Plaintext
From df88a1f9a435ed41d67ba98deb2fcaba6c5ff3b0 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Wed, 3 Sep 2014 22:18:59 +0200
|
|
Subject: applying patch vlc-0.8.6i.patch
|
|
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 67d0ceb..ad7cfc3 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -256,6 +256,7 @@ case "${target_os}" in
|
|
VLC_ADD_LDFLAGS([vlc logger],[-lbe])
|
|
VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
|
|
VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
|
|
+ VLC_ADD_LDFLAGS([access_file],[-lpoll])
|
|
LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
|
|
|
|
dnl Check for BONE
|
|
@@ -270,11 +271,24 @@ case "${target_os}" in
|
|
VLC_ADD_LDFLAGS([beos],[-lzeta])
|
|
fi
|
|
;;
|
|
+ haiku*)
|
|
+ SYS=haiku
|
|
+ CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
|
|
+ CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
|
|
+ VLC_ADD_CXXFLAGS([haiku],[])
|
|
+ VLC_ADD_LDFLAGS([vlc logger],[-lbe])
|
|
+ VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
|
|
+ VLC_ADD_LDFLAGS([dvdnav dvdread],[])
|
|
+ VLC_ADD_LDFLAGS([access_file],[-lroot])
|
|
+ LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
|
|
+ VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnetwork])
|
|
+ ;;
|
|
*)
|
|
SYS="${target_os}"
|
|
;;
|
|
esac
|
|
AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
|
|
+AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku")
|
|
AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
|
|
AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
|
|
AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
|
|
@@ -444,12 +458,26 @@ AC_CHECK_FUNCS(connect,,[
|
|
])
|
|
])
|
|
|
|
+AC_CHECK_FUNCS(connect,,[
|
|
+ AC_CHECK_LIB(network,connect,[
|
|
+ VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lnetwork)
|
|
+ LIBS_socket="-lnetwork"
|
|
+ ])
|
|
+])
|
|
+
|
|
+
|
|
AC_CHECK_FUNCS(send,,[
|
|
AC_CHECK_LIB(socket,send,[
|
|
VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
|
|
])
|
|
])
|
|
|
|
+AC_CHECK_FUNCS(send,,[
|
|
+ AC_CHECK_LIB(network,send,[
|
|
+ VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lnetwork])
|
|
+ ])
|
|
+])
|
|
+
|
|
AC_CHECK_FUNCS(gethostbyname,,[
|
|
AC_CHECK_LIB(nsl,gethostbyname,[
|
|
VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
|
|
@@ -460,11 +488,22 @@ AC_CHECK_FUNCS(gethostbyname,,[
|
|
])
|
|
])
|
|
|
|
+AC_CHECK_FUNCS(gethostbyname,,[
|
|
+ AC_CHECK_LIB(nsl,gethostbyname,[
|
|
+ VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
|
|
+ ],[
|
|
+ AC_CHECK_LIB(network,gethostbyname,[
|
|
+ VLC_ADD_LDFLAGS([ipv4 access_mms],[-lnetwork])
|
|
+ ])
|
|
+ ])
|
|
+])
|
|
+
|
|
dnl Check for socklen_t
|
|
AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
|
|
[AC_TRY_COMPILE(
|
|
[#include <sys/types.h>
|
|
- #include <sys/socket.h>],
|
|
+ #include <sys/socket.h>
|
|
+ #include <sys/select.h>],
|
|
[socklen_t len = 42; return len;],
|
|
ac_cv_type_socklen_t=yes,
|
|
ac_cv_type_socklen_t=no)])
|
|
@@ -497,8 +536,10 @@ dnl -lnsl and -lsocket are needed on Solaris;
|
|
dnl we purposedly make the test fail on Windows
|
|
LIBS_save="${LIBS}"
|
|
AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
|
|
+AC_SEARCH_LIBS([getaddrinfo], [nsl] [network], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
|
|
AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
|
|
|
|
+
|
|
dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
|
|
dnl are
|
|
LIBS="${LIBS_gai}"
|
|
@@ -804,8 +845,6 @@ AC_PATH_XTRA()
|
|
|
|
dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
|
|
|
|
-PKG_PROG_PKG_CONFIG()
|
|
-
|
|
dnl Check for hal
|
|
AC_ARG_ENABLE(hal,
|
|
[ --enable-hal Linux HAL services discovery (default enabled)])
|
|
@@ -2742,28 +2781,12 @@ dnl Trying with pkg-config
|
|
AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
|
|
AC_CHECK_HEADERS(postproc/postprocess.h libpostproc/postprocess.h)
|
|
|
|
- AC_CHECK_LIB(avutil, av_crc_init, [
|
|
- VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
|
|
- LDAVUTIL="-lavutil"])
|
|
-
|
|
- AC_CHECK_LIB(avcodec, avcodec_init, [
|
|
- VLC_ADD_BUILTINS([ffmpeg])
|
|
- VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
|
|
- if test "${enable_sout}" != "no"; then
|
|
- VLC_ADD_BUILTINS([stream_out_switcher])
|
|
- fi],
|
|
- [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
|
|
-
|
|
-
|
|
- AC_CHECK_LIB(postproc, pp_postprocess, [
|
|
- VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
|
|
- AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
|
|
- [$LDAVUTIL])
|
|
-
|
|
- AC_CHECK_LIB(avformat, av_open_input_stream, [
|
|
- VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
|
|
- LDFLAGS="${LDFLAGS_save}"
|
|
- CPPFLAGS="${CPPFLAGS_save}"
|
|
+ VLC_ADD_BUILTINS([ffmpeg])
|
|
+ VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
|
|
+ LDAVUTIL="-lavutil"
|
|
+ VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])
|
|
+ VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
|
|
+ VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz])
|
|
])
|
|
fi
|
|
fi
|
|
@@ -4407,7 +4430,7 @@ dnl
|
|
AC_ARG_WITH(,[Interface plugins:])
|
|
|
|
dnl special case for BeOS
|
|
-if test "${SYS}" = "beos"
|
|
+if test "${SYS}" = "beos" || test "${SYS}" = "haiku"
|
|
then
|
|
VLC_ADD_BUILTINS([beos])
|
|
fi
|
|
@@ -4418,8 +4441,7 @@ dnl
|
|
AC_ARG_ENABLE(skins2,
|
|
[ --enable-skins2 Skins2 interface module (experimental)])
|
|
if test "${enable_skins2}" = "yes" ||
|
|
- (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
|
|
- test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
|
|
+ (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${SYS}" != "haiku" && test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
|
|
|
|
dnl test for the required libraries
|
|
skins2_missing_lib="no"
|
|
diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile
|
|
index 0ef86b0..790ef2c 100644
|
|
--- a/extras/contrib/src/Makefile
|
|
+++ b/extras/contrib/src/Makefile
|
|
@@ -153,9 +153,9 @@ else
|
|
ifdef HAVE_BEOS
|
|
ifeq ($(HOST),$(BUILD))
|
|
# Native build: we need perl, autoconf, etc first
|
|
- all: .perl .autoconf .automake .libtool .iconv .intl .freetype .fribidi \
|
|
+ all: .libtool .iconv .intl .freetype .fribidi \
|
|
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
|
|
- .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \
|
|
+ .faad .lame .ebml .matroska .dvdcss \
|
|
.dvdnav .dvbpsi .aclocal .libdca
|
|
else
|
|
# Cross compiling: we already have the Linux tools, only build the
|
|
diff --git a/include/vlc_threads.h b/include/vlc_threads.h
|
|
index 709228d..95e23c3 100644
|
|
--- a/include/vlc_threads.h
|
|
+++ b/include/vlc_threads.h
|
|
@@ -45,7 +45,7 @@
|
|
#elif defined( HAVE_KERNEL_SCHEDULER_H ) /* BeOS */
|
|
# include <kernel/OS.h>
|
|
# include <kernel/scheduler.h>
|
|
-# include <byteorder.h>
|
|
+# include <ByteOrder.h>
|
|
|
|
#elif defined( PTHREAD_COND_T_IN_PTHREAD_H ) /* pthreads (like Linux & BSD) */
|
|
# include <pthread.h>
|
|
diff --git a/modules/codec/telx.c b/modules/codec/telx.c
|
|
index 4d3a30f..6ee55f1 100644
|
|
--- a/modules/codec/telx.c
|
|
+++ b/modules/codec/telx.c
|
|
@@ -27,7 +27,7 @@
|
|
*****************************************************************************/
|
|
#include <vlc/vlc.h>
|
|
#include <assert.h>
|
|
-#include <stdint.h>
|
|
+#include <inttypes.h>
|
|
|
|
#include <vlc/vout.h>
|
|
#include <vlc/decoder.h>
|
|
@@ -450,7 +450,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
|
|
vlc_bool_t b_update = VLC_FALSE;
|
|
char psz_text[512], *pt = psz_text;
|
|
char psz_line[256];
|
|
- int i, total;
|
|
+ int i, total, mpag, row, magazine;
|
|
|
|
if( pp_block == NULL || *pp_block == NULL ) return NULL;
|
|
p_block = *pp_block;
|
|
@@ -473,8 +473,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
|
|
/* continue; */
|
|
/* } */
|
|
|
|
- int mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] );
|
|
- int row, magazine;
|
|
+ mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] );
|
|
if ( mpag < 0 )
|
|
{
|
|
/* decode error */
|
|
diff --git a/modules/gui/beos/InterfaceWindow.cpp b/modules/gui/beos/InterfaceWindow.cpp
|
|
index 22094c4..f252085 100644
|
|
--- a/modules/gui/beos/InterfaceWindow.cpp
|
|
+++ b/modules/gui/beos/InterfaceWindow.cpp
|
|
@@ -319,10 +319,8 @@ InterfaceWindow::InterfaceWindow( intf_thread_t * _p_intf, BRect frame,
|
|
|
|
/* Add the Show menu */
|
|
fShowMenu = new BMenu( _("Window") );
|
|
-#if 0
|
|
ADD_ELLIPSIS( _("Playlist") );
|
|
fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_PLAYLIST ), 'P') );
|
|
-#endif
|
|
ADD_ELLIPSIS( _("Messages") );
|
|
fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_MESSAGES ), 'M' ) );
|
|
ADD_ELLIPSIS( _("Preferences") );
|
|
diff --git a/src/input/input.c b/src/input/input.c
|
|
index 39cc01a..e7c6a09 100644
|
|
--- a/src/input/input.c
|
|
+++ b/src/input/input.c
|
|
@@ -1886,7 +1886,7 @@ static int UpdateMeta( input_thread_t *p_input, vlc_bool_t b_quick )
|
|
{
|
|
vlc_meta_t *p_meta = p_input->p_meta;
|
|
int i;
|
|
-
|
|
+ char *psz_cat;
|
|
if( !p_meta || p_meta->i_meta == 0 )
|
|
return VLC_SUCCESS;
|
|
|
|
@@ -1917,7 +1917,6 @@ static int UpdateMeta( input_thread_t *p_input, vlc_bool_t b_quick )
|
|
if( tk->i_meta > 0 )
|
|
{
|
|
msg_Dbg( p_input, " - track[%d]:", i );
|
|
- char *psz_cat;
|
|
if( asprintf( &psz_cat, "%s %d", _("Stream"), i ) != -1 )
|
|
{
|
|
for( j = 0; j < tk->i_meta; j++ )
|
|
diff --git a/src/misc/threads.c b/src/misc/threads.c
|
|
index f7142c9..efefcdd 100644
|
|
--- a/src/misc/threads.c
|
|
+++ b/src/misc/threads.c
|
|
@@ -542,6 +542,7 @@ int __vlc_thread_create( vlc_object_t *p_this, char * psz_file, int i_line,
|
|
* function instead of CreateThread, otherwise you'll end up with
|
|
* memory leaks and the signal functions not working (see Microsoft
|
|
* Knowledge Base, article 104641) */
|
|
+
|
|
p_this->thread_id =
|
|
#if defined( UNDER_CE )
|
|
(HANDLE)CreateThread( NULL, 0, (PTHREAD_START) func,
|
|
@@ -636,7 +637,6 @@ int __vlc_thread_create( vlc_object_t *p_this, char * psz_file, int i_line,
|
|
psz_name, psz_file, i_line, strerror(i_ret) );
|
|
vlc_mutex_unlock( &p_this->object_lock );
|
|
}
|
|
-
|
|
return i_ret;
|
|
}
|
|
|
|
@@ -689,7 +689,6 @@ int __vlc_thread_set_priority( vlc_object_t *p_this, char * psz_file,
|
|
}
|
|
}
|
|
#endif
|
|
-
|
|
return 0;
|
|
}
|
|
|
|
diff --git a/src/misc/vlm.c b/src/misc/vlm.c
|
|
index 651a5d0..bc7d1ab 100644
|
|
--- a/src/misc/vlm.c
|
|
+++ b/src/misc/vlm.c
|
|
@@ -1368,10 +1368,10 @@ static int64_t vlm_Date( void )
|
|
|
|
vlm_schedule_t *vlm_ScheduleNew( vlm_t *vlm, const char *psz_name )
|
|
{
|
|
+ vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) );
|
|
if( !psz_name )
|
|
return NULL;
|
|
|
|
- vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) );
|
|
if( !p_sched )
|
|
return NULL;
|
|
|
|
diff --git a/src/network/httpd.c b/src/network/httpd.c
|
|
index ecd1a01..98b9b16 100644
|
|
--- a/src/network/httpd.c
|
|
+++ b/src/network/httpd.c
|
|
@@ -60,6 +60,10 @@
|
|
#define HTTPD_CL_BUFSIZE 10000
|
|
#endif
|
|
|
|
+
|
|
+#include<sys/select.h>
|
|
+
|
|
+
|
|
static void httpd_ClientClean( httpd_client_t *cl );
|
|
|
|
struct httpd_url_t
|
|
@@ -368,6 +372,7 @@ static int httpd_FileCallBack( httpd_callback_sys_t *p_sys, httpd_client_t *cl,
|
|
uint8_t **pp_body, *p_body;
|
|
char *psz_connection = NULL;
|
|
int *pi_body, i_body;
|
|
+ uint8_t *psz_args = query->psz_args;
|
|
|
|
if( answer == NULL || query == NULL )
|
|
{
|
|
@@ -402,7 +407,6 @@ static int httpd_FileCallBack( httpd_callback_sys_t *p_sys, httpd_client_t *cl,
|
|
/* msg_Warn not supported */
|
|
}
|
|
|
|
- uint8_t *psz_args = query->psz_args;
|
|
file->pf_fill( file->p_sys, file, psz_args, pp_body, pi_body );
|
|
|
|
if( query->i_type == HTTPD_MSG_HEAD && p_body != NULL )
|
|
@@ -487,6 +491,7 @@ static int httpd_HandlerCallBack( httpd_callback_sys_t *p_sys, httpd_client_t *c
|
|
{
|
|
httpd_handler_t *handler = (httpd_handler_t*)p_sys;
|
|
char psz_remote_addr[NI_MAXNUMERICHOST];
|
|
+ uint8_t *psz_args = query->psz_args;
|
|
|
|
if( answer == NULL || query == NULL )
|
|
{
|
|
@@ -502,7 +507,6 @@ static int httpd_HandlerCallBack( httpd_callback_sys_t *p_sys, httpd_client_t *c
|
|
if( httpd_ClientIP( cl, psz_remote_addr ) == NULL )
|
|
*psz_remote_addr = '\0';
|
|
|
|
- uint8_t *psz_args = query->psz_args;
|
|
handler->pf_fill( handler->p_sys, handler, query->psz_url, psz_args,
|
|
query->i_type, query->p_body, query->i_body,
|
|
psz_remote_addr, NULL,
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 383f945280a82d68b0b8ce81f53557d57c6a3b13 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Thu, 4 Sep 2014 22:36:37 +0200
|
|
Subject: FFmpeg 0.10 fix.
|
|
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index ad7cfc3..7eba486 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -2792,16 +2792,6 @@ dnl Trying with pkg-config
|
|
fi
|
|
fi
|
|
|
|
-dnl Check if we have (required) img_resample() in libavcodec
|
|
-if test "${enable_ffmpeg}" != "no"
|
|
-then
|
|
- CFLAGS="${CFLAGS} ${CFLAGS_ffmpeg}"
|
|
- LDFLAGS="${LDFLAGS} ${LDFLAGS_ffmpeg}"
|
|
- AC_CHECK_LIB(avcodec, img_resample, ,
|
|
- [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled])], -lavutil)
|
|
- VLC_RESTORE_FLAGS
|
|
-fi
|
|
-
|
|
dnl Clean out environment
|
|
LIBS="${LIBS_save}"
|
|
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From fd45aaf97d28bfbd87a576400f62688f89f95158 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Thu, 4 Sep 2014 22:37:02 +0200
|
|
Subject: ffmpeg 0.10 fixes.
|
|
|
|
|
|
diff --git a/modules/codec/ffmpeg/audio.c b/modules/codec/ffmpeg/audio.c
|
|
index 14b7ff7..1fe560e 100644
|
|
--- a/modules/codec/ffmpeg/audio.c
|
|
+++ b/modules/codec/ffmpeg/audio.c
|
|
@@ -111,7 +111,7 @@ int E_(InitAudioDec)( decoder_t *p_dec, AVCodecContext *p_context,
|
|
p_sys->p_context->channels = p_dec->fmt_in.audio.i_channels;
|
|
p_sys->p_context->block_align = p_dec->fmt_in.audio.i_blockalign;
|
|
p_sys->p_context->bit_rate = p_dec->fmt_in.i_bitrate;
|
|
- p_sys->p_context->bits_per_sample = p_dec->fmt_in.audio.i_bitspersample;
|
|
+ p_sys->p_context->bits_per_coded_sample = p_dec->fmt_in.audio.i_bitspersample;
|
|
|
|
if( ( p_sys->p_context->extradata_size = p_dec->fmt_in.i_extra ) > 0 )
|
|
{
|
|
diff --git a/modules/codec/ffmpeg/ffmpeg.c b/modules/codec/ffmpeg/ffmpeg.c
|
|
index 158e412..2622005 100644
|
|
--- a/modules/codec/ffmpeg/ffmpeg.c
|
|
+++ b/modules/codec/ffmpeg/ffmpeg.c
|
|
@@ -38,6 +38,8 @@
|
|
# include <avcodec.h>
|
|
#endif
|
|
|
|
+#include <libavutil/cpu.h>
|
|
+
|
|
#if LIBAVCODEC_BUILD < 4680
|
|
# error You must have a libavcodec >= 4680 (get CVS)
|
|
#endif
|
|
@@ -270,23 +272,23 @@ static int OpenDecoder( vlc_object_t *p_this )
|
|
p_context->dsp_mask = 0;
|
|
if( !(p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_MMX) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_MMX;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_MMX;
|
|
}
|
|
if( !(p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_MMXEXT) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_MMXEXT;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_MMX2;
|
|
}
|
|
if( !(p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_3DNOW) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_3DNOW;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_3DNOW;
|
|
}
|
|
if( !(p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_SSE) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_SSE;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_SSE;
|
|
}
|
|
if( !(p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_SSE2) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_SSE2;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_SSE2;
|
|
}
|
|
|
|
switch( i_cat )
|
|
@@ -456,7 +458,7 @@ static struct
|
|
{ VLC_FOURCC('Y','V','U','9'), PIX_FMT_YUV410P },
|
|
|
|
/* Packed YUV formats */
|
|
- { VLC_FOURCC('Y','U','Y','2'), PIX_FMT_YUV422 },
|
|
+ { VLC_FOURCC('Y','U','Y','2'), PIX_FMT_YUYV422 },
|
|
#if LIBAVCODEC_BUILD >= 4720
|
|
{ VLC_FOURCC('U','Y','V','Y'), PIX_FMT_UYVY422 },
|
|
#endif
|
|
@@ -475,7 +477,7 @@ static struct
|
|
{ VLC_FOURCC('R','V','1','6'), PIX_FMT_RGB565 },
|
|
{ VLC_FOURCC('R','V','2','4'), PIX_FMT_RGB24 },
|
|
#endif
|
|
- { VLC_FOURCC('R','V','3','2'), PIX_FMT_RGBA32 },
|
|
+ { VLC_FOURCC('R','V','3','2'), PIX_FMT_RGB32 },
|
|
#if defined(PIX_FMT_RGBA)
|
|
{ VLC_FOURCC('R','G','B','A'), PIX_FMT_RGBA },
|
|
#endif
|
|
diff --git a/modules/codec/ffmpeg/video.c b/modules/codec/ffmpeg/video.c
|
|
index e8e72b5..46966a0 100644
|
|
--- a/modules/codec/ffmpeg/video.c
|
|
+++ b/modules/codec/ffmpeg/video.c
|
|
@@ -121,7 +121,7 @@ static uint32_t ffmpeg_PixFmtToChroma( int i_ff_chroma )
|
|
case PIX_FMT_YUVJ444P: /* Hacky but better then chroma conversion */
|
|
return VLC_FOURCC('I','4','4','4');
|
|
|
|
- case PIX_FMT_YUV422:
|
|
+ case PIX_FMT_YUYV422:
|
|
return VLC_FOURCC('Y','U','Y','2');
|
|
|
|
case PIX_FMT_RGB555:
|
|
@@ -130,7 +130,7 @@ static uint32_t ffmpeg_PixFmtToChroma( int i_ff_chroma )
|
|
return VLC_FOURCC('R','V','1','6');
|
|
case PIX_FMT_RGB24:
|
|
return VLC_FOURCC('R','V','2','4');
|
|
- case PIX_FMT_RGBA32:
|
|
+ case PIX_FMT_RGB32:
|
|
return VLC_FOURCC('R','V','3','2');
|
|
case PIX_FMT_GRAY8:
|
|
return VLC_FOURCC('G','R','E','Y');
|
|
@@ -259,12 +259,12 @@ int E_(InitVideoDec)( decoder_t *p_dec, AVCodecContext *p_context,
|
|
p_sys->p_context->codec_tag = ffmpeg_CodecTag( p_dec->fmt_in.i_codec );
|
|
p_sys->p_context->width = p_dec->fmt_in.video.i_width;
|
|
p_sys->p_context->height = p_dec->fmt_in.video.i_height;
|
|
- p_sys->p_context->bits_per_sample = p_dec->fmt_in.video.i_bits_per_pixel;
|
|
+ p_sys->p_context->bits_per_coded_sample = p_dec->fmt_in.video.i_bits_per_pixel;
|
|
|
|
/* ***** Get configuration of ffmpeg plugin ***** */
|
|
p_sys->p_context->workaround_bugs =
|
|
config_GetInt( p_dec, "ffmpeg-workaround-bugs" );
|
|
- p_sys->p_context->error_resilience =
|
|
+ p_sys->p_context->error_recognition =
|
|
config_GetInt( p_dec, "ffmpeg-error-resilience" );
|
|
|
|
var_Create( p_dec, "grayscale", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
|
|
@@ -448,7 +448,7 @@ picture_t *E_(DecodeVideo)( decoder_t *p_dec, block_t **pp_block )
|
|
b_drawpicture = 0;
|
|
if( p_sys->i_late_frames < 8 )
|
|
{
|
|
- p_sys->p_context->hurry_up = 2;
|
|
+ p_sys->p_context->skip_frame = 2;
|
|
}
|
|
else
|
|
{
|
|
@@ -466,19 +466,19 @@ picture_t *E_(DecodeVideo)( decoder_t *p_dec, block_t **pp_block )
|
|
if (!(p_block->i_flags & BLOCK_FLAG_PREROLL))
|
|
{
|
|
b_drawpicture = 1;
|
|
- p_sys->p_context->hurry_up = 0;
|
|
+ p_sys->p_context->skip_frame = 0;
|
|
}
|
|
else
|
|
{
|
|
b_drawpicture = 0;
|
|
- p_sys->p_context->hurry_up = 1;
|
|
+ p_sys->p_context->skip_frame = 1;
|
|
}
|
|
}
|
|
|
|
|
|
if( p_sys->p_context->width <= 0 || p_sys->p_context->height <= 0 )
|
|
{
|
|
- p_sys->p_context->hurry_up = 5;
|
|
+ p_sys->p_context->skip_frame = 5;
|
|
b_null_size = VLC_TRUE;
|
|
}
|
|
|
|
@@ -516,19 +516,25 @@ picture_t *E_(DecodeVideo)( decoder_t *p_dec, block_t **pp_block )
|
|
{
|
|
int i_used, b_gotpicture;
|
|
picture_t *p_pic;
|
|
+ AVPacket pkt;
|
|
|
|
- i_used = avcodec_decode_video( p_sys->p_context, p_sys->p_ff_pic,
|
|
+ av_init_packet(&pkt);
|
|
+ pkt.data = p_sys->p_buffer;
|
|
+ pkt.size = p_sys->i_buffer;
|
|
+
|
|
+ i_used = avcodec_decode_video2( p_sys->p_context, p_sys->p_ff_pic,
|
|
&b_gotpicture,
|
|
- (uint8_t*)p_sys->p_buffer, p_sys->i_buffer );
|
|
+ &pkt );
|
|
if( b_null_size && p_sys->p_context->width > 0 &&
|
|
p_sys->p_context->height > 0 )
|
|
{
|
|
/* Reparse it to not drop the I frame */
|
|
b_null_size = VLC_FALSE;
|
|
- p_sys->p_context->hurry_up = 0;
|
|
- i_used = avcodec_decode_video( p_sys->p_context, p_sys->p_ff_pic,
|
|
+ p_sys->p_context->skip_frame = 0;
|
|
+
|
|
+ i_used = avcodec_decode_video2( p_sys->p_context, p_sys->p_ff_pic,
|
|
&b_gotpicture,
|
|
- (uint8_t*)p_sys->p_buffer, p_sys->i_buffer );
|
|
+ &pkt );
|
|
}
|
|
|
|
if( i_used < 0 )
|
|
diff --git a/modules/codec/ffmpeg/video_filter.c b/modules/codec/ffmpeg/video_filter.c
|
|
index 2eff2ba..fd9dc18 100644
|
|
--- a/modules/codec/ffmpeg/video_filter.c
|
|
+++ b/modules/codec/ffmpeg/video_filter.c
|
|
@@ -39,6 +39,7 @@
|
|
#endif
|
|
|
|
#include "ffmpeg.h"
|
|
+#include "resampleWrapper.h"
|
|
|
|
void E_(InitLibavcodec) ( vlc_object_t *p_object );
|
|
static int CheckInit( filter_t *p_filter );
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 644e2900d633733a6c6c44ce47cef93397f10d23 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Thu, 4 Sep 2014 23:00:02 +0200
|
|
Subject: Cinepak: gcc2 fixes.
|
|
|
|
|
|
diff --git a/modules/codec/cinepak.c b/modules/codec/cinepak.c
|
|
index b30ea78..c8fe9d1 100644
|
|
--- a/modules/codec/cinepak.c
|
|
+++ b/modules/codec/cinepak.c
|
|
@@ -288,11 +288,11 @@ static void cinepak_Getv4( cinepak_context_t *p_context,
|
|
size_t y_siz = p_context->i_stride[0] * p_context->i_lines[0];
|
|
size_t u_siz = p_context->i_stride[1] * p_context->i_lines[1];
|
|
size_t v_siz = p_context->i_stride[2] * p_context->i_lines[2];
|
|
+ uint8_t *p_dst_y, *p_dst_u, *p_dst_v;
|
|
/* boundary check */
|
|
if( y_max >= y_siz || u_max >= u_siz || v_max >= v_siz )
|
|
return;
|
|
|
|
- uint8_t *p_dst_y, *p_dst_u, *p_dst_v;
|
|
#define PIX_SET_Y( x, y, v ) \
|
|
p_dst_y[(x) + (y)* p_context->i_stride[0]] = (v);
|
|
|
|
@@ -345,11 +345,11 @@ static void cinepak_Getv1( cinepak_context_t *p_context,
|
|
size_t y_siz = p_context->i_stride[0] * p_context->i_lines[0];
|
|
size_t u_siz = p_context->i_stride[1] * p_context->i_lines[1];
|
|
size_t v_siz = p_context->i_stride[2] * p_context->i_lines[2];
|
|
+ uint8_t *p_dst_y, *p_dst_u, *p_dst_v;
|
|
/* boundary check */
|
|
if( y_max >= y_siz || u_max >= u_siz || v_max >= v_siz )
|
|
return;
|
|
|
|
- uint8_t *p_dst_y, *p_dst_u, *p_dst_v;
|
|
#define PIX_SET_Y( x, y, v ) \
|
|
p_dst_y[(x) + (y)* p_context->i_stride[0]] = (v);
|
|
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 9d5276bae39aedc15b6ed9f155fc86d30dffec76 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Thu, 11 Sep 2014 08:39:13 +0200
|
|
Subject: gcc2, BeOS vs Haiku and ffmpeg 0.10 fixes.
|
|
|
|
* C99 style variable declarations
|
|
* Update ffmpeg code to ffmpeg 0.10 API changes
|
|
* Hack configure script to enable BeOS code on Haiku
|
|
|
|
diff --git a/config.h.in b/config.h.in
|
|
index e60d9b1..f2be648 100644
|
|
--- a/config.h.in
|
|
+++ b/config.h.in
|
|
@@ -372,9 +372,6 @@
|
|
/* Define to 1 if you have the <libavc1394/avc1394.h> header file. */
|
|
#undef HAVE_LIBAVC1394_AVC1394_H
|
|
|
|
-/* Define to 1 if you have the `avcodec' library (-lavcodec). */
|
|
-#undef HAVE_LIBAVCODEC
|
|
-
|
|
/* Define to 1 if you have the <libavcodec/avcodec.h> header file. */
|
|
#undef HAVE_LIBAVCODEC_AVCODEC_H
|
|
|
|
@@ -880,6 +877,9 @@
|
|
/* Define to the one symbol short name of this package. */
|
|
#undef PACKAGE_TARNAME
|
|
|
|
+/* Define to the home page for this package. */
|
|
+#undef PACKAGE_URL
|
|
+
|
|
/* Define to the version of this package. */
|
|
#undef PACKAGE_VERSION
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 7eba486..be0206a 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -287,7 +287,7 @@ case "${target_os}" in
|
|
SYS="${target_os}"
|
|
;;
|
|
esac
|
|
-AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
|
|
+AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "haiku")
|
|
AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku")
|
|
AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
|
|
AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
|
|
diff --git a/include/main.h b/include/main.h
|
|
index 33332f5..5183da7 100644
|
|
--- a/include/main.h
|
|
+++ b/include/main.h
|
|
@@ -62,7 +62,7 @@ struct libvlc_t
|
|
#if !defined( WIN32 )
|
|
vlc_bool_t b_daemon;
|
|
#endif
|
|
-#if defined( SYS_BEOS )
|
|
+#if defined( SYS_BEOS ) || defined(__HAIKU__)
|
|
vlc_object_t * p_appthread;
|
|
char * psz_vlcpath;
|
|
#elif defined( __APPLE__ )
|
|
diff --git a/include/os_specific.h b/include/os_specific.h
|
|
index 2d6db18..d2b213f 100644
|
|
--- a/include/os_specific.h
|
|
+++ b/include/os_specific.h
|
|
@@ -26,7 +26,7 @@
|
|
# define _NEED_OS_SPECIFIC_H 1
|
|
#endif
|
|
|
|
-#if defined( SYS_BEOS )
|
|
+#if defined( SYS_BEOS ) || defined(__HAIKU__)
|
|
# include "beos_specific.h"
|
|
#elif defined( __APPLE__ )
|
|
# include "darwin_specific.h"
|
|
diff --git a/include/vlc_threads.h b/include/vlc_threads.h
|
|
index 95e23c3..7ac43c4 100644
|
|
--- a/include/vlc_threads.h
|
|
+++ b/include/vlc_threads.h
|
|
@@ -42,7 +42,7 @@
|
|
#elif defined( WIN32 )
|
|
# include <process.h> /* Win32 API */
|
|
|
|
-#elif defined( HAVE_KERNEL_SCHEDULER_H ) /* BeOS */
|
|
+#elif defined( HAVE_KERNEL_SCHEDULER_H ) || defined(__HAIKU__) /* BeOS */
|
|
# include <kernel/OS.h>
|
|
# include <kernel/scheduler.h>
|
|
# include <ByteOrder.h>
|
|
diff --git a/modules/codec/ffmpeg/chroma.c b/modules/codec/ffmpeg/chroma.c
|
|
index a9869cc..c3cbe0c 100644
|
|
--- a/modules/codec/ffmpeg/chroma.c
|
|
+++ b/modules/codec/ffmpeg/chroma.c
|
|
@@ -37,6 +37,7 @@
|
|
#endif
|
|
|
|
#include "ffmpeg.h"
|
|
+#include "resample.h"
|
|
|
|
void E_(InitLibavcodec) ( vlc_object_t *p_object );
|
|
static void ChromaConversion( vout_thread_t *, picture_t *, picture_t * );
|
|
diff --git a/modules/codec/ffmpeg/encoder.c b/modules/codec/ffmpeg/encoder.c
|
|
index c273b32..cd4c266 100644
|
|
--- a/modules/codec/ffmpeg/encoder.c
|
|
+++ b/modules/codec/ffmpeg/encoder.c
|
|
@@ -269,20 +269,20 @@ int E_(OpenEncoder)( vlc_object_t *p_this )
|
|
p_context->dsp_mask = 0;
|
|
if( !(p_enc->p_libvlc->i_cpu & CPU_CAPABILITY_MMX) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_MMX;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_MMX;
|
|
}
|
|
if( !(p_enc->p_libvlc->i_cpu & CPU_CAPABILITY_MMXEXT) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_MMXEXT;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_MMX2;
|
|
}
|
|
if( !(p_enc->p_libvlc->i_cpu & CPU_CAPABILITY_3DNOW) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_3DNOW;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_3DNOW;
|
|
}
|
|
if( !(p_enc->p_libvlc->i_cpu & CPU_CAPABILITY_SSE) )
|
|
{
|
|
- p_context->dsp_mask |= FF_MM_SSE;
|
|
- p_context->dsp_mask |= FF_MM_SSE2;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_SSE;
|
|
+ p_context->dsp_mask |= AV_CPU_FLAG_SSE2;
|
|
}
|
|
|
|
sout_CfgParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg );
|
|
@@ -505,7 +505,7 @@ int E_(OpenEncoder)( vlc_object_t *p_this )
|
|
}
|
|
|
|
if ( p_sys->b_trellis )
|
|
- p_context->flags |= CODEC_FLAG_TRELLIS_QUANT;
|
|
+ p_context->trellis |= 1;
|
|
|
|
if ( p_sys->i_qmin > 0 && p_sys->i_qmin == p_sys->i_qmax )
|
|
p_context->flags |= CODEC_FLAG_QSCALE;
|
|
@@ -519,9 +519,9 @@ int E_(OpenEncoder)( vlc_object_t *p_this )
|
|
p_context->bit_rate_tolerance = p_sys->i_vtolerance;
|
|
|
|
if( p_sys->i_qmin > 0 )
|
|
- p_context->mb_qmin = p_context->qmin = p_sys->i_qmin;
|
|
+ p_context->qmin = p_sys->i_qmin;
|
|
if( p_sys->i_qmax > 0 )
|
|
- p_context->mb_qmax = p_context->qmax = p_sys->i_qmax;
|
|
+ p_context->qmax = p_sys->i_qmax;
|
|
p_context->max_qdiff = 3;
|
|
|
|
p_context->mb_decision = p_sys->i_hq;
|
|
@@ -809,7 +809,7 @@ static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict )
|
|
if ( current_date + HURRY_UP_GUARD3 > frame.pts )
|
|
{
|
|
p_sys->p_context->mb_decision = FF_MB_DECISION_SIMPLE;
|
|
- p_sys->p_context->flags &= ~CODEC_FLAG_TRELLIS_QUANT;
|
|
+ p_sys->p_context->trellis = 0;
|
|
msg_Dbg( p_enc, "hurry up mode 3" );
|
|
}
|
|
else
|
|
@@ -818,7 +818,7 @@ static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict )
|
|
|
|
if ( current_date + HURRY_UP_GUARD2 > frame.pts )
|
|
{
|
|
- p_sys->p_context->flags &= ~CODEC_FLAG_TRELLIS_QUANT;
|
|
+ p_sys->p_context->trellis = 0;
|
|
#if LIBAVCODEC_BUILD >= 4690
|
|
p_sys->p_context->noise_reduction = p_sys->i_noise_reduction
|
|
+ (HURRY_UP_GUARD2 + current_date - frame.pts) / 500;
|
|
@@ -828,7 +828,7 @@ static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict )
|
|
else
|
|
{
|
|
if ( p_sys->b_trellis )
|
|
- p_sys->p_context->flags |= CODEC_FLAG_TRELLIS_QUANT;
|
|
+ p_sys->p_context->trellis |= 1;
|
|
#if LIBAVCODEC_BUILD >= 4690
|
|
p_sys->p_context->noise_reduction =
|
|
p_sys->i_noise_reduction;
|
|
diff --git a/modules/codec/ffmpeg/postprocess.c b/modules/codec/ffmpeg/postprocess.c
|
|
index be87e11..286902d 100644
|
|
--- a/modules/codec/ffmpeg/postprocess.c
|
|
+++ b/modules/codec/ffmpeg/postprocess.c
|
|
@@ -54,8 +54,8 @@
|
|
*****************************************************************************/
|
|
typedef struct video_postproc_sys_t
|
|
{
|
|
- pp_context_t *pp_context;
|
|
- pp_mode_t *pp_mode;
|
|
+ pp_context *pp_context;
|
|
+ pp_mode *pp_mode;
|
|
|
|
vlc_bool_t *pb_pp;
|
|
|
|
@@ -231,7 +231,7 @@ static int PPQCallback( vlc_object_t *p_this, char const *psz_cmd,
|
|
{
|
|
int i_quality = newval.i_int;
|
|
char *psz_name = config_GetPsz( p_dec, "ffmpeg-pp-name" );
|
|
- pp_mode_t *pp_mode;
|
|
+ pp_mode *pp_mode;
|
|
|
|
if( !psz_name )
|
|
{
|
|
diff --git a/modules/codec/ffmpeg/resample.c b/modules/codec/ffmpeg/resample.c
|
|
new file mode 100644
|
|
index 0000000..57bb258
|
|
--- /dev/null
|
|
+++ b/modules/codec/ffmpeg/resample.c
|
|
@@ -0,0 +1,82 @@
|
|
+#if LIBAVCODEC_VERSION_MAJOR >= 52
|
|
+
|
|
+
|
|
+
|
|
+ void img_resample(ImgReSampleContext * context, AVPicture * pxOut,
|
|
+const AVPicture * pxIn)
|
|
+ {
|
|
+ if (context != NULL && context->context != NULL)
|
|
+ {
|
|
+ AVPicture shiftedInput = {0};
|
|
+ shiftedInput.data[0] = pxIn->data[0] + pxIn->linesize[0] *
|
|
+context->bandTop + context->bandLeft;
|
|
+ shiftedInput.data[1] = pxIn->data[1] + (pxIn->linesize[1] *
|
|
+(context->bandTop / 2)) + (context->bandLeft+1) / 2;
|
|
+ shiftedInput.data[2] = pxIn->data[2] + (pxIn->linesize[2] *
|
|
+(context->bandTop / 2)) + (context->bandLeft+1) / 2;
|
|
+ shiftedInput.linesize[0] = pxIn->linesize[0];
|
|
+ shiftedInput.linesize[1] = pxIn->linesize[1];
|
|
+ shiftedInput.linesize[2] = pxIn->linesize[2];
|
|
+ sws_scale(context->context, (uint8_t**)shiftedInput.data,
|
|
+(int*)shiftedInput.linesize, 0, context->height - context->bandBottom -
|
|
+context->bandTop, pxOut->data, pxOut->linesize);
|
|
+ }
|
|
+ }
|
|
+
|
|
+
|
|
+
|
|
+ ImgReSampleContext * img_resample_full_init (int owidth, int
|
|
+oheight, int iwidth, int iheight,
|
|
+ int topBand, int
|
|
+bottomBand, int leftBand, int rightBand,
|
|
+ int padtop, int
|
|
+padbottom, int padleft, int padright)
|
|
+ {
|
|
+ ImgReSampleContext * s = (ImgReSampleContext
|
|
+*)av_malloc(sizeof(ImgReSampleContext));
|
|
+ int srcSurface = (iwidth - rightBand - leftBand)* (iheight -
|
|
+topBand - bottomBand);
|
|
+ if (s == NULL) return NULL;
|
|
+ // We use bilinear when the source surface is big, and bicubic
|
|
+ // when the number of pixels to handle is less than 1 MPixels
|
|
+ s->context = sws_getContext(iwidth - rightBand - leftBand,
|
|
+iheight - topBand - bottomBand, PIX_FMT_YUV420P, owidth, oheight,
|
|
+PIX_FMT_YUV420P, srcSurface > 1024000 ? SWS_FAST_BILINEAR : SWS_BICUBIC,
|
|
+NULL, NULL, NULL);
|
|
+ if (s->context == NULL) { av_free(s); return NULL; }
|
|
+ s->bandLeft = leftBand;
|
|
+ s->bandRight = rightBand;
|
|
+ s->bandTop = topBand;
|
|
+ s->bandBottom = bottomBand;
|
|
+
|
|
+ s->padLeft = padleft;
|
|
+ s->padRight = padright;
|
|
+ s->padTop = padtop;
|
|
+ s->padBottom = padbottom;
|
|
+
|
|
+ s->width = iwidth;
|
|
+ s->height = iheight;
|
|
+
|
|
+ s->outWidth = owidth;
|
|
+ s->outHeight = oheight;
|
|
+
|
|
+ return s;
|
|
+ }
|
|
+
|
|
+ ImgReSampleContext * img_resample_init (int owidth, int oheight, int
|
|
+iwidth, int iheight)
|
|
+ {
|
|
+ return img_resample_full_init(owidth, oheight, iwidth, iheight,
|
|
+0, 0, 0, 0, 0, 0, 0, 0);
|
|
+ }
|
|
+
|
|
+ void img_resample_close(ImgReSampleContext * s)
|
|
+ {
|
|
+ if (s == NULL) return;
|
|
+ sws_freeContext(s->context);
|
|
+
|
|
+ av_free(s);
|
|
+ }
|
|
+
|
|
+#endif
|
|
+
|
|
diff --git a/modules/codec/ffmpeg/resample.h b/modules/codec/ffmpeg/resample.h
|
|
new file mode 100644
|
|
index 0000000..827b304
|
|
--- /dev/null
|
|
+++ b/modules/codec/ffmpeg/resample.h
|
|
@@ -0,0 +1,48 @@
|
|
+#include <libavcodec/avcodec.h>
|
|
+#include <libswscale/swscale.h>
|
|
+#if LIBAVCODEC_VERSION_MAJOR >= 52
|
|
+ // Starting from this version, ImgReSampleContext doesn't exist anymore.
|
|
+ // This code implements the previous functions with a similar interface
|
|
+ typedef struct
|
|
+ {
|
|
+ /** The context used for resizing */
|
|
+ struct SwsContext * context;
|
|
+ /** The source's width */
|
|
+ int width;
|
|
+ /** The source's height */
|
|
+ int height;
|
|
+ /** The banding used */
|
|
+ int bandLeft;
|
|
+ /** The banding used */
|
|
+ int bandRight;
|
|
+ /** The banding used */
|
|
+ int bandTop;
|
|
+ /** The banding used */
|
|
+ int bandBottom;
|
|
+ /** The padding used */
|
|
+ int padLeft;
|
|
+ /** The padding used */
|
|
+ int padRight;
|
|
+ /** The padding used */
|
|
+ int padTop;
|
|
+ /** The padding used */
|
|
+ int padBottom;
|
|
+ /** The output width */
|
|
+ int outWidth;
|
|
+ /** The output height */
|
|
+ int outHeight;
|
|
+ } ImgReSampleContext;
|
|
+
|
|
+void img_resample_close(ImgReSampleContext * s);
|
|
+void img_resample(ImgReSampleContext * context, AVPicture * out, const
|
|
+AVPicture * in);
|
|
+ImgReSampleContext * img_resample_full_init (int owidth, int oheight,
|
|
+int iwidth, int iheight,
|
|
+ int topBand, int
|
|
+bottomBand, int leftBand, int rightBand,
|
|
+ int padtop, int
|
|
+padbottom, int padleft, int padright);
|
|
+ImgReSampleContext * img_resample_init (int owidth, int oheight, int
|
|
+iwidth, int iheight);
|
|
+#endif
|
|
+
|
|
diff --git a/modules/codec/ffmpeg/video_filter.c b/modules/codec/ffmpeg/video_filter.c
|
|
index fd9dc18..15e02b2 100644
|
|
--- a/modules/codec/ffmpeg/video_filter.c
|
|
+++ b/modules/codec/ffmpeg/video_filter.c
|
|
@@ -39,7 +39,8 @@
|
|
#endif
|
|
|
|
#include "ffmpeg.h"
|
|
-#include "resampleWrapper.h"
|
|
+#include "resample.h"
|
|
+#include "resample.c"
|
|
|
|
void E_(InitLibavcodec) ( vlc_object_t *p_object );
|
|
static int CheckInit( filter_t *p_filter );
|
|
diff --git a/modules/demux/a52.c b/modules/demux/a52.c
|
|
index fac71f7..ae419ec 100644
|
|
--- a/modules/demux/a52.c
|
|
+++ b/modules/demux/a52.c
|
|
@@ -87,6 +87,7 @@ static int Open( vlc_object_t * p_this )
|
|
if( stream_Peek( p_demux->s, &p_peek, 12+8 ) == 12+8 &&
|
|
!memcmp( p_peek, "RIFF", 4 ) && !memcmp( &p_peek[8], "WAVE", 4 ) )
|
|
{
|
|
+ int i_size;
|
|
/* Skip the wave header */
|
|
i_peek = 12 + 8;
|
|
while( memcmp( p_peek + i_peek - 8, "data", 4 ) )
|
|
@@ -104,7 +105,7 @@ static int Open( vlc_object_t * p_this )
|
|
|
|
/* Some A52 wav files don't begin with a sync code so we do a more
|
|
* extensive search */
|
|
- int i_size = stream_Peek( p_demux->s, &p_peek, i_peek + A52_PACKET_SIZE * 2);
|
|
+ i_size = stream_Peek( p_demux->s, &p_peek, i_peek + A52_PACKET_SIZE * 2);
|
|
i_size -= (PCM_FRAME_SIZE + A52_MAX_HEADER_SIZE);
|
|
|
|
while( i_peek < i_size )
|
|
diff --git a/modules/demux/dts.c b/modules/demux/dts.c
|
|
index e33c1be..56de2ba 100644
|
|
--- a/modules/demux/dts.c
|
|
+++ b/modules/demux/dts.c
|
|
@@ -80,6 +80,8 @@ static int Open( vlc_object_t * p_this )
|
|
if( stream_Peek( p_demux->s, &p_peek, 20 ) == 20 &&
|
|
!memcmp( p_peek, "RIFF", 4 ) && !memcmp( &p_peek[8], "WAVE", 4 ) )
|
|
{
|
|
+ uint32_t i_len;
|
|
+ int i_size;
|
|
/* Find the wave format header */
|
|
i_peek = 12 + 8;
|
|
while( memcmp( p_peek + i_peek - 8, "fmt ", 4 ) )
|
|
@@ -94,7 +96,7 @@ static int Open( vlc_object_t * p_this )
|
|
}
|
|
|
|
/* Sanity check the wave format header */
|
|
- uint32_t i_len = GetDWLE( p_peek + i_peek - 4 );
|
|
+ i_len = GetDWLE( p_peek + i_peek - 4 );
|
|
if( i_len > DTS_PROBE_SIZE )
|
|
return VLC_EGENERIC;
|
|
|
|
@@ -124,7 +126,7 @@ static int Open( vlc_object_t * p_this )
|
|
|
|
/* Some DTS wav files don't begin with a sync code so we do a more
|
|
* extensive search */
|
|
- int i_size = stream_Peek( p_demux->s, &p_peek, DTS_PROBE_SIZE );
|
|
+ i_size = stream_Peek( p_demux->s, &p_peek, DTS_PROBE_SIZE );
|
|
i_size -= DTS_MAX_HEADER_SIZE;
|
|
|
|
while( i_peek < i_size )
|
|
diff --git a/modules/gui/beos/InterfaceWindow.cpp b/modules/gui/beos/InterfaceWindow.cpp
|
|
index f252085..ecc9aea 100644
|
|
--- a/modules/gui/beos/InterfaceWindow.cpp
|
|
+++ b/modules/gui/beos/InterfaceWindow.cpp
|
|
@@ -33,7 +33,6 @@
|
|
#include <SupportKit.h>
|
|
#include <malloc.h>
|
|
#include <scsi.h>
|
|
-#include <scsiprobe_driver.h>
|
|
#include <fs_info.h>
|
|
#include <string.h>
|
|
|
|
diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c
|
|
index 95a695c..9baaa4f 100644
|
|
--- a/modules/packetizer/h264.c
|
|
+++ b/modules/packetizer/h264.c
|
|
@@ -219,13 +219,14 @@ static int Open( vlc_object_t *p_this )
|
|
i_sps = (*p++)&0x1f;
|
|
for( i = 0; i < i_sps; i++ )
|
|
{
|
|
+ block_t *p_sps;
|
|
uint16_t i_length = GetWBE( p ); p += 2;
|
|
if( i_length >
|
|
(uint8_t*)p_dec->fmt_in.p_extra + p_dec->fmt_in.i_extra - p )
|
|
{
|
|
return VLC_EGENERIC;
|
|
}
|
|
- block_t *p_sps = nal_get_annexeb( p_dec, p, i_length );
|
|
+ p_sps = nal_get_annexeb( p_dec, p, i_length );
|
|
if( !p_sps )
|
|
return VLC_EGENERIC;
|
|
p_sys->p_sps = block_Duplicate( p_sps );
|
|
@@ -237,13 +238,14 @@ static int Open( vlc_object_t *p_this )
|
|
i_pps = *p++;
|
|
for( i = 0; i < i_pps; i++ )
|
|
{
|
|
+ block_t *p_pps;
|
|
uint16_t i_length = GetWBE( p ); p += 2;
|
|
if( i_length >
|
|
(uint8_t*)p_dec->fmt_in.p_extra + p_dec->fmt_in.i_extra - p )
|
|
{
|
|
return VLC_EGENERIC;
|
|
}
|
|
- block_t *p_pps = nal_get_annexeb( p_dec, p, i_length );
|
|
+ p_pps = nal_get_annexeb( p_dec, p, i_length );
|
|
if( !p_pps )
|
|
return VLC_EGENERIC;
|
|
p_sys->p_pps = block_Duplicate( p_pps );
|
|
@@ -449,6 +451,7 @@ static block_t *PacketizeAVC1( decoder_t *p_dec, block_t **pp_block )
|
|
block_t *p_pic;
|
|
int i_size = 0;
|
|
int i;
|
|
+ block_t *p_part;
|
|
|
|
for( i = 0; i < p_sys->i_avcC_length_size; i++ )
|
|
{
|
|
@@ -462,7 +465,7 @@ static block_t *PacketizeAVC1( decoder_t *p_dec, block_t **pp_block )
|
|
break;
|
|
}
|
|
|
|
- block_t *p_part = nal_get_annexeb( p_dec, p, i_size );
|
|
+ p_part = nal_get_annexeb( p_dec, p, i_size );
|
|
if( !p_part )
|
|
break;
|
|
p_part->i_dts = p_block->i_dts;
|
|
diff --git a/modules/packetizer/mpeg4audio.c b/modules/packetizer/mpeg4audio.c
|
|
index 41b57cc..1c83036 100644
|
|
--- a/modules/packetizer/mpeg4audio.c
|
|
+++ b/modules/packetizer/mpeg4audio.c
|
|
@@ -332,6 +332,7 @@ static int ADTSSyncInfo( decoder_t * p_dec, const byte_t * p_buf,
|
|
{
|
|
int i_profile, i_sample_rate_idx, i_frame_size;
|
|
vlc_bool_t b_crc;
|
|
+ unsigned short i_raw_blocks_in_frame;
|
|
|
|
/* Fixed header between frames */
|
|
//int i_id = ( (p_buf[1] >> 3) & 0x01) ? 2 : 4; /* MPEG-2 or 4 */
|
|
@@ -350,7 +351,7 @@ static int ADTSSyncInfo( decoder_t * p_dec, const byte_t * p_buf,
|
|
i_frame_size = ((p_buf[3] & 0x03) << 11) | (p_buf[4] << 3) |
|
|
((p_buf[5] >> 5) /*& 0x7*/);
|
|
//uint16_t buffer_fullness = ((p_buf[5] & 0x1f) << 6) | (p_buf[6] >> 2);
|
|
- unsigned short i_raw_blocks_in_frame = p_buf[6] & 0x03;
|
|
+ i_raw_blocks_in_frame = p_buf[6] & 0x03;
|
|
|
|
if( !*pi_sample_rate || !*pi_channels || !i_frame_size )
|
|
{
|
|
@@ -436,15 +437,22 @@ static int Mpeg4GAProgramConfigElement( bs_t *s )
|
|
{
|
|
/* TODO compute channels count ? */
|
|
int i_tag = bs_read( s, 4 );
|
|
+ int i_num_front;
|
|
+ int i_num_side;
|
|
+ int i_num_back;
|
|
+ int i_num_lfe;
|
|
+ int i_num_assoc_data;
|
|
+ int i_num_valid_cc;
|
|
+ int i_comment;
|
|
if( i_tag != 0x05 )
|
|
return -1;
|
|
bs_skip( s, 2 + 4 ); // object type + sampling index
|
|
- int i_num_front = bs_read( s, 4 );
|
|
- int i_num_side = bs_read( s, 4 );
|
|
- int i_num_back = bs_read( s, 4 );
|
|
- int i_num_lfe = bs_read( s, 2 );
|
|
- int i_num_assoc_data = bs_read( s, 3 );
|
|
- int i_num_valid_cc = bs_read( s, 4 );
|
|
+ i_num_front = bs_read( s, 4 );
|
|
+ i_num_side = bs_read( s, 4 );
|
|
+ i_num_back = bs_read( s, 4 );
|
|
+ i_num_lfe = bs_read( s, 2 );
|
|
+ i_num_assoc_data = bs_read( s, 3 );
|
|
+ i_num_valid_cc = bs_read( s, 4 );
|
|
|
|
if( bs_read1(s) )
|
|
bs_skip( s, 4 ); // mono downmix
|
|
@@ -460,19 +468,20 @@ static int Mpeg4GAProgramConfigElement( bs_t *s )
|
|
bs_skip( s, i_num_assoc_data * (4) );
|
|
bs_skip( s, i_num_valid_cc * (5) );
|
|
bs_align( s );
|
|
- int i_comment = bs_read( s, 8 );
|
|
+ i_comment = bs_read( s, 8 );
|
|
bs_skip( s, i_comment * 8 );
|
|
return 0;
|
|
}
|
|
|
|
static int Mpeg4GASpecificConfig( mpeg4_cfg_t *p_cfg, bs_t *s )
|
|
{
|
|
+ int i_extension_flag;
|
|
p_cfg->i_frame_length = bs_read1(s) ? 960 : 1024;
|
|
|
|
if( bs_read1( s ) ) // depend on core coder
|
|
bs_skip( s, 14 ); // core coder delay
|
|
|
|
- int i_extension_flag = bs_read1( s );
|
|
+ i_extension_flag = bs_read1( s );
|
|
if( p_cfg->i_channel == 0 )
|
|
{
|
|
Mpeg4GAProgramConfigElement( s );
|
|
diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c
|
|
index 7c85ba4..301dbfc 100644
|
|
--- a/modules/stream_out/mosaic_bridge.c
|
|
+++ b/modules/stream_out/mosaic_bridge.c
|
|
@@ -339,11 +339,12 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
|
|
|
|
if ( p_sys->p_decoder != NULL )
|
|
{
|
|
+ void* p_owner;
|
|
picture_t **pp_ring = p_sys->p_decoder->p_owner->pp_pics;
|
|
|
|
if( p_sys->p_decoder->p_module )
|
|
module_Unneed( p_sys->p_decoder, p_sys->p_decoder->p_module );
|
|
- void *p_owner = p_sys->p_decoder->p_owner;
|
|
+ p_owner = p_sys->p_decoder->p_owner;
|
|
vlc_object_detach( p_sys->p_decoder );
|
|
vlc_object_destroy( p_sys->p_decoder );
|
|
|
|
diff --git a/modules/stream_out/switcher.c b/modules/stream_out/switcher.c
|
|
index f5c3a07..8d6cb19 100644
|
|
--- a/modules/stream_out/switcher.c
|
|
+++ b/modules/stream_out/switcher.c
|
|
@@ -357,20 +357,20 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
|
|
id->ff_enc_c->dsp_mask = 0;
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_MMX) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_MMX;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX;
|
|
}
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_MMXEXT) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_MMXEXT;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX2;
|
|
}
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_3DNOW) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_3DNOW;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_3DNOW;
|
|
}
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_SSE) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_SSE;
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_SSE2;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE2;
|
|
}
|
|
|
|
id->ff_enc_c->sample_rate = p_fmt->audio.i_rate;
|
|
@@ -657,8 +657,9 @@ static void NetCommand( sout_stream_t *p_stream )
|
|
|
|
if ( i_len > 0 )
|
|
{
|
|
+ int i_cmd;
|
|
psz_buffer[i_len] = '\0';
|
|
- int i_cmd = strtol( psz_buffer, NULL, 0 );
|
|
+ i_cmd = strtol( psz_buffer, NULL, 0 );
|
|
if ( i_cmd < -1 || i_cmd > p_sys->i_nb_pictures )
|
|
{
|
|
msg_Err( p_stream, "got a wrong command (%d)", i_cmd );
|
|
@@ -731,20 +732,20 @@ static mtime_t VideoCommand( sout_stream_t *p_stream, sout_stream_id_t *id )
|
|
id->ff_enc_c->dsp_mask = 0;
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_MMX) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_MMX;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX;
|
|
}
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_MMXEXT) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_MMXEXT;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX2;
|
|
}
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_3DNOW) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_3DNOW;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_3DNOW;
|
|
}
|
|
if( !(p_stream->p_libvlc->i_cpu & CPU_CAPABILITY_SSE) )
|
|
{
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_SSE;
|
|
- id->ff_enc_c->dsp_mask |= FF_MM_SSE2;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE;
|
|
+ id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE2;
|
|
}
|
|
|
|
id->ff_enc_c->width = p_sys->p_pictures[p_sys->i_cmd-1].format.i_width;
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From c3125e744f813c525d9cd78a2ffc52352f0d0fca Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
|
Date: Mon, 15 Sep 2014 21:24:33 +0200
|
|
Subject: Fix build with modern libpng.
|
|
|
|
* Patch suggested by Diver.
|
|
|
|
diff --git a/modules/codec/png.c b/modules/codec/png.c
|
|
index 21aa111..5284dda 100644
|
|
--- a/modules/codec/png.c
|
|
+++ b/modules/codec/png.c
|
|
@@ -147,7 +147,7 @@ static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
|
|
p_info = png_create_info_struct( p_png );
|
|
if( p_info == NULL )
|
|
{
|
|
- png_destroy_read_struct( &p_png, png_infopp_NULL, png_infopp_NULL );
|
|
+ png_destroy_read_struct( &p_png, (png_infopp)NULL, (png_infopp)NULL );
|
|
block_Release( p_block ); *pp_block = NULL;
|
|
return NULL;
|
|
}
|
|
@@ -155,7 +155,7 @@ static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
|
|
p_end_info = png_create_info_struct( p_png );
|
|
if( p_end_info == NULL )
|
|
{
|
|
- png_destroy_read_struct( &p_png, &p_info, png_infopp_NULL );
|
|
+ png_destroy_read_struct( &p_png, &p_info, (png_infopp)NULL );
|
|
block_Release( p_block ); *pp_block = NULL;
|
|
return NULL;
|
|
}
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 9f586fbfbde949bc5bc1911b4166daa4e6cfd29a Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
|
Date: Mon, 15 Sep 2014 21:45:27 +0200
|
|
Subject: Fix build with modern Matroska
|
|
|
|
* Patch suggested by Diver
|
|
* Code can safely be removed: it's only debug messages.
|
|
|
|
diff --git a/modules/demux/mkv.cpp b/modules/demux/mkv.cpp
|
|
index d3ae27f..9271f57 100644
|
|
--- a/modules/demux/mkv.cpp
|
|
+++ b/modules/demux/mkv.cpp
|
|
@@ -75,7 +75,6 @@
|
|
#include "matroska/KaxSegment.h"
|
|
#include "matroska/KaxTag.h"
|
|
#include "matroska/KaxTags.h"
|
|
-#include "matroska/KaxTagMulti.h"
|
|
#include "matroska/KaxTracks.h"
|
|
#include "matroska/KaxTrackAudio.h"
|
|
#include "matroska/KaxTrackVideo.h"
|
|
@@ -3871,74 +3870,6 @@ void matroska_segment_c::LoadTags( )
|
|
}
|
|
ep->Up();
|
|
}
|
|
- else if( MKV_IS_ID( el, KaxTagGeneral ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + General" );
|
|
- ep->Down();
|
|
- while( ( el = ep->Get() ) != NULL )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| | + Unknown (%s)", typeid( *el ).name() );
|
|
- }
|
|
- ep->Up();
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagGenres ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Genres" );
|
|
- ep->Down();
|
|
- while( ( el = ep->Get() ) != NULL )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| | + Unknown (%s)", typeid( *el ).name() );
|
|
- }
|
|
- ep->Up();
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagAudioSpecific ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Audio Specific" );
|
|
- ep->Down();
|
|
- while( ( el = ep->Get() ) != NULL )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| | + Unknown (%s)", typeid( *el ).name() );
|
|
- }
|
|
- ep->Up();
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagImageSpecific ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Images Specific" );
|
|
- ep->Down();
|
|
- while( ( el = ep->Get() ) != NULL )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| | + Unknown (%s)", typeid( *el ).name() );
|
|
- }
|
|
- ep->Up();
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiComment ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Comment" );
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiCommercial ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Commercial" );
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiDate ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Date" );
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiEntity ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Entity" );
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiIdentifier ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Identifier" );
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiLegal ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Legal" );
|
|
- }
|
|
- else if( MKV_IS_ID( el, KaxTagMultiTitle ) )
|
|
- {
|
|
- msg_Dbg( &sys.demuxer, "| + Multi Title" );
|
|
- }
|
|
else
|
|
{
|
|
msg_Dbg( &sys.demuxer, "| + Unknown (%s)", typeid( *el ).name() );
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 09a45fde0746175260e0b006420b4e398af73451 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
|
Date: Mon, 15 Sep 2014 22:01:42 +0200
|
|
Subject: gcc2 fix.
|
|
|
|
|
|
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
|
|
index 3a8def1..1745819 100644
|
|
--- a/modules/video_output/opengl.c
|
|
+++ b/modules/video_output/opengl.c
|
|
@@ -525,6 +525,7 @@ static int Init( vout_thread_t *p_vout )
|
|
#ifdef OPENGL_MORE_EFFECT
|
|
else
|
|
{
|
|
+ float f_pov_x, f_pov_y, f_pov_z;
|
|
/* Set the perpective */
|
|
glMatrixMode( GL_PROJECTION );
|
|
glLoadIdentity();
|
|
@@ -533,7 +534,6 @@ static int Init( vout_thread_t *p_vout )
|
|
glLoadIdentity();
|
|
glTranslatef( 0.0, 0.0, -3.0 );
|
|
|
|
- float f_pov_x, f_pov_y, f_pov_z;
|
|
f_pov_x = var_CreateGetFloat( p_vout, "opengl-pov-x");
|
|
f_pov_y = var_CreateGetFloat( p_vout, "opengl-pov-y");
|
|
f_pov_z = var_CreateGetFloat( p_vout, "opengl-pov-z");
|
|
@@ -950,14 +950,14 @@ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic )
|
|
glBegin(GL_QUADS);
|
|
for (i_i = 0; i_i < p_vout->fmt_out.i_visible_width; i_i += i_n_x)
|
|
{
|
|
+ int i_m;
|
|
+ int i_index_max = 0;
|
|
+
|
|
if ( i_i == i_n_x * i_n / 2) i_n_x += p_vout->fmt_out.i_visible_width % i_n;
|
|
if ((i_i == (p_vout->fmt_out.i_visible_width / i_n) * i_n / 2 + i_n_x) &&
|
|
(p_vout->fmt_out.i_visible_width / i_n != i_n_x))
|
|
i_n_x -= p_vout->fmt_out.i_visible_width % i_n;
|
|
|
|
- int i_m;
|
|
- int i_index_max = 0;
|
|
-
|
|
for (i_j = 0; i_j < p_vout->fmt_out.i_visible_height; i_j += i_n_y)
|
|
{
|
|
if ( i_j == i_n_y * i_n / 2) i_n_y += p_vout->fmt_out.i_visible_height % i_n;
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 47e847c13fd884a1a370ab275884f45107ce38a2 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
|
Date: Tue, 16 Sep 2014 10:11:21 +0200
|
|
Subject: gnutls gcc2 fixes.
|
|
|
|
|
|
diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c
|
|
index dc3d686..b0bce86 100644
|
|
--- a/modules/misc/gnutls.c
|
|
+++ b/modules/misc/gnutls.c
|
|
@@ -361,13 +361,18 @@ static int
|
|
gnutls_HandshakeAndValidate( tls_session_t *session )
|
|
{
|
|
int val = gnutls_ContinueHandshake( session );
|
|
+ tls_session_sys_t* p_sys;
|
|
+ unsigned status;
|
|
+ const gnutls_datum* data;
|
|
+ size_t v = 0;
|
|
+ gnutls_x509_crt cert;
|
|
+
|
|
if( val )
|
|
return val;
|
|
|
|
- tls_session_sys_t *p_sys = (tls_session_sys_t *)(session->p_sys);
|
|
+ p_sys = (tls_session_sys_t *)(session->p_sys);
|
|
|
|
/* certificates chain verification */
|
|
- unsigned status;
|
|
val = gnutls_certificate_verify_peers2( p_sys->session, &status );
|
|
|
|
if( val )
|
|
@@ -398,15 +403,13 @@ gnutls_HandshakeAndValidate( tls_session_t *session )
|
|
}
|
|
|
|
/* certificate (host)name verification */
|
|
- const gnutls_datum *data = gnutls_certificate_get_peers( p_sys->session,
|
|
- &(size_t){ 0 } );
|
|
+ data = gnutls_certificate_get_peers( p_sys->session, &v );
|
|
if( data == NULL )
|
|
{
|
|
msg_Err( session, "Peer certificate not available" );
|
|
goto error;
|
|
}
|
|
|
|
- gnutls_x509_crt cert;
|
|
val = gnutls_x509_crt_init( &cert );
|
|
if( val )
|
|
{
|
|
@@ -1247,6 +1250,7 @@ Open( vlc_object_t *p_this )
|
|
|
|
if( count.i_int == 0)
|
|
{
|
|
+ const char *psz_version = gnutls_check_version( "1.2.9" );
|
|
#ifdef NEED_THREAD_CONTEXT
|
|
__p_gcry_data = VLC_OBJECT( p_this->p_vlc );
|
|
#endif
|
|
@@ -1259,7 +1263,6 @@ Open( vlc_object_t *p_this )
|
|
return VLC_EGENERIC;
|
|
}
|
|
|
|
- const char *psz_version = gnutls_check_version( "1.2.9" );
|
|
if( psz_version == NULL )
|
|
{
|
|
gnutls_global_deinit( );
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 6dcfd6241bdb0b498f86d86e37e35ea34f8ef0ab Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Sat, 25 Apr 2015 17:15:11 +0200
|
|
Subject: Add rdef file.
|
|
|
|
|
|
diff --git a/vlc.rdef b/vlc.rdef
|
|
new file mode 100644
|
|
index 0000000..86a1d6c
|
|
--- /dev/null
|
|
+++ b/vlc.rdef
|
|
@@ -0,0 +1,47 @@
|
|
+
|
|
+resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
|
|
+
|
|
+resource app_version {
|
|
+ major = 0,
|
|
+ middle = 8,
|
|
+ minor = 6,
|
|
+
|
|
+ variety = B_APPV_FINAL,
|
|
+ internal = 0,
|
|
+
|
|
+ short_info = "VideoLAN Client",
|
|
+ long_info = "A multi-platform multimedia player."
|
|
+};
|
|
+
|
|
+resource app_signature "application/x-vnd.videolan-vlc";
|
|
+
|
|
+resource file_types message {
|
|
+ "types" = "application/x-asf",
|
|
+ "types" = "audio",
|
|
+ "types" = "video"
|
|
+};
|
|
+
|
|
+resource vector_icon {
|
|
+ $"6E6369660A0500020006023B69C90000000000003B23A04AC3EF4AE6A9007C45"
|
|
+ $"03FFD3893303F2A541020006033D79BF0000000000003D324D49E2A74A24F500"
|
|
+ $"FFE8CF7FD18021FFF49119020006023AB37E0000000000003D324D4B3D534961"
|
|
+ $"EB00A94604FFDC7D0B020016033B480D0000000000003AC58F49C2784A87EA00"
|
|
+ $"FF7FCCFFE4020006033BDD210000000000003B67CD49C2A749821E00FFE8CF7F"
|
|
+ $"B96205FFD47505020006033AA07A0000000000003A50B649C2784A547F00FFE8"
|
|
+ $"CF7FC36E0AFFEA87130200060338E8A800000000000038905449C28F47E0EE00"
|
|
+ $"FFE8CF7FC57210FFF491190401780C0605E202426045574E6048604A60465746"
|
|
+ $"0605F2032E484C42B54E42B54EC06FB49E3D22BFB322BD632238B54EBCA8B49B"
|
|
+ $"38B54E0A063A3C224C224E425E584858460A073F523F42C738C1713A3C224C42"
|
|
+ $"5BC60BC5400A055846C738C1713F423F52C60BC5400A04425E425B584658480A"
|
|
+ $"04224E224C425B425E02062EC3102EC3102EC4993D52345246524CC3104CC499"
|
|
+ $"4CC310C3A2BFF9C3A2BFF949C18B3D4744473647B978BFFE31C18BB978BFFE02"
|
|
+ $"063D4736474447C3A2BFF94AC128C3A2BFF9C2C4BD00C2C4BD0047BE1B3D3E43"
|
|
+ $"3E373EBA5939BA85BE1BBA5939B978BFFEB978BFFE30C1280206C2C4BD0047BE"
|
|
+ $"1BC2C4BD00C1E3B9F8C1E3B9F845BB0D3D3542353835BB36B9FB35BB0DBB36B9"
|
|
+ $"FBBA5939BA593933BE1B3D3E373E433E0206C1E3B9F845BB0DC1E3B9F8C13CB7"
|
|
+ $"B4C13CB7B443B8613D2E412E392EBBE2B7A337B861BBE2B7A3BB36B9FBBB36B9"
|
|
+ $"FB35BB0D3D35383542350206C13CB7B443B861C13CB7B442B55342B553C06FB4"
|
|
+ $"A03D22BFB322BD632238B553BCA8B49E38B553BBE2B7A3BBE2B7A337B8613D2E"
|
|
+ $"392E412E0A0A090100000A000201021001178400040A010105000A020106000A"
|
|
+ $"030103000A040104000A060107000A070109000A0502080A000A08010B00"
|
|
+};
|
|
--
|
|
2.2.2
|
|
|
|
|
|
From 45454c04e7af47bb18a18fdd4f3006e8a95b4b43 Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Fri, 19 Sep 2014 11:05:28 +0200
|
|
Subject: Add resources (icon and app infos)
|
|
|
|
|
|
diff --git a/vlc.rdef b/vlc.rdef
|
|
new file mode 100644
|
|
index 0000000..86a1d6c
|
|
--- /dev/null
|
|
+++ b/vlc.rdef
|
|
@@ -0,0 +1,47 @@
|
|
+
|
|
+resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
|
|
+
|
|
+resource app_version {
|
|
+ major = 0,
|
|
+ middle = 8,
|
|
+ minor = 6,
|
|
+
|
|
+ variety = B_APPV_FINAL,
|
|
+ internal = 0,
|
|
+
|
|
+ short_info = "VideoLAN Client",
|
|
+ long_info = "A multi-platform multimedia player."
|
|
+};
|
|
+
|
|
+resource app_signature "application/x-vnd.videolan-vlc";
|
|
+
|
|
+resource file_types message {
|
|
+ "types" = "application/x-asf",
|
|
+ "types" = "audio",
|
|
+ "types" = "video"
|
|
+};
|
|
+
|
|
+resource vector_icon {
|
|
+ $"6E6369660A0500020006023B69C90000000000003B23A04AC3EF4AE6A9007C45"
|
|
+ $"03FFD3893303F2A541020006033D79BF0000000000003D324D49E2A74A24F500"
|
|
+ $"FFE8CF7FD18021FFF49119020006023AB37E0000000000003D324D4B3D534961"
|
|
+ $"EB00A94604FFDC7D0B020016033B480D0000000000003AC58F49C2784A87EA00"
|
|
+ $"FF7FCCFFE4020006033BDD210000000000003B67CD49C2A749821E00FFE8CF7F"
|
|
+ $"B96205FFD47505020006033AA07A0000000000003A50B649C2784A547F00FFE8"
|
|
+ $"CF7FC36E0AFFEA87130200060338E8A800000000000038905449C28F47E0EE00"
|
|
+ $"FFE8CF7FC57210FFF491190401780C0605E202426045574E6048604A60465746"
|
|
+ $"0605F2032E484C42B54E42B54EC06FB49E3D22BFB322BD632238B54EBCA8B49B"
|
|
+ $"38B54E0A063A3C224C224E425E584858460A073F523F42C738C1713A3C224C42"
|
|
+ $"5BC60BC5400A055846C738C1713F423F52C60BC5400A04425E425B584658480A"
|
|
+ $"04224E224C425B425E02062EC3102EC3102EC4993D52345246524CC3104CC499"
|
|
+ $"4CC310C3A2BFF9C3A2BFF949C18B3D4744473647B978BFFE31C18BB978BFFE02"
|
|
+ $"063D4736474447C3A2BFF94AC128C3A2BFF9C2C4BD00C2C4BD0047BE1B3D3E43"
|
|
+ $"3E373EBA5939BA85BE1BBA5939B978BFFEB978BFFE30C1280206C2C4BD0047BE"
|
|
+ $"1BC2C4BD00C1E3B9F8C1E3B9F845BB0D3D3542353835BB36B9FB35BB0DBB36B9"
|
|
+ $"FBBA5939BA593933BE1B3D3E373E433E0206C1E3B9F845BB0DC1E3B9F8C13CB7"
|
|
+ $"B4C13CB7B443B8613D2E412E392EBBE2B7A337B861BBE2B7A3BB36B9FBBB36B9"
|
|
+ $"FB35BB0D3D35383542350206C13CB7B443B861C13CB7B442B55342B553C06FB4"
|
|
+ $"A03D22BFB322BD632238B553BCA8B49E38B553BBE2B7A3BBE2B7A337B8613D2E"
|
|
+ $"392E412E0A0A090100000A000201021001178400040A010105000A020106000A"
|
|
+ $"030103000A040104000A060107000A070109000A0502080A000A08010B00"
|
|
+};
|
|
--
|
|
1.8.3.4
|
|
|
|
|
|
From 7765cafb91e4ed524703786e08a90dcc523d1d9d Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Fri, 19 Sep 2014 11:05:54 +0200
|
|
Subject: gcc4 fixes provided by Diver.
|
|
|
|
|
|
diff --git a/modules/gui/beos/DrawingTidbits.cpp b/modules/gui/beos/DrawingTidbits.cpp
|
|
index f9a145a..d2fa667 100644
|
|
--- a/modules/gui/beos/DrawingTidbits.cpp
|
|
+++ b/modules/gui/beos/DrawingTidbits.cpp
|
|
@@ -23,6 +23,7 @@
|
|
*****************************************************************************/
|
|
|
|
#include <math.h>
|
|
+#include <string.h>
|
|
|
|
#include <Bitmap.h>
|
|
#include <Debug.h>
|
|
diff --git a/modules/gui/beos/MediaControlView.cpp b/modules/gui/beos/MediaControlView.cpp
|
|
index ce52842..d4f102f 100644
|
|
--- a/modules/gui/beos/MediaControlView.cpp
|
|
+++ b/modules/gui/beos/MediaControlView.cpp
|
|
@@ -86,7 +86,8 @@ MediaControlView::MediaControlView( intf_thread_t * _p_intf, BRect frame)
|
|
fBottomControlHeight(0.0),
|
|
fIsEnabled( true )
|
|
{
|
|
- BRect frame(0.0, 0.0, 10.0, 10.0);
|
|
+ frame = BRect(0.0, 0.0, 10.0, 10.0);
|
|
+
|
|
|
|
// Seek Slider
|
|
fSeekSlider = new SeekSlider( p_intf, frame, "seek slider", this );
|
|
diff --git a/modules/gui/beos/TransportButton.cpp b/modules/gui/beos/TransportButton.cpp
|
|
index 423f3c4..93fadd6 100644
|
|
--- a/modules/gui/beos/TransportButton.cpp
|
|
+++ b/modules/gui/beos/TransportButton.cpp
|
|
@@ -29,10 +29,13 @@
|
|
#include <Window.h>
|
|
|
|
#include <map>
|
|
+#include <string.h>
|
|
|
|
#include "TransportButton.h"
|
|
#include "DrawingTidbits.h"
|
|
|
|
+using namespace std;
|
|
+
|
|
class BitmapStash {
|
|
// Bitmap stash is a simple class to hold all the lazily-allocated
|
|
// bitmaps that the TransportButton needs when rendering itself.
|
|
--
|
|
1.8.3.4
|
|
|
|
|
|
From 85eceaf25f4ac9f1a99d88526d8436abfcad2f8d Mon Sep 17 00:00:00 2001
|
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
|
Date: Fri, 19 Sep 2014 11:10:21 +0200
|
|
Subject: Enable some BeOS quirks also for Haiku.
|
|
|
|
* Correct settings directory
|
|
* Disable "running as root" warning
|
|
* Change BeOS > Haiku in about window.
|
|
|
|
diff --git a/include/vlc_config.h b/include/vlc_config.h
|
|
index bf14def..5285669 100644
|
|
--- a/include/vlc_config.h
|
|
+++ b/include/vlc_config.h
|
|
@@ -45,7 +45,7 @@
|
|
#define THREAD_COND_TIMEOUT 1
|
|
|
|
/* The configuration file and directory */
|
|
-#ifdef SYS_BEOS
|
|
+#if defined(SYS_BEOS) || defined(__HAIKU__)
|
|
# define CONFIG_DIR "config/settings/VideoLAN Client"
|
|
#elif __APPLE__
|
|
# define CONFIG_DIR "Library/Preferences/VLC"
|
|
diff --git a/modules/gui/beos/InterfaceWindow.cpp b/modules/gui/beos/InterfaceWindow.cpp
|
|
index ecc9aea..fdd827d 100644
|
|
--- a/modules/gui/beos/InterfaceWindow.cpp
|
|
+++ b/modules/gui/beos/InterfaceWindow.cpp
|
|
@@ -392,7 +392,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
|
|
BAlert * alert;
|
|
|
|
alert = new BAlert( "VLC media player" VERSION,
|
|
- "VLC media player" VERSION " (BeOS interface)\n\n"
|
|
+ "VLC media player" VERSION " (Haiku interface)\n\n"
|
|
"The VideoLAN team <videolan@videolan.org>\n"
|
|
"http://www.videolan.org/", _("OK") );
|
|
alert->Go();
|
|
diff --git a/src/network/rootwrap.c b/src/network/rootwrap.c
|
|
index 604ba0a..49389af 100644
|
|
--- a/src/network/rootwrap.c
|
|
+++ b/src/network/rootwrap.c
|
|
@@ -25,7 +25,7 @@
|
|
# include <config.h>
|
|
#endif
|
|
|
|
-#if defined (HAVE_GETEUID) && !defined (SYS_BEOS)
|
|
+#if defined (HAVE_GETEUID) && !defined (SYS_BEOS) && !defined(__HAIKU__)
|
|
# define ENABLE_ROOTWRAP 1
|
|
#endif
|
|
|
|
--
|
|
1.8.3.4
|
|
|