1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-04 06:08:26 +02:00
Originally committed as revision 11760 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2008-02-01 15:11:24 +00:00
parent 2cc7c6555a
commit 10313fe08e

View File

@ -57,14 +57,14 @@ typedef struct EightBpsContext {
* Decode a frame * Decode a frame
* *
*/ */
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
{ {
EightBpsContext * const c = avctx->priv_data; EightBpsContext * const c = avctx->priv_data;
unsigned char *encoded = (unsigned char *)buf; const unsigned char *encoded = buf;
unsigned char *pixptr, *pixptr_end; unsigned char *pixptr, *pixptr_end;
unsigned int height = avctx->height; // Real image height unsigned int height = avctx->height; // Real image height
unsigned int dlen, p, row; unsigned int dlen, p, row;
unsigned char *lp, *dp; const unsigned char *lp, *dp;
unsigned char count; unsigned char count;
unsigned int px_inc; unsigned int px_inc;
unsigned int planes = c->planes; unsigned int planes = c->planes;
@ -97,7 +97,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8
for(row = 0; row < height; row++) { for(row = 0; row < height; row++) {
pixptr = c->pic.data[0] + row * c->pic.linesize[0] + planemap[p]; pixptr = c->pic.data[0] + row * c->pic.linesize[0] + planemap[p];
pixptr_end = pixptr + c->pic.linesize[0]; pixptr_end = pixptr + c->pic.linesize[0];
dlen = be2me_16(*(unsigned short *)(lp+row*2)); dlen = be2me_16(*(const unsigned short *)(lp+row*2));
/* Decode a row of this plane */ /* Decode a row of this plane */
while(dlen > 0) { while(dlen > 0) {
if(dp + 1 >= buf+buf_size) return -1; if(dp + 1 >= buf+buf_size) return -1;