You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
mpegaudiodec: init static tables in AVCodec.init_static_data()
This commit is contained in:
@@ -266,24 +266,9 @@ static inline int l3_unscale(int value, int exponent)
|
|||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold int decode_init(AVCodecContext * avctx)
|
static void decode_init_static(AVCodec *codec)
|
||||||
{
|
{
|
||||||
MPADecodeContext *s = avctx->priv_data;
|
|
||||||
static int init = 0;
|
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
|
|
||||||
s->avctx = avctx;
|
|
||||||
|
|
||||||
ff_mpadsp_init(&s->mpadsp);
|
|
||||||
|
|
||||||
avctx->sample_fmt= OUT_FMT;
|
|
||||||
s->err_recognition = avctx->err_recognition;
|
|
||||||
|
|
||||||
#if FF_API_PARSE_FRAME
|
|
||||||
if (!init && !avctx->parse_only) {
|
|
||||||
#else
|
|
||||||
if (!init) {
|
|
||||||
#endif
|
|
||||||
int offset;
|
int offset;
|
||||||
|
|
||||||
/* scale factors table for layer 1/2 */
|
/* scale factors table for layer 1/2 */
|
||||||
@@ -468,9 +453,18 @@ static av_cold int decode_init(AVCodecContext * avctx)
|
|||||||
mdct_win[j + 4][i + 1] = -mdct_win[j][i + 1];
|
mdct_win[j + 4][i + 1] = -mdct_win[j][i + 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
init = 1;
|
static av_cold int decode_init(AVCodecContext * avctx)
|
||||||
}
|
{
|
||||||
|
MPADecodeContext *s = avctx->priv_data;
|
||||||
|
|
||||||
|
s->avctx = avctx;
|
||||||
|
|
||||||
|
ff_mpadsp_init(&s->mpadsp);
|
||||||
|
|
||||||
|
avctx->sample_fmt= OUT_FMT;
|
||||||
|
s->err_recognition = avctx->err_recognition;
|
||||||
|
|
||||||
if (avctx->codec_id == CODEC_ID_MP3ADU)
|
if (avctx->codec_id == CODEC_ID_MP3ADU)
|
||||||
s->adu_mode = 1;
|
s->adu_mode = 1;
|
||||||
@@ -2116,6 +2110,7 @@ AVCodec ff_mp1_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP1,
|
.id = CODEC_ID_MP1,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -2131,6 +2126,7 @@ AVCodec ff_mp2_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP2,
|
.id = CODEC_ID_MP2,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -2146,6 +2142,7 @@ AVCodec ff_mp3_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP3,
|
.id = CODEC_ID_MP3,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -2161,6 +2158,7 @@ AVCodec ff_mp3adu_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP3ADU,
|
.id = CODEC_ID_MP3ADU,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame_adu,
|
.decode = decode_frame_adu,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -2176,6 +2174,7 @@ AVCodec ff_mp3on4_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP3ON4,
|
.id = CODEC_ID_MP3ON4,
|
||||||
.priv_data_size = sizeof(MP3On4DecodeContext),
|
.priv_data_size = sizeof(MP3On4DecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init_mp3on4,
|
.init = decode_init_mp3on4,
|
||||||
.close = decode_close_mp3on4,
|
.close = decode_close_mp3on4,
|
||||||
.decode = decode_frame_mp3on4,
|
.decode = decode_frame_mp3on4,
|
||||||
|
@@ -28,6 +28,7 @@ AVCodec ff_mp1float_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP1,
|
.id = CODEC_ID_MP1,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -43,6 +44,7 @@ AVCodec ff_mp2float_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP2,
|
.id = CODEC_ID_MP2,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -58,6 +60,7 @@ AVCodec ff_mp3float_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP3,
|
.id = CODEC_ID_MP3,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -73,6 +76,7 @@ AVCodec ff_mp3adufloat_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP3ADU,
|
.id = CODEC_ID_MP3ADU,
|
||||||
.priv_data_size = sizeof(MPADecodeContext),
|
.priv_data_size = sizeof(MPADecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init,
|
.init = decode_init,
|
||||||
.decode = decode_frame_adu,
|
.decode = decode_frame_adu,
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
@@ -88,6 +92,7 @@ AVCodec ff_mp3on4float_decoder = {
|
|||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = CODEC_ID_MP3ON4,
|
.id = CODEC_ID_MP3ON4,
|
||||||
.priv_data_size = sizeof(MP3On4DecodeContext),
|
.priv_data_size = sizeof(MP3On4DecodeContext),
|
||||||
|
.init_static_data = decode_init_static,
|
||||||
.init = decode_init_mp3on4,
|
.init = decode_init_mp3on4,
|
||||||
.close = decode_close_mp3on4,
|
.close = decode_close_mp3on4,
|
||||||
.decode = decode_frame_mp3on4,
|
.decode = decode_frame_mp3on4,
|
||||||
|
Reference in New Issue
Block a user