mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
aacenc: use the new function for setting special band scalefactor indices
This commit enables the function added with commit 7c10b87
and uses that
new function for setting any special scalefactor indices. This commit does
not change the behaviour of the encoder since no bands are being marked as
either NOISE_BT(due to the previous PNS implementation removed in the
previous commit) or INTENSITY_BT2/INTENSITY_BT.
Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
671bdd4b09
commit
e06578e392
@ -1222,24 +1222,28 @@ AACCoefficientsEncoder ff_aac_coders[AAC_CODER_NB] = {
|
||||
search_for_quantizers_faac,
|
||||
encode_window_bands_info,
|
||||
quantize_and_encode_band,
|
||||
set_special_band_scalefactors,
|
||||
search_for_ms,
|
||||
},
|
||||
[AAC_CODER_ANMR] = {
|
||||
search_for_quantizers_anmr,
|
||||
encode_window_bands_info,
|
||||
quantize_and_encode_band,
|
||||
set_special_band_scalefactors,
|
||||
search_for_ms,
|
||||
},
|
||||
[AAC_CODER_TWOLOOP] = {
|
||||
search_for_quantizers_twoloop,
|
||||
codebook_trellis_rate,
|
||||
quantize_and_encode_band,
|
||||
set_special_band_scalefactors,
|
||||
search_for_ms,
|
||||
},
|
||||
[AAC_CODER_FAST] = {
|
||||
search_for_quantizers_fast,
|
||||
encode_window_bands_info,
|
||||
quantize_and_encode_band,
|
||||
set_special_band_scalefactors,
|
||||
search_for_ms,
|
||||
},
|
||||
};
|
||||
|
@ -652,6 +652,9 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
||||
s->coder->search_for_ms(s, cpe, s->lambda);
|
||||
}
|
||||
}
|
||||
if (s->coder->set_special_band_scalefactors)
|
||||
for (ch = 0; ch < chans; ch++)
|
||||
s->coder->set_special_band_scalefactors(s, &cpe->ch[ch]);
|
||||
adjust_frame_information(cpe, chans);
|
||||
if (chans == 2) {
|
||||
put_bits(&s->pb, 1, cpe->common_window);
|
||||
|
@ -54,6 +54,7 @@ typedef struct AACCoefficientsEncoder {
|
||||
int win, int group_len, const float lambda);
|
||||
void (*quantize_and_encode_band)(struct AACEncContext *s, PutBitContext *pb, const float *in, int size,
|
||||
int scale_idx, int cb, const float lambda);
|
||||
void (*set_special_band_scalefactors)(struct AACEncContext *s, SingleChannelElement *sce);
|
||||
void (*search_for_ms)(struct AACEncContext *s, ChannelElement *cpe, const float lambda);
|
||||
} AACCoefficientsEncoder;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user