summaryrefslogtreecommitdiff
path: root/libavcodec/aacenc_tns.c
diff options
context:
space:
mode:
authorRostislav Pehlivanov <atomnuker@gmail.com>2015-10-17 10:58:06 +0100
committerRostislav Pehlivanov <atomnuker@gmail.com>2015-10-17 11:10:26 +0100
commitbf39beca8784077a3918de0933eaaa84a94e42a4 (patch)
treed3dade3b2813f78b8882156d7fcb093b183d3164 /libavcodec/aacenc_tns.c
parentf3ad901a32c95239f302f173b866b82fb1f6cdf9 (diff)
downloadffmpeg-bf39beca8784077a3918de0933eaaa84a94e42a4.tar.gz
aacenc_tns: simplify encoding function
It's simpler and has 2 less levels than the previous which was practically lifted from the decoder with put_bits() instead of get_bits().
Diffstat (limited to 'libavcodec/aacenc_tns.c')
-rw-r--r--libavcodec/aacenc_tns.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/libavcodec/aacenc_tns.c b/libavcodec/aacenc_tns.c
index 62cf7a06a1..f08b31eb62 100644
--- a/libavcodec/aacenc_tns.c
+++ b/libavcodec/aacenc_tns.c
@@ -59,31 +59,31 @@ static inline int compress_coeffs(int *coef, int order, int c_bits)
*/
void ff_aac_encode_tns_info(AACEncContext *s, SingleChannelElement *sce)
{
- int i, w, filt, coef_len, coef_compress = 0;
- const int is8 = sce->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE;
+ int i, w, filt, coef_compress = 0, coef_len;
TemporalNoiseShaping *tns = &sce->tns;
- const int c_bits = is8 ? TNS_Q_BITS_SHORT == 4 : TNS_Q_BITS == 4;
+ const int is8 = sce->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE;
+ const int c_bits = is8 ? TNS_Q_BITS_IS8 == 4 : TNS_Q_BITS == 4;
if (!sce->tns.present)
return;
for (i = 0; i < sce->ics.num_windows; i++) {
put_bits(&s->pb, 2 - is8, sce->tns.n_filt[i]);
- if (tns->n_filt[i]) {
- put_bits(&s->pb, 1, c_bits);
- for (filt = 0; filt < tns->n_filt[i]; filt++) {
- put_bits(&s->pb, 6 - 2 * is8, tns->length[i][filt]);
- put_bits(&s->pb, 5 - 2 * is8, tns->order[i][filt]);
- if (tns->order[i][filt]) {
- coef_compress = compress_coeffs(tns->coef_idx[i][filt],
- tns->order[i][filt], c_bits);
- put_bits(&s->pb, 1, !!tns->direction[i][filt]);
- put_bits(&s->pb, 1, !!coef_compress);
- coef_len = c_bits + 3 - coef_compress;
- for (w = 0; w < tns->order[i][filt]; w++)
- put_bits(&s->pb, coef_len, tns->coef_idx[i][filt][w]);
- }
- }
+ if (!tns->n_filt[i])
+ continue;
+ put_bits(&s->pb, 1, c_bits);
+ for (filt = 0; filt < tns->n_filt[i]; filt++) {
+ put_bits(&s->pb, 6 - 2 * is8, tns->length[i][filt]);
+ put_bits(&s->pb, 5 - 2 * is8, tns->order[i][filt]);
+ if (!tns->order[i][filt])
+ continue;
+ put_bits(&s->pb, 1, tns->direction[i][filt]);
+ coef_compress = compress_coeffs(tns->coef_idx[i][filt],
+ tns->order[i][filt], c_bits);
+ put_bits(&s->pb, 1, coef_compress);
+ coef_len = c_bits + 3 - coef_compress;
+ for (w = 0; w < tns->order[i][filt]; w++)
+ put_bits(&s->pb, coef_len, tns->coef_idx[i][filt][w]);
}
}
}