summaryrefslogtreecommitdiffstats
path: root/dec_video.c
diff options
context:
space:
mode:
authormelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-04 05:57:00 +0000
committermelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-04 05:57:00 +0000
commit0d8c217a2fc3ea543d559e6202b3eb3e1e6f614c (patch)
tree2643a25ebb64cfd5cfa8737d82a531800e549e7c /dec_video.c
parent69c1559ccb3cb3f30247354229af530f7f162ff1 (diff)
downloadmpv-0d8c217a2fc3ea543d559e6202b3eb3e1e6f614c.tar.bz2
mpv-0d8c217a2fc3ea543d559e6202b3eb3e1e6f614c.tar.xz
integrated Tim Ferguson's native CYUV decoder
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3970 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_video.c')
-rw-r--r--dec_video.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/dec_video.c b/dec_video.c
index c5c910d6fc..0f500a313c 100644
--- a/dec_video.c
+++ b/dec_video.c
@@ -135,6 +135,25 @@ void decode_nuv(
int width,
int height);
+void *decode_cinepak_init(void);
+
+void decode_cinepak(
+ void *context,
+ unsigned char *buf,
+ int size,
+ unsigned char *frame,
+ int width,
+ int height,
+ int bit_per_pixel);
+
+void decode_cyuv(
+ unsigned char *buf,
+ int size,
+ unsigned char *frame,
+ int width,
+ int height,
+ int bit_per_pixel);
+
//**************************************************************************//
// The OpenDivX stuff:
//**************************************************************************//
@@ -558,6 +577,12 @@ if ((sh_video->codec->driver == VFM_QTRLE) && (sh_video->bih->biBitCount != 24))
case VFM_NUV:
sh_video->our_out_buffer = (char *)memalign(64, sh_video->disp_w*sh_video->disp_h*3/2);
break;
+ case VFM_CYUV: {
+ int bpp=((out_fmt&255)+7)/8;
+ sh_video->our_out_buffer =
+ (char*)memalign(64, sh_video->disp_w*sh_video->disp_h*3);
+ break;
+ }
}
}
sh_video->inited=1;
@@ -831,6 +856,11 @@ if(verbose>1){
((out_fmt&255)+7)/8);
blit_frame = 3;
break;
+ case VFM_CYUV:
+ decode_cyuv(start, in_size, sh_video->our_out_buffer,
+ sh_video->disp_w, sh_video->disp_h, (out_fmt==IMGFMT_YUY2)?16:(out_fmt&255));
+ blit_frame = 3;
+ break;
} // switch
//------------------------ frame decoded. --------------------