summaryrefslogtreecommitdiff
path: root/libavcodec/alac.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-07-09 17:02:42 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2012-07-19 13:26:48 -0400
commiteeb55f5f2f48dba3cb4530e9c65999471affe26e (patch)
tree3489f1b71207e85bd9b642c8561f993b9882bc06 /libavcodec/alac.c
parentf3e5a7844bbf13620ca4b6a5e19aa087c9141b15 (diff)
alac: cosmetics: general pretty-printing and comment clean up
Diffstat (limited to 'libavcodec/alac.c')
-rw-r--r--libavcodec/alac.c49
1 files changed, 18 insertions, 31 deletions
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 7c76c62dfe..310a1f0d5b 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -56,14 +56,11 @@
#define MAX_CHANNELS 8
typedef struct {
-
AVCodecContext *avctx;
AVFrame frame;
GetBitContext gb;
-
int channels;
- /* buffers */
int32_t *predict_error_buffer[2];
int32_t *output_samples_buffer[2];
int32_t *extra_bits_buffer[2];
@@ -74,8 +71,8 @@ typedef struct {
uint8_t rice_initial_history;
uint8_t rice_limit;
- int extra_bits; /**< number of extra bits beyond 16-bit */
- int nb_samples; /**< number of samples in the current frame */
+ int extra_bits; /**< number of extra bits beyond 16-bit */
+ int nb_samples; /**< number of samples in the current frame */
} ALACContext;
enum RawDataBlockType {
@@ -145,16 +142,15 @@ static void rice_decompress(ALACContext *alac, int32_t *output_buffer,
int k;
unsigned int x;
- /* read k, that is bits as is */
+ /* calculate rice param and decode next value */
k = av_log2((history >> 9) + 3);
k = FFMIN(k, alac->rice_limit);
x = decode_scalar(&alac->gb, k, bps);
x += sign_modifier;
sign_modifier = 0;
-
output_buffer[i] = (x >> 1) ^ -(x & 1);
- /* now update the history */
+ /* update the history */
if (x > 0xffff)
history = 0xffff;
else
@@ -165,9 +161,9 @@ static void rice_decompress(ALACContext *alac, int32_t *output_buffer,
if ((history < 128) && (i + 1 < nb_samples)) {
int block_size;
- k = 7 - av_log2(history) + ((history + 16) >> 6 /* / 64 */);
+ /* calculate rice param and decode block size */
+ k = 7 - av_log2(history) + ((history + 16) >> 6);
k = FFMIN(k, alac->rice_limit);
-
block_size = decode_scalar(&alac->gb, k, 16);
if (block_size > 0) {
@@ -181,10 +177,8 @@ static void rice_decompress(ALACContext *alac, int32_t *output_buffer,
block_size * sizeof(*output_buffer));
i += block_size;
}
-
if (block_size <= 0xffff)
sign_modifier = 1;
-
history = 0;
}
}
@@ -230,7 +224,6 @@ static void lpc_prediction(int32_t *error_buffer, int32_t *buffer_out,
/* NOTE: 4 and 8 are very common cases that could be optimized. */
- /* general case */
for (i = lpc_order; i < nb_samples - 1; i++) {
int j;
int val = 0;
@@ -238,13 +231,11 @@ static void lpc_prediction(int32_t *error_buffer, int32_t *buffer_out,
int error_sign;
int d = buffer_out[i - lpc_order];
- for (j = 0; j < lpc_order; j++) {
+ /* LPC prediction */
+ for (j = 0; j < lpc_order; j++)
val += (buffer_out[i - j] - d) * lpc_coefs[j];
- }
-
val = (val + (1 << (lpc_quant - 1))) >> lpc_quant;
val += d + error_val;
-
buffer_out[i + 1] = sign_extend(val, bps);
/* adapt LPC coefficients */
@@ -262,9 +253,8 @@ static void lpc_prediction(int32_t *error_buffer, int32_t *buffer_out,
}
}
-static void decorrelate_stereo(int32_t *buffer[2],
- int nb_samples, int decorr_shift,
- int decorr_left_weight)
+static void decorrelate_stereo(int32_t *buffer[2], int nb_samples,
+ int decorr_shift, int decorr_left_weight)
{
int i;
@@ -282,8 +272,7 @@ static void decorrelate_stereo(int32_t *buffer[2],
}
}
-static void append_extra_bits(int32_t *buffer[2],
- int32_t *extra_bits_buffer[2],
+static void append_extra_bits(int32_t *buffer[2], int32_t *extra_bits_buffer[2],
int extra_bits, int channels, int nb_samples)
{
int i, ch;
@@ -297,13 +286,9 @@ static int decode_element(AVCodecContext *avctx, void *data, int ch_index,
int channels)
{
ALACContext *alac = avctx->priv_data;
- int has_size;
- int bps;
- int is_compressed;
- int decorr_shift;
- int decorr_left_weight;
+ int has_size, bps, is_compressed, decorr_shift, decorr_left_weight, ret;
uint32_t output_samples;
- int i, ch, ret;
+ int i, ch;
skip_bits(&alac->gb, 4); /* element instance tag */
skip_bits(&alac->gb, 12); /* unused header bits */
@@ -404,10 +389,11 @@ static int decode_element(AVCodecContext *avctx, void *data, int ch_index,
/* not compressed, easy case */
for (i = 0; i < alac->nb_samples; i++) {
for (ch = 0; ch < channels; ch++) {
- alac->output_samples_buffer[ch][i] = get_sbits_long(&alac->gb, alac->sample_size);
+ alac->output_samples_buffer[ch][i] =
+ get_sbits_long(&alac->gb, alac->sample_size);
}
}
- alac->extra_bits = 0;
+ alac->extra_bits = 0;
decorr_shift = 0;
decorr_left_weight = 0;
}
@@ -477,9 +463,10 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data,
ch += channels;
}
- if (avpkt->size * 8 - get_bits_count(&alac->gb) > 8)
+ if (avpkt->size * 8 - get_bits_count(&alac->gb) > 8) {
av_log(avctx, AV_LOG_ERROR, "Error : %d bits left\n",
avpkt->size * 8 - get_bits_count(&alac->gb));
+ }
*got_frame_ptr = 1;
*(AVFrame *)data = alac->frame;