diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-09 22:04:09 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-09 22:04:09 +0000 |
commit | 6b42f644f2afcf77ab1be33754d26f1f4e331ba7 (patch) | |
tree | 3ca90c8ec8a3f754a4e01e76a50fb831806cd36f | |
parent | d9a031682900b0b0ac3b847a121233e8561a0232 (diff) | |
download | mpv-6b42f644f2afcf77ab1be33754d26f1f4e331ba7.tar.bz2 mpv-6b42f644f2afcf77ab1be33754d26f1f4e331ba7.tar.xz |
fixes for vivo
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2788 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | mp_msg.h | 6 | ||||
-rw-r--r-- | xacodec.c | 18 |
2 files changed, 17 insertions, 7 deletions
@@ -47,10 +47,14 @@ extern int verbose; // defined in mplayer.c #define MSGT_LIRC 19 // lirc_mp.c #define MSGT_STREAM 20 // stream.c -#define MSGT_CACHE 21 // cache2.c +#define MSGT_CACHE 21 // cache2.c #define MSGT_MENCODER 22 +#define MSGT_XACODEC 23 // XAnim codecs + +#define MSGT_TV 24 // TV input subsystem + #define MSGT_MAX 64 void mp_msg_init(int verbose); @@ -80,7 +80,7 @@ void XA_Print(char *fmt, ...) va_start(vallist, fmt); vsnprintf(buf, 1024, fmt, vallist); - mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "[xacodec] %s\n", buf); + mp_msg(MSGT_XACODEC, MSGL_DBG2, "[xacodec] %s\n", buf); va_end(vallist); return; @@ -258,16 +258,17 @@ int xacodec_init_video(sh_video_t *vidinfo, int out_format) if (xacodec_init(dll, xacodec_driver) == 0) return(0); + codec_hdr.xapi_rev = XAVID_API_REV; codec_hdr.anim_hdr = malloc(4096); codec_hdr.description = vidinfo->codec->info; codec_hdr.compression = bswap_32(vidinfo->bih->biCompression); codec_hdr.decoder = NULL; + codec_hdr.x = vidinfo->bih->biWidth; /* ->disp_w */ + codec_hdr.y = vidinfo->bih->biHeight; /* ->disp_h */ + /* extra fields to store palette */ codec_hdr.avi_ctab_flag = 0; codec_hdr.avi_read_ext = NULL; - codec_hdr.xapi_rev = XAVID_API_REV; codec_hdr.extra = NULL; - codec_hdr.x = vidinfo->disp_w; - codec_hdr.y = vidinfo->disp_h; switch(out_format) { @@ -723,15 +724,20 @@ void XA_YUV221111_Convert(unsigned char *image_p, unsigned int imagex, unsigned xacodec_image_t *image=(xacodec_image_t*)image_p; #if 0 - printf("XA_YUV221111_Convert(%p %dx%d %d;%d [%dx%d] %p %p %d %p %p)\n", + XA_Print("XA_YUV221111_Convert(%p %dx%d %d;%d [%dx%d] %p %p %d %p %p)\n", image,imagex,imagey,i_x,i_y, image->width,image->height, yuv,yuv_tabs,map_flag,map,chdr); - printf("YUV: %p %p %p %X (%X) %Xx%X %Xx%X\n", + XA_Print("YUV: %p %p %p %X (%X) %Xx%X %Xx%X\n", yuv->Ybuf,yuv->Ubuf,yuv->Vbuf,yuv->the_buf,yuv->the_buf_size, yuv->y_w,yuv->y_h,yuv->uv_w,yuv->uv_h); #endif + /* hotfix for Vivo/2.00 - do not fault - but no decode ;( */ +#warning "FIXME! Decoder doesn't supports Vivo/2.00 :(" + if (!yuv->the_buf_size) + return; + if(i_x==image->width && i_y==image->height){ // printf("Direct render!!!\n"); image->planes[0]=yuv->Ybuf; |