Opened 4 weeks ago

Last modified 4 weeks ago

#11280 new defect

Strange green flickering line added with a hevc_vaapi reencode

Reported by: bernd_b Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: hevc_vaapi reencode
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
reencoding a file with hevc_vaapi gives me a green flickering line at the bottom of the reencoded video

How to reproduce:

% ffmpeg -vaapi_device /dev/dri/renderD128 -i "./test.convert_hw_vaapi.src.mkv" -metadata:s:v:0 title="test.convert_hw_vaapi.src" -vf 'format=nv12,hwupload' -c:v hevc_vaapi -rc_mode 1 -qp 25 -c:a copy -c:s copy -map 0:v -map 0:a? -map 0:s? "test.convert_hw_vaapi.result.mkv"
ffmpeg version N-117685-g1864025458 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 14.2.1 (GCC) 20240910
  configuration: 
  libavutil      59. 46.100 / 59. 46.100
  libavcodec     61. 23.100 / 61. 23.100
  libavformat    61.  9.100 / 61.  9.100
  libavdevice    61.  4.100 / 61.  4.100
  libavfilter    10.  6.100 / 10.  6.100
  libswscale      8.  9.101 /  8.  9.101
  libswresample   5.  4.100 /  5.  4.100
Input #0, matroska,webm, from './test.convert_hw_vaapi.src.mkv':
  Metadata:
    ENCODER         : Lavf61.9.100
  Duration: 00:00:05.20, start: 0.000000, bitrate: 2191 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn (default)
    Metadata:
      BPS             : 11031855
      NUMBER_OF_FRAMES: 133764
      NUMBER_OF_BYTES : 7378325291
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-06 17:46:08
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:05.200000000
  Stream #0:1(ger): Audio: eac3, 48000 Hz, stereo, fltp, 224 kb/s (default)
    Metadata:
      BPS             : 224000
      NUMBER_OF_FRAMES: 167206
      NUMBER_OF_BYTES : 149816576
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-06 17:46:08
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:05.024000000
File 'test.convert_hw_vaapi.result.mkv' already exists. Overwrite? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_vaapi))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hevc_vaapi @ 0x5edf54b205c0] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
Output #0, matroska, to 'test.convert_hw_vaapi.result.mkv':
  Metadata:
    encoder         : Lavf61.9.100
  Stream #0:0: Video: hevc (Main), vaapi(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 1k tbn (default)
    Metadata:
      encoder         : Lavc61.23.100 hevc_vaapi
      BPS             : 11031855
      NUMBER_OF_FRAMES: 133764
      NUMBER_OF_BYTES : 7378325291
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-06 17:46:08
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:05.200000000
      title           : test.convert_hw_vaapi.src
  Stream #0:1(ger): Audio: eac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s (default)
    Metadata:
      BPS             : 224000
      NUMBER_OF_FRAMES: 167206
      NUMBER_OF_BYTES : 149816576
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-06 17:46:08
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:05.024000000
[out#0/matroska @ 0x5edf54b98e40] video:455KiB audio:137KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.570535%
frame=  127 fps=0.0 q=-0.0 Lsize=     595KiB time=00:00:05.02 bitrate= 970.9kbits/s speed=6.72x

I will add the test file I used here and the output file I got plus the log file using "ffmpeg -v 9 -loglevel 99 ...".

Attachments (3)

ffmpeg-20241101-115622.log (208.2 KB ) - added by bernd_b 4 weeks ago.
log file used with "ffmpeg -v 9 -loglevel 99 -..."
test.convert_hw_vaapi.result.mkv (595.4 KB ) - added by bernd_b 4 weeks ago.
h265 output
test.convert_hw_vaapi.src.mkv (1.4 MB ) - added by bernd_b 3 weeks ago.
h264 input test file

Change History (8)

by bernd_b, 4 weeks ago

Attachment: ffmpeg-20241101-115622.log added

log file used with "ffmpeg -v 9 -loglevel 99 -..."

by bernd_b, 4 weeks ago

h265 output

comment:1 by bernd_b, 4 weeks ago

I uploaded the source file I used here:
https://streams.videolan.org/upload/

(as suggested here:
https://ffmpeg.org/bugreports.html

Reason: As an attachment to this ticket the file is told to be too large, although it is only 1.4 MB)

comment:2 by bernd_b, 4 weeks ago

It is maybe of interest that the green line at the bottom is shown when playing the file with ffplay or mpv, whereas I can't see the line when playing the file with vlc.

The mpv bug tracker considered the output to be broken, so I thought of reporting it here.

Version 0, edited 4 weeks ago by bernd_b (next)

comment:3 by llyyr, 4 weeks ago

https://gitlab.freedesktop.org/mesa/mesa/-/issues/10985#note_2367873

This needs the mentioned patch merged into ffmpeg

in reply to:  3 comment:4 by bernd_b, 4 weeks ago

Replying to llyyr:

https://gitlab.freedesktop.org/mesa/mesa/-/issues/10985#note_2367873

This needs the mentioned patch merged into ffmpeg

I applied the patch given there to my sources and recompiled, but I could not get the matter changed.

comment:5 by nyanmisaka, 4 weeks ago

It is best to file an issue in Mesa if FFmpeg patches do not solve the problem.

https://gitlab.freedesktop.org/mesa/mesa/-/issues

by bernd_b, 3 weeks ago

h264 input test file

Note: See TracTickets for help on using tickets.