Mercurial > mplayer.hg
changeset 2787:8dfe10c9f15d
fixes for vivo
author | alex |
---|---|
date | Fri, 09 Nov 2001 22:04:09 +0000 |
parents | 1907e5771e81 |
children | 4a909be26ea1 |
files | mp_msg.h xacodec.c |
diffstat | 2 files changed, 17 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mp_msg.h Fri Nov 09 17:00:12 2001 +0000 +++ b/mp_msg.h Fri Nov 09 22:04:09 2001 +0000 @@ -47,10 +47,14 @@ #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);
--- a/xacodec.c Fri Nov 09 17:00:12 2001 +0000 +++ b/xacodec.c Fri Nov 09 22:04:09 2001 +0000 @@ -80,7 +80,7 @@ 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 @@ 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 @@ 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;