[Ffmpeg-cvslog] r7945 - in trunk: configure libavcodec/Makefile libavcodec/a52dec.c

Diego Biurrun diego
Mon Feb 12 12:25:02 CET 2007


On Mon, Feb 12, 2007 at 12:16:29PM +0100, Michel Bardiaux wrote:
> diego wrote:
> >
> >Modified:
> >   trunk/configure
> >   trunk/libavcodec/Makefile
> >   trunk/libavcodec/a52dec.c
> 
> Please clarify a few things for me. The local copy of liba52 that was in 
> the tree remains definitely out, and one always uses an external liba52 
> (at least right now). Correct?

Correct.

> >Log:
> >Restore the possibility to link liba52 instead of dlopening.
> >
> >--- trunk/configure	(original)
> >+++ trunk/configure	Mon Feb 12 11:05:19 2007
> >@@ -78,6 +78,7 @@
> >   echo "  --enable-x11grab         enable X11 grabbing [default=no]"
> >   echo "  --enable-dc1394          enable IIDC-1394 grabbing using 
> >   libdc1394"
> >   echo "                           and libraw1394 [default=no]"
> >+  echo "  --enable-a52             enable GPLed liba52 support [default=no]"
> >   echo "  --enable-a52bin          open liba52.so.0 at runtime [default=no]"
> 
> It is far from clear in that help that a52bin requires a52. That seems 
> proved by the fact here is only 1 OBJ line below. But there is no code 
> anywhere forcing a52, neither code requiring it, when a52bin is used.

Yes, you have to specify both, same as --enable-faad and --enable-faadbin.
I plan on fixing that but it's an independent issue.

> >   echo "  --enable-avisynth        allow reading AVISynth script files 
> >   [default=no]"
> >   echo "  --enable-dts             enable GPLed libdts support 
> >   [default=no]"
> >@@ -486,6 +487,7 @@
> >     gpl
> >     gprof
> >     ipv6
> >+    liba52
> >     liba52bin
> >     libdts
> >     libfaac
> >@@ -595,7 +597,7 @@
> > amr_wb_encoder_deps="amr_wb"
> > dts_decoder_deps="libdts"
> > faac_encoder_deps="libfaac"
> >-liba52_decoder_deps="liba52bin"
> >+liba52_decoder_deps="liba52"
> > libgsm_decoder_deps="libgsm"
> > libgsm_encoder_deps="libgsm"
> > libtheora_encoder_deps="libtheora"
> >@@ -754,6 +756,7 @@
> > dc1394="no"
> > dlfcn_h="no"
> > dlopen="no"
> >+liba52="no"
> > liba52bin="no"
> > libdts="no"
> > libfaac="no"
> >@@ -1032,6 +1035,8 @@
> >   ;;
> >   --disable-v4l2) video4linux2="no"
> >   ;;
> >+  --enable-a52) liba52="yes"
> >+  ;;
> >   --enable-a52bin) liba52bin="yes"
> >   ;;
> >   --enable-dts) libdts="yes"
> >@@ -1182,7 +1187,7 @@
> >         enabled_any $@ && die "$name is under GPL and --enable-gpl is not 
> >         specified."
> >     }
> >     die_gpl_disabled "The Postprocessing code" pp
> >-    die_gpl_disabled "liba52"                  liba52bin
> >+    die_gpl_disabled "liba52"                  liba52
> >     die_gpl_disabled "libxvidcore"             xvid
> >     die_gpl_disabled "x264"                    x264
> >     die_gpl_disabled "libdts"                  libdts
> >@@ -1494,6 +1499,7 @@
> >     die "Only one of amr_nb and amr_nb_fixed may be enabled."
> > 
> > # these are off by default, so fail if requested and not available
> >+enabled liba52     && require liba52 a52dec/a52.h a52_init -la52
> > enabled libdts     && require libdts dts.h dts_init -ldts -lm
> > enabled libgsm     && require libgsm gsm.h gsm_create -lgsm
> > enabled libmp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm
> >@@ -1815,6 +1821,7 @@
> > fi
> > echo "Sun medialib support      $mlib"
> > echo "AVISynth enabled          $avisynth"
> >+echo "liba52 support            $liba52"
> > echo "liba52 dlopened           $liba52bin"
> > echo "libdts support            $libdts"
> > echo "libfaac enabled           $libfaac"
> >
> >Modified: trunk/libavcodec/Makefile
> >==============================================================================
> >--- trunk/libavcodec/Makefile	(original)
> >+++ trunk/libavcodec/Makefile	Mon Feb 12 11:05:19 2007
> >@@ -248,7 +248,7 @@
> > OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER)    += adpcm.o
> > 
> > # external codec libraries
> >-OBJS-$(CONFIG_LIBA52BIN)               += a52dec.o
> >+OBJS-$(CONFIG_LIBA52)                  += a52dec.o
> > OBJS-$(CONFIG_LIBDTS)                  += dtsdec.o
> > OBJS-$(CONFIG_LIBFAAC)                 += faac.o
> > OBJS-$(CONFIG_LIBFAAD)                 += faad.o
> >
> >Modified: trunk/libavcodec/a52dec.c
> >==============================================================================
> >--- trunk/libavcodec/a52dec.c	(original)
> >+++ trunk/libavcodec/a52dec.c	Mon Feb 12 11:05:19 2007
> >@@ -26,8 +26,11 @@
> > 
> > #include "avcodec.h"
> > #include <a52dec/a52.h>
> >+
> >+#ifdef CONFIG_LIBA52BIN
> > #include <dlfcn.h>
> > static const char* liba52name = "liba52.so.0";
> >+#endif
> > 
> > /**
> >  * liba52 - Copyright (C) Aaron Holtzman
> >@@ -79,6 +82,7 @@
> > {
> >     AC3DecodeState *s = avctx->priv_data;
> > 
> >+#ifdef CONFIG_LIBA52BIN
> >     s->handle = dlopen(liba52name, RTLD_LAZY);
> >     if (!s->handle)
> >     {
> >@@ -97,6 +101,15 @@
> >         dlclose(s->handle);
> >         return -1;
> >     }
> >+#else
> >+    s->handle = 0;
> >+    s->a52_init = a52_init;
> >+    s->a52_samples = a52_samples;
> >+    s->a52_syncinfo = a52_syncinfo;
> >+    s->a52_frame = a52_frame;
> >+    s->a52_block = a52_block;
> >+    s->a52_free = a52_free;
> >+#endif
> >     s->state = s->a52_init(0); /* later use CPU flags */
> >     s->samples = s->a52_samples(s->state);
> >     s->inbuf_ptr = s->inbuf;
> >@@ -226,7 +239,9 @@
> > {
> >     AC3DecodeState *s = avctx->priv_data;
> >     s->a52_free(s->state);
> >+#ifdef CONFIG_LIBA52BIN
> >     dlclose(s->handle);
> >+#endif
> >     return 0;
> > }

Could you *please* snip stuff you don't reply to?  You complain about
the quoting style of others after all ..

Diego





More information about the ffmpeg-cvslog mailing list