summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-28 01:12:24 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-28 01:12:24 +0000
commit21f822b161c3be2436a3bb8c948cf1dd57142649 (patch)
treee779b3bc611bb08cc4456c3fc34c768a9d139c43
parent77f3ac91e69c96d9834bce45a1dd8501bbfd8c59 (diff)
downloadmpv-21f822b161c3be2436a3bb8c948cf1dd57142649.tar.bz2
mpv-21f822b161c3be2436a3bb8c948cf1dd57142649.tar.xz
stride!=width*bpp support to cinepak decoder
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4882 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--cinepak.c4
-rw-r--r--dec_video.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/cinepak.c b/cinepak.c
index 09af55b8fa..62a721b077 100644
--- a/cinepak.c
+++ b/cinepak.c
@@ -383,7 +383,7 @@ int i, x;
* 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 @@ void (*cvid_v4)(unsigned char *frm, unsigned char *end, int stride, cvid_codeboo
break;
}
- frm_stride = width * bpp;
+ frm_stride = stride_ ? stride_ : width * bpp;
frm_ptr = frame;
frm_end = frm_ptr + width * height * bpp;
diff --git a/dec_video.c b/dec_video.c
index 0eedb84097..257b8dcf4e 100644
--- a/dec_video.c
+++ b/dec_video.c
@@ -159,7 +159,8 @@ void decode_cinepak(
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 @@ switch(sh_video->codec->driver){
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;