mirror of https://github.com/mpv-player/mpv
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. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5366 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
cf09259cc2
commit
a6723d9346
|
@ -123,6 +123,18 @@ int mpcodecs_config_vo(sh_video_t *sh, int w, int h, unsigned int preferred_outf
|
||||||
int screen_size_y=0;//SCREEN_SIZE_Y;
|
int screen_size_y=0;//SCREEN_SIZE_Y;
|
||||||
vo_functions_t* video_out=sh->video_out;
|
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",
|
mp_msg(MSGT_DECVIDEO,MSGL_INFO,"VDec: vo config request - %d x %d, %s \n",
|
||||||
w,h,vo_format_name(preferred_outfmt));
|
w,h,vo_format_name(preferred_outfmt));
|
||||||
|
|
||||||
|
|
|
@ -133,8 +133,6 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
|
||||||
|
|
||||||
if ( len <= 0 ) return NULL; // skipped frame
|
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 ) )
|
if( setjmp( jerr.setjmp_buffer ) )
|
||||||
{
|
{
|
||||||
mp_msg( MSGT_DECVIDEO,MSGL_ERR,"[ijpg] setjmp error ...\n" );
|
mp_msg( MSGT_DECVIDEO,MSGL_ERR,"[ijpg] setjmp error ...\n" );
|
||||||
|
@ -144,8 +142,8 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
|
||||||
jpeg_create_decompress( &cinfo );
|
jpeg_create_decompress( &cinfo );
|
||||||
jpeg_buf_src( &cinfo,data,len );
|
jpeg_buf_src( &cinfo,data,len );
|
||||||
jpeg_read_header( &cinfo,TRUE );
|
jpeg_read_header( &cinfo,TRUE );
|
||||||
width=cinfo.image_width;
|
sh->disp_w=width=cinfo.image_width;
|
||||||
height=cinfo.image_height;
|
sh->disp_h=height=cinfo.image_height;
|
||||||
jpeg_start_decompress( &cinfo );
|
jpeg_start_decompress( &cinfo );
|
||||||
depth=cinfo.output_components * 8;
|
depth=cinfo.output_components * 8;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue