Justin Ruggles <[email protected]> writes: > --- > libavcodec/ac3enc.c | 22 +++++++++++----------- > libavcodec/ac3enc.h | 2 +- > 2 files changed, 12 insertions(+), 12 deletions(-) > > > diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c > index 3426bd2..1db6941 100644 > --- a/libavcodec/ac3enc.c > +++ b/libavcodec/ac3enc.c > @@ -46,7 +46,7 @@ > #include "eac3enc.h" > > typedef struct AC3Mant { > - uint16_t *qmant1_ptr, *qmant2_ptr, *qmant4_ptr; ///< mantissa pointers > for bap=1,2,4 > + int16_t *qmant1_ptr, *qmant2_ptr, *qmant4_ptr; ///< mantissa pointers > for bap=1,2,4 > int mant1_cnt, mant2_cnt, mant4_cnt; ///< mantissa counts for > bap=1,2,4 > } AC3Mant; > > @@ -1136,7 +1136,7 @@ static inline int asym_quant(int c, int e, int qbits) > if (v >= m) > v = m - 1; > av_assert2(v >= -m); > - return v & ((1 << qbits)-1); > + return v; > } > > > @@ -1145,7 +1145,7 @@ static inline int asym_quant(int c, int e, int qbits) > */ > static void quantize_mantissas_blk_ch(AC3Mant *s, int32_t *fixed_coef, > uint8_t *exp, uint8_t *bap, > - uint16_t *qmant, int start_freq, > + int16_t *qmant, int start_freq, > int end_freq) > { > int i; > @@ -1497,14 +1497,14 @@ static void output_audio_block(AC3EncodeContext *s, > int blk) > q = block->qmant[ch][i]; > b = s->ref_bap[ch][blk][i]; > switch (b) { > - case 0: break; > - case 1: if (q != 128) put_bits(&s->pb, 5, q); break; > - case 2: if (q != 128) put_bits(&s->pb, 7, q); break; > - case 3: put_bits(&s->pb, 3, q); break; > - case 4: if (q != 128) put_bits(&s->pb, 7, q); break; > - case 14: put_bits(&s->pb, 14, q); break; > - case 15: put_bits(&s->pb, 16, q); break; > - default: put_bits(&s->pb, b-1, q); break; > + case 0: break; > + case 1: if (q != 128) put_bits (&s->pb, 5, q); break; > + case 2: if (q != 128) put_bits (&s->pb, 7, q); break; > + case 3: put_sbits(&s->pb, 3, q); break; > + case 4: if (q != 128) put_bits (&s->pb, 7, q); break; > + case 14: put_sbits(&s->pb, 14, q); break; > + case 15: put_sbits(&s->pb, 16, q); break; > + default: put_sbits(&s->pb, b-1, q); break; > } > }
This does the masking in put_sbits() instead. Is that better? It does seem like better style though. Patch OK. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
