diff options
-rw-r--r-- | vlc/build/faac_bootstrap.patch | 27 | ||||
-rw-r--r-- | vlc/build/faac_pipe.patch | 20 | ||||
-rw-r--r-- | vlc/build/libraw1394_typedef.patch | 12 | ||||
-rw-r--r-- | vlc/build/vlc_amr.patch | 15 | ||||
-rw-r--r-- | vlc/build/vlc_dirac-0.8.0-api.patch | 126 | ||||
-rw-r--r-- | vlc/build/vlc_ffmpeg_mux.patch | 14 | ||||
-rw-r--r-- | vlc/build/vlc_ffmpeg_swscale.patch | 515 | ||||
-rw-r--r-- | vlc/build/vlc_libcdio-0.78.2.patch | 60 |
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 |