diff options
author | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-04 05:57:00 +0000 |
---|---|---|
committer | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-04 05:57:00 +0000 |
commit | 0d8c217a2fc3ea543d559e6202b3eb3e1e6f614c (patch) | |
tree | 2643a25ebb64cfd5cfa8737d82a531800e549e7c /dec_video.c | |
parent | 69c1559ccb3cb3f30247354229af530f7f162ff1 (diff) | |
download | mpv-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.c | 30 |
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. -------------------- |