|
|
|
@@ -461,14 +461,12 @@ static int decode_p_frame(FourXContext *f, AVFrame *frame, |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
|
|
|
|
av_fast_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size, |
|
|
|
bitstream_size + FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
av_fast_padded_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size, |
|
|
|
bitstream_size); |
|
|
|
if (!f->bitstream_buffer) |
|
|
|
return AVERROR(ENOMEM); |
|
|
|
f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)(buf + extra), |
|
|
|
bitstream_size / 4); |
|
|
|
memset((uint8_t*)f->bitstream_buffer + bitstream_size, |
|
|
|
0, FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
init_get_bits(&f->gb, f->bitstream_buffer, 8 * bitstream_size); |
|
|
|
|
|
|
|
wordstream_offset = extra + bitstream_size; |
|
|
|
@@ -803,14 +801,12 @@ static int decode_i_frame(FourXContext *f, AVFrame *frame, const uint8_t *buf, i |
|
|
|
|
|
|
|
prestream_size = length + buf - prestream; |
|
|
|
|
|
|
|
av_fast_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size, |
|
|
|
prestream_size + FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
av_fast_padded_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size, |
|
|
|
prestream_size); |
|
|
|
if (!f->bitstream_buffer) |
|
|
|
return AVERROR(ENOMEM); |
|
|
|
f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)prestream, |
|
|
|
prestream_size / 4); |
|
|
|
memset((uint8_t*)f->bitstream_buffer + prestream_size, |
|
|
|
0, FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
init_get_bits(&f->pre_gb, f->bitstream_buffer, 8 * prestream_size); |
|
|
|
|
|
|
|
f->last_dc = 0 * 128 * 8 * 8; |
|
|
|
|