Mercurial > mplayer.hg
changeset 5365:b87743434e1f
Issue a warning in VDec if disp_w and disp_h weren't set by codec and try workaround.
Fix ijpg codec to set sh->disp_w and sh->disp_h.
author | atmos4 |
---|---|
date | Wed, 27 Mar 2002 02:58:55 +0000 |
parents | 4a743a02eb57 |
children | f46873b05f82 |
files | libmpcodecs/vd.c libmpcodecs/vd_ijpg.c |
diffstat | 2 files changed, 14 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vd.c Wed Mar 27 02:08:14 2002 +0000 +++ b/libmpcodecs/vd.c Wed Mar 27 02:58:55 2002 +0000 @@ -123,6 +123,18 @@ int screen_size_y=0;//SCREEN_SIZE_Y; vo_functions_t* video_out=sh->video_out; +#if 1 + if(!(sh->disp_w && sh->disp_h)) + mp_msg(MSGT_DECVIDEO,MSGL_WARN, + "VDec: codec didn't set sh->disp_w and sh->disp_h, trying to workaround!\n"); + /* XXX: HACK, if sh->disp_* aren't set, + * but we have w and h, set them :: atmos */ + if(!sh->disp_w && w) + sh->disp_w=w; + if(!sh->disp_h && h) + sh->disp_h=h; +#endif + mp_msg(MSGT_DECVIDEO,MSGL_INFO,"VDec: vo config request - %d x %d, %s \n", w,h,vo_format_name(preferred_outfmt));
--- a/libmpcodecs/vd_ijpg.c Wed Mar 27 02:08:14 2002 +0000 +++ b/libmpcodecs/vd_ijpg.c Wed Mar 27 02:58:55 2002 +0000 @@ -133,8 +133,6 @@ if ( len <= 0 ) return NULL; // skipped frame - cinfo.err=jpeg_std_error( &jerr.pub ); - jerr.pub.error_exit=my_error_exit; if( setjmp( jerr.setjmp_buffer ) ) { mp_msg( MSGT_DECVIDEO,MSGL_ERR,"[ijpg] setjmp error ...\n" ); @@ -144,8 +142,8 @@ jpeg_create_decompress( &cinfo ); jpeg_buf_src( &cinfo,data,len ); jpeg_read_header( &cinfo,TRUE ); - width=cinfo.image_width; - height=cinfo.image_height; + sh->disp_w=width=cinfo.image_width; + sh->disp_h=height=cinfo.image_height; jpeg_start_decompress( &cinfo ); depth=cinfo.output_components * 8;