# HG changeset patch # User arpi # Date 1014858744 0 # Node ID f5f85454197760bbdfb6d39f35ff8694e587cae9 # Parent e6cd9c81db9ddfaa19efc171c9c6a4a5058da6f3 stride!=width*bpp support to cinepak decoder diff -r e6cd9c81db9d -r f5f854541977 cinepak.c --- a/cinepak.c Thu Feb 28 01:01:50 2002 +0000 +++ b/cinepak.c Thu Feb 28 01:12:24 2002 +0000 @@ -383,7 +383,7 @@ * bit_per_pixel - the number of bits per pixel allocated to the output * frame (only 24 or 32 bpp are supported) */ -void decode_cinepak(void *context, unsigned char *buf, int size, unsigned char *frame, int width, int height, int bit_per_pixel) +void decode_cinepak(void *context, unsigned char *buf, int size, unsigned char *frame, int width, int height, int bit_per_pixel, int stride_) { cinepak_info *cvinfo = (cinepak_info *)context; cvid_codebook *v4_codebook, *v1_codebook, *codebook = NULL; @@ -429,7 +429,7 @@ break; } - frm_stride = width * bpp; + frm_stride = stride_ ? stride_ : width * bpp; frm_ptr = frame; frm_end = frm_ptr + width * height * bpp; diff -r e6cd9c81db9d -r f5f854541977 dec_video.c --- a/dec_video.c Thu Feb 28 01:01:50 2002 +0000 +++ b/dec_video.c Thu Feb 28 01:12:24 2002 +0000 @@ -159,7 +159,8 @@ unsigned char *frame, int width, int height, - int bit_per_pixel); + int bit_per_pixel, + int stride); void decode_cyuv( unsigned char *buf, @@ -865,7 +866,7 @@ else { decode_cinepak(sh_video->context, start, in_size, sh_video->our_out_buffer, - sh_video->disp_w, sh_video->disp_h, (out_fmt==IMGFMT_YUY2)?16:(out_fmt&255)); + sh_video->disp_w, sh_video->disp_h, (out_fmt==IMGFMT_YUY2)?16:(out_fmt&255), 0); blit_frame = 3; } break;