Opened 5 years ago

Closed 5 years ago

#3750 closed defect (fixed)

Transcoding to mpeg2video when scaling produces incorrect aspect ratio with WMP

Reported by: cehoyos Owned by:
Priority: important Component: avfilter
Version: git-master Keywords: regression
Cc: lists.davep@gmail.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

http://thread.gmane.org/gmane.comp.video.ffmpeg.user/52608

A user provided a sample that is played in 16:9 by ffplay (and vlc and MPlayer).
When transcoded with the following command line, the output file is played in 2.37:1 by WMP since 66f4891 if the scaler was used.

$ ffmpeg -i FVP241-4sec_cut.mov -vf scale=1920x1080 -qscale 2 -mbd 2 -t 0.83 out.ts
ffmpeg version N-64325-g9efa7f8 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jun 30 2014 22:23:02 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      52. 90.101 / 52. 90.101
  libavcodec     55. 68.100 / 55. 68.100
  libavformat    55. 44.100 / 55. 44.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  9.100 /  4.  9.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'FVP241-4sec_cut.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf55.44.100
  Duration: 00:00:04.04, start: 0.000000, bitrate: 5071 kb/s
    Stream #0:0(eng): Video: mpeg2video (Main) (hdv2 / 0x32766468), yuv420p(tv, bt709), 1440x1080 [SAR 4:3 DAR 16:9], 23992 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : DataHandler
      encoder         : HDV 1080i60
      timecode        : 01:00:00;00
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      handler_name    : DataHandler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      handler_name    : DataHandler
      timecode        : 01:00:00;00
Please use -q:a or -q:v, -qscale is ambiguous
[mpegts @ 0x3086f00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
    Last message repeated 1 times
Output #0, mpegts, to 'out.ts':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf55.44.100
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 90k tbn, 29.97 tbc (default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 01:00:00;00
      encoder         : Lavc55.68.100 mpeg2video
    Stream #0:1(eng): Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s (default)
    Metadata:
      handler_name    : DataHandler
      encoder         : Lavc55.68.100 mp2
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> mp2 (native))
Press [q] to stop, [?] for help
frame=   25 fps=0.0 q=2.0 Lsize=    2266kB time=00:00:00.82 bitrate=22363.1kbits/s
video:2057kB audio:39kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 8.081009%

The output file plays correctly with WMP if no scaling gets applied.

Attachments (1)

FVP241-4sec_cut.mov (2.4 MB) - added by cehoyos 5 years ago.

Change History (4)

Changed 5 years ago by cehoyos

comment:1 Changed 5 years ago by dpury

  • Cc lists.davep@gmail.com added

comment:2 Changed 5 years ago by cehoyos

  • Analyzed by developer set
  • Component changed from undetermined to avfilter
  • Reproduced by developer set
  • Status changed from new to open

Marton was able to analyze the issue, the cause is that various filters (including the scale filter) can change the resolution but do not update the AVPanScan information.

comment:3 Changed 5 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed in 788cf6f0

Note: See TracTickets for help on using tickets.