Opened 13 days ago

#7528 new defect

Slice threading for geq causes visual artifacts

Reported by: llogan Owned by:
Priority: important Component: avfilter
Version: git-master Keywords: geq regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

ac6b0bba79fe4de1281e0f2058646bee23d90224 causes artifacts in this geq example stolen from Gyan:

$ ffmpeg -f lavfi -i nullsrc -vf "geq='st(3,pow(X-(W/2),2)+pow(Y-(H/2),2));if(lte(ld(3),pow(min(W/2,H/2),2)),255,0)':128:128" -frames:v 1 out.png
ffmpeg version N-92321-g295fd12d17 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20180831
  configuration: --enable-gpl
  libavutil      56. 21.100 / 56. 21.100
  libavcodec     58. 34.100 / 58. 34.100
  libavformat    58. 19.102 / 58. 19.102
  libavdevice    58.  4.107 / 58.  4.107
  libavfilter     7. 39.100 /  7. 39.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Input #0, lavfi, from 'nullsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> png (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'out.png':
  Metadata:
    encoder         : Lavf58.19.102
    Stream #0:0: Video: png, rgb24, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.34.100 png
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=2.05x    
video:11kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Output looks normal with -filter_threads 1/-filter_complex_threads 1.

Attachments (2)

bad.png (11.7 KB) - added by llogan 13 days ago.
Bad
thread1.png (1.8 KB) - added by llogan 13 days ago.
Good

Download all attachments as: .zip

Change History (2)

Changed 13 days ago by llogan

Bad

Changed 13 days ago by llogan

Good

Note: See TracTickets for help on using tickets.