[Ffmpeg-cvslog] r7945 - in trunk: configure libavcodec/Makefile libavcodec/a52dec.c
diego
subversion
Mon Feb 12 11:05:19 CET 2007
Author: diego
Date: Mon Feb 12 11:05:19 2007
New Revision: 7945
Modified:
trunk/configure
trunk/libavcodec/Makefile
trunk/libavcodec/a52dec.c
Log:
Restore the possibility to link liba52 instead of dlopening.
Modified: trunk/configure
==============================================================================
--- 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]"
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;
}
More information about the ffmpeg-cvslog
mailing list