summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vlc/build/faac_bootstrap.patch27
-rw-r--r--vlc/build/faac_pipe.patch20
-rw-r--r--vlc/build/libraw1394_typedef.patch12
-rw-r--r--vlc/build/vlc_amr.patch15
-rw-r--r--vlc/build/vlc_dirac-0.8.0-api.patch126
-rw-r--r--vlc/build/vlc_ffmpeg_mux.patch14
-rw-r--r--vlc/build/vlc_ffmpeg_swscale.patch515
-rw-r--r--vlc/build/vlc_libcdio-0.78.2.patch60
8 files changed, 789 insertions, 0 deletions
diff --git a/vlc/build/faac_bootstrap.patch b/vlc/build/faac_bootstrap.patch
new file mode 100644
index 00000000..ce6f5f22
--- /dev/null
+++ b/vlc/build/faac_bootstrap.patch
@@ -0,0 +1,27 @@
+diff -uNr faac.orig/configure.in faac/configure.in
+--- faac.orig/configure.in 2006-08-13 17:17:26.000000000 +0300
++++ faac/configure.in 2007-04-17 14:14:38.000000000 +0300
+@@ -7,7 +7,7 @@
+
+ AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes)
+
+-AC_DEFUN(MY_DEFINE, [ AC_DEFINE($1, 1, [define if needed]) ])
++AC_DEFUN([MY_DEFINE], [ AC_DEFINE($1, 1, [define if needed]) ])
+
+ CFLAGS=${CFLAGS:-"-O2 -Wall"}
+
+@@ -66,6 +66,11 @@
+ #include <netinet/in.h>])
+ AC_CHECK_MEMBERS(fpos_t.__pos,,, [#include <stdio.h>])
+
+-AC_OUTPUT(common/Makefile common/mp4v2/Makefile \
+- libfaac/Makefile frontend/Makefile \
+- include/Makefile Makefile)
++AC_CONFIG_FILES(common/Makefile)
++AC_CONFIG_FILES(common/mp4v2/Makefile)
++AC_CONFIG_FILES(libfaac/Makefile)
++AC_CONFIG_FILES(frontend/Makefile)
++AC_CONFIG_FILES(include/Makefile)
++AC_CONFIG_FILES(Makefile)
++
++AC_OUTPUT
diff --git a/vlc/build/faac_pipe.patch b/vlc/build/faac_pipe.patch
new file mode 100644
index 00000000..2dfe9db8
--- /dev/null
+++ b/vlc/build/faac_pipe.patch
@@ -0,0 +1,20 @@
+diff -uNr faac.origin/frontend/main.c faac/frontend/main.c
+--- faac.origin/frontend/main.c 2004-12-08 13:07:17.000000000 +0200
++++ faac/frontend/main.c 2007-04-17 14:45:01.000000000 +0300
+@@ -918,7 +918,15 @@
+ {
+ #endif
+ /* open the aac output file */
+- outfile = fopen(aacFileName, "wb");
++ if(('-' == aacFileName[0])&&(0 == aacFileName[1]))
++ {
++ outfile = stdout;
++ }
++ else
++ {
++ outfile = fopen(aacFileName, "wb");
++ };
++
+ if (!outfile)
+ {
+ fprintf(stderr, "Couldn't create output file %s\n", aacFileName);
diff --git a/vlc/build/libraw1394_typedef.patch b/vlc/build/libraw1394_typedef.patch
new file mode 100644
index 00000000..89949824
--- /dev/null
+++ b/vlc/build/libraw1394_typedef.patch
@@ -0,0 +1,12 @@
+--- src/raw1394.h.orig 2007-12-11 17:05:55.000000000 +0100
++++ src/raw1394.h 2007-12-11 17:06:50.000000000 +0100
+@@ -40,7 +40,8 @@
+ #define RAW1394_RCODE_TYPE_ERROR 0x6
+ #define RAW1394_RCODE_ADDRESS_ERROR 0x7
+
+-typedef u_int8_t byte_t;
++/* So that the VLC build will not fail: */
++/* typedef u_int8_t byte_t; */
+ typedef u_int32_t quadlet_t;
+ typedef u_int64_t octlet_t;
+ typedef u_int64_t nodeaddr_t;
diff --git a/vlc/build/vlc_amr.patch b/vlc/build/vlc_amr.patch
new file mode 100644
index 00000000..44745882
--- /dev/null
+++ b/vlc/build/vlc_amr.patch
@@ -0,0 +1,15 @@
+--- configure.ac.orig 2007-12-12 13:00:30.000000000 +0100
++++ configure.ac 2007-12-12 13:07:11.000000000 +0100
+@@ -2646,6 +2646,12 @@
+ if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
+ VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
+ fi
++ if fgrep -s "CONFIG_AMR=yes" "${real_ffmpeg_tree}/config.mak"; then
++ VLC_ADD_LDFLAGS([ffmpeg],[-lamrnb])
++ fi
++ if fgrep -s "CONFIG_AMR_WB=yes" "${real_ffmpeg_tree}/config.mak"; then
++ VLC_ADD_LDFLAGS([ffmpeg],[-lamrwb])
++ fi
+
+ VLC_ADD_BUILTINS([ffmpeg])
+ if test "${enable_sout}" != "no"; then
diff --git a/vlc/build/vlc_dirac-0.8.0-api.patch b/vlc/build/vlc_dirac-0.8.0-api.patch
new file mode 100644
index 00000000..a474b557
--- /dev/null
+++ b/vlc/build/vlc_dirac-0.8.0-api.patch
@@ -0,0 +1,126 @@
+diff -up vlc-0.8.6c/configure.ac.dirac vlc-0.8.6c/configure.ac
+--- vlc-0.8.6c/configure.ac.dirac 2007-10-19 23:15:49.000000000 +0200
++++ vlc-0.8.6c/configure.ac 2007-10-19 23:16:55.000000000 +0200
+@@ -3342,7 +3346,7 @@ dnl
+ AC_ARG_ENABLE(dirac,
+ [ --enable-dirac experimental dirac codec (default disabled)])
+ if test "${enable_dirac}" = "yes"; then
+- PKG_CHECK_MODULES(DIRAC,dirac, [
++ PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
+ VLC_ADD_PLUGINS([dirac])
+ VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
+ VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
+diff -up vlc-0.8.6c/modules/codec/dirac.c.dirac6 vlc-0.8.6c/modules/codec/dirac.c
+--- vlc-0.8.6c/modules/codec/dirac.c.dirac6 2007-06-16 16:25:12.000000000 +0200
++++ vlc-0.8.6c/modules/codec/dirac.c 2007-10-19 23:17:15.000000000 +0200
+@@ -144,32 +144,34 @@ static picture_t *GetNewPicture( decoder
+ picture_t *p_pic;
+ int i_plane;
+
+- p_dec->fmt_out.i_codec =
+- p_sys->p_dirac->seq_params.chroma == format411 ?
+- VLC_FOURCC('I','4','1','1') :
+- p_sys->p_dirac->seq_params.chroma == format420 ?
+- VLC_FOURCC('I','4','2','0') :
+- p_sys->p_dirac->seq_params.chroma == format422 ?
+- VLC_FOURCC('I','4','2','2') : 0;
++ switch( p_sys->p_dirac->src_params.chroma )
++ {
++ case format420: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','0'); break;
++ case format422: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','2'); break;
++ case format444: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','4','4'); break; // XXX 0.6 ?
++ default:
++ p_dec->fmt_out.i_codec = 0;
++ break;
++ }
+
+ p_dec->fmt_out.video.i_visible_width =
+- p_dec->fmt_out.video.i_width = p_sys->p_dirac->seq_params.width;
++ p_dec->fmt_out.video.i_width = p_sys->p_dirac->src_params.width;
+ p_dec->fmt_out.video.i_visible_height =
+- p_dec->fmt_out.video.i_height = p_sys->p_dirac->seq_params.height;
++ p_dec->fmt_out.video.i_height = p_sys->p_dirac->src_params.height;
+ p_dec->fmt_out.video.i_aspect = VOUT_ASPECT_FACTOR * 4 / 3;
+
+ p_dec->fmt_out.video.i_frame_rate =
+- p_sys->p_dirac->seq_params.frame_rate.numerator;
++ p_sys->p_dirac->src_params.frame_rate.numerator;
+ p_dec->fmt_out.video.i_frame_rate_base =
+- p_sys->p_dirac->seq_params.frame_rate.denominator;
++ p_sys->p_dirac->src_params.frame_rate.denominator;
+
+ /* Get a new picture */
+ p_pic = p_dec->pf_vout_buffer_new( p_dec );
+
+ if( p_pic == NULL ) return NULL;
++ p_pic->b_progressive = !p_sys->p_dirac->src_params.interlace;
++ p_pic->b_top_field_first = p_sys->p_dirac->src_params.topfieldfirst;
+
+- p_pic->b_progressive = !p_sys->p_dirac->seq_params.interlace;
+- p_pic->b_top_field_first = p_sys->p_dirac->seq_params.topfieldfirst;
+ p_pic->i_nb_fields = 2;
+
+ /* Copy picture stride by stride */
+@@ -248,19 +250,19 @@ static picture_t *DecodeBlock( decoder_t
+ uint8_t *buf[3];
+
+ msg_Dbg( p_dec, "%dx%d, chroma %i, %f fps",
+- p_sys->p_dirac->seq_params.width,
+- p_sys->p_dirac->seq_params.height,
+- p_sys->p_dirac->seq_params.chroma,
+- (float)p_sys->p_dirac->seq_params.frame_rate.numerator/
+- p_sys->p_dirac->seq_params.frame_rate.denominator );
++ p_sys->p_dirac->src_params.width,
++ p_sys->p_dirac->src_params.height,
++ p_sys->p_dirac->src_params.chroma,
++ (float)p_sys->p_dirac->src_params.frame_rate.numerator/
++ p_sys->p_dirac->src_params.frame_rate.denominator );
+
+ FreeFrameBuffer( p_sys->p_dirac );
+- buf[0] = malloc( p_sys->p_dirac->seq_params.width *
+- p_sys->p_dirac->seq_params.height );
+- buf[1] = malloc( p_sys->p_dirac->seq_params.chroma_width *
+- p_sys->p_dirac->seq_params.chroma_height );
+- buf[2] = malloc( p_sys->p_dirac->seq_params.chroma_width *
+- p_sys->p_dirac->seq_params.chroma_height );
++ buf[0] = malloc( p_sys->p_dirac->src_params.width *
++ p_sys->p_dirac->src_params.height );
++ buf[1] = malloc( p_sys->p_dirac->src_params.chroma_width *
++ p_sys->p_dirac->src_params.chroma_height );
++ buf[2] = malloc( p_sys->p_dirac->src_params.chroma_width *
++ p_sys->p_dirac->src_params.chroma_height );
+
+ dirac_set_buf( p_sys->p_dirac, buf, NULL );
+ break;
+@@ -352,20 +354,18 @@ static int OpenEncoder( vlc_object_t *p_
+
+ sout_CfgParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg );
+
+- /* Initialse the encoder context with the presets for SD576 - Standard
+- * Definition Digital (some parameters will be overwritten later on) */
+- dirac_encoder_context_init( &p_sys->ctx, SD576 );
+-
+- /* Override parameters if required */
+- p_sys->ctx.seq_params.width = p_enc->fmt_in.video.i_width;
+- p_sys->ctx.seq_params.height = p_enc->fmt_in.video.i_height;
+- p_sys->ctx.seq_params.chroma = format420;
+- p_sys->ctx.seq_params.frame_rate.numerator =
++ dirac_encoder_context_init( &p_sys->ctx, VIDEO_FORMAT_CUSTOM );
++ /* */
++ p_sys->ctx.src_params.width = p_enc->fmt_in.video.i_width;
++ p_sys->ctx.src_params.height = p_enc->fmt_in.video.i_height;
++ p_sys->ctx.src_params.chroma = format420;
++ /* */
++ p_sys->ctx.src_params.frame_rate.numerator =
+ p_enc->fmt_in.video.i_frame_rate;
+- p_sys->ctx.seq_params.frame_rate.denominator =
++ p_sys->ctx.src_params.frame_rate.denominator =
+ p_enc->fmt_in.video.i_frame_rate_base;
+- p_sys->ctx.seq_params.interlace = 0;
+- p_sys->ctx.seq_params.topfieldfirst = 0;
++ p_sys->ctx.src_params.interlace = 0;
++ p_sys->ctx.src_params.topfieldfirst = 0;
+
+ var_Get( p_enc, ENC_CFG_PREFIX "quality", &val );
+ f_quality = val.f_float;
+
diff --git a/vlc/build/vlc_ffmpeg_mux.patch b/vlc/build/vlc_ffmpeg_mux.patch
new file mode 100644
index 00000000..619532d2
--- /dev/null
+++ b/vlc/build/vlc_ffmpeg_mux.patch
@@ -0,0 +1,14 @@
+--- a/modules/codec/ffmpeg/mux.c
++++ b/modules/codec/ffmpeg/mux.c
+@@ -133,7 +133,11 @@ int E_(OpenMux)( vlc_object_t *p_this )
+ return VLC_EGENERIC;
+ }
+
++#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
++ p_sys->oc->pb = &p_sys->io;
++#else
+ p_sys->oc->pb = p_sys->io;
++#endif
+ p_sys->oc->nb_streams = 0;
+
+ p_sys->b_write_header = VLC_TRUE;
diff --git a/vlc/build/vlc_ffmpeg_swscale.patch b/vlc/build/vlc_ffmpeg_swscale.patch
new file mode 100644
index 00000000..862413a5
--- /dev/null
+++ b/vlc/build/vlc_ffmpeg_swscale.patch
@@ -0,0 +1,515 @@
+diff -ur vlc-0.8.6c.orig/configure vlc-0.8.6c/configure
+--- vlc-0.8.6c.orig/configure 2007-06-16 16:25:49.000000000 +0200
++++ vlc-0.8.6c/configure 2007-09-01 17:46:05.405817018 +0200
+@@ -44381,12 +44381,12 @@
+ pkg_cv_FFMPEG_CFLAGS="$FFMPEG_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libavcodec, libavformat\"") >&5
+- ($PKG_CONFIG --exists --print-errors "libavcodec, libavformat") 2>&5
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libavcodec, libavformat, libswscale\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libavcodec, libavformat, libswscale") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_FFMPEG_CFLAGS=`$PKG_CONFIG --cflags "libavcodec, libavformat" 2>/dev/null`
++ pkg_cv_FFMPEG_CFLAGS=`$PKG_CONFIG --cflags "libavcodec, libavformat, libswscale" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -44399,12 +44399,12 @@
+ pkg_cv_FFMPEG_LIBS="$FFMPEG_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libavcodec, libavformat\"") >&5
+- ($PKG_CONFIG --exists --print-errors "libavcodec, libavformat") 2>&5
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libavcodec, libavformat, libswscale\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libavcodec, libavformat, libswscale") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_FFMPEG_LIBS=`$PKG_CONFIG --libs "libavcodec, libavformat" 2>/dev/null`
++ pkg_cv_FFMPEG_LIBS=`$PKG_CONFIG --libs "libavcodec, libavformat, libswscale" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -44423,9 +44423,9 @@
+ _pkg_short_errors_supported=no
+ fi
+ if test $_pkg_short_errors_supported = yes; then
+- FFMPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libavcodec, libavformat"`
++ FFMPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libavcodec, libavformat, libswscale"`
+ else
+- FFMPEG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libavcodec, libavformat"`
++ FFMPEG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libavcodec, libavformat, libswscale"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$FFMPEG_PKG_ERRORS" >&5
+@@ -45084,7 +45084,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lavcodec $LDAVUTIL $LIBS"
++LIBS="-lavcodec -lswscale $LDAVUTIL $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -45146,7 +45146,7 @@
+
+
+ for element in ffmpeg; do
+- eval "LDFLAGS_${element}="'"'"-lavcodec "'$'"{LDFLAGS_${element}} "'"'
++ eval "LDFLAGS_${element}="'"'"-lavcodec -lswscale "'$'"{LDFLAGS_${element}} "'"'
+ am_modules_with_ldflags="${am_modules_with_ldflags} ${element}"
+ done
+
+@@ -45245,7 +45245,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lavformat -lavcodec -lz $LDAVUTIL $LIBS"
++LIBS="-lavformat -lavcodec -lswscale -lz $LDAVUTIL $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -45966,7 +45966,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lavcodec $LDAVUTIL $LIBS"
++LIBS="-lavcodec -lswscale $LDAVUTIL $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -46028,7 +46028,7 @@
+
+
+ for element in ffmpeg; do
+- eval "LDFLAGS_${element}="'"'"-lavcodec "'$'"{LDFLAGS_${element}} "'"'
++ eval "LDFLAGS_${element}="'"'"-lavcodec -lswscale "'$'"{LDFLAGS_${element}} "'"'
+ am_modules_with_ldflags="${am_modules_with_ldflags} ${element}"
+ done
+
+@@ -46127,7 +46127,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lavformat -lavcodec -lz $LDAVUTIL $LIBS"
++LIBS="-lavformat -lavcodec -lswscale -lz $LDAVUTIL $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -46924,7 +46924,7 @@
+
+
+ for element in ffmpegaltivec; do
+- eval "LDFLAGS_${element}="'"'"-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec "'$'"{LDFLAGS_${element}} "'"'
++ eval "LDFLAGS_${element}="'"'"-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec -lswscale "'$'"{LDFLAGS_${element}} "'"'
+ am_modules_with_ldflags="${am_modules_with_ldflags} ${element}"
+ done
+
+Nur in vlc-0.8.6c: configure~.
+diff -ur vlc-0.8.6c.orig/configure.ac vlc-0.8.6c/configure.ac
+--- vlc-0.8.6c.orig/configure.ac 2007-06-16 16:25:19.000000000 +0200
++++ vlc-0.8.6c/configure.ac 2007-09-01 17:46:51.504698018 +0200
+@@ -2695,7 +2695,7 @@
+ else
+
+ dnl Trying with pkg-config
+- PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
++ PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat, libswscale],
+ [
+ AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
+ AC_CHECK_HEADERS(ffmpeg/avformat.h)
+@@ -2737,7 +2737,7 @@
+
+ AC_CHECK_LIB(avcodec, avcodec_init, [
+ VLC_ADD_BUILTINS([ffmpeg])
+- VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
++ VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec -lswscale])
+ if test "${enable_sout}" != "no"; then
+ VLC_ADD_BUILTINS([stream_out_switcher])
+ fi],
+@@ -2750,7 +2750,7 @@
+ [$LDAVUTIL])
+
+ AC_CHECK_LIB(avformat, av_open_input_stream, [
+- VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
++ VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lswscale -lz]) ], [], [-lavcodec -lswscale -lz $LDAVUTIL])
+ LDFLAGS="${LDFLAGS_save}"
+ CPPFLAGS="${CPPFLAGS_save}"
+ ])
+@@ -2786,13 +2786,13 @@
+ dnl Use a custom libffmpeg
+ AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
+ VLC_ADD_BUILTINS([ffmpegaltivec])
+- VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
++ VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec -lswscale])
+ VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
+ VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
+
+ if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
+ AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
+- VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
++ VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lswscale -lz])
+ VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
+ fi
+ VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
+Nur in vlc-0.8.6c: configure.ac~.
+diff -ur vlc-0.8.6c.orig/modules/codec/ffmpeg/chroma.c vlc-0.8.6c/modules/codec/ffmpeg/chroma.c
+--- vlc-0.8.6c.orig/modules/codec/ffmpeg/chroma.c 2007-06-16 16:25:12.000000000 +0200
++++ vlc-0.8.6c/modules/codec/ffmpeg/chroma.c 2007-09-01 14:51:58.228909268 +0200
+@@ -35,6 +35,7 @@
+ #endif
+
+ #include "ffmpeg.h"
++#include <ffmpeg/swscale.h>
+
+ void E_(InitLibavcodec) ( vlc_object_t *p_object );
+ static void ChromaConversion( vout_thread_t *, picture_t *, picture_t * );
+@@ -89,26 +90,27 @@
+ p_vout->chroma.p_sys->i_src_ffmpeg_chroma = i_ffmpeg_chroma[0];
+ p_vout->chroma.p_sys->i_dst_ffmpeg_chroma = i_ffmpeg_chroma[1];
+
+- if( ( p_vout->render.i_height != p_vout->output.i_height ||
+- p_vout->render.i_width != p_vout->output.i_width ) &&
+- ( p_vout->chroma.p_sys->i_dst_vlc_chroma == VLC_FOURCC('I','4','2','0') ||
+- p_vout->chroma.p_sys->i_dst_vlc_chroma == VLC_FOURCC('Y','V','1','2') ))
+-
+- {
+- msg_Dbg( p_vout, "preparing to resample picture" );
+- p_vout->chroma.p_sys->p_rsc =
+- img_resample_init( p_vout->output.i_width, p_vout->output.i_height,
+- p_vout->render.i_width, p_vout->render.i_height );
+- avpicture_alloc( &p_vout->chroma.p_sys->tmp_pic,
+- p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
+- p_vout->render.i_width, p_vout->render.i_height );
+- }
+- else
+- {
+- msg_Dbg( p_vout, "no resampling" );
+- p_vout->chroma.p_sys->p_rsc = NULL;
+- }
+-
++ /* if( ( p_vout->render.i_height != p_vout->output.i_height ||
++ * p_vout->render.i_width != p_vout->output.i_width ) &&
++ * ( p_vout->chroma.p_sys->i_dst_vlc_chroma == VLC_FOURCC('I','4','2','0') ||
++ * p_vout->chroma.p_sys->i_dst_vlc_chroma == VLC_FOURCC('Y','V','1','2') ))
++ *
++ * {
++ *msg_Dbg( p_vout, "preparing to resample picture" );
++ * p_vout->chroma.p_sys->p_rsc =
++ * img_resample_init( p_vout->output.i_width, p_vout->output.i_height,
++ * p_vout->render.i_width, p_vout->render.i_height );
++ *avpicture_alloc( &p_vout->chroma.p_sys->tmp_pic,
++ * p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
++ * p_vout->render.i_width, p_vout->render.i_height );
++ *}
++ *else
++ *{
++ *
++ * msg_Dbg( p_vout, "no resampling" );
++ * p_vout->chroma.p_sys->p_rsc = NULL;
++ *}
++ */
+ /* libavcodec needs to be initialized for some chroma conversions */
+ E_(InitLibavcodec)(p_this);
+
+@@ -124,6 +126,7 @@
+ AVPicture src_pic;
+ AVPicture dest_pic;
+ int i;
++ struct SwsContext *img_convert_ctx;
+
+ /* Prepare the AVPictures for converion */
+ for( i = 0; i < p_src->i_planes; i++ )
+@@ -156,21 +159,33 @@
+ if( p_vout->render.i_bmask == 0x00ff0000 )
+ p_vout->chroma.p_sys->i_src_ffmpeg_chroma = PIX_FMT_BGR24;
+
+- if( p_vout->chroma.p_sys->p_rsc )
+- {
+- img_convert( &p_vout->chroma.p_sys->tmp_pic,
+- p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
+- &src_pic, p_vout->chroma.p_sys->i_src_ffmpeg_chroma,
+- p_vout->render.i_width, p_vout->render.i_height );
+- img_resample( p_vout->chroma.p_sys->p_rsc, &dest_pic,
+- &p_vout->chroma.p_sys->tmp_pic );
+- }
+- else
+- {
+- img_convert( &dest_pic, p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
+- &src_pic, p_vout->chroma.p_sys->i_src_ffmpeg_chroma,
+- p_vout->render.i_width, p_vout->render.i_height );
+- }
++/* if( p_vout->chroma.p_sys->p_rsc )
++ * {
++ * img_convert( &p_vout->chroma.p_sys->tmp_pic,
++ * p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
++ * &src_pic, p_vout->chroma.p_sys->i_src_ffmpeg_chroma,
++ * p_vout->render.i_width, p_vout->render.i_height );
++ * img_resample( p_vout->chroma.p_sys->p_rsc, &dest_pic,
++ * &p_vout->chroma.p_sys->tmp_pic );
++ *
++ * }
++ * else
++ * {
++ * img_convert( &dest_pic, p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
++ * &src_pic, p_vout->chroma.p_sys->i_src_ffmpeg_chroma,
++ * p_vout->render.i_width, p_vout->render.i_height );
++ */
++ img_convert_ctx =
++ sws_getContext(p_vout->render.i_width, p_vout->render.i_height,
++ p_vout->chroma.p_sys->i_src_ffmpeg_chroma,
++ p_vout->render.i_width, p_vout->render.i_height,
++ p_vout->chroma.p_sys->i_dst_ffmpeg_chroma,
++ SWS_BICUBIC, NULL, NULL, NULL);
++ sws_scale(img_convert_ctx, src_pic.data, src_pic.linesize,
++ 0, p_vout->render.i_height,
++ dest_pic.data, dest_pic.linesize);
++ sws_freeContext( img_convert_ctx );
++ /* } */
+ }
+
+ /*****************************************************************************
+@@ -181,10 +196,11 @@
+ void E_(CloseChroma)( vlc_object_t *p_this )
+ {
+ vout_thread_t *p_vout = (vout_thread_t *)p_this;
+- if( p_vout->chroma.p_sys->p_rsc )
+- {
+- img_resample_close( p_vout->chroma.p_sys->p_rsc );
+- avpicture_free( &p_vout->chroma.p_sys->tmp_pic );
+- }
++ /*if( p_vout->chroma.p_sys->p_rsc )
++ *{
++ * img_resample_close( p_vout->chroma.p_sys->p_rsc );
++ * avpicture_free( &p_vout->chroma.p_sys->tmp_pic );
++ *}
++ */
+ free( p_vout->chroma.p_sys );
+ }
+Nur in vlc-0.8.6c/modules/codec/ffmpeg: chroma.c~.
+diff -ur vlc-0.8.6c.orig/modules/codec/ffmpeg/video.c vlc-0.8.6c/modules/codec/ffmpeg/video.c
+--- vlc-0.8.6c.orig/modules/codec/ffmpeg/video.c 2007-06-16 16:25:12.000000000 +0200
++++ vlc-0.8.6c/modules/codec/ffmpeg/video.c 2007-09-01 16:47:53.335576268 +0200
+@@ -37,6 +37,7 @@
+ #endif
+
+ #include "ffmpeg.h"
++#include <ffmpeg/swscale.h>
+
+ /*****************************************************************************
+ * decoder_sys_t : decoder descriptor
+@@ -831,11 +832,22 @@
+ dest_pic.data[i] = p_pic->p[i].p_pixels;
+ dest_pic.linesize[i] = p_pic->p[i].i_pitch;
+ }
+- img_convert( &dest_pic, PIX_FMT_YUV420P,
++ /*img_convert( &dest_pic, PIX_FMT_YUV420P,
+ (AVPicture *)p_ff_pic,
+ p_sys->p_context->pix_fmt,
+ p_sys->p_context->width,
+- p_sys->p_context->height );
++ p_sys->p_context->height );*/
++ struct SwsContext *img_convert_ctx = sws_getContext(
++ p_sys->p_context->width, p_sys->p_context->height,
++ p_sys->p_context->pix_fmt,
++ p_sys->p_context->width, p_sys->p_context->height,
++ PIX_FMT_YUV420P,
++ SWS_BICUBIC, NULL, NULL, NULL);
++ sws_scale(img_convert_ctx,
++ (AVPicture *)p_ff_pic->data, (AVPicture *)p_ff_pic->linesize,
++ 0, p_sys->p_context->height,
++ dest_pic.data, dest_pic.linesize);
++ sws_freeContext(img_convert_ctx);
+ break;
+ default:
+ msg_Err( p_dec, "don't know how to convert chroma %i",
+Nur in vlc-0.8.6c/modules/codec/ffmpeg: video.c~.
+diff -ur vlc-0.8.6c.orig/modules/codec/ffmpeg/video_filter.c vlc-0.8.6c/modules/codec/ffmpeg/video_filter.c
+--- vlc-0.8.6c.orig/modules/codec/ffmpeg/video_filter.c 2007-06-16 16:25:12.000000000 +0200
++++ vlc-0.8.6c/modules/codec/ffmpeg/video_filter.c 2007-09-01 16:30:14.000000000 +0200
+@@ -37,6 +37,7 @@
+ #endif
+
+ #include "ffmpeg.h"
++#include <ffmpeg/swscale.h>
+
+ void E_(InitLibavcodec) ( vlc_object_t *p_object );
+ static int CheckInit( filter_t *p_filter );
+@@ -59,7 +60,8 @@
+ int i_dst_ffmpeg_chroma;
+
+ AVPicture tmp_pic;
+- ImgReSampleContext *p_rsc;
++ /*ImgReSampleContext *p_rsc;*/
++ struct SwsContext *img_convert_ctx;
+ };
+
+
+@@ -114,7 +116,7 @@
+ }
+
+ /* Misc init */
+- p_sys->p_rsc = NULL;
++ /*p_sys->p_rsc = NULL;*/
+ p_sys->b_enable_croppadd = b_enable_croppadd;
+ p_sys->i_src_ffmpeg_chroma =
+ E_(GetFfmpegChroma)( p_filter->fmt_in.video.i_chroma );
+@@ -123,6 +125,14 @@
+ p_filter->pf_video_filter = Process;
+ es_format_Init( &p_sys->fmt_in, 0, 0 );
+ es_format_Init( &p_sys->fmt_out, 0, 0 );
++ p_sys->img_convert_ctx = sws_getContext(
++ p_filter->fmt_out.video.i_width,
++ p_filter->fmt_out.video.i_height,
++ p_sys->i_dst_ffmpeg_chroma,
++ p_filter->fmt_in.video.i_width,
++ p_filter->fmt_in.video.i_height,
++ p_sys->i_dst_ffmpeg_chroma,
++ SWS_BICUBIC, NULL, NULL, NULL);
+
+ /* Dummy alloc, will be reallocated in CheckInit */
+ avpicture_alloc( &p_sys->tmp_pic, p_sys->i_src_ffmpeg_chroma,
+@@ -172,7 +182,8 @@
+ filter_t *p_filter = (filter_t*)p_this;
+ filter_sys_t *p_sys = p_filter->p_sys;
+
+- if( p_sys->p_rsc ) img_resample_close( p_sys->p_rsc );
++ /*if( p_sys->p_rsc ) img_resample_close( p_sys->p_rsc );*/
++ if( p_sys->img_convert_ctx ) sws_freeContext( p_sys->img_convert_ctx );
+
+ avpicture_free( &p_sys->tmp_pic );
+
+@@ -216,8 +227,10 @@
+
+ if ( b_change )
+ {
+- if( p_sys->p_rsc ) img_resample_close( p_sys->p_rsc );
+- p_sys->p_rsc = 0;
++ /*if( p_sys->p_rsc ) img_resample_close( p_sys->p_rsc );
++ p_sys->p_rsc = 0;*/
++ if( p_sys->img_convert_ctx ) sws_freeContext( p_sys->img_convert_ctx );
++ p_sys->img_convert_ctx = NULL;
+
+ p_sys->b_convert =
+ p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma;
+@@ -287,7 +300,7 @@
+ - p_filter->fmt_out.video.i_x_offset;
+ }
+
+-#if LIBAVCODEC_BUILD >= 4708
++/*#if LIBAVCODEC_BUILD >= 4708
+ p_sys->p_rsc = img_resample_full_init(
+ p_filter->fmt_out.video.i_width,
+ p_filter->fmt_out.video.i_height,
+@@ -305,18 +318,37 @@
+ p_filter->fmt_in.video.i_height,
+ i_croptop,i_cropbottom,
+ i_cropleft,i_cropright );
+-#endif
++#endif*/
++ p_sys->img_convert_ctx = sws_getContext(
++ p_filter->fmt_out.video.i_width - i_paddleft - i_paddright,
++ p_filter->fmt_out.video.i_height - i_paddtop - i_paddbottom,
++ p_sys->i_dst_ffmpeg_chroma,
++ p_filter->fmt_in.video.i_width,
++ p_filter->fmt_in.video.i_height,
++ p_sys->i_dst_ffmpeg_chroma,
++ SWS_BICUBIC, NULL, NULL, NULL);
++
+ msg_Dbg( p_filter, "input: %ix%i -> %ix%i",
+ p_filter->fmt_out.video.i_width,
+ p_filter->fmt_out.video.i_height,
+ p_filter->fmt_in.video.i_width,
+ p_filter->fmt_in.video.i_height);
+
+- if( !p_sys->p_rsc )
++ /*if( !p_sys->p_rsc )*/
++ if( !p_sys->img_convert_ctx )
+ {
+ msg_Err( p_filter, "img_resample_init failed" );
+ return VLC_EGENERIC;
+ }
++ } else {
++ p_sys->img_convert_ctx = sws_getContext(
++ p_filter->fmt_out.video.i_width,
++ p_filter->fmt_out.video.i_height,
++ p_sys->i_dst_ffmpeg_chroma,
++ p_filter->fmt_in.video.i_width,
++ p_filter->fmt_in.video.i_height,
++ p_sys->i_dst_ffmpeg_chroma,
++ SWS_BICUBIC, NULL, NULL, NULL);
+ }
+
+ avpicture_free( &p_sys->tmp_pic );
+@@ -458,14 +490,15 @@
+
+ p_src = &src_pic;
+
+- if( p_sys->b_resize && p_sys->p_rsc )
++ /*if( p_sys->b_resize && p_sys->p_rsc )*/
++ if( p_sys->b_resize && p_sys->img_convert_ctx )
+ {
+ p_dst = &dest_pic;
+ if( p_sys->b_resize_first )
+ {
+ if( p_sys->b_convert ) p_dst = &p_sys->tmp_pic;
+
+-#if LIBAVCODEC_BUILD >= 4708
++/*#if LIBAVCODEC_BUILD >= 4708
+ img_resample( p_sys->p_rsc, p_dst, p_src );
+ #else
+ if ( p_sys->b_enable_croppadd )
+@@ -478,7 +511,12 @@
+ {
+ img_resample( p_sys->p_rsc, p_dst, p_src );
+ }
+-#endif
++#endif*/
++ sws_scale(p_sys->img_convert_ctx, p_src->data, p_src->linesize,
++ 0, p_filter->fmt_out.video.i_height
++ - p_filter->fmt_out.video.i_visible_height
++ - p_filter->fmt_out.video.i_y_offset,
++ p_dst->data, p_dst->linesize);
+
+ if (p_sys->b_enable_croppadd)
+ {
+@@ -515,18 +553,22 @@
+ p_fmt = &p_filter->fmt_in.video;
+ }
+
+- img_convert( p_dst, p_sys->i_dst_ffmpeg_chroma,
++ /*img_convert( p_dst, p_sys->i_dst_ffmpeg_chroma,
+ p_src, p_sys->i_src_ffmpeg_chroma,
+- p_fmt->i_width, p_fmt->i_height );
++ p_fmt->i_width, p_fmt->i_height );*/
++ sws_scale(p_sys->img_convert_ctx, p_src->data, p_src->linesize,
++ 0, p_fmt->i_height,
++ p_dst->data, p_dst->linesize);
+
+ p_src = p_dst;
+ }
+
+- if( p_sys->b_resize && !p_sys->b_resize_first && p_sys->p_rsc )
++ /*if( p_sys->b_resize && !p_sys->b_resize_first && p_sys->p_rsc )*/
++ if( p_sys->b_resize && !p_sys->b_resize_first && p_sys->img_convert_ctx )
+ {
+ p_dst = &dest_pic;
+
+-#if LIBAVCODEC_BUILD >= 4708
++/*#if LIBAVCODEC_BUILD >= 4708
+ img_resample( p_sys->p_rsc, p_dst, p_src );
+ #else
+ if ( p_sys->b_enable_croppadd )
+@@ -539,7 +581,7 @@
+ {
+ img_resample( p_sys->p_rsc, p_dst, p_src );
+ }
+-#endif
++#endif*/
+
+ if (p_sys->b_enable_croppadd)
+ {
+Nur in vlc-0.8.6c/modules/codec/ffmpeg: video_filter.c~.
diff --git a/vlc/build/vlc_libcdio-0.78.2.patch b/vlc/build/vlc_libcdio-0.78.2.patch
new file mode 100644
index 00000000..8fb49c59
--- /dev/null
+++ b/vlc/build/vlc_libcdio-0.78.2.patch
@@ -0,0 +1,60 @@
+diff -ur vlc-0.8.5-orig/modules/access/cdda/access.c vlc-0.8.5/modules/access/cdda/access.c
+--- vlc-0.8.5-orig/modules/access/cdda/access.c 2006-05-06 11:52:18.000000000 -0400
++++ vlc-0.8.5/modules/access/cdda/access.c 2006-11-03 17:00:54.000000000 -0500
+@@ -737,14 +737,14 @@
+
+ char *psz_paranoia = config_GetPsz( p_access,
+ MODULE_STRING "-paranoia" );
+- p_cdda->e_paranoia = paranoia_none;
++ p_cdda->e_paranoia = PARANOIA_MODE_DISABLE;
+ if( psz_paranoia && *psz_paranoia )
+ {
+
+ if( !strncmp( psz_paranoia, "full", strlen("full") ) )
+- p_cdda->e_paranoia = paranoia_full;
++ p_cdda->e_paranoia = PARANOIA_MODE_FULL;
+ else if( !strncmp( psz_paranoia, "overlap", strlen("overlap") ) )
+- p_cdda->e_paranoia = paranoia_overlap;
++ p_cdda->e_paranoia = PARANOIA_MODE_OVERLAP;
+
+ /* Use CD Paranoia? */
+ if ( p_cdda->e_paranoia ) {
+@@ -755,7 +755,7 @@
+ if ( 0 != cdio_cddap_open(p_cdda->paranoia_cd) ) {
+ msg_Warn( p_cdda_input, "unable to get paranoia support - "
+ "continuing without it." );
+- p_cdda->e_paranoia = paranoia_none;
++ p_cdda->e_paranoia = PARANOIA_MODE_DISABLE;
+ } else {
+ p_cdda->paranoia = cdio_paranoia_init(p_cdda->paranoia_cd);
+ cdio_paranoia_seek(p_cdda->paranoia, p_cdda->i_lsn, SEEK_SET);
+@@ -763,7 +763,7 @@
+ /* Set reading mode for full or overlap paranoia,
+ but allow skipping sectors. */
+ cdio_paranoia_modeset(p_cdda->paranoia,
+- paranoia_full == p_cdda->e_paranoia ?
++ PARANOIA_MODE_FULL == p_cdda->e_paranoia ?
+ PARANOIA_MODE_FULL^PARANOIA_MODE_NEVERSKIP :
+ PARANOIA_MODE_OVERLAP^PARANOIA_MODE_NEVERSKIP
+ );
+diff -ur vlc-0.8.5-orig/modules/access/cdda/cdda.h vlc-0.8.5/modules/access/cdda/cdda.h
+--- vlc-0.8.5-orig/modules/access/cdda/cdda.h 2006-05-06 11:52:18.000000000 -0400
++++ vlc-0.8.5/modules/access/cdda/cdda.h 2006-11-03 17:00:54.000000000 -0500
+@@ -71,12 +71,13 @@
+ #define CdIo_t CdIo
+ #endif
+
++#if LIBCDIO_VERSION_NUM < 78
+ typedef enum {
+- paranoia_none = 0, /* Note: We make use of 0 as being the same as false */
+- paranoia_overlap = 1,
+- paranoia_full = 2
++ PARANOIA_MODE_DISABLE = 0x00, /* Note: We make use of 0 as being the same as false */
++ PARANOIA_MODE_OVERLAP = 0x04,
++ PARANOIA_MODE_FULL = 0xff
+ } paranoia_mode_t;
+-
++#endif
+
+ /*****************************************************************************
+ * cdda_data_t: CD audio information