aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Caldwell <saintdev@gmail.com>2011-12-14 19:50:23 -0700
committerAlex Converse <alex.converse@gmail.com>2012-01-23 11:40:45 -0800
commit53107041907f482ee941122d3bbe44683b74cb23 (patch)
tree1a45290faa1f5531c3038bec521018066b8a7194
parent17ae608127324cabd083202a32a8dc210d30c3a1 (diff)
downloadffmpeg-53107041907f482ee941122d3bbe44683b74cb23.tar.gz
aacenc: cosmetics: move init() and end() to the bottom of the file.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
-rw-r--r--libavcodec/aacenc.c204
1 files changed, 102 insertions, 102 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index cfee931993..33396b2e83 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -166,108 +166,6 @@ static void put_audio_specific_config(AVCodecContext *avctx)
flush_put_bits(&pb);
}
-static av_cold int aac_encode_end(AVCodecContext *avctx)
-{
- AACEncContext *s = avctx->priv_data;
-
- ff_mdct_end(&s->mdct1024);
- ff_mdct_end(&s->mdct128);
- ff_psy_end(&s->psy);
- if (s->psypp)
- ff_psy_preprocess_end(s->psypp);
- av_freep(&s->samples);
- av_freep(&s->cpe);
- return 0;
-}
-
-static av_cold int dsp_init(AVCodecContext *avctx, AACEncContext *s)
-{
- int ret = 0;
-
- dsputil_init(&s->dsp, avctx);
-
- // window init
- ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
- ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128);
- ff_init_ff_sine_windows(10);
- ff_init_ff_sine_windows(7);
-
- if (ret = ff_mdct_init(&s->mdct1024, 11, 0, 1.0))
- return ret;
- if (ret = ff_mdct_init(&s->mdct128, 8, 0, 1.0))
- return ret;
-
- return 0;
-}
-
-static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s)
-{
- FF_ALLOC_OR_GOTO (avctx, s->samples, 2 * 1024 * avctx->channels * sizeof(s->samples[0]), alloc_fail);
- FF_ALLOCZ_OR_GOTO(avctx, s->cpe, sizeof(ChannelElement) * s->chan_map[0], alloc_fail);
- FF_ALLOCZ_OR_GOTO(avctx, avctx->extradata, 5 + FF_INPUT_BUFFER_PADDING_SIZE, alloc_fail);
-
- return 0;
-alloc_fail:
- return AVERROR(ENOMEM);
-}
-
-static av_cold int aac_encode_init(AVCodecContext *avctx)
-{
- AACEncContext *s = avctx->priv_data;
- int i, ret = 0;
- const uint8_t *sizes[2];
- uint8_t grouping[AAC_MAX_CHANNELS];
- int lengths[2];
-
- avctx->frame_size = 1024;
-
- for (i = 0; i < 16; i++)
- if (avctx->sample_rate == avpriv_mpeg4audio_sample_rates[i])
- break;
-
- ERROR_IF(i == 16,
- "Unsupported sample rate %d\n", avctx->sample_rate);
- ERROR_IF(avctx->channels > AAC_MAX_CHANNELS,
- "Unsupported number of channels: %d\n", avctx->channels);
- ERROR_IF(avctx->profile != FF_PROFILE_UNKNOWN && avctx->profile != FF_PROFILE_AAC_LOW,
- "Unsupported profile %d\n", avctx->profile);
- ERROR_IF(1024.0 * avctx->bit_rate / avctx->sample_rate > 6144 * avctx->channels,
- "Too many bits per frame requested\n");
-
- s->samplerate_index = i;
-
- s->chan_map = aac_chan_configs[avctx->channels-1];
-
- if (ret = dsp_init(avctx, s))
- goto fail;
-
- if (ret = alloc_buffers(avctx, s))
- goto fail;
-
- avctx->extradata_size = 5;
- put_audio_specific_config(avctx);
-
- sizes[0] = swb_size_1024[i];
- sizes[1] = swb_size_128[i];
- lengths[0] = ff_aac_num_swb_1024[i];
- lengths[1] = ff_aac_num_swb_128[i];
- for (i = 0; i < s->chan_map[0]; i++)
- grouping[i] = s->chan_map[i + 1] == TYPE_CPE;
- if (ret = ff_psy_init(&s->psy, avctx, 2, sizes, lengths, s->chan_map[0], grouping))
- goto fail;
- s->psypp = ff_psy_preprocess_init(avctx);
- s->coder = &ff_aac_coders[2];
-
- s->lambda = avctx->global_quality ? avctx->global_quality : 120;
-
- ff_aac_tableinit();
-
- return 0;
-fail:
- aac_encode_end(avctx);
- return ret;
-}
-
static void apply_window_and_mdct(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce, short *audio)
{
@@ -697,6 +595,108 @@ static int aac_encode_frame(AVCodecContext *avctx,
return put_bits_count(&s->pb)>>3;
}
+static av_cold int aac_encode_end(AVCodecContext *avctx)
+{
+ AACEncContext *s = avctx->priv_data;
+
+ ff_mdct_end(&s->mdct1024);
+ ff_mdct_end(&s->mdct128);
+ ff_psy_end(&s->psy);
+ if (s->psypp)
+ ff_psy_preprocess_end(s->psypp);
+ av_freep(&s->samples);
+ av_freep(&s->cpe);
+ return 0;
+}
+
+static av_cold int dsp_init(AVCodecContext *avctx, AACEncContext *s)
+{
+ int ret = 0;
+
+ dsputil_init(&s->dsp, avctx);
+
+ // window init
+ ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
+ ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128);
+ ff_init_ff_sine_windows(10);
+ ff_init_ff_sine_windows(7);
+
+ if (ret = ff_mdct_init(&s->mdct1024, 11, 0, 1.0))
+ return ret;
+ if (ret = ff_mdct_init(&s->mdct128, 8, 0, 1.0))
+ return ret;
+
+ return 0;
+}
+
+static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s)
+{
+ FF_ALLOC_OR_GOTO (avctx, s->samples, 2 * 1024 * avctx->channels * sizeof(s->samples[0]), alloc_fail);
+ FF_ALLOCZ_OR_GOTO(avctx, s->cpe, sizeof(ChannelElement) * s->chan_map[0], alloc_fail);
+ FF_ALLOCZ_OR_GOTO(avctx, avctx->extradata, 5 + FF_INPUT_BUFFER_PADDING_SIZE, alloc_fail);
+
+ return 0;
+alloc_fail:
+ return AVERROR(ENOMEM);
+}
+
+static av_cold int aac_encode_init(AVCodecContext *avctx)
+{
+ AACEncContext *s = avctx->priv_data;
+ int i, ret = 0;
+ const uint8_t *sizes[2];
+ uint8_t grouping[AAC_MAX_CHANNELS];
+ int lengths[2];
+
+ avctx->frame_size = 1024;
+
+ for (i = 0; i < 16; i++)
+ if (avctx->sample_rate == avpriv_mpeg4audio_sample_rates[i])
+ break;
+
+ ERROR_IF(i == 16,
+ "Unsupported sample rate %d\n", avctx->sample_rate);
+ ERROR_IF(avctx->channels > AAC_MAX_CHANNELS,
+ "Unsupported number of channels: %d\n", avctx->channels);
+ ERROR_IF(avctx->profile != FF_PROFILE_UNKNOWN && avctx->profile != FF_PROFILE_AAC_LOW,
+ "Unsupported profile %d\n", avctx->profile);
+ ERROR_IF(1024.0 * avctx->bit_rate / avctx->sample_rate > 6144 * avctx->channels,
+ "Too many bits per frame requested\n");
+
+ s->samplerate_index = i;
+
+ s->chan_map = aac_chan_configs[avctx->channels-1];
+
+ if (ret = dsp_init(avctx, s))
+ goto fail;
+
+ if (ret = alloc_buffers(avctx, s))
+ goto fail;
+
+ avctx->extradata_size = 5;
+ put_audio_specific_config(avctx);
+
+ sizes[0] = swb_size_1024[i];
+ sizes[1] = swb_size_128[i];
+ lengths[0] = ff_aac_num_swb_1024[i];
+ lengths[1] = ff_aac_num_swb_128[i];
+ for (i = 0; i < s->chan_map[0]; i++)
+ grouping[i] = s->chan_map[i + 1] == TYPE_CPE;
+ if (ret = ff_psy_init(&s->psy, avctx, 2, sizes, lengths, s->chan_map[0], grouping))
+ goto fail;
+ s->psypp = ff_psy_preprocess_init(avctx);
+ s->coder = &ff_aac_coders[2];
+
+ s->lambda = avctx->global_quality ? avctx->global_quality : 120;
+
+ ff_aac_tableinit();
+
+ return 0;
+fail:
+ aac_encode_end(avctx);
+ return ret;
+}
+
#define AACENC_FLAGS AV_OPT_FLAG_ENCODING_PARAM | AV_OPT_FLAG_AUDIO_PARAM
static const AVOption aacenc_options[] = {
{"stereo_mode", "Stereo coding method", offsetof(AACEncContext, options.stereo_mode), AV_OPT_TYPE_INT, {.dbl = 0}, -1, 1, AACENC_FLAGS, "stereo_mode"},