summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog1
-rwxr-xr-xconfigure4
-rw-r--r--libavcodec/Makefile1
-rw-r--r--libavcodec/allcodecs.c2
-rw-r--r--libavcodec/allcodecs.h1
5 files changed, 8 insertions, 1 deletions
diff --git a/Changelog b/Changelog
index 6ecbdb7f79..5cd6a2cbdc 100644
--- a/Changelog
+++ b/Changelog
@@ -90,6 +90,7 @@ version <next>
- RoQ video encoder
- QTRLE encoder
- OS/2 support removed
+- AC-3 decoder
version 0.4.9-pre1:
diff --git a/configure b/configure
index 9a8feec758..0933d66ac3 100755
--- a/configure
+++ b/configure
@@ -719,6 +719,7 @@ mmx_deps="x86"
ssse3_deps="x86"
# decoders / encoders
+ac3_decoder_deps="gpl"
dxa_decoder_deps="zlib"
flashsv_decoder_deps="zlib"
flashsv_encoder_deps="zlib"
@@ -1592,6 +1593,9 @@ enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaa
enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lvfw32
+# disable the native AC-3 decoder if liba52 is enabled
+enabled liba52 && disable ac3_decoder
+
_restrict=
for restrict_keyword in restrict __restrict__ __restrict; do
check_cc <<EOF && _restrict=$restrict_keyword && break
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 76d12e798b..0efcfa85c6 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -32,6 +32,7 @@ OBJS= bitstream.o \
HEADERS = avcodec.h opt.h
OBJS-$(CONFIG_AASC_DECODER) += aasc.o
+OBJS-$(CONFIG_AC3_DECODER) += ac3dec.o ac3tab.o ac3.o mdct.o fft.o
OBJS-$(CONFIG_AC3_ENCODER) += ac3enc.o ac3tab.o ac3.o
OBJS-$(CONFIG_ALAC_DECODER) += alac.o
OBJS-$(CONFIG_ASV1_DECODER) += asv1.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index cb73660d55..6902d9c1d8 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -166,7 +166,7 @@ void avcodec_register_all(void)
/* audio codecs */
REGISTER_DECODER(MPEG4AAC, mpeg4aac);
- REGISTER_ENCODER(AC3, ac3);
+ REGISTER_ENCDEC (AC3, ac3);
REGISTER_DECODER(ALAC, alac);
REGISTER_DECODER(ATRAC3, atrac3);
REGISTER_DECODER(COOK, cook);
diff --git a/libavcodec/allcodecs.h b/libavcodec/allcodecs.h
index 3b462569a3..979a6a1371 100644
--- a/libavcodec/allcodecs.h
+++ b/libavcodec/allcodecs.h
@@ -77,6 +77,7 @@ extern AVCodec wmv2_encoder;
extern AVCodec zmbv_encoder;
extern AVCodec aasc_decoder;
+extern AVCodec ac3_decoder;
extern AVCodec alac_decoder;
extern AVCodec asv1_decoder;
extern AVCodec asv2_decoder;