From 4cee7ebd75205bca06ca8010711ae2f83a55caa6 Mon Sep 17 00:00:00 2001 From: Lynne Date: Wed, 26 Oct 2022 13:12:58 +0200 Subject: [PATCH] ac3: convert to lavu/tx --- configure | 8 ++++---- libavcodec/ac3.h | 2 -- libavcodec/ac3dec.c | 22 +++++++++++++--------- libavcodec/ac3dec.h | 6 +++--- libavcodec/ac3dec_fixed.c | 3 ++- libavcodec/ac3dec_float.c | 1 + libavcodec/ac3enc.c | 2 +- libavcodec/ac3enc.h | 7 ++++--- libavcodec/ac3enc_fixed.c | 19 ++++--------------- libavcodec/ac3enc_float.c | 18 +++--------------- libavcodec/ac3enc_template.c | 4 ++-- tests/fate/ac3.mak | 2 +- tests/ref/fate/autorotate | 30 +++++++++++++++--------------- tests/ref/fate/copy-shortest1 | 30 +++++++++++++++--------------- tests/ref/fate/copy-shortest2 | 30 +++++++++++++++--------------- tests/ref/fate/shortest | 30 +++++++++++++++--------------- tests/ref/fate/unknown_layout-ac3 | 2 +- tests/ref/lavf/rm | 2 +- 18 files changed, 100 insertions(+), 118 deletions(-) diff --git a/configure b/configure index c793daf333..e032fb5bbc 100755 --- a/configure +++ b/configure @@ -2767,10 +2767,10 @@ aac_decoder_select="adts_header mdct15 mdct mpeg4audio sinewin" aac_fixed_decoder_select="adts_header mdct mpeg4audio" aac_encoder_select="audio_frame_queue iirfilter lpc mdct sinewin" aac_latm_decoder_select="aac_decoder aac_latm_parser" -ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert mdct" -ac3_fixed_decoder_select="ac3_parser ac3dsp bswapdsp mdct" -ac3_encoder_select="ac3dsp audiodsp mdct me_cmp" -ac3_fixed_encoder_select="ac3dsp audiodsp mdct me_cmp" +ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert" +ac3_fixed_decoder_select="ac3_parser ac3dsp bswapdsp" +ac3_encoder_select="ac3dsp audiodsp me_cmp" +ac3_fixed_encoder_select="ac3dsp audiodsp me_cmp" acelp_kelvin_decoder_select="audiodsp" adpcm_g722_decoder_select="g722dsp" adpcm_g722_encoder_select="g722dsp" diff --git a/libavcodec/ac3.h b/libavcodec/ac3.h index 29f9f9df8d..24304caa61 100644 --- a/libavcodec/ac3.h +++ b/libavcodec/ac3.h @@ -38,8 +38,6 @@ #if USE_FIXED -#define FFT_FLOAT 0 - #define FIXR(a) ((int)((a) * 0 + 0.5)) #define FIXR12(a) ((int)((a) * 4096 + 0.5)) #define FIXR15(a) ((int)((a) * 32768 + 0.5)) diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 8e40587ff1..1f2949dcfd 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -217,13 +217,17 @@ static av_cold int ac3_decode_init(AVCodecContext *avctx) { static AVOnce init_static_once = AV_ONCE_INIT; AC3DecodeContext *s = avctx->priv_data; + const float scale = 1.0f; int i, ret; s->avctx = avctx; - if ((ret = ff_mdct_init(&s->imdct_256, 8, 1, 1.0)) < 0 || - (ret = ff_mdct_init(&s->imdct_512, 9, 1, 1.0)) < 0) + if ((ret = av_tx_init(&s->tx_128, &s->tx_fn_128, IMDCT_TYPE, 1, 128, &scale, 0))) return ret; + + if ((ret = av_tx_init(&s->tx_256, &s->tx_fn_256, IMDCT_TYPE, 1, 256, &scale, 0))) + return ret; + AC3_RENAME(ff_kbd_window_init)(s->window, 5.0, 256); ff_bswapdsp_init(&s->bdsp); @@ -721,10 +725,10 @@ static inline void do_imdct(AC3DecodeContext *s, int channels, int offset) for (ch = 1; ch <= channels; ch++) { if (s->block_switch[ch]) { int i; - FFTSample *x = s->tmp_output + 128; + INTFLOAT *x = s->tmp_output + 128; for (i = 0; i < 128; i++) x[i] = s->transform_coeffs[ch][2 * i]; - s->imdct_256.imdct_half(&s->imdct_256, s->tmp_output, x); + s->tx_fn_128(s->tx_128, s->tmp_output, x, sizeof(INTFLOAT)); #if USE_FIXED s->fdsp->vector_fmul_window_scaled(s->outptr[ch - 1], s->delay[ch - 1 + offset], s->tmp_output, s->window, 128, 8); @@ -734,9 +738,9 @@ static inline void do_imdct(AC3DecodeContext *s, int channels, int offset) #endif for (i = 0; i < 128; i++) x[i] = s->transform_coeffs[ch][2 * i + 1]; - s->imdct_256.imdct_half(&s->imdct_256, s->delay[ch - 1 + offset], x); + s->tx_fn_128(s->tx_128, s->delay[ch - 1 + offset], x, sizeof(INTFLOAT)); } else { - s->imdct_512.imdct_half(&s->imdct_512, s->tmp_output, s->transform_coeffs[ch]); + s->tx_fn_256(s->tx_256, s->tmp_output, s->transform_coeffs[ch], sizeof(INTFLOAT)); #if USE_FIXED s->fdsp->vector_fmul_window_scaled(s->outptr[ch - 1], s->delay[ch - 1 + offset], s->tmp_output, s->window, 128, 8); @@ -744,7 +748,7 @@ static inline void do_imdct(AC3DecodeContext *s, int channels, int offset) s->fdsp->vector_fmul_window(s->outptr[ch - 1], s->delay[ch - 1 + offset], s->tmp_output, s->window, 128); #endif - memcpy(s->delay[ch - 1 + offset], s->tmp_output + 128, 128 * sizeof(FFTSample)); + memcpy(s->delay[ch - 1 + offset], s->tmp_output + 128, 128 * sizeof(INTFLOAT)); } } } @@ -1854,8 +1858,8 @@ skip: static av_cold int ac3_decode_end(AVCodecContext *avctx) { AC3DecodeContext *s = avctx->priv_data; - ff_mdct_end(&s->imdct_512); - ff_mdct_end(&s->imdct_256); + av_tx_uninit(&s->tx_256); + av_tx_uninit(&s->tx_128); av_freep(&s->fdsp); av_freep(&s->downmix_coeffs[0]); diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h index 88651ae61f..138b462abb 100644 --- a/libavcodec/ac3dec.h +++ b/libavcodec/ac3dec.h @@ -50,6 +50,7 @@ #ifndef AVCODEC_AC3DEC_H #define AVCODEC_AC3DEC_H +#include "libavutil/tx.h" #include "libavutil/float_dsp.h" #include "libavutil/fixed_dsp.h" #include "libavutil/lfg.h" @@ -60,7 +61,6 @@ #include "avcodec.h" #include "bswapdsp.h" #include "get_bits.h" -#include "fft.h" #include "fmtconvert.h" #define AC3_OUTPUT_LFEON 8 @@ -223,8 +223,8 @@ typedef struct AC3DecodeContext { ///@name IMDCT int block_switch[AC3_MAX_CHANNELS]; ///< block switch flags (blksw) - FFTContext imdct_512; ///< for 512 sample IMDCT - FFTContext imdct_256; ///< for 256 sample IMDCT + AVTXContext *tx_128, *tx_256; + av_tx_fn tx_fn_128, tx_fn_256; ///@} ///@name Optimization diff --git a/libavcodec/ac3dec_fixed.c b/libavcodec/ac3dec_fixed.c index 0a7ae6cfbf..c9e5cda69c 100644 --- a/libavcodec/ac3dec_fixed.c +++ b/libavcodec/ac3dec_fixed.c @@ -47,11 +47,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#define FFT_FLOAT 0 #define USE_FIXED 1 #include "ac3dec.h" #include "codec_internal.h" +#define IMDCT_TYPE AV_TX_INT32_MDCT +#include "ac3dec.h" static const int end_freq_inv_tab[8] = { diff --git a/libavcodec/ac3dec_float.c b/libavcodec/ac3dec_float.c index 8c1adb3e01..b8868d8ee1 100644 --- a/libavcodec/ac3dec_float.c +++ b/libavcodec/ac3dec_float.c @@ -29,6 +29,7 @@ */ #include "config_components.h" +#define IMDCT_TYPE AV_TX_FLOAT_MDCT #include "ac3dec.h" #include "codec_internal.h" diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 279dd5c20e..f8ec4e199e 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -2203,7 +2203,7 @@ av_cold int ff_ac3_encode_close(AVCodecContext *avctx) av_freep(&block->cpl_coord_mant); } - s->mdct_end(s); + av_tx_uninit(&s->tx); return 0; } diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h index f0dc006759..55e88d69e4 100644 --- a/libavcodec/ac3enc.h +++ b/libavcodec/ac3enc.h @@ -31,12 +31,13 @@ #include #include "libavutil/opt.h" +#include "libavutil/tx.h" + #include "ac3.h" #include "ac3defs.h" #include "ac3dsp.h" #include "avcodec.h" #include "codec_internal.h" -#include "fft.h" #include "mathops.h" #include "me_cmp.h" #include "put_bits.h" @@ -167,7 +168,8 @@ typedef struct AC3EncodeContext { #endif MECmpContext mecc; AC3DSPContext ac3dsp; ///< AC-3 optimized functions - FFTContext mdct; ///< FFT context for MDCT calculation + AVTXContext *tx; ///< FFT context for MDCT calculation + av_tx_fn tx_fn; const SampleType *mdct_window; ///< MDCT window function array AC3Block blocks[AC3_MAX_BLOCKS]; ///< per-block info @@ -257,7 +259,6 @@ typedef struct AC3EncodeContext { int warned_alternate_bitstream; /* fixed vs. float function pointers */ - void (*mdct_end)(struct AC3EncodeContext *s); int (*mdct_init)(struct AC3EncodeContext *s); /* fixed vs. float templated function pointers */ diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c index a52a598152..f1f573bb72 100644 --- a/libavcodec/ac3enc_fixed.c +++ b/libavcodec/ac3enc_fixed.c @@ -27,7 +27,7 @@ */ #define AC3ENC_FLOAT 0 -#define FFT_FLOAT 0 +#include "internal.h" #include "audiodsp.h" #include "ac3enc.h" #include "codec_internal.h" @@ -66,20 +66,8 @@ static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl) } } - #include "ac3enc_template.c" - -/** - * Finalize MDCT and free allocated memory. - * - * @param s AC-3 encoder private context - */ -static av_cold void ac3_fixed_mdct_end(AC3EncodeContext *s) -{ - ff_mdct_end(&s->mdct); -} - /** * Initialize MDCT tables. * @@ -89,6 +77,7 @@ static av_cold void ac3_fixed_mdct_end(AC3EncodeContext *s) static av_cold int ac3_fixed_mdct_init(AC3EncodeContext *s) { float fwin[AC3_BLOCK_SIZE]; + const float scale = -1.0f; int32_t *iwin = av_malloc_array(AC3_BLOCK_SIZE, sizeof(*iwin)); if (!iwin) @@ -104,7 +93,8 @@ static av_cold int ac3_fixed_mdct_init(AC3EncodeContext *s) if (!s->fdsp) return AVERROR(ENOMEM); - return ff_mdct_init(&s->mdct, 9, 0, -1.0); + return av_tx_init(&s->tx, &s->tx_fn, AV_TX_INT32_MDCT, 0, + AC3_BLOCK_SIZE, &scale, 0); } @@ -112,7 +102,6 @@ static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx) { AC3EncodeContext *s = avctx->priv_data; s->fixed_point = 1; - s->mdct_end = ac3_fixed_mdct_end; s->mdct_init = ac3_fixed_mdct_init; s->allocate_sample_buffers = allocate_sample_buffers; return ff_ac3_encode_init(avctx); diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c index 3ca7d113c2..4c4d18ce56 100644 --- a/libavcodec/ac3enc_float.c +++ b/libavcodec/ac3enc_float.c @@ -75,21 +75,8 @@ static void sum_square_butterfly(AC3EncodeContext *s, float sum[4], s->ac3dsp.sum_square_butterfly_float(sum, coef0, coef1, len); } - #include "ac3enc_template.c" - -/** - * Finalize MDCT and free allocated memory. - * - * @param s AC-3 encoder private context - */ -static av_cold void ac3_float_mdct_end(AC3EncodeContext *s) -{ - ff_mdct_end(&s->mdct); -} - - /** * Initialize MDCT tables. * @@ -98,6 +85,7 @@ static av_cold void ac3_float_mdct_end(AC3EncodeContext *s) */ static av_cold int ac3_float_mdct_init(AC3EncodeContext *s) { + const float scale = -2.0 / AC3_WINDOW_SIZE; float *window = av_malloc_array(AC3_BLOCK_SIZE, sizeof(*window)); if (!window) { av_log(s->avctx, AV_LOG_ERROR, "Cannot allocate memory.\n"); @@ -107,14 +95,14 @@ static av_cold int ac3_float_mdct_init(AC3EncodeContext *s) ff_kbd_window_init(window, 5.0, AC3_BLOCK_SIZE); s->mdct_window = window; - return ff_mdct_init(&s->mdct, 9, 0, -2.0 / AC3_WINDOW_SIZE); + return av_tx_init(&s->tx, &s->tx_fn, AV_TX_FLOAT_MDCT, 0, + AC3_BLOCK_SIZE, &scale, 0); } av_cold int ff_ac3_float_encode_init(AVCodecContext *avctx) { AC3EncodeContext *s = avctx->priv_data; - s->mdct_end = ac3_float_mdct_end; s->mdct_init = ac3_float_mdct_init; s->allocate_sample_buffers = allocate_sample_buffers; s->fdsp = avpriv_float_dsp_alloc(avctx->flags & AV_CODEC_FLAG_BITEXACT); diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c index de66964d0d..be4ecebc9c 100644 --- a/libavcodec/ac3enc_template.c +++ b/libavcodec/ac3enc_template.c @@ -98,8 +98,8 @@ static void apply_mdct(AC3EncodeContext *s) &input_samples[AC3_BLOCK_SIZE], s->mdct_window, AC3_BLOCK_SIZE); - s->mdct.mdct_calc(&s->mdct, block->mdct_coef[ch+1], - s->windowed_samples); + s->tx_fn(s->tx, block->mdct_coef[ch+1], + s->windowed_samples, sizeof(float)); } } } diff --git a/tests/fate/ac3.mak b/tests/fate/ac3.mak index f0c3d18049..2dfd59dfb1 100644 --- a/tests/fate/ac3.mak +++ b/tests/fate/ac3.mak @@ -89,7 +89,7 @@ fate-ac3-fixed-encode: tests/data/asynth-44100-2.wav fate-ac3-fixed-encode: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-ac3-fixed-encode: CMD = md5 -i $(SRC) -c ac3_fixed -ab 128k -f ac3 -flags +bitexact -af aresample fate-ac3-fixed-encode: CMP = oneline -fate-ac3-fixed-encode: REF = 1f548175e11a95e62ce20e442fcc8d08 +fate-ac3-fixed-encode: REF = e9d78bca187b4bbafc4512bcea8efd3e FATE_EAC3-$(call ALLYES, EAC3_DEMUXER EAC3_MUXER EAC3_CORE_BSF) += fate-eac3-core-bsf fate-eac3-core-bsf: CMD = md5pipe -i $(TARGET_SAMPLES)/eac3/the_great_wall_7.1.eac3 -c:a copy -bsf:a eac3_core -fflags +bitexact -f eac3 diff --git a/tests/ref/fate/autorotate b/tests/ref/fate/autorotate index efdde261ab..c18a017abf 100644 --- a/tests/ref/fate/autorotate +++ b/tests/ref/fate/autorotate @@ -1,4 +1,4 @@ -eaeb2b429cadcfd3d0984e2270126564 *tests/data/fate/autorotate.mov +e432aa783e79208a61052f6ced525fff *tests/data/fate/autorotate.mov 197358 tests/data/fate/autorotate.mov #extradata 0: 34, 0x9d7d073f #tb 0: 1/15360 @@ -14,34 +14,34 @@ eaeb2b429cadcfd3d0984e2270126564 *tests/data/fate/autorotate.mov 0, -512, 0, 512, 6997, 0x55c700f6, S=1, 40 1, -256, -256, 1536, 416, 0x92ddc529, S=2, 10, 4 0, 0, 512, 512, 4847, 0xe74f522e, F=0x0 -1, 1280, 1280, 1536, 418, 0xc96bce7b +1, 1280, 1280, 1536, 418, 0x0a7fcd2d 0, 512, 1024, 512, 5281, 0xbd4a5dac, F=0x0 -1, 2816, 2816, 1536, 418, 0xaeffcf21 +1, 2816, 2816, 1536, 418, 0x6a76ce8f 0, 1024, 1536, 512, 3521, 0x0c07249d, F=0x0 -1, 4352, 4352, 1536, 418, 0xcd37cd04 +1, 4352, 4352, 1536, 418, 0x39e1cb90 0, 1536, 2048, 512, 5128, 0xce8bfa02, F=0x0 0, 2048, 2560, 512, 2759, 0x2369d21d, F=0x0 -1, 5888, 5888, 1536, 418, 0x2f80bc7d +1, 5888, 5888, 1536, 418, 0xa1d4bcc7 0, 2560, 3072, 512, 2057, 0x5d7ea97b, F=0x0 -1, 7424, 7424, 1536, 418, 0xb290c6ea +1, 7424, 7424, 1536, 418, 0x8248c89a 0, 3072, 3584, 512, 2114, 0x91d1f369, F=0x0 -1, 8960, 8960, 1536, 418, 0xa862cc5b +1, 8960, 8960, 1536, 418, 0x1ed9cce9 0, 3584, 4096, 512, 1883, 0x3dd68028, F=0x0 -1, 10496, 10496, 1536, 418, 0xb148cc5e +1, 10496, 10496, 1536, 418, 0xd317ca7d 0, 4096, 4608, 512, 2025, 0xcf3dc34f, F=0x0 -1, 12032, 12032, 1536, 418, 0xcf34cb00 +1, 12032, 12032, 1536, 418, 0xf324ca4a 0, 4608, 5120, 512, 1586, 0x3977edf0, F=0x0 -1, 13568, 13568, 1536, 418, 0x4665c882 +1, 13568, 13568, 1536, 418, 0x6064c948 0, 5120, 5632, 512, 1633, 0x64c5e315, F=0x0 -1, 15104, 15104, 1536, 418, 0x8e4fc865 +1, 15104, 15104, 1536, 418, 0xef7bca02 0, 5632, 6144, 512, 3894, 0x32306d8d -1, 16640, 16640, 1536, 418, 0x80bccbc8 +1, 16640, 16640, 1536, 418, 0x7db4cb0e 0, 6144, 6656, 512, 1490, 0xa541a35a, F=0x0 -1, 18176, 18176, 1536, 418, 0x84eaca12 +1, 18176, 18176, 1536, 418, 0x4e45ccfa 0, 6656, 7168, 512, 1253, 0x7e93302b, F=0x0 -1, 19712, 19712, 1536, 418, 0xc3b6cbd8 +1, 19712, 19712, 1536, 418, 0xc53dca9d 0, 7168, 7680, 512, 1573, 0x58fcd6b2, F=0x0 -1, 21248, 21248, 1536, 418, 0xa345cb53 +1, 21248, 21248, 1536, 418, 0x81eacb49 [STREAM] [SIDE_DATA] side_data_type=CPB properties diff --git a/tests/ref/fate/copy-shortest1 b/tests/ref/fate/copy-shortest1 index 87bee4c41f..c72f9c11fd 100644 --- a/tests/ref/fate/copy-shortest1 +++ b/tests/ref/fate/copy-shortest1 @@ -13,7 +13,7 @@ #sample_rate 1: 44100 #channel_layout_name 1: mono #stream#, dts, pts, duration, size, hash -1, -256, -256, 1536, 416, e3bd415f62aa927e9273151fdf21ebce +1, -256, -256, 1536, 416, 91b0c4b4dff3de421544d4a3926616e6 0, 0, 0, 2048, 8719, bbea2a7487d61d39a0b2f2fe62a4df4a 1, 1280, 1280, 1536, 418, 6e79527e2af3448d7a0e4a8e29cd9722 0, 2048, 2048, 2048, 975, 94f30e410595452ee981d96224516504 @@ -32,20 +32,20 @@ 0, 14336, 14336, 2048, 1474, a9c493c020d710af7f2c98b9aae846ff 1, 13568, 13568, 1536, 418, ef7bd3e9c13f03aa6676629101a9a8a0 0, 16384, 16384, 2048, 1467, b801d1a76c84923ab813e9a5d9ebdb78 -1, 15104, 15104, 1536, 418, c5dda974df7e418d9036dff134aad2ae +1, 15104, 15104, 1536, 418, f7ef9460b971b5b8b61e91c489d1dd4e 0, 18432, 18432, 2048, 1469, 22f7fcd055bf124436de9a9432f7c9d2 1, 16640, 16640, 1536, 418, 48e7a9f574654dd95a325cfec5072254 0, 20480, 20480, 2048, 1506, da18f30d7008f2307ec51863a9873afd 1, 18176, 18176, 1536, 418, 737d867e328377a3e6623f77f646ea61 0, 22528, 22528, 2048, 1520, 2c7d44ca3485373af6cfb3e44e495bf7 -1, 19712, 19712, 1536, 418, 5e2a004ad90ba069cecd9fdc1652388c +1, 19712, 19712, 1536, 418, ed9eb5db5c03725564239eb25d28c137 0, 24576, 24576, 2048, 8524, 0634c69955cbffe94f4e15b288557cac -1, 21248, 21248, 1536, 418, c694e51e609bdd00749a04294cbd60fb -1, 22784, 22784, 1536, 418, 6b787ffae0063d9910deebc8b3e98fd4 +1, 21248, 21248, 1536, 418, 3aa5eac505cb898030c705bcfe5ee850 +1, 22784, 22784, 1536, 418, 08ee7262d55437ba687e4f887249d92a 0, 26624, 26624, 2048, 1079, f081cbd559dab2b579f40d2fa988a959 1, 24320, 24320, 1536, 418, eb6d62198a5472a1c179d42cde60b869 0, 28672, 28672, 2048, 1343, fdf8069cd511f4fa185748118acfb72e -1, 25856, 25856, 1536, 418, 70a6c8e61e8d75f7a310bc7294ad38f6 +1, 25856, 25856, 1536, 418, 53e2ab46c2d6e7c6da1416e2dd581136 0, 30720, 30720, 2048, 1486, e72dfcd069f5be3a30310002b1b5e252 1, 27392, 27392, 1536, 418, 6847924a11575b3628ccdfd81a2fb1dc 0, 32768, 32768, 2048, 1491, 710c5421d44a8c9356c1477cbcd27c0e @@ -55,8 +55,8 @@ 0, 36864, 36864, 2048, 1481, 8696aa412629328687bda5e88dd40b81 1, 32000, 32000, 1536, 418, 3add3833b86a38c229faf8e602f83dcb 0, 38912, 38912, 2048, 1521, 3c974bf799b8e35d295c6567ffeb7276 -1, 33536, 33536, 1536, 418, cb51e6a41f5c4a5f01dd94f58210112b -1, 35072, 35072, 1536, 418, 66c3570cb8c11386b0601fe4a6eb7ee0 +1, 33536, 33536, 1536, 418, 303adaf2b35e2b8742d0553d21ddb00f +1, 35072, 35072, 1536, 418, f12224af46440d663ea238c313afd664 0, 40960, 40960, 2048, 1514, 1a54ec5296f1551a7f67c515e40ca646 1, 36608, 36608, 1536, 418, 8b986c15b9ab86432c43cedd1a182e8d 0, 43008, 43008, 2048, 1562, d285916a1c7a2fb9f37d18bfa977e075 @@ -75,18 +75,18 @@ 0, 55296, 55296, 2048, 1641, f79725e348ed7796f2be7c153ce32580 1, 48896, 48896, 1536, 418, 85378fd6c8b49a1f4c5490ab1e4013ca 0, 57344, 57344, 2048, 1735, ae14fbdbf8777d88077818db0ae346b3 -1, 50432, 50432, 1536, 418, 528e28031145f07336cd2a1b9b324ca6 +1, 50432, 50432, 1536, 418, 77be16e32de134a835b98e1e72f9252a 0, 59392, 59392, 2048, 1760, e943dc0f9ed56fbca1af43c3c3c6dea1 1, 51968, 51968, 1536, 418, cc9b907fc92fffc61f7e41cdb863d586 0, 61440, 61440, 2048, 1798, efb1c91f9aee5c84c92e8cd5a5b58783 1, 53504, 53504, 1536, 418, fe2f2ca279b14d7053349111578b48c0 0, 63488, 63488, 2048, 1830, 7aa74080b344e63280854570f701e2b8 -1, 55040, 55040, 1536, 418, 5f2c6037aa4b89572a4ed712082ae2ab +1, 55040, 55040, 1536, 418, 9131805eaad3bdd768bbc0f2c8d13a0f 0, 65536, 65536, 2048, 1835, 566fa13f73b9aa63eed50511b112b191 1, 56576, 56576, 1536, 418, 17a096694df972c2ef3a9abbe0a9cd6a 1, 58112, 58112, 1536, 418, c96a64bbfd1aae269e44bfdaea7c8a9c 0, 67584, 67584, 2048, 1902, 95933f1710291419d0febd37d5878362 -1, 59648, 59648, 1536, 418, 5f9297244e107134c49fc4982f5a7c1f +1, 59648, 59648, 1536, 418, 8ea07d1983245453368667ee84bd6ee4 0, 69632, 69632, 2048, 1886, 5a8e4c7557ec0d09d40fbfabc5b92e63 1, 61184, 61184, 1536, 418, da740d2d75b51d6e28bcb068f6a90d41 0, 71680, 71680, 2048, 1949, 3f81e2b8821c22f89501feafebb9d618 @@ -103,20 +103,20 @@ 0, 81920, 81920, 2048, 1989, f3bf07391ef46cba98eb78fdc3707fa3 1, 71936, 71936, 1536, 418, 5e60f266106b86f19749b64d86b11f43 0, 83968, 83968, 2048, 1949, 0650751332acc5d5f96f292ffc4add21 -1, 73472, 73472, 1536, 418, cedea148c5f7ddba6f0fbcbe17e6bfbb +1, 73472, 73472, 1536, 418, 62e0ed387d5a37ba78ca99bbd656b124 0, 86016, 86016, 2048, 1956, d52d57b697f4ec90bb1f69fd7ece1952 1, 75008, 75008, 1536, 416, 97655498b413a59b3f0f6bdc25f69084 0, 88064, 88064, 2048, 2012, e25c0bb0ec726fe5c9ade88cf7ae9a19 -1, 76544, 76544, 1536, 418, 0bea3f23db7aafefe50710310af25a9b +1, 76544, 76544, 1536, 418, d87c94a232b967004c3644c6b8513ba5 0, 90112, 90112, 2048, 1995, eb0377542bc15580ef8f772ce6f506bd 1, 78080, 78080, 1536, 418, e763b383810d9a4645901c0d93f98a32 0, 92160, 92160, 2048, 2078, 7aa93cd366118984932da377f4743de6 1, 79616, 79616, 1536, 418, f090bb15688066a9c5129348f86245e7 0, 94208, 94208, 2048, 2116, 9d8c672e97c27ed4e3281bb10481914a -1, 81152, 81152, 1536, 418, beb8658ede31b44326de936b28a2d740 +1, 81152, 81152, 1536, 418, 2a434a6dca73f03947310d4c25d7470f 1, 82688, 82688, 1536, 418, 53987c0214550f387ce03093b83f4225 0, 96256, 96256, 2048, 2024, 18d42dbec2fa24fd30374d79a054cd4f -1, 84224, 84224, 1536, 418, d3c37c202144070892528cc0a0ff3112 +1, 84224, 84224, 1536, 418, f5548bc014dd98d7d61df1d542d3a176 0, 98304, 98304, 2048, 11182, e35a2ab846029effdbca0e43639717f2 1, 85760, 85760, 1536, 418, cf52ea7fc69e4c5bc8f75b354dfe60af 0, 100352, 100352, 2048, 1423, f480272c7d0b97834bc8ea36cceca61d diff --git a/tests/ref/fate/copy-shortest2 b/tests/ref/fate/copy-shortest2 index 87bee4c41f..c72f9c11fd 100644 --- a/tests/ref/fate/copy-shortest2 +++ b/tests/ref/fate/copy-shortest2 @@ -13,7 +13,7 @@ #sample_rate 1: 44100 #channel_layout_name 1: mono #stream#, dts, pts, duration, size, hash -1, -256, -256, 1536, 416, e3bd415f62aa927e9273151fdf21ebce +1, -256, -256, 1536, 416, 91b0c4b4dff3de421544d4a3926616e6 0, 0, 0, 2048, 8719, bbea2a7487d61d39a0b2f2fe62a4df4a 1, 1280, 1280, 1536, 418, 6e79527e2af3448d7a0e4a8e29cd9722 0, 2048, 2048, 2048, 975, 94f30e410595452ee981d96224516504 @@ -32,20 +32,20 @@ 0, 14336, 14336, 2048, 1474, a9c493c020d710af7f2c98b9aae846ff 1, 13568, 13568, 1536, 418, ef7bd3e9c13f03aa6676629101a9a8a0 0, 16384, 16384, 2048, 1467, b801d1a76c84923ab813e9a5d9ebdb78 -1, 15104, 15104, 1536, 418, c5dda974df7e418d9036dff134aad2ae +1, 15104, 15104, 1536, 418, f7ef9460b971b5b8b61e91c489d1dd4e 0, 18432, 18432, 2048, 1469, 22f7fcd055bf124436de9a9432f7c9d2 1, 16640, 16640, 1536, 418, 48e7a9f574654dd95a325cfec5072254 0, 20480, 20480, 2048, 1506, da18f30d7008f2307ec51863a9873afd 1, 18176, 18176, 1536, 418, 737d867e328377a3e6623f77f646ea61 0, 22528, 22528, 2048, 1520, 2c7d44ca3485373af6cfb3e44e495bf7 -1, 19712, 19712, 1536, 418, 5e2a004ad90ba069cecd9fdc1652388c +1, 19712, 19712, 1536, 418, ed9eb5db5c03725564239eb25d28c137 0, 24576, 24576, 2048, 8524, 0634c69955cbffe94f4e15b288557cac -1, 21248, 21248, 1536, 418, c694e51e609bdd00749a04294cbd60fb -1, 22784, 22784, 1536, 418, 6b787ffae0063d9910deebc8b3e98fd4 +1, 21248, 21248, 1536, 418, 3aa5eac505cb898030c705bcfe5ee850 +1, 22784, 22784, 1536, 418, 08ee7262d55437ba687e4f887249d92a 0, 26624, 26624, 2048, 1079, f081cbd559dab2b579f40d2fa988a959 1, 24320, 24320, 1536, 418, eb6d62198a5472a1c179d42cde60b869 0, 28672, 28672, 2048, 1343, fdf8069cd511f4fa185748118acfb72e -1, 25856, 25856, 1536, 418, 70a6c8e61e8d75f7a310bc7294ad38f6 +1, 25856, 25856, 1536, 418, 53e2ab46c2d6e7c6da1416e2dd581136 0, 30720, 30720, 2048, 1486, e72dfcd069f5be3a30310002b1b5e252 1, 27392, 27392, 1536, 418, 6847924a11575b3628ccdfd81a2fb1dc 0, 32768, 32768, 2048, 1491, 710c5421d44a8c9356c1477cbcd27c0e @@ -55,8 +55,8 @@ 0, 36864, 36864, 2048, 1481, 8696aa412629328687bda5e88dd40b81 1, 32000, 32000, 1536, 418, 3add3833b86a38c229faf8e602f83dcb 0, 38912, 38912, 2048, 1521, 3c974bf799b8e35d295c6567ffeb7276 -1, 33536, 33536, 1536, 418, cb51e6a41f5c4a5f01dd94f58210112b -1, 35072, 35072, 1536, 418, 66c3570cb8c11386b0601fe4a6eb7ee0 +1, 33536, 33536, 1536, 418, 303adaf2b35e2b8742d0553d21ddb00f +1, 35072, 35072, 1536, 418, f12224af46440d663ea238c313afd664 0, 40960, 40960, 2048, 1514, 1a54ec5296f1551a7f67c515e40ca646 1, 36608, 36608, 1536, 418, 8b986c15b9ab86432c43cedd1a182e8d 0, 43008, 43008, 2048, 1562, d285916a1c7a2fb9f37d18bfa977e075 @@ -75,18 +75,18 @@ 0, 55296, 55296, 2048, 1641, f79725e348ed7796f2be7c153ce32580 1, 48896, 48896, 1536, 418, 85378fd6c8b49a1f4c5490ab1e4013ca 0, 57344, 57344, 2048, 1735, ae14fbdbf8777d88077818db0ae346b3 -1, 50432, 50432, 1536, 418, 528e28031145f07336cd2a1b9b324ca6 +1, 50432, 50432, 1536, 418, 77be16e32de134a835b98e1e72f9252a 0, 59392, 59392, 2048, 1760, e943dc0f9ed56fbca1af43c3c3c6dea1 1, 51968, 51968, 1536, 418, cc9b907fc92fffc61f7e41cdb863d586 0, 61440, 61440, 2048, 1798, efb1c91f9aee5c84c92e8cd5a5b58783 1, 53504, 53504, 1536, 418, fe2f2ca279b14d7053349111578b48c0 0, 63488, 63488, 2048, 1830, 7aa74080b344e63280854570f701e2b8 -1, 55040, 55040, 1536, 418, 5f2c6037aa4b89572a4ed712082ae2ab +1, 55040, 55040, 1536, 418, 9131805eaad3bdd768bbc0f2c8d13a0f 0, 65536, 65536, 2048, 1835, 566fa13f73b9aa63eed50511b112b191 1, 56576, 56576, 1536, 418, 17a096694df972c2ef3a9abbe0a9cd6a 1, 58112, 58112, 1536, 418, c96a64bbfd1aae269e44bfdaea7c8a9c 0, 67584, 67584, 2048, 1902, 95933f1710291419d0febd37d5878362 -1, 59648, 59648, 1536, 418, 5f9297244e107134c49fc4982f5a7c1f +1, 59648, 59648, 1536, 418, 8ea07d1983245453368667ee84bd6ee4 0, 69632, 69632, 2048, 1886, 5a8e4c7557ec0d09d40fbfabc5b92e63 1, 61184, 61184, 1536, 418, da740d2d75b51d6e28bcb068f6a90d41 0, 71680, 71680, 2048, 1949, 3f81e2b8821c22f89501feafebb9d618 @@ -103,20 +103,20 @@ 0, 81920, 81920, 2048, 1989, f3bf07391ef46cba98eb78fdc3707fa3 1, 71936, 71936, 1536, 418, 5e60f266106b86f19749b64d86b11f43 0, 83968, 83968, 2048, 1949, 0650751332acc5d5f96f292ffc4add21 -1, 73472, 73472, 1536, 418, cedea148c5f7ddba6f0fbcbe17e6bfbb +1, 73472, 73472, 1536, 418, 62e0ed387d5a37ba78ca99bbd656b124 0, 86016, 86016, 2048, 1956, d52d57b697f4ec90bb1f69fd7ece1952 1, 75008, 75008, 1536, 416, 97655498b413a59b3f0f6bdc25f69084 0, 88064, 88064, 2048, 2012, e25c0bb0ec726fe5c9ade88cf7ae9a19 -1, 76544, 76544, 1536, 418, 0bea3f23db7aafefe50710310af25a9b +1, 76544, 76544, 1536, 418, d87c94a232b967004c3644c6b8513ba5 0, 90112, 90112, 2048, 1995, eb0377542bc15580ef8f772ce6f506bd 1, 78080, 78080, 1536, 418, e763b383810d9a4645901c0d93f98a32 0, 92160, 92160, 2048, 2078, 7aa93cd366118984932da377f4743de6 1, 79616, 79616, 1536, 418, f090bb15688066a9c5129348f86245e7 0, 94208, 94208, 2048, 2116, 9d8c672e97c27ed4e3281bb10481914a -1, 81152, 81152, 1536, 418, beb8658ede31b44326de936b28a2d740 +1, 81152, 81152, 1536, 418, 2a434a6dca73f03947310d4c25d7470f 1, 82688, 82688, 1536, 418, 53987c0214550f387ce03093b83f4225 0, 96256, 96256, 2048, 2024, 18d42dbec2fa24fd30374d79a054cd4f -1, 84224, 84224, 1536, 418, d3c37c202144070892528cc0a0ff3112 +1, 84224, 84224, 1536, 418, f5548bc014dd98d7d61df1d542d3a176 0, 98304, 98304, 2048, 11182, e35a2ab846029effdbca0e43639717f2 1, 85760, 85760, 1536, 418, cf52ea7fc69e4c5bc8f75b354dfe60af 0, 100352, 100352, 2048, 1423, f480272c7d0b97834bc8ea36cceca61d diff --git a/tests/ref/fate/shortest b/tests/ref/fate/shortest index a527bfd544..be93ff0da1 100644 --- a/tests/ref/fate/shortest +++ b/tests/ref/fate/shortest @@ -8,7 +8,7 @@ #codec_id 1: ac3 #sample_rate 1: 44100 #channel_layout_name 1: mono -1, -256, -256, 1536, 416, 0xef8ccbe3 +1, -256, -256, 1536, 416, 0x69efcbcc 0, 0, 0, 1, 8749, 0x57039d10, S=1, 8 1, 1280, 1280, 1536, 418, 0xa0ccc09d 0, 1, 1, 1, 975, 0x2fcf0617, F=0x0, S=1, 8 @@ -27,20 +27,20 @@ 0, 7, 7, 1, 1474, 0x1025b9b0, F=0x0, S=1, 8 1, 13568, 13568, 1536, 418, 0xa200b8f0 0, 8, 8, 1, 1467, 0xf3c0c714, F=0x0, S=1, 8 -1, 15104, 15104, 1536, 418, 0xbbf9cd36 +1, 15104, 15104, 1536, 418, 0x009dccf6 0, 9, 9, 1, 1469, 0x1b9faf72, F=0x0, S=1, 8 1, 16640, 16640, 1536, 418, 0x585ec129 0, 10, 10, 1, 1506, 0x18a9c359, F=0x0, S=1, 8 1, 18176, 18176, 1536, 418, 0xda1acf75 0, 11, 11, 1, 1520, 0x0ec1d39a, F=0x0, S=1, 8 -1, 19712, 19712, 1536, 418, 0x9bb2cfeb +1, 19712, 19712, 1536, 418, 0xd326d279 0, 12, 12, 1, 8554, 0xfab776e0, S=1, 8 -1, 21248, 21248, 1536, 418, 0x83f2bf72 -1, 22784, 22784, 1536, 418, 0xdb4dcbe8 +1, 21248, 21248, 1536, 418, 0x1b54bf76 +1, 22784, 22784, 1536, 418, 0xdb39cbd1 0, 13, 13, 1, 1079, 0x13e40cb3, F=0x0, S=1, 8 1, 24320, 24320, 1536, 418, 0x6813cefa 0, 14, 14, 1, 1343, 0xf0058d2e, F=0x0, S=1, 8 -1, 25856, 25856, 1536, 418, 0x3573d3c5 +1, 25856, 25856, 1536, 418, 0xb402d2ec 0, 15, 15, 1, 1486, 0x1da1c64e, F=0x0, S=1, 8 1, 27392, 27392, 1536, 418, 0x80c4c8d2 0, 16, 16, 1, 1491, 0x872dd43d, F=0x0, S=1, 8 @@ -50,8 +50,8 @@ 0, 18, 18, 1, 1481, 0xde66ba0a, F=0x0, S=1, 8 1, 32000, 32000, 1536, 418, 0x3f37c65b 0, 19, 19, 1, 1521, 0xf46dcef9, F=0x0, S=1, 8 -1, 33536, 33536, 1536, 418, 0xd8e3d1f3 -1, 35072, 35072, 1536, 418, 0x34bdcb46 +1, 33536, 33536, 1536, 418, 0xf9a2cf98 +1, 35072, 35072, 1536, 418, 0xc951cbb5 0, 20, 20, 1, 1514, 0x001ed7b1, F=0x0, S=1, 8 1, 36608, 36608, 1536, 418, 0x4e92be94 0, 21, 21, 1, 1562, 0x3974e095, F=0x0, S=1, 8 @@ -70,18 +70,18 @@ 0, 27, 27, 1, 1641, 0x46aafde5, F=0x0, S=1, 8 1, 48896, 48896, 1536, 418, 0x98cfc032 0, 28, 28, 1, 1735, 0xa9363e9b, F=0x0, S=1, 8 -1, 50432, 50432, 1536, 418, 0x42d6c12e +1, 50432, 50432, 1536, 418, 0x8045c0a7 0, 29, 29, 1, 1760, 0x99b82cbc, F=0x0, S=1, 8 1, 51968, 51968, 1536, 418, 0x2180c196 0, 30, 30, 1, 1798, 0xc0ba5286, F=0x0, S=1, 8 1, 53504, 53504, 1536, 418, 0x35f2b4d1 0, 31, 31, 1, 1830, 0x4e8b4b80, F=0x0, S=1, 8 -1, 55040, 55040, 1536, 418, 0x7b5fc73a +1, 55040, 55040, 1536, 418, 0x876ec74d 0, 32, 32, 1, 1835, 0x218a69cb, F=0x0, S=1, 8 1, 56576, 56576, 1536, 418, 0xbccebddd 1, 58112, 58112, 1536, 418, 0x40a1bcc7 0, 33, 33, 1, 1902, 0x8f2b67d2, F=0x0, S=1, 8 -1, 59648, 59648, 1536, 418, 0xbcafbf6e +1, 59648, 59648, 1536, 418, 0xbd10bf09 0, 34, 34, 1, 1886, 0xf4087481, F=0x0, S=1, 8 1, 61184, 61184, 1536, 418, 0xb8e4b630 0, 35, 35, 1, 1949, 0x142c8ac1, F=0x0, S=1, 8 @@ -98,20 +98,20 @@ 0, 40, 40, 1, 1989, 0x0274904a, F=0x0, S=1, 8 1, 71936, 71936, 1536, 418, 0x0ad9c88a 0, 41, 41, 1, 1949, 0x66fa8de9, F=0x0, S=1, 8 -1, 73472, 73472, 1536, 418, 0x57accd5f +1, 73472, 73472, 1536, 418, 0x9aa3d0a7 0, 42, 42, 1, 1956, 0x4e2e831d, F=0x0, S=1, 8 1, 75008, 75008, 1536, 416, 0x99f5b2b6 0, 43, 43, 1, 2012, 0x1d75ac7a, F=0x0, S=1, 8 -1, 76544, 76544, 1536, 418, 0xe60fc1af +1, 76544, 76544, 1536, 418, 0xfb7dc20d 0, 44, 44, 1, 1995, 0xdc478fec, F=0x0, S=1, 8 1, 78080, 78080, 1536, 418, 0xebc8c568 0, 45, 45, 1, 2078, 0x416aaf11, F=0x0, S=1, 8 1, 79616, 79616, 1536, 418, 0x7361c949 0, 46, 46, 1, 2116, 0x1416cc81, F=0x0, S=1, 8 -1, 81152, 81152, 1536, 418, 0xebb4bde9 +1, 81152, 81152, 1536, 418, 0x85d8bbd0 1, 82688, 82688, 1536, 418, 0x72e8bad1 0, 47, 47, 1, 2024, 0xf1c1ad7d, F=0x0, S=1, 8 -1, 84224, 84224, 1536, 418, 0xb479b641 +1, 84224, 84224, 1536, 418, 0x4febb56f 0, 48, 48, 1, 11212, 0xc61a3f0a, S=1, 8 1, 85760, 85760, 1536, 418, 0xae06ca91 0, 49, 49, 1, 1423, 0x45fba9e4, F=0x0, S=1, 8 diff --git a/tests/ref/fate/unknown_layout-ac3 b/tests/ref/fate/unknown_layout-ac3 index 719a44aacf..a694c52899 100644 --- a/tests/ref/fate/unknown_layout-ac3 +++ b/tests/ref/fate/unknown_layout-ac3 @@ -1 +1 @@ -febdb165cfd6cba375aa086195e61213 +ff7e25844b3cb6abb571ef7e226cbafa diff --git a/tests/ref/lavf/rm b/tests/ref/lavf/rm index fc2a6564a2..62251380cf 100644 --- a/tests/ref/lavf/rm +++ b/tests/ref/lavf/rm @@ -1,2 +1,2 @@ -8dfb8d4556d61d3615e0d0012ffe540c *tests/data/lavf/lavf.rm +a7b0ac6e5131bbf662a07ccc82ab8618 *tests/data/lavf/lavf.rm 346424 tests/data/lavf/lavf.rm