Opened 5 years ago

Closed 5 years ago

#3757 closed defect (fixed)

-b_strategy 2 may cause severe artifacts

Reported by: ejlasota Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug: Using -b_strategy 2 can cause severe artifacts on P-frames. Higher -bf values increase the severity.

How to reproduce:

Execute the following on the attached file.

% ffmpeg -i testinput_small.avi -vcodec mpeg1video -bf 16 -b_strategy 2 -q:v 3 -an -y output.mpg

ffmpeg version N-63833-gd4be318
built on July 7, 2014
(Zeranoe FFmpeg git-689e028 64-bit Static Windows build)

Attachments (1)

m1v-b_strategy_2-corruption.png (175.0 KB) - added by ejlasota 5 years ago.
Screenshot of artifacts in MPC-HC

Download all attachments as: .zip

Change History (4)

comment:1 Changed 5 years ago by ejlasota

Apparently the sample is too big to attach. You can download it here:
http://www.datafilehost.com/d/68c0b164

Changed 5 years ago by ejlasota

Screenshot of artifacts in MPC-HC

comment:2 Changed 5 years ago by cehoyos

  • Keywords regression added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open

Regression since 59a53842

For future tickets: Please always post your failing FFmpeg command line together with the complete, uncut console output.

$ ffmpeg -f lavfi -i testsrc -bf 16 -b_strategy 2 -q:v 2 -t 2 out.avi
ffmpeg version N-64445-ga53c5d4 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul  6 2014 12:57:03 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      52. 90.101 / 52. 90.101
  libavcodec     55. 68.101 / 55. 68.101
  libavformat    55. 45.100 / 55. 45.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4. 10.100 /  4. 10.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
[avi @ 0x27c2580] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf55.45.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc55.68.101 mpeg4
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
frame=   50 fps=7.7 q=2.0 Lsize=     311kB time=00:00:01.96 bitrate=1299.2kbits/s
video:304kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.242409%

comment:3 Changed 5 years ago by cehoyos

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

Fixed by Michael in 462c6cdb

Note: See TracTickets for help on using tickets.