diff options
author | Eric Hameleers <alien@slackware.com> | 2008-06-13 19:19:10 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2008-06-13 19:19:10 +0000 |
commit | 3d9fd289378cb6296102f1ac1f76a9ee10c3c6af (patch) | |
tree | 9ce2fa62535e104dcfbdcefd84075dd4ac19061f | |
parent | 58a570a85fad349ce8442053fd643927065e16ec (diff) | |
download | asb-3d9fd289378cb6296102f1ac1f76a9ee10c3c6af.tar.gz asb-3d9fd289378cb6296102f1ac1f76a9ee10c3c6af.tar.xz |
Initial revision
-rw-r--r-- | vlc/build/vlc_dts_to_dca_api.patch | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/vlc/build/vlc_dts_to_dca_api.patch b/vlc/build/vlc_dts_to_dca_api.patch new file mode 100644 index 00000000..edf820eb --- /dev/null +++ b/vlc/build/vlc_dts_to_dca_api.patch @@ -0,0 +1,292 @@ +http://svn.pardus.org.tr/pardus/devel/applications/multimedia/vlc/files/dts_to_dca_api.patch + +diff -up vlc-0.8.6c/configure.ac.dts_dca vlc-0.8.6c/configure.ac +--- vlc-0.8.6c/configure.ac.dts_dca 2007-11-06 01:07:55.000000000 +0100 ++++ vlc-0.8.6c/configure.ac 2007-11-06 01:15:20.000000000 +0100 +@@ -3036,69 +3036,52 @@ AC_ARG_WITH(a52-fixed, + dnl + dnl DTS Coherent Acoustics decoder plugin + dnl +-AC_ARG_ENABLE(dts, +- [ --enable-dts DTS Coherent Acoustics support with libdca (default enabled)]) +-if test "${enable_dts}" != "no"; then +- AC_ARG_WITH(dts-tree, +- [ --with-dts-tree=PATH libdts tree for static linking ],[],[]) +- if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}" +- then +- real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`" +- if test -z "${real_dts_tree}" +- then ++AS_IF([test "x${enable_dts}" != "x"], [ ++ AC_MSG_ERROR([--enable-dts is not obsolete. Please use libdca and --enable-dca.]) ++]) ++AS_IF([test "x${with_dts_tree}" != "x"], [ ++ AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.]) ++]) ++ ++AC_ARG_ENABLE(dca, ++ [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)]) ++AS_IF([test "${enable_dca}" != "no"], [ ++ AC_ARG_WITH(dca-tree, ++ [ --with-dca-tree=PATH libdca tree for static linking],, ++ [with_dca_tree="no"]) ++ AS_IF([test "${with_dca_tree}" != "no"], [ ++ real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`" ++ AS_IF([test -z "${real_dca_tree}"], [ + dnl The given directory can't be found + AC_MSG_RESULT(no) +- AC_MSG_ERROR([${with_dts_tree} directory doesn't exist]) +- fi +- dnl Use a custom libdts +- AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include) +- if test -f ${real_dts_tree}/include/dts.h +- then ++ AC_MSG_ERROR([${with_dca_tree} directory doesn't exist]) ++ ]) ++ dnl Use a custom libdca ++ AC_MSG_CHECKING(for libdca in ${real_dca_tree}) ++ AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [ + AC_MSG_RESULT(yes) +- VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include]) +- VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts]) +- LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" +- AC_CHECK_LIB(dts_pic, dts_free, [ +- VLC_ADD_PLUGINS([dtstofloat32]) +- VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic]) +- ],[ +- AC_CHECK_LIB(dts, dts_free, [ +- VLC_ADD_BUILTINS([dtstofloat32]) +- VLC_ADD_LDFLAGS([dtstofloat32],[-ldts]) +- ],[ +- if test -f ${real_dts_tree}/libdts/libdts.a +- then +- AC_MSG_ERROR([make sure you have at least libdts-0.0.2]) +- else +- AC_MSG_ERROR([the specified tree hasn't been compiled]) +- fi +- ]) +- ], [-lm]) +- LDFLAGS="${LDFLAGS_save}" +- else ++ VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a]) ++ AS_IF([test -f "${real_dca_tree}/include/dca.h"], [ ++ VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include]) ++ ], [ ++ VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include]) ++ ]) ++ ], [ + AC_MSG_RESULT(no) +- AC_MSG_ERROR([the specified tree doesn't have dts.h]) +- fi +- else +- LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" +- AC_CHECK_HEADERS(dts.h, [ +- AC_CHECK_LIB(dts_pic, dts_free, [ +- VLC_ADD_PLUGINS([dtstofloat32]) +- VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic]) +- ],[ +- AC_CHECK_LIB(dts, dts_free, [ +- VLC_ADD_BUILTINS([dtstofloat32]) +- VLC_ADD_LDFLAGS([dtstofloat32],[-ldts]) +- ],[ +- if test "${enable_dts}" = "yes"; then +- AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html]) +- fi +- ]) +- ], [-lm]) ++ AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a]) + ]) +- LDFLAGS="${LDFLAGS_save}" +- fi +-fi ++ ], [ ++ PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [ ++ VLC_ADD_PLUGINS([dtstofloat32]) ++ VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}]) ++ VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}]) ++ ], [ ++ AS_IF([test "x${enable_dca}" != "x"], [ ++ AC_MSG_ERROR([${DCA_PKG_ERRORS}]) ++ ]) ++ ]) ++ ]) ++]) + + dnl + dnl Flac plugin +diff -up vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c.dts_dca vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c +--- vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c.dts_dca 2007-06-16 16:25:12.000000000 +0200 ++++ vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c 2007-11-06 01:06:05.000000000 +0100 +@@ -31,7 +31,7 @@ + #include <stdlib.h> /* malloc(), free() */ + #include <string.h> /* strdup() */ + +-#include <dts.h> /* libdca header file */ ++#include <dca.h> /* libdca header file */ + + #include <vlc/decoder.h> + #include "aout_internal.h" +@@ -66,7 +66,7 @@ static const uint32_t pi_channels_out[] + *****************************************************************************/ + struct filter_sys_t + { +- dts_state_t * p_libdts; /* libdca internal structure */ ++ dca_state_t * p_libdca; /* libdca internal structure */ + vlc_bool_t b_dynrng; /* see below */ + int i_flags; /* libdca flags, see dtsdec/doc/libdts.txt */ + vlc_bool_t b_dontwarn; +@@ -158,50 +158,50 @@ static int Open( vlc_object_t *p_this, f + || (output.i_original_channels + & (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) ) + { +- p_sys->i_flags = DTS_MONO; ++ p_sys->i_flags = DCA_MONO; + } + break; + + case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT: + if ( output.i_original_channels & AOUT_CHAN_DOLBYSTEREO ) + { +- p_sys->i_flags = DTS_DOLBY; ++ p_sys->i_flags = DCA_DOLBY; + } + else if ( input.i_original_channels == AOUT_CHAN_CENTER ) + { +- p_sys->i_flags = DTS_MONO; ++ p_sys->i_flags = DCA_MONO; + } + else if ( input.i_original_channels & AOUT_CHAN_DUALMONO ) + { +- p_sys->i_flags = DTS_CHANNEL; ++ p_sys->i_flags = DCA_CHANNEL; + } + else + { +- p_sys->i_flags = DTS_STEREO; ++ p_sys->i_flags = DCA_STEREO; + } + break; + + case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER: +- p_sys->i_flags = DTS_3F; ++ p_sys->i_flags = DCA_3F; + break; + + case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_REARCENTER: +- p_sys->i_flags = DTS_2F1R; ++ p_sys->i_flags = DCA_2F1R; + break; + + case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER + | AOUT_CHAN_REARCENTER: +- p_sys->i_flags = DTS_3F1R; ++ p_sys->i_flags = DCA_3F1R; + break; + + case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT + | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT: +- p_sys->i_flags = DTS_2F2R; ++ p_sys->i_flags = DCA_2F2R; + break; + + case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER + | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT: +- p_sys->i_flags = DTS_3F2R; ++ p_sys->i_flags = DCA_3F2R; + break; + + default: +@@ -211,13 +211,13 @@ static int Open( vlc_object_t *p_this, f + } + if ( output.i_physical_channels & AOUT_CHAN_LFE ) + { +- p_sys->i_flags |= DTS_LFE; ++ p_sys->i_flags |= DCA_LFE; + } +- //p_sys->i_flags |= DTS_ADJUST_LEVEL; ++ //p_sys->i_flags |= DCA_ADJUST_LEVEL; + + /* Initialize libdca */ +- p_sys->p_libdts = dts_init( 0 ); +- if( p_sys->p_libdts == NULL ) ++ p_sys->p_libdca = dca_init( 0 ); ++ if( p_sys->p_libdca == NULL ) + { + msg_Err( p_this, "unable to initialize libdca" ); + return VLC_EGENERIC; +@@ -300,7 +300,7 @@ static void DoWork( aout_instance_t * p_ + /* Needs to be called so the decoder knows which type of bitstream it is + * dealing with. */ + int i_sample_rate, i_bit_rate, i_frame_length; +- if( !dts_syncinfo( p_sys->p_libdts, p_in_buf->p_buffer, &i_flags, ++ if( !dca_syncinfo( p_sys->p_libdca, p_in_buf->p_buffer, &i_flags, + &i_sample_rate, &i_bit_rate, &i_frame_length ) ) + { + msg_Warn( p_aout, "libdca couldn't sync on frame" ); +@@ -309,38 +309,38 @@ static void DoWork( aout_instance_t * p_ + } + + i_flags = p_sys->i_flags; +- dts_frame( p_sys->p_libdts, p_in_buf->p_buffer, ++ dca_frame( p_sys->p_libdca, p_in_buf->p_buffer, + &i_flags, &i_sample_level, 0 ); + +- if ( (i_flags & DTS_CHANNEL_MASK) != (p_sys->i_flags & DTS_CHANNEL_MASK) ++ if ( (i_flags & DCA_CHANNEL_MASK) != (p_sys->i_flags & DCA_CHANNEL_MASK) + && !p_sys->b_dontwarn ) + { + msg_Warn( p_aout, + "libdca couldn't do the requested downmix 0x%x->0x%x", +- p_sys->i_flags & DTS_CHANNEL_MASK, +- i_flags & DTS_CHANNEL_MASK ); ++ p_sys->i_flags & DCA_CHANNEL_MASK, ++ i_flags & DCA_CHANNEL_MASK ); + + p_sys->b_dontwarn = 1; + } + + if( 0)//!p_sys->b_dynrng ) + { +- dts_dynrng( p_sys->p_libdts, NULL, NULL ); ++ dca_dynrng( p_sys->p_libdca, NULL, NULL ); + } + +- for ( i = 0; i < dts_blocks_num(p_sys->p_libdts); i++ ) ++ for ( i = 0; i < dca_blocks_num(p_sys->p_libdca); i++ ) + { + sample_t * p_samples; + +- if( dts_block( p_sys->p_libdts ) ) ++ if( dca_block( p_sys->p_libdca ) ) + { +- msg_Warn( p_aout, "dts_block failed for block %d", i ); ++ msg_Warn( p_aout, "dca_block failed for block %d", i ); + break; + } + +- p_samples = dts_samples( p_sys->p_libdts ); ++ p_samples = dca_samples( p_sys->p_libdca ); + +- if ( (p_sys->i_flags & DTS_CHANNEL_MASK) == DTS_MONO ++ if ( (p_sys->i_flags & DCA_CHANNEL_MASK) == DCA_MONO + && (p_filter->output.i_physical_channels + & (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) ) + { +@@ -373,7 +373,7 @@ static void Destroy( vlc_object_t *p_thi + aout_filter_t *p_filter = (aout_filter_t *)p_this; + filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys; + +- dts_free( p_sys->p_libdts ); ++ dca_free( p_sys->p_libdca ); + free( p_sys ); + } + +@@ -427,7 +427,7 @@ static void CloseFilter( vlc_object_t *p + filter_t *p_filter = (filter_t *)p_this; + filter_sys_t *p_sys = p_filter->p_sys; + +- dts_free( p_sys->p_libdts ); ++ dca_free( p_sys->p_libdca ); + free( p_sys ); + } + |