From 7d420a4294dc30bdba94e9821a341f49c511e4f3 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Fri, 19 Oct 2012 19:59:20 +0200 Subject: [PATCH 1/5] fate: More fine-grained dependencies for libavcodec test programs --- tests/fate/libavcodec.mak | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/fate/libavcodec.mak b/tests/fate/libavcodec.mak index e7831bb083..784fd9a7e6 100644 --- a/tests/fate/libavcodec.mak +++ b/tests/fate/libavcodec.mak @@ -1,17 +1,17 @@ -FATE_LIBAVCODEC += fate-golomb +FATE_LIBAVCODEC-$(CONFIG_GOLOMB) += fate-golomb fate-golomb: libavcodec/golomb-test$(EXESUF) fate-golomb: CMD = run libavcodec/golomb-test fate-golomb: REF = /dev/null -FATE_LIBAVCODEC += fate-iirfilter +FATE_LIBAVCODEC-yes += fate-iirfilter fate-iirfilter: libavcodec/iirfilter-test$(EXESUF) fate-iirfilter: CMD = run libavcodec/iirfilter-test -FATE_LIBAVCODEC += fate-rangecoder +FATE_LIBAVCODEC-$(CONFIG_RANGECODER) += fate-rangecoder fate-rangecoder: libavcodec/rangecoder-test$(EXESUF) fate-rangecoder: CMD = run libavcodec/rangecoder-test fate-rangecoder: CMP = null fate-rangecoder: REF = /dev/null -FATE-$(CONFIG_AVCODEC) += $(FATE_LIBAVCODEC) -fate-libavcodec: $(FATE_LIBAVCODEC) +FATE-$(CONFIG_AVCODEC) += $(FATE_LIBAVCODEC-yes) +fate-libavcodec: $(FATE_LIBAVCODEC-yes) From 71f3eb4536d93b3086a43c18b623cfe93322fc77 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Sat, 20 Oct 2012 16:12:30 +0200 Subject: [PATCH 2/5] fate: cosmetics: Group idct8x8 test together with all other libavcodec tests --- tests/Makefile | 1 - tests/fate/dct.mak | 5 ----- tests/fate/libavcodec.mak | 6 ++++++ 3 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 tests/fate/dct.mak diff --git a/tests/Makefile b/tests/Makefile index b7fb7403d5..5fd1a3c608 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -54,7 +54,6 @@ include $(SRC_PATH)/tests/fate/audio.mak include $(SRC_PATH)/tests/fate/bmp.mak include $(SRC_PATH)/tests/fate/cdxl.mak include $(SRC_PATH)/tests/fate/cover-art.mak -include $(SRC_PATH)/tests/fate/dct.mak include $(SRC_PATH)/tests/fate/demux.mak include $(SRC_PATH)/tests/fate/dfa.mak include $(SRC_PATH)/tests/fate/dpcm.mak diff --git a/tests/fate/dct.mak b/tests/fate/dct.mak deleted file mode 100644 index d79cb9157d..0000000000 --- a/tests/fate/dct.mak +++ /dev/null @@ -1,5 +0,0 @@ -FATE-yes += fate-idct8x8 -fate-idct8x8: libavcodec/dct-test$(EXESUF) -fate-idct8x8: CMD = run libavcodec/dct-test -i -fate-idct8x8: REF = /dev/null -fate-idct8x8: CMP = null diff --git a/tests/fate/libavcodec.mak b/tests/fate/libavcodec.mak index 784fd9a7e6..6e81f57688 100644 --- a/tests/fate/libavcodec.mak +++ b/tests/fate/libavcodec.mak @@ -3,6 +3,12 @@ fate-golomb: libavcodec/golomb-test$(EXESUF) fate-golomb: CMD = run libavcodec/golomb-test fate-golomb: REF = /dev/null +FATE_LIBAVCODEC-yes += fate-idct8x8 +fate-idct8x8: libavcodec/dct-test$(EXESUF) +fate-idct8x8: CMD = run libavcodec/dct-test -i +fate-idct8x8: CMP = null +fate-idct8x8: REF = /dev/null + FATE_LIBAVCODEC-yes += fate-iirfilter fate-iirfilter: libavcodec/iirfilter-test$(EXESUF) fate-iirfilter: CMD = run libavcodec/iirfilter-test From 88bdec03b986b6b442f02c761879ea7398603c9f Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Sat, 20 Oct 2012 01:14:11 +0200 Subject: [PATCH 3/5] fate: Add dependencies for audio tests --- tests/fate/audio.mak | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak index 86f78dd9e6..7e08c2a39a 100644 --- a/tests/fate/audio.mak +++ b/tests/fate/audio.mak @@ -1,44 +1,44 @@ -FATE_BINKAUDIO += fate-binkaudio-dct +FATE_BINKAUDIO-$(call DEMDEC, BINK, BINKAUDIO_DCT) += fate-binkaudio-dct fate-binkaudio-dct: CMD = pcm -i $(SAMPLES)/bink/binkaudio_dct.bik fate-binkaudio-dct: REF = $(SAMPLES)/bink/binkaudio_dct.pcm fate-binkaudio-dct: FUZZ = 2 -FATE_BINKAUDIO += fate-binkaudio-rdft +FATE_BINKAUDIO-$(call DEMDEC, BINK, BINKAUDIO_RDFT) += fate-binkaudio-rdft fate-binkaudio-rdft: CMD = pcm -i $(SAMPLES)/bink/binkaudio_rdft.bik fate-binkaudio-rdft: REF = $(SAMPLES)/bink/binkaudio_rdft.pcm fate-binkaudio-rdft: FUZZ = 2 -$(FATE_BINKAUDIO): CMP = oneoff +$(FATE_BINKAUDIO-yes): CMP = oneoff -FATE_SAMPLES_AVCONV += $(FATE_BINKAUDIO) -fate-binkaudio: $(FATE_BINKAUDIO) +FATE_SAMPLES_AVCONV += $(FATE_BINKAUDIO-yes) +fate-binkaudio: $(FATE_BINKAUDIO-yes) -FATE_SAMPLES_AVCONV += fate-bmv-audio +FATE_SAMPLES_AVCONV-$(call DEMDEC, BMV, BMV_AUDIO) += fate-bmv-audio fate-bmv-audio: CMD = framecrc -i $(SAMPLES)/bmv/SURFING-partial.BMV -vn -FATE_SAMPLES_AVCONV += fate-delphine-cin-audio +FATE_SAMPLES_AVCONV-$(call DEMDEC, DSICIN, DSICINAUDIO) += fate-delphine-cin-audio fate-delphine-cin-audio: CMD = framecrc -i $(SAMPLES)/delphine-cin/LOGO-partial.CIN -vn -FATE_SAMPLES_AVCONV += fate-dts +FATE_SAMPLES_AVCONV-$(call DEMDEC, MPEGTS, DCA) += fate-dts fate-dts: CMD = pcm -i $(SAMPLES)/dts/dts.ts fate-dts: CMP = oneoff fate-dts: REF = $(SAMPLES)/dts/dts.pcm -FATE_SAMPLES_AVCONV += fate-imc +FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, IMC) += fate-imc fate-imc: CMD = pcm -i $(SAMPLES)/imc/imc.avi fate-imc: CMP = oneoff fate-imc: REF = $(SAMPLES)/imc/imc.pcm -FATE_SAMPLES_AVCONV += fate-nellymoser +FATE_SAMPLES_AVCONV-$(call DEMDEC, FLV, NELLYMOSER) += fate-nellymoser fate-nellymoser: CMD = pcm -i $(SAMPLES)/nellymoser/nellymoser.flv fate-nellymoser: CMP = oneoff fate-nellymoser: REF = $(SAMPLES)/nellymoser/nellymoser.pcm -FATE_SAMPLES_AVCONV += fate-sierra-vmd-audio +FATE_SAMPLES_AVCONV-$(call DEMDEC, VMD, VMDAUDIO) += fate-sierra-vmd-audio fate-sierra-vmd-audio: CMD = framecrc -i $(SAMPLES)/vmd/12.vmd -vn -FATE_SAMPLES_AVCONV += fate-smacker-audio +FATE_SAMPLES_AVCONV-$(call DEMDEC, SMACKER, SMACKAUD) += fate-smacker-audio fate-smacker-audio: CMD = framecrc -i $(SAMPLES)/smacker/wetlogo.smk -vn -FATE_SAMPLES_AVCONV += fate-ws_snd +FATE_SAMPLES_AVCONV-$(call DEMDEC, WSVQA, WS_SND1) += fate-ws_snd fate-ws_snd: CMD = md5 -i $(SAMPLES)/vqa/ws_snd.vqa -f s16le From 2f17f265ed79766a561ed6542509f5b665658a7c Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Mon, 22 Oct 2012 16:55:23 +0200 Subject: [PATCH 4/5] mpegaudio: Refactor mp3on4 flush function --- libavcodec/mpegaudiodec.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 80acdadc48..9c5ef265c1 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -1681,11 +1681,15 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *got_frame_ptr, return buf_size; } +static void mp_flush(MPADecodeContext *ctx) +{ + memset(ctx->synth_buf, 0, sizeof(ctx->synth_buf)); + ctx->last_buf_size = 0; +} + static void flush(AVCodecContext *avctx) { - MPADecodeContext *s = avctx->priv_data; - memset(s->synth_buf, 0, sizeof(s->synth_buf)); - s->last_buf_size = 0; + mp_flush(avctx->priv_data); } #if CONFIG_MP3ADU_DECODER || CONFIG_MP3ADUFLOAT_DECODER @@ -1875,11 +1879,8 @@ static void flush_mp3on4(AVCodecContext *avctx) int i; MP3On4DecodeContext *s = avctx->priv_data; - for (i = 0; i < s->frames; i++) { - MPADecodeContext *m = s->mp3decctx[i]; - memset(m->synth_buf, 0, sizeof(m->synth_buf)); - m->last_buf_size = 0; - } + for (i = 0; i < s->frames; i++) + mp_flush(s->mp3decctx[i]); } From ec444c84cfd30ef34a4e7b4ec7ee77d7e5250d25 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 21 Oct 2012 20:48:21 +0200 Subject: [PATCH 5/5] mpegaudiodec: Fix buffer handling on random access --- libavcodec/mpegaudiodec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 9c5ef265c1..d08177e9eb 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -1398,6 +1398,7 @@ static int mp_decode_layer3(MPADecodeContext *s) g = &s->granules[ch][gr]; s->last_buf_size += g->part2_3_length; memset(g->sb_hybrid, 0, sizeof(g->sb_hybrid)); + compute_imdct(s, g, &s->sb_samples[ch][18 * gr][0], s->mdct_buf[ch]); } } skip = s->last_buf_size - 8 * main_data_begin;