summaryrefslogtreecommitdiff
path: root/libavcodec/qdm2.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-04-11 11:54:31 +0100
committerMans Rullgard <mans@mansr.com>2012-04-12 10:59:23 +0100
commita31787ee3bcd3b69f5a285970b6766abf187a9d6 (patch)
tree5152fc1effad5455182fca25fba14450af2fa901 /libavcodec/qdm2.c
parent7bb3a302feeff37d14a2abb7c7316efa43f8dd5c (diff)
qdm2: use get_bits_left()
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/qdm2.c')
-rw-r--r--libavcodec/qdm2.c46
1 files changed, 21 insertions, 25 deletions
diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c
index 39aa3dfe1a..358d0e1cc7 100644
--- a/libavcodec/qdm2.c
+++ b/libavcodec/qdm2.c
@@ -69,8 +69,6 @@ do { \
#define SB_DITHERING_NOISE(sb,noise_idx) (noise_table[(noise_idx)++] * sb_noise_attenuation[(sb)])
-#define BITS_LEFT(length,gb) ((length) - get_bits_count ((gb)))
-
#define SAMPLES_NEEDED \
av_log (NULL,AV_LOG_INFO,"This file triggers some untested code. Please contact the developers.\n");
@@ -793,10 +791,10 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
else if (sb >= 24)
joined_stereo = 1;
else
- joined_stereo = (BITS_LEFT(length,gb) >= 1) ? get_bits1 (gb) : 0;
+ joined_stereo = (get_bits_left(gb) >= 1) ? get_bits1 (gb) : 0;
if (joined_stereo) {
- if (BITS_LEFT(length,gb) >= 16)
+ if (get_bits_left(gb) >= 16)
for (j = 0; j < 16; j++)
sign_bits[j] = get_bits1 (gb);
@@ -809,14 +807,14 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
}
for (ch = 0; ch < channels; ch++) {
- zero_encoding = (BITS_LEFT(length,gb) >= 1) ? get_bits1(gb) : 0;
+ zero_encoding = (get_bits_left(gb) >= 1) ? get_bits1(gb) : 0;
type34_predictor = 0.0;
type34_first = 1;
for (j = 0; j < 128; ) {
switch (q->coding_method[ch][sb][j / 2]) {
case 8:
- if (BITS_LEFT(length,gb) >= 10) {
+ if (get_bits_left(gb) >= 10) {
if (zero_encoding) {
for (k = 0; k < 5; k++) {
if ((j + 2 * k) >= 128)
@@ -838,7 +836,7 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
break;
case 10:
- if (BITS_LEFT(length,gb) >= 1) {
+ if (get_bits_left(gb) >= 1) {
float f = 0.81;
if (get_bits1(gb))
@@ -852,7 +850,7 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
break;
case 16:
- if (BITS_LEFT(length,gb) >= 10) {
+ if (get_bits_left(gb) >= 10) {
if (zero_encoding) {
for (k = 0; k < 5; k++) {
if ((j + k) >= 128)
@@ -872,7 +870,7 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
break;
case 24:
- if (BITS_LEFT(length,gb) >= 7) {
+ if (get_bits_left(gb) >= 7) {
n = get_bits(gb, 7);
for (k = 0; k < 3; k++)
samples[k] = (random_dequant_type24[n][k] - 2.0) * 0.5;
@@ -884,7 +882,7 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
break;
case 30:
- if (BITS_LEFT(length,gb) >= 4)
+ if (get_bits_left(gb) >= 4)
samples[0] = type30_dequant[qdm2_get_vlc(gb, &vlc_tab_type30, 0, 1)];
else
samples[0] = SB_DITHERING_NOISE(sb,q->noise_idx);
@@ -893,7 +891,7 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
break;
case 34:
- if (BITS_LEFT(length,gb) >= 7) {
+ if (get_bits_left(gb) >= 7) {
if (type34_first) {
type34_div = (float)(1 << get_bits(gb, 2));
samples[0] = ((float)get_bits(gb, 5) - 16.0) / 15.0;
@@ -946,24 +944,23 @@ static void synthfilt_build_sb_samples (QDM2Context *q, GetBitContext *gb, int l
*
* @param quantized_coeffs pointer to quantized_coeffs[ch][0]
* @param gb bitreader context
- * @param length packet length in bits
*/
-static void init_quantized_coeffs_elem0 (int8_t *quantized_coeffs, GetBitContext *gb, int length)
+static void init_quantized_coeffs_elem0 (int8_t *quantized_coeffs, GetBitContext *gb)
{
int i, k, run, level, diff;
- if (BITS_LEFT(length,gb) < 16)
+ if (get_bits_left(gb) < 16)
return;
level = qdm2_get_vlc(gb, &vlc_tab_level, 0, 2);
quantized_coeffs[0] = level;
for (i = 0; i < 7; ) {
- if (BITS_LEFT(length,gb) < 16)
+ if (get_bits_left(gb) < 16)
break;
run = qdm2_get_vlc(gb, &vlc_tab_run, 0, 1) + 1;
- if (BITS_LEFT(length,gb) < 16)
+ if (get_bits_left(gb) < 16)
break;
diff = qdm2_get_se_vlc(&vlc_tab_diff, gb, 2);
@@ -983,16 +980,15 @@ static void init_quantized_coeffs_elem0 (int8_t *quantized_coeffs, GetBitContext
*
* @param q context
* @param gb bitreader context
- * @param length packet length in bits
*/
-static void init_tone_level_dequantization (QDM2Context *q, GetBitContext *gb, int length)
+static void init_tone_level_dequantization (QDM2Context *q, GetBitContext *gb)
{
int sb, j, k, n, ch;
for (ch = 0; ch < q->nb_channels; ch++) {
- init_quantized_coeffs_elem0(q->quantized_coeffs[ch][0], gb, length);
+ init_quantized_coeffs_elem0(q->quantized_coeffs[ch][0], gb);
- if (BITS_LEFT(length,gb) < 16) {
+ if (get_bits_left(gb) < 16) {
memset(q->quantized_coeffs[ch][0], 0, 8);
break;
}
@@ -1003,11 +999,11 @@ static void init_tone_level_dequantization (QDM2Context *q, GetBitContext *gb, i
for (sb = 0; sb < n; sb++)
for (ch = 0; ch < q->nb_channels; ch++)
for (j = 0; j < 8; j++) {
- if (BITS_LEFT(length,gb) < 1)
+ if (get_bits_left(gb) < 1)
break;
if (get_bits1(gb)) {
for (k=0; k < 8; k++) {
- if (BITS_LEFT(length,gb) < 16)
+ if (get_bits_left(gb) < 16)
break;
q->tone_level_idx_hi1[ch][sb][j][k] = qdm2_get_vlc(gb, &vlc_tab_tone_level_idx_hi1, 0, 2);
}
@@ -1021,7 +1017,7 @@ static void init_tone_level_dequantization (QDM2Context *q, GetBitContext *gb, i
for (sb = 0; sb < n; sb++)
for (ch = 0; ch < q->nb_channels; ch++) {
- if (BITS_LEFT(length,gb) < 16)
+ if (get_bits_left(gb) < 16)
break;
q->tone_level_idx_hi2[ch][sb] = qdm2_get_vlc(gb, &vlc_tab_tone_level_idx_hi2, 0, 2);
if (sb > 19)
@@ -1036,7 +1032,7 @@ static void init_tone_level_dequantization (QDM2Context *q, GetBitContext *gb, i
for (sb = 0; sb < n; sb++)
for (ch = 0; ch < q->nb_channels; ch++)
for (j = 0; j < 8; j++) {
- if (BITS_LEFT(length,gb) < 16)
+ if (get_bits_left(gb) < 16)
break;
q->tone_level_idx_mid[ch][sb][j] = qdm2_get_vlc(gb, &vlc_tab_tone_level_idx_mid, 0, 2) - 32;
}
@@ -1094,7 +1090,7 @@ static void process_subpacket_10 (QDM2Context *q, QDM2SubPNode *node, int length
init_get_bits(&gb, ((node == NULL) ? empty_buffer : node->packet->data), ((node == NULL) ? 0 : node->packet->size*8));
if (length != 0) {
- init_tone_level_dequantization(q, &gb, length);
+ init_tone_level_dequantization(q, &gb);
fill_tone_level_array(q, 1);
} else {
fill_tone_level_array(q, 0);