Opened 10 years ago

Closed 9 years ago

#1391 closed defect (wontfix)

Some avi's don't play at the correct aspect ratio

Reported by: latropa64@… Owned by: reimar
Priority: normal Component: vd
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

Some avi's aren't playing back at 1.5:1 instead of 2.35:1 or 1.85:1.

I've tested this with SVN-r28311-4.2.5

Here's a sample video that plays back at 1.50:1 with mplayer even though it's set to be 2.35:1 http://www.megaupload.com/?d=6WBRQ9MY

Change History (5)

comment:1 Changed 10 years ago by compn

i suspect that there is an internal codec aspect which differs from the avi container aspect.

does -demuxer lavf make it work properly?

comment:2 Changed 10 years ago by latropa64@…

That produces the same results. I am testing this with mplayer for windows though so I'm not sure if -demuxer lavf is a valid option. The problem was initially noticed on the xbmc/xbox1 platform.

[code]
C:\Documents and Settings\Admin\Desktop>"C:\Program Files\MPlayer for Windows\Mp
layer.exe" -demuxer lavf Sample.Wrestler.avi
MPlayer Sherpya-SVN-r28311-4.2.5 (C) 2000-2009 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz (Family: 6, Model: 15,
ping: 11)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing Sample.Wrestler.avi.
libavformat file format detected.
[lavf] Video stream found, -vid 0
[lavf] Audio stream found, -aid 1
VIDEO: [XVID] 720x304 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
<vo_directx><ERROR>Your card doesn't support overlay
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [dsound] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 720 x 304 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.50:1 - prescaling to correct movie aspect.
[swscaler @ 0101F8D4]using unscaled yuv420p -> rgb32 special converter
VO: [directx] 720x304 => 720x480 BGRA
code

comment:3 Changed 10 years ago by compn

-noaspect looks correct

Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 23.98 tb(r)

the pixel aspect ratio differs from the display aspect ratio
mplayer picks the DAR...

comment:4 Changed 9 years ago by compn

  • Owner changed from r_togni@… to reimar

comment:5 Changed 9 years ago by reimar

  • Resolution set to wontfix
  • Status changed from new to closed

PAR and DAR that FFmpeg displays is two different representations of the same thing.
However vprp (Video Properties) header specifies a DAR of 3:2, which is exactly what MPlayer uses.
There is simply no way to know which is correct, MPlayer goes with the one in the container since it is much simpler to change (in this file for example at 0xf0 there are the hex values 02 00 03 00 which means 3/2, changing it to 13 00 2d 00 will play it with 45:19 DAR).

Note: See TracTickets for help on using tickets.