summaryrefslogtreecommitdiffstats
path: root/xacodec.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-09 22:04:09 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-09 22:04:09 +0000
commit6b42f644f2afcf77ab1be33754d26f1f4e331ba7 (patch)
tree3ca90c8ec8a3f754a4e01e76a50fb831806cd36f /xacodec.c
parentd9a031682900b0b0ac3b847a121233e8561a0232 (diff)
downloadmpv-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
Diffstat (limited to 'xacodec.c')
-rw-r--r--xacodec.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/xacodec.c b/xacodec.c
index 921a712ff9..c6b5dc11fb 100644
--- a/xacodec.c
+++ b/xacodec.c
@@ -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;