mirror of https://git.ffmpeg.org/ffmpeg.git
fraps: Convert to the new bitstream reader
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
692ba4fe64
commit
b37b681f77
|
@ -32,7 +32,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "get_bits.h"
|
#include "bitstream.h"
|
||||||
#include "huffman.h"
|
#include "huffman.h"
|
||||||
#include "bytestream.h"
|
#include "bytestream.h"
|
||||||
#include "bswapdsp.h"
|
#include "bswapdsp.h"
|
||||||
|
@ -94,7 +94,7 @@ static int fraps2_decode_plane(FrapsContext *s, uint8_t *dst, int stride, int w,
|
||||||
const int step)
|
const int step)
|
||||||
{
|
{
|
||||||
int i, j, ret;
|
int i, j, ret;
|
||||||
GetBitContext gb;
|
BitstreamContext bc;
|
||||||
VLC vlc;
|
VLC vlc;
|
||||||
Node nodes[512];
|
Node nodes[512];
|
||||||
|
|
||||||
|
@ -111,10 +111,10 @@ static int fraps2_decode_plane(FrapsContext *s, uint8_t *dst, int stride, int w,
|
||||||
s->bdsp.bswap_buf((uint32_t *) s->tmpbuf,
|
s->bdsp.bswap_buf((uint32_t *) s->tmpbuf,
|
||||||
(const uint32_t *) src, size >> 2);
|
(const uint32_t *) src, size >> 2);
|
||||||
|
|
||||||
init_get_bits(&gb, s->tmpbuf, size * 8);
|
bitstream_init(&bc, s->tmpbuf, size * 8);
|
||||||
for (j = 0; j < h; j++) {
|
for (j = 0; j < h; j++) {
|
||||||
for (i = 0; i < w*step; i += step) {
|
for (i = 0; i < w*step; i += step) {
|
||||||
dst[i] = get_vlc2(&gb, vlc.table, VLC_BITS, 3);
|
dst[i] = bitstream_read_vlc(&bc, vlc.table, VLC_BITS, 3);
|
||||||
/* lines are stored as deltas between previous lines
|
/* lines are stored as deltas between previous lines
|
||||||
* and we need to add 0x80 to the first lines of chroma planes
|
* and we need to add 0x80 to the first lines of chroma planes
|
||||||
*/
|
*/
|
||||||
|
@ -122,7 +122,7 @@ static int fraps2_decode_plane(FrapsContext *s, uint8_t *dst, int stride, int w,
|
||||||
dst[i] += dst[i - stride];
|
dst[i] += dst[i - stride];
|
||||||
else if (Uoff)
|
else if (Uoff)
|
||||||
dst[i] += 0x80;
|
dst[i] += 0x80;
|
||||||
if (get_bits_left(&gb) < 0) {
|
if (bitstream_bits_left(&bc) < 0) {
|
||||||
ff_free_vlc(&vlc);
|
ff_free_vlc(&vlc);
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue