#9186 closed defect (fixed)
[regression] JPEG Encode Broken since 059fc2d9da53
Reported by: | U. Artie Eoff | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | mjpeg vaapi qsv regression |
Cc: | andreas.rheinhardt@outlook.com | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
JPEG encode with mjpeg_vaapi or mjpeg_qsv broken since:
commit 059fc2d9da5364627613fb3e6424079e14dbdfd3 Author: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Date: Tue Apr 6 03:01:14 2021 +0200 avcodec/mjpegenc: Include all supported pix_fmts in mpegenc pix_fmts Currently said list contains only the pixel formats that are always supported irrespective of the range and the value of strict_std_compliance. This makes the MJPEG encoder an outlier as all other codecs put all potentially supported pixel formats into said list and error out if the chosen pixel format is unsupported. This commit brings it therefore in line with the other encoders. The behaviour of fftools/ffmpeg_filter.c has been preserved. A more informed decision would be possible if colour range were available at this point, but it isn't. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
I have not tested other jpeg encoder plugins.
How to reproduce:
mjpeg_vaapi:
% ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 \ -f lavfi -i yuvtestsrc=duration=5:size=qcif:rate=30 \ -vf "format=nv12,hwupload" -c:v mjpeg_vaapi \ -y output.mjpeg ffmpeg version N-101944-g33db0cbfd083 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 9 (GCC) configuration: --prefix=/home/uaeoff/Work/workspace/media/install --disable-static --enable-shared --enable-libdrm --enable-vaapi --enable-libmfx --disable-amf --disable-audiotoolbox --disable-cuda --disable-cuda-sdk --disable-cuvid --disable-d3d11va --disable-dxva2 --disable-libnpp --disable-mmal --disable-nvdec --disable-nvenc --disable-omx --disable-omx-rpi --disable-rkmpp --disable-v4l2-m2m --disable-vdpau --disable-videotoolbox --enable-gpl --enable-libx264 --enable-libx265 libavutil 56. 72.100 / 56. 72.100 libavcodec 58.136.101 / 58.136.101 libavformat 58. 78.100 / 58. 78.100 libavdevice 58. 14.100 / 58. 14.100 libavfilter 7.111.100 / 7.111.100 libswscale 5. 10.100 / 5. 10.100 libswresample 3. 10.100 / 3. 10.100 libpostproc 55. 10.100 / 55. 10.100 Input #0, lavfi, from 'yuvtestsrc=duration=5:size=qcif:rate=30': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (444P / 0x50343434), yuv444p, 176x144 [SAR 1:1 DAR 11:9], 30 tbr, 30 tbn, 30 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (mjpeg_vaapi)) Press [q] to stop, [?] for help Impossible to convert between the formats supported by the filter 'Parsed_hwupload_1' and the filter 'auto_scaler_1' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented Error while processing the decoded data for stream #0:0 Conversion failed!
mjpeg_qsv:
fmpeg -init_hw_device qsv=qsv:hw -qsv_device /dev/dri/renderD128 \ -hwaccel qsv -filter_hw_device qsv -hwaccel_output_format qsv \ -f lavfi -i smptebars=duration=5:size=qcif:rate=1 \ -vf 'format=nv12,hwupload=extra_hw_frames=120' -c:v mjpeg_qsv \ -y output.mjpeg ffmpeg version N-101944-g33db0cbfd083 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 9 (GCC) configuration: --prefix=/home/uaeoff/Work/workspace/media/install --disable-static --enable-shared --enable-libdrm --enable-vaapi --enable-libmfx --disable-amf --disable-audiotoolbox --disable-cuda --disable-cuda-sdk --disable-cuvid --disable-d3d11va --disable-dxva2 --disable-libnpp --disable-mmal --disable-nvdec --disable-nvenc --disable-omx --disable-omx-rpi --disable-rkmpp --disable-v4l2-m2m --disable-vdpau --disable-videotoolbox --enable-gpl --enable-libx264 --enable-libx265 libavutil 56. 72.100 / 56. 72.100 libavcodec 58.136.101 / 58.136.101 libavformat 58. 78.100 / 58. 78.100 libavdevice 58. 14.100 / 58. 14.100 libavfilter 7.111.100 / 7.111.100 libswscale 5. 10.100 / 5. 10.100 libswresample 3. 10.100 / 3. 10.100 libpostproc 55. 10.100 / 55. 10.100 Input #0, lavfi, from 'smptebars=duration=5:size=qcif:rate=1': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 176x144 [SAR 1:1 DAR 11:9], 1 fps, 1 tbr, 1 tbn, 1 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (mjpeg_qsv)) Press [q] to stop, [?] for help Impossible to convert between the formats supported by the filter 'Parsed_hwupload_1' and the filter 'auto_scaler_1' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented Error while processing the decoded data for stream #0:0 Conversion failed!
Software stack:
libva (master) heads/master-0-gfb31fe67f303 gmmlib (master) heads/master-0-ge4234d0639cf intel-vaapi-driver (master) heads/master-0-gd87db2111a33 intel-media-driver (master) heads/master-0-g4cd769caa440 msdk (master) heads/master-0-g6ca8b3be0770 ffmpeg (master) heads/master-0-g33db0cbfd083
Change History (5)
comment:1 by , 4 years ago
comment:3 by , 4 years ago
Keywords: | regression added; jpeg encode removed |
---|---|
Priority: | critical → important |
comment:4 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in 4e39cd67b7275dc525684e54d0bd651ef4ee149b, regression since 059fc2d9da5364627613fb3e6424079e14dbdfd3
comment:5 by , 4 years ago
Keywords: | vaapi qsv added |
---|
Note:
See TracTickets
for help on using tickets.
Patch sent