You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-11 14:30:22 +02:00
shorten: K&R formatting cosmetics
This commit is contained in:
@ -128,12 +128,15 @@ static int allocate_buffers(ShortenContext *s)
|
|||||||
av_log(s->avctx, AV_LOG_ERROR, "nmean too large\n");
|
av_log(s->avctx, AV_LOG_ERROR, "nmean too large\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if(s->blocksize + s->nwrap >= UINT_MAX/sizeof(int32_t) || s->blocksize + s->nwrap <= (unsigned)s->nwrap){
|
if (s->blocksize + s->nwrap >= UINT_MAX / sizeof(int32_t) ||
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "s->blocksize + s->nwrap too large\n");
|
s->blocksize + s->nwrap <= (unsigned)s->nwrap) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
|
"s->blocksize + s->nwrap too large\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp_ptr = av_realloc(s->offset[chan], sizeof(int32_t)*FFMAX(1, s->nmean));
|
tmp_ptr =
|
||||||
|
av_realloc(s->offset[chan], sizeof(int32_t) * FFMAX(1, s->nmean));
|
||||||
if (!tmp_ptr)
|
if (!tmp_ptr)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
s->offset[chan] = tmp_ptr;
|
s->offset[chan] = tmp_ptr;
|
||||||
@ -156,7 +159,6 @@ static int allocate_buffers(ShortenContext *s)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline unsigned int get_uint(ShortenContext *s, int k)
|
static inline unsigned int get_uint(ShortenContext *s, int k)
|
||||||
{
|
{
|
||||||
if (s->version != 0)
|
if (s->version != 0)
|
||||||
@ -164,7 +166,6 @@ static inline unsigned int get_uint(ShortenContext *s, int k)
|
|||||||
return get_ur_golomb_shorten(&s->gb, k);
|
return get_ur_golomb_shorten(&s->gb, k);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void fix_bitshift(ShortenContext *s, int32_t *buffer)
|
static void fix_bitshift(ShortenContext *s, int32_t *buffer)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -174,15 +175,13 @@ static void fix_bitshift(ShortenContext *s, int32_t *buffer)
|
|||||||
buffer[i] <<= s->bitshift;
|
buffer[i] <<= s->bitshift;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int init_offset(ShortenContext *s)
|
static int init_offset(ShortenContext *s)
|
||||||
{
|
{
|
||||||
int32_t mean = 0;
|
int32_t mean = 0;
|
||||||
int chan, i;
|
int chan, i;
|
||||||
int nblock = FFMAX(1, s->nmean);
|
int nblock = FFMAX(1, s->nmean);
|
||||||
/* initialise offset */
|
/* initialise offset */
|
||||||
switch (s->internal_ftype)
|
switch (s->internal_ftype) {
|
||||||
{
|
|
||||||
case TYPE_S16HL:
|
case TYPE_S16HL:
|
||||||
case TYPE_S16LH:
|
case TYPE_S16LH:
|
||||||
mean = 0;
|
mean = 0;
|
||||||
@ -204,13 +203,12 @@ static int decode_wave_header(AVCodecContext *avctx, const uint8_t *header,
|
|||||||
int len;
|
int len;
|
||||||
short wave_format;
|
short wave_format;
|
||||||
|
|
||||||
|
|
||||||
if (bytestream_get_le32(&header) != MKTAG('R', 'I', 'F', 'F')) {
|
if (bytestream_get_le32(&header) != MKTAG('R', 'I', 'F', 'F')) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "missing RIFF tag\n");
|
av_log(avctx, AV_LOG_ERROR, "missing RIFF tag\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
header += 4; /* chunk size */;
|
header += 4; /* chunk size */
|
||||||
|
|
||||||
if (bytestream_get_le32(&header) != MKTAG('W', 'A', 'V', 'E')) {
|
if (bytestream_get_le32(&header) != MKTAG('W', 'A', 'V', 'E')) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "missing WAVE tag\n");
|
av_log(avctx, AV_LOG_ERROR, "missing WAVE tag\n");
|
||||||
@ -284,7 +282,8 @@ static int decode_subframe_lpc(ShortenContext *s, int command, int channel,
|
|||||||
/* read/validate prediction order */
|
/* read/validate prediction order */
|
||||||
pred_order = get_ur_golomb_shorten(&s->gb, LPCQSIZE);
|
pred_order = get_ur_golomb_shorten(&s->gb, LPCQSIZE);
|
||||||
if (pred_order > s->nwrap) {
|
if (pred_order > s->nwrap) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "invalid pred_order %d\n", pred_order);
|
av_log(s->avctx, AV_LOG_ERROR, "invalid pred_order %d\n",
|
||||||
|
pred_order);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
/* read LPC coefficients */
|
/* read LPC coefficients */
|
||||||
@ -311,7 +310,8 @@ static int decode_subframe_lpc(ShortenContext *s, int command, int channel,
|
|||||||
sum = init_sum;
|
sum = init_sum;
|
||||||
for (j = 0; j < pred_order; j++)
|
for (j = 0; j < pred_order; j++)
|
||||||
sum += coeffs[j] * s->decoded[channel][i - j - 1];
|
sum += coeffs[j] * s->decoded[channel][i - j - 1];
|
||||||
s->decoded[channel][i] = get_sr_golomb_shorten(&s->gb, residual_size) + (sum >> qshift);
|
s->decoded[channel][i] = get_sr_golomb_shorten(&s->gb, residual_size) +
|
||||||
|
(sum >> qshift);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add offset to current samples */
|
/* add offset to current samples */
|
||||||
@ -352,7 +352,8 @@ static int read_header(ShortenContext *s)
|
|||||||
|
|
||||||
blocksize = get_uint(s, av_log2(DEFAULT_BLOCK_SIZE));
|
blocksize = get_uint(s, av_log2(DEFAULT_BLOCK_SIZE));
|
||||||
if (!blocksize || blocksize > MAX_BLOCKSIZE) {
|
if (!blocksize || blocksize > MAX_BLOCKSIZE) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "invalid or unsupported block size: %d\n",
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
|
"invalid or unsupported block size: %d\n",
|
||||||
blocksize);
|
blocksize);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
@ -362,10 +363,9 @@ static int read_header(ShortenContext *s)
|
|||||||
s->nmean = get_uint(s, 0);
|
s->nmean = get_uint(s, 0);
|
||||||
|
|
||||||
skip_bytes = get_uint(s, NSKIPSIZE);
|
skip_bytes = get_uint(s, NSKIPSIZE);
|
||||||
for (i=0; i<skip_bytes; i++) {
|
for (i = 0; i < skip_bytes; i++)
|
||||||
skip_bits(&s->gb, 8);
|
skip_bits(&s->gb, 8);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
s->nwrap = FFMAX(NWRAP, maxnlpc);
|
s->nwrap = FFMAX(NWRAP, maxnlpc);
|
||||||
|
|
||||||
if ((ret = allocate_buffers(s)) < 0)
|
if ((ret = allocate_buffers(s)) < 0)
|
||||||
@ -378,13 +378,16 @@ static int read_header(ShortenContext *s)
|
|||||||
s->lpcqoffset = V2LPCQOFFSET;
|
s->lpcqoffset = V2LPCQOFFSET;
|
||||||
|
|
||||||
if (get_ur_golomb_shorten(&s->gb, FNSIZE) != FN_VERBATIM) {
|
if (get_ur_golomb_shorten(&s->gb, FNSIZE) != FN_VERBATIM) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "missing verbatim section at beginning of stream\n");
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
|
"missing verbatim section at beginning of stream\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->header_size = get_ur_golomb_shorten(&s->gb, VERBATIM_CKSIZE_SIZE);
|
s->header_size = get_ur_golomb_shorten(&s->gb, VERBATIM_CKSIZE_SIZE);
|
||||||
if (s->header_size >= OUT_BUFFER_SIZE || s->header_size < CANONICAL_HEADER_SIZE) {
|
if (s->header_size >= OUT_BUFFER_SIZE ||
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "header is wrong size: %d\n", s->header_size);
|
s->header_size < CANONICAL_HEADER_SIZE) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR, "header is wrong size: %d\n",
|
||||||
|
s->header_size);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -430,18 +433,21 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
buf_size = FFMIN(buf_size, s->max_framesize - s->bitstream_size);
|
buf_size = FFMIN(buf_size, s->max_framesize - s->bitstream_size);
|
||||||
input_buf_size = buf_size;
|
input_buf_size = buf_size;
|
||||||
|
|
||||||
if(s->bitstream_index + s->bitstream_size + buf_size > s->allocated_bitstream_size){
|
if (s->bitstream_index + s->bitstream_size + buf_size >
|
||||||
memmove(s->bitstream, &s->bitstream[s->bitstream_index], s->bitstream_size);
|
s->allocated_bitstream_size) {
|
||||||
|
memmove(s->bitstream, &s->bitstream[s->bitstream_index],
|
||||||
|
s->bitstream_size);
|
||||||
s->bitstream_index = 0;
|
s->bitstream_index = 0;
|
||||||
}
|
}
|
||||||
if (buf)
|
if (buf)
|
||||||
memcpy(&s->bitstream[s->bitstream_index + s->bitstream_size], buf, buf_size);
|
memcpy(&s->bitstream[s->bitstream_index + s->bitstream_size], buf,
|
||||||
|
buf_size);
|
||||||
buf = &s->bitstream[s->bitstream_index];
|
buf = &s->bitstream[s->bitstream_index];
|
||||||
buf_size += s->bitstream_size;
|
buf_size += s->bitstream_size;
|
||||||
s->bitstream_size = buf_size;
|
s->bitstream_size = buf_size;
|
||||||
|
|
||||||
/* do not decode until buffer has at least max_framesize bytes or
|
/* do not decode until buffer has at least max_framesize bytes or
|
||||||
the end of the file has been reached */
|
* the end of the file has been reached */
|
||||||
if (buf_size < s->max_framesize && avpkt->data) {
|
if (buf_size < s->max_framesize && avpkt->data) {
|
||||||
*got_frame_ptr = 0;
|
*got_frame_ptr = 0;
|
||||||
return input_buf_size;
|
return input_buf_size;
|
||||||
@ -488,9 +494,8 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case FN_VERBATIM:
|
case FN_VERBATIM:
|
||||||
len = get_ur_golomb_shorten(&s->gb, VERBATIM_CKSIZE_SIZE);
|
len = get_ur_golomb_shorten(&s->gb, VERBATIM_CKSIZE_SIZE);
|
||||||
while (len--) {
|
while (len--)
|
||||||
get_ur_golomb_shorten(&s->gb, VERBATIM_BYTE_SIZE);
|
get_ur_golomb_shorten(&s->gb, VERBATIM_BYTE_SIZE);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case FN_BITSHIFT:
|
case FN_BITSHIFT:
|
||||||
s->bitshift = get_ur_golomb_shorten(&s->gb, BITSHIFTSIZE);
|
s->bitshift = get_ur_golomb_shorten(&s->gb, BITSHIFTSIZE);
|
||||||
@ -498,7 +503,8 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
case FN_BLOCKSIZE: {
|
case FN_BLOCKSIZE: {
|
||||||
int blocksize = get_uint(s, av_log2(s->blocksize));
|
int blocksize = get_uint(s, av_log2(s->blocksize));
|
||||||
if (blocksize > s->blocksize) {
|
if (blocksize > s->blocksize) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Increasing block size is not supported\n");
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
|
"Increasing block size is not supported\n");
|
||||||
return AVERROR_PATCHWELCOME;
|
return AVERROR_PATCHWELCOME;
|
||||||
}
|
}
|
||||||
if (!blocksize || blocksize > MAX_BLOCKSIZE) {
|
if (!blocksize || blocksize > MAX_BLOCKSIZE) {
|
||||||
@ -549,7 +555,8 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
for (i = 0; i < s->blocksize; i++)
|
for (i = 0; i < s->blocksize; i++)
|
||||||
s->decoded[channel][i] = 0;
|
s->decoded[channel][i] = 0;
|
||||||
} else {
|
} else {
|
||||||
if ((ret = decode_subframe_lpc(s, cmd, channel, residual_size, coffset)) < 0)
|
if ((ret = decode_subframe_lpc(s, cmd, channel,
|
||||||
|
residual_size, coffset)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,7 +580,7 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
s->decoded[channel][i] = s->decoded[channel][i + s->blocksize];
|
s->decoded[channel][i] = s->decoded[channel][i + s->blocksize];
|
||||||
|
|
||||||
/* shift samples to add in unused zero bits which were removed
|
/* shift samples to add in unused zero bits which were removed
|
||||||
during encoding */
|
* during encoding */
|
||||||
fix_bitshift(s, s->decoded[channel]);
|
fix_bitshift(s, s->decoded[channel]);
|
||||||
|
|
||||||
/* if this is the last channel in the block, output the samples */
|
/* if this is the last channel in the block, output the samples */
|
||||||
@ -597,8 +604,8 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
*got_frame_ptr = 0;
|
*got_frame_ptr = 0;
|
||||||
|
|
||||||
finish_frame:
|
finish_frame:
|
||||||
s->bitindex = get_bits_count(&s->gb) - 8*((get_bits_count(&s->gb))/8);
|
s->bitindex = get_bits_count(&s->gb) - 8 * (get_bits_count(&s->gb) / 8);
|
||||||
i= (get_bits_count(&s->gb))/8;
|
i = get_bits_count(&s->gb) / 8;
|
||||||
if (i > buf_size) {
|
if (i > buf_size) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "overread: %d\n", i - buf_size);
|
av_log(s->avctx, AV_LOG_ERROR, "overread: %d\n", i - buf_size);
|
||||||
s->bitstream_size = 0;
|
s->bitstream_size = 0;
|
||||||
|
Reference in New Issue
Block a user