X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmpegaudiodec.c;h=85079761df3ae7a7298d566afabecdf1cff0c9ad;hb=0114c571d4c8cc1036850ced924683709390681a;hp=553398acb7f1fd7d88357813f2f4b611b47019c5;hpb=8a85660d3b9b610549b65cba09b4b7a1acb880bd;p=ffmpeg diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 553398acb7f..85079761df3 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -25,6 +25,7 @@ */ #include "libavutil/audioconvert.h" +#include "libavutil/avassert.h" #include "avcodec.h" #include "get_bits.h" #include "mathops.h" @@ -262,7 +263,10 @@ static inline int l3_unscale(int value, int exponent) e = table_4_3_exp [4 * value + (exponent & 3)]; m = table_4_3_value[4 * value + (exponent & 3)]; e -= exponent >> 2; - assert(e >= 1); +#ifdef DEBUG + if(e < 1) + av_log(0, AV_LOG_WARNING, "l3_unscale: e is %d\n", e); +#endif if (e > 31) return 0; m = (m + (1 << (e - 1))) >> e; @@ -326,7 +330,7 @@ static av_cold void decode_init_static(void) INIT_VLC_USE_NEW_STATIC); offset += huff_vlc_tables_sizes[i]; } - assert(offset == FF_ARRAY_ELEMS(huff_vlc_tables)); + av_assert0(offset == FF_ARRAY_ELEMS(huff_vlc_tables)); offset = 0; for (i = 0; i < 2; i++) { @@ -337,7 +341,7 @@ static av_cold void decode_init_static(void) INIT_VLC_USE_NEW_STATIC); offset += huff_quad_vlc_tables_sizes[i]; } - assert(offset == FF_ARRAY_ELEMS(huff_quad_vlc_tables)); + av_assert0(offset == FF_ARRAY_ELEMS(huff_quad_vlc_tables)); for (i = 0; i < 9; i++) { k = 0; @@ -437,7 +441,7 @@ static av_cold int decode_init(AVCodecContext * avctx) avctx->sample_fmt= OUT_FMT; s->err_recognition = avctx->err_recognition; - if (avctx->codec_id == CODEC_ID_MP3ADU) + if (avctx->codec_id == AV_CODEC_ID_MP3ADU) s->adu_mode = 1; avcodec_get_frame_defaults(&s->frame); @@ -826,7 +830,7 @@ static void switch_buffer(MPADecodeContext *s, int *pos, int *end_pos, if (s->in_gb.buffer && *pos >= s->gb.size_in_bits) { s->gb = s->in_gb; s->in_gb.buffer = NULL; - assert((get_bits_count(&s->gb) & 7) == 0); + av_assert2((get_bits_count(&s->gb) & 7) == 0); skip_bits_long(&s->gb, *pos - *end_pos); *end_pos2 = *end_pos = *end_pos2 + get_bits_count(&s->gb) - *pos; @@ -1169,6 +1173,17 @@ found2: } } +#if CONFIG_FLOAT +#if HAVE_MIPSFPU +# include "mips/compute_antialias_float.h" +#endif /* HAVE_MIPSFPU */ +#else +#if HAVE_MIPSDSPR1 +# include "mips/compute_antialias_fixed.h" +#endif /* HAVE_MIPSDSPR1 */ +#endif /* CONFIG_FLOAT */ + +#ifndef compute_antialias #if CONFIG_FLOAT #define AA(j) do { \ float tmp0 = ptr[-1-j]; \ @@ -1215,6 +1230,7 @@ static void compute_antialias(MPADecodeContext *s, GranuleDef *g) ptr += 18; } } +#endif /* compute_antialias */ static void compute_imdct(MPADecodeContext *s, GranuleDef *g, INTFLOAT *sb_samples, INTFLOAT *mdct_buf) @@ -1385,7 +1401,7 @@ static int mp_decode_layer3(MPADecodeContext *s) int skip; const uint8_t *ptr = s->gb.buffer + (get_bits_count(&s->gb)>>3); int extrasize = av_clip(get_bits_left(&s->gb) >> 3, 0, EXTRABYTES); - assert((get_bits_count(&s->gb) & 7) == 0); + av_assert1((get_bits_count(&s->gb) & 7) == 0); /* now we get bits from the main_data_begin offset */ av_dlog(s->avctx, "seekback: %d\n", main_data_begin); //av_log(NULL, AV_LOG_ERROR, "backstep:%d, lastbuf:%d\n", main_data_begin, s->last_buf_size); @@ -1589,7 +1605,7 @@ static int mp_decode_frame(MPADecodeContext *s, OUT_INT *samples, } align_get_bits(&s->gb); - assert((get_bits_count(&s->gb) & 7) == 0); + av_assert1((get_bits_count(&s->gb) & 7) == 0); i = get_bits_left(&s->gb) >> 3; if (i < 0 || i > BACKSTEP_SIZE || nb_frames < 0) { @@ -1597,7 +1613,7 @@ static int mp_decode_frame(MPADecodeContext *s, OUT_INT *samples, av_log(s->avctx, AV_LOG_ERROR, "invalid new backstep %d\n", i); i = FFMIN(BACKSTEP_SIZE, buf_size - HEADER_SIZE); } - assert(i <= buf_size - HEADER_SIZE && i >= 0); + av_assert1(i <= buf_size - HEADER_SIZE && i >= 0); memcpy(s->last_buf + s->last_buf_size, s->gb.buffer + buf_size - HEADER_SIZE - i, i); s->last_buf_size += i; } @@ -1670,7 +1686,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *got_frame_ptr, if (s->frame_size <= 0 || s->frame_size > buf_size) { av_log(avctx, AV_LOG_ERROR, "incomplete frame\n"); return AVERROR_INVALIDDATA; - }else if(s->frame_size < buf_size){ + } else if (s->frame_size < buf_size) { av_log(avctx, AV_LOG_DEBUG, "incorrect frame size - multiple frames in buffer?\n"); buf_size= s->frame_size; } @@ -1933,7 +1949,7 @@ static int decode_frame_mp3on4(AVCodecContext *avctx, void *data, fsize = AV_RB16(buf) >> 4; fsize = FFMIN3(fsize, len, MPA_MAX_CODED_FRAME_SIZE); m = s->mp3decctx[fr]; - assert(m != NULL); + av_assert1(m); if (fsize < HEADER_SIZE) { av_log(avctx, AV_LOG_ERROR, "Frame size smaller than header size\n"); @@ -1993,7 +2009,7 @@ static int decode_frame_mp3on4(AVCodecContext *avctx, void *data, AVCodec ff_mp1_decoder = { .name = "mp1", .type = AVMEDIA_TYPE_AUDIO, - .id = CODEC_ID_MP1, + .id = AV_CODEC_ID_MP1, .priv_data_size = sizeof(MPADecodeContext), .init = decode_init, .decode = decode_frame, @@ -2006,7 +2022,7 @@ AVCodec ff_mp1_decoder = { AVCodec ff_mp2_decoder = { .name = "mp2", .type = AVMEDIA_TYPE_AUDIO, - .id = CODEC_ID_MP2, + .id = AV_CODEC_ID_MP2, .priv_data_size = sizeof(MPADecodeContext), .init = decode_init, .decode = decode_frame, @@ -2019,7 +2035,7 @@ AVCodec ff_mp2_decoder = { AVCodec ff_mp3_decoder = { .name = "mp3", .type = AVMEDIA_TYPE_AUDIO, - .id = CODEC_ID_MP3, + .id = AV_CODEC_ID_MP3, .priv_data_size = sizeof(MPADecodeContext), .init = decode_init, .decode = decode_frame, @@ -2032,7 +2048,7 @@ AVCodec ff_mp3_decoder = { AVCodec ff_mp3adu_decoder = { .name = "mp3adu", .type = AVMEDIA_TYPE_AUDIO, - .id = CODEC_ID_MP3ADU, + .id = AV_CODEC_ID_MP3ADU, .priv_data_size = sizeof(MPADecodeContext), .init = decode_init, .decode = decode_frame_adu, @@ -2045,7 +2061,7 @@ AVCodec ff_mp3adu_decoder = { AVCodec ff_mp3on4_decoder = { .name = "mp3on4", .type = AVMEDIA_TYPE_AUDIO, - .id = CODEC_ID_MP3ON4, + .id = AV_CODEC_ID_MP3ON4, .priv_data_size = sizeof(MP3On4DecodeContext), .init = decode_init_mp3on4, .close = decode_close_mp3on4,