mirror of https://github.com/mpv-player/mpv
prefer width&height from bitmapinfoheader for h263 streams
fixes playback of some MOV files (http://mplayerhq.hu/pipermail/mplayer-dev-eng/2004-July/027777.html) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15568 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
8308e63eb1
commit
8d6814a3da
|
@ -467,12 +467,20 @@ static int init_vo(sh_video_t *sh, enum PixelFormat pix_fmt){
|
|||
#else
|
||||
float aspect= avctx->aspect_ratio;
|
||||
#endif
|
||||
int width, height;
|
||||
|
||||
width = avctx->width;
|
||||
height = avctx->height;
|
||||
if (sh->bih && sh->format == mmioFOURCC('h','2','6','3')) {
|
||||
width = sh->bih->biWidth;
|
||||
height = sh->bih->biHeight;
|
||||
}
|
||||
|
||||
// it is possible another vo buffers to be used after vo config()
|
||||
// lavc reset its buffers on width/heigh change but not on aspect change!!!
|
||||
if (// aspect != ctx->last_aspect ||
|
||||
avctx->width != sh->disp_w ||
|
||||
avctx->height != sh->disp_h ||
|
||||
width != sh->disp_w ||
|
||||
height != sh->disp_h ||
|
||||
!ctx->vo_inited)
|
||||
{
|
||||
mp_msg(MSGT_DECVIDEO, MSGL_V, "[ffmpeg] aspect_ratio: %f\n", aspect);
|
||||
|
@ -480,8 +488,8 @@ static int init_vo(sh_video_t *sh, enum PixelFormat pix_fmt){
|
|||
// if(ctx->last_aspect>=0.01 && ctx->last_aspect<100)
|
||||
if(sh->aspect==0.0)
|
||||
sh->aspect = ctx->last_aspect;
|
||||
sh->disp_w = avctx->width;
|
||||
sh->disp_h = avctx->height;
|
||||
sh->disp_w = width;
|
||||
sh->disp_h = height;
|
||||
ctx->vo_inited=1;
|
||||
switch(pix_fmt){
|
||||
// YUVJ are YUV formats that use the full Y range and not just
|
||||
|
|
Loading…
Reference in New Issue