Commit 7058bcf78a for ffmpeg
commit 7058bcf78ab16d70e057a6af16f6dff91de86f7b
Author: Kacper Michajłow <kasper93@gmail.com>
Date: Wed Sep 23 17:21:27 2026 +0200
avfilter/tests/drawutils: print a stable word for unsupported formats
The reason came from av_err2str(), whose text for ENOSYS depends on the
C library. illumos for example says "Operation not applicable". Print
"unsupported" for that expected case and keep the text for anything
else, which would be a failure anyway.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
diff --git a/libavfilter/tests/drawutils.c b/libavfilter/tests/drawutils.c
index fd41ed84fd..cbe7424c69 100644
--- a/libavfilter/tests/drawutils.c
+++ b/libavfilter/tests/drawutils.c
@@ -37,7 +37,7 @@ int main(void)
(int)(16 - strlen(desc->name)), "");
r = ff_draw_init(&draw, f, 0);
if (r < 0) {
- printf("no: %s\n", av_err2str(r));
+ printf("no: %s\n", r == AVERROR(ENOSYS) ? "unsupported" : av_err2str(r));
continue;
}
ff_draw_color(&draw, &color, (uint8_t[]) { 1, 0, 0, 1 });
diff --git a/tests/ref/fate/filter-drawutils b/tests/ref/fate/filter-drawutils
index cef5a2ead4..031f31fb44 100644
--- a/tests/ref/fate/filter-drawutils
+++ b/tests/ref/fate/filter-drawutils
@@ -1,5 +1,5 @@
Testing yuv420p... ok
-Testing yuyv422... no: Function not implemented
+Testing yuyv422... no: unsupported
Testing rgb24... ok
Testing bgr24... ok
Testing yuv422p... ok
@@ -7,264 +7,264 @@ Testing yuv444p... ok
Testing yuv410p... ok
Testing yuv411p... ok
Testing gray... ok
-Testing monow... no: Function not implemented
-Testing monob... no: Function not implemented
-Testing pal8... no: Function not implemented
+Testing monow... no: unsupported
+Testing monob... no: unsupported
+Testing pal8... no: unsupported
Testing yuvj420p... ok
Testing yuvj422p... ok
Testing yuvj444p... ok
-Testing uyvy422... no: Function not implemented
-Testing uyyvyy411... no: Function not implemented
-Testing bgr8... no: Function not implemented
-Testing bgr4... no: Function not implemented
-Testing bgr4_byte... no: Function not implemented
-Testing rgb8... no: Function not implemented
-Testing rgb4... no: Function not implemented
-Testing rgb4_byte... no: Function not implemented
+Testing uyvy422... no: unsupported
+Testing uyyvyy411... no: unsupported
+Testing bgr8... no: unsupported
+Testing bgr4... no: unsupported
+Testing bgr4_byte... no: unsupported
+Testing rgb8... no: unsupported
+Testing rgb4... no: unsupported
+Testing rgb4_byte... no: unsupported
Testing nv12... ok
Testing nv21... ok
Testing argb... ok
Testing rgba... ok
Testing abgr... ok
Testing bgra... ok
-Testing gray16be... no: Function not implemented
+Testing gray16be... no: unsupported
Testing gray16le... ok
Testing yuv440p... ok
Testing yuvj440p... ok
Testing yuva420p... ok
-Testing rgb48be... no: Function not implemented
+Testing rgb48be... no: unsupported
Testing rgb48le... ok
-Testing rgb565be... no: Function not implemented
-Testing rgb565le... no: Function not implemented
-Testing rgb555be... no: Function not implemented
-Testing rgb555le... no: Function not implemented
-Testing bgr565be... no: Function not implemented
-Testing bgr565le... no: Function not implemented
-Testing bgr555be... no: Function not implemented
-Testing bgr555le... no: Function not implemented
-Testing vaapi... no: Function not implemented
+Testing rgb565be... no: unsupported
+Testing rgb565le... no: unsupported
+Testing rgb555be... no: unsupported
+Testing rgb555le... no: unsupported
+Testing bgr565be... no: unsupported
+Testing bgr565le... no: unsupported
+Testing bgr555be... no: unsupported
+Testing bgr555le... no: unsupported
+Testing vaapi... no: unsupported
Testing yuv420p16le... ok
-Testing yuv420p16be... no: Function not implemented
+Testing yuv420p16be... no: unsupported
Testing yuv422p16le... ok
-Testing yuv422p16be... no: Function not implemented
+Testing yuv422p16be... no: unsupported
Testing yuv444p16le... ok
-Testing yuv444p16be... no: Function not implemented
-Testing dxva2_vld... no: Function not implemented
-Testing rgb444le... no: Function not implemented
-Testing rgb444be... no: Function not implemented
-Testing bgr444le... no: Function not implemented
-Testing bgr444be... no: Function not implemented
+Testing yuv444p16be... no: unsupported
+Testing dxva2_vld... no: unsupported
+Testing rgb444le... no: unsupported
+Testing rgb444be... no: unsupported
+Testing bgr444le... no: unsupported
+Testing bgr444be... no: unsupported
Testing ya8... ok
-Testing bgr48be... no: Function not implemented
+Testing bgr48be... no: unsupported
Testing bgr48le... ok
-Testing yuv420p9be... no: Function not implemented
+Testing yuv420p9be... no: unsupported
Testing yuv420p9le... ok
-Testing yuv420p10be... no: Function not implemented
+Testing yuv420p10be... no: unsupported
Testing yuv420p10le... ok
-Testing yuv422p10be... no: Function not implemented
+Testing yuv422p10be... no: unsupported
Testing yuv422p10le... ok
-Testing yuv444p9be... no: Function not implemented
+Testing yuv444p9be... no: unsupported
Testing yuv444p9le... ok
-Testing yuv444p10be... no: Function not implemented
+Testing yuv444p10be... no: unsupported
Testing yuv444p10le... ok
-Testing yuv422p9be... no: Function not implemented
+Testing yuv422p9be... no: unsupported
Testing yuv422p9le... ok
Testing gbrp... ok
-Testing gbrp9be... no: Function not implemented
+Testing gbrp9be... no: unsupported
Testing gbrp9le... ok
-Testing gbrp10be... no: Function not implemented
+Testing gbrp10be... no: unsupported
Testing gbrp10le... ok
-Testing gbrp16be... no: Function not implemented
+Testing gbrp16be... no: unsupported
Testing gbrp16le... ok
Testing yuva422p... ok
Testing yuva444p... ok
-Testing yuva420p9be... no: Function not implemented
+Testing yuva420p9be... no: unsupported
Testing yuva420p9le... ok
-Testing yuva422p9be... no: Function not implemented
+Testing yuva422p9be... no: unsupported
Testing yuva422p9le... ok
-Testing yuva444p9be... no: Function not implemented
+Testing yuva444p9be... no: unsupported
Testing yuva444p9le... ok
-Testing yuva420p10be... no: Function not implemented
+Testing yuva420p10be... no: unsupported
Testing yuva420p10le... ok
-Testing yuva422p10be... no: Function not implemented
+Testing yuva422p10be... no: unsupported
Testing yuva422p10le... ok
-Testing yuva444p10be... no: Function not implemented
+Testing yuva444p10be... no: unsupported
Testing yuva444p10le... ok
-Testing yuva420p16be... no: Function not implemented
+Testing yuva420p16be... no: unsupported
Testing yuva420p16le... ok
-Testing yuva422p16be... no: Function not implemented
+Testing yuva422p16be... no: unsupported
Testing yuva422p16le... ok
-Testing yuva444p16be... no: Function not implemented
+Testing yuva444p16be... no: unsupported
Testing yuva444p16le... ok
-Testing vdpau... no: Function not implemented
-Testing xyz12le... no: Function not implemented
-Testing xyz12be... no: Function not implemented
+Testing vdpau... no: unsupported
+Testing xyz12le... no: unsupported
+Testing xyz12be... no: unsupported
Testing nv16... ok
Testing nv20le... ok
-Testing nv20be... no: Function not implemented
-Testing rgba64be... no: Function not implemented
-Testing rgba64le... no: Function not implemented
-Testing bgra64be... no: Function not implemented
-Testing bgra64le... no: Function not implemented
-Testing yvyu422... no: Function not implemented
-Testing ya16be... no: Function not implemented
+Testing nv20be... no: unsupported
+Testing rgba64be... no: unsupported
+Testing rgba64le... no: unsupported
+Testing bgra64be... no: unsupported
+Testing bgra64le... no: unsupported
+Testing yvyu422... no: unsupported
+Testing ya16be... no: unsupported
Testing ya16le... ok
Testing gbrap... ok
-Testing gbrap16be... no: Function not implemented
+Testing gbrap16be... no: unsupported
Testing gbrap16le... ok
-Testing qsv... no: Function not implemented
-Testing mmal... no: Function not implemented
-Testing d3d11va_vld... no: Function not implemented
-Testing cuda... no: Function not implemented
+Testing qsv... no: unsupported
+Testing mmal... no: unsupported
+Testing d3d11va_vld... no: unsupported
+Testing cuda... no: unsupported
Testing 0rgb... ok
Testing rgb0... ok
Testing 0bgr... ok
Testing bgr0... ok
-Testing yuv420p12be... no: Function not implemented
+Testing yuv420p12be... no: unsupported
Testing yuv420p12le... ok
-Testing yuv420p14be... no: Function not implemented
+Testing yuv420p14be... no: unsupported
Testing yuv420p14le... ok
-Testing yuv422p12be... no: Function not implemented
+Testing yuv422p12be... no: unsupported
Testing yuv422p12le... ok
-Testing yuv422p14be... no: Function not implemented
+Testing yuv422p14be... no: unsupported
Testing yuv422p14le... ok
-Testing yuv444p12be... no: Function not implemented
+Testing yuv444p12be... no: unsupported
Testing yuv444p12le... ok
-Testing yuv444p14be... no: Function not implemented
+Testing yuv444p14be... no: unsupported
Testing yuv444p14le... ok
-Testing gbrp12be... no: Function not implemented
+Testing gbrp12be... no: unsupported
Testing gbrp12le... ok
-Testing gbrp14be... no: Function not implemented
+Testing gbrp14be... no: unsupported
Testing gbrp14le... ok
Testing yuvj411p... ok
-Testing bayer_bggr8... no: Function not implemented
-Testing bayer_rggb8... no: Function not implemented
-Testing bayer_gbrg8... no: Function not implemented
-Testing bayer_grbg8... no: Function not implemented
-Testing bayer_bggr16le... no: Function not implemented
-Testing bayer_bggr16be... no: Function not implemented
-Testing bayer_rggb16le... no: Function not implemented
-Testing bayer_rggb16be... no: Function not implemented
-Testing bayer_gbrg16le... no: Function not implemented
-Testing bayer_gbrg16be... no: Function not implemented
-Testing bayer_grbg16le... no: Function not implemented
-Testing bayer_grbg16be... no: Function not implemented
+Testing bayer_bggr8... no: unsupported
+Testing bayer_rggb8... no: unsupported
+Testing bayer_gbrg8... no: unsupported
+Testing bayer_grbg8... no: unsupported
+Testing bayer_bggr16le... no: unsupported
+Testing bayer_bggr16be... no: unsupported
+Testing bayer_rggb16le... no: unsupported
+Testing bayer_rggb16be... no: unsupported
+Testing bayer_gbrg16le... no: unsupported
+Testing bayer_gbrg16be... no: unsupported
+Testing bayer_grbg16le... no: unsupported
+Testing bayer_grbg16be... no: unsupported
Testing yuv440p10le... ok
-Testing yuv440p10be... no: Function not implemented
+Testing yuv440p10be... no: unsupported
Testing yuv440p12le... ok
-Testing yuv440p12be... no: Function not implemented
-Testing ayuv64le... no: Function not implemented
-Testing ayuv64be... no: Function not implemented
-Testing videotoolbox_vld...no: Function not implemented
+Testing yuv440p12be... no: unsupported
+Testing ayuv64le... no: unsupported
+Testing ayuv64be... no: unsupported
+Testing videotoolbox_vld...no: unsupported
Testing p010le... ok
-Testing p010be... no: Function not implemented
-Testing gbrap12be... no: Function not implemented
+Testing p010be... no: unsupported
+Testing gbrap12be... no: unsupported
Testing gbrap12le... ok
-Testing gbrap10be... no: Function not implemented
+Testing gbrap10be... no: unsupported
Testing gbrap10le... ok
-Testing mediacodec... no: Function not implemented
-Testing gray12be... no: Function not implemented
+Testing mediacodec... no: unsupported
+Testing gray12be... no: unsupported
Testing gray12le... ok
-Testing gray10be... no: Function not implemented
+Testing gray10be... no: unsupported
Testing gray10le... ok
Testing p016le... ok
-Testing p016be... no: Function not implemented
-Testing d3d11... no: Function not implemented
-Testing gray9be... no: Function not implemented
+Testing p016be... no: unsupported
+Testing d3d11... no: unsupported
+Testing gray9be... no: unsupported
Testing gray9le... ok
-Testing gbrpf32be... no: Function not implemented
-Testing gbrpf32le... no: Function not implemented
-Testing gbrapf32be... no: Function not implemented
-Testing gbrapf32le... no: Function not implemented
-Testing drm_prime... no: Function not implemented
-Testing opencl... no: Function not implemented
-Testing gray14be... no: Function not implemented
+Testing gbrpf32be... no: unsupported
+Testing gbrpf32le... no: unsupported
+Testing gbrapf32be... no: unsupported
+Testing gbrapf32le... no: unsupported
+Testing drm_prime... no: unsupported
+Testing opencl... no: unsupported
+Testing gray14be... no: unsupported
Testing gray14le... ok
-Testing grayf32be... no: Function not implemented
-Testing grayf32le... no: Function not implemented
-Testing yuva422p12be... no: Function not implemented
+Testing grayf32be... no: unsupported
+Testing grayf32le... no: unsupported
+Testing yuva422p12be... no: unsupported
Testing yuva422p12le... ok
-Testing yuva444p12be... no: Function not implemented
+Testing yuva444p12be... no: unsupported
Testing yuva444p12le... ok
Testing nv24... ok
Testing nv42... ok
-Testing vulkan... no: Function not implemented
-Testing y210be... no: Function not implemented
-Testing y210le... no: Function not implemented
-Testing x2rgb10le... no: Function not implemented
-Testing x2rgb10be... no: Function not implemented
-Testing x2bgr10le... no: Function not implemented
-Testing x2bgr10be... no: Function not implemented
-Testing p210be... no: Function not implemented
+Testing vulkan... no: unsupported
+Testing y210be... no: unsupported
+Testing y210le... no: unsupported
+Testing x2rgb10le... no: unsupported
+Testing x2rgb10be... no: unsupported
+Testing x2bgr10le... no: unsupported
+Testing x2bgr10be... no: unsupported
+Testing p210be... no: unsupported
Testing p210le... ok
-Testing p410be... no: Function not implemented
+Testing p410be... no: unsupported
Testing p410le... ok
-Testing p216be... no: Function not implemented
+Testing p216be... no: unsupported
Testing p216le... ok
-Testing p416be... no: Function not implemented
+Testing p416be... no: unsupported
Testing p416le... ok
Testing vuya... ok
-Testing rgbaf16be... no: Function not implemented
-Testing rgbaf16le... no: Function not implemented
+Testing rgbaf16be... no: unsupported
+Testing rgbaf16le... no: unsupported
Testing vuyx... ok
Testing p012le... ok
-Testing p012be... no: Function not implemented
-Testing y212be... no: Function not implemented
-Testing y212le... no: Function not implemented
-Testing xv30be... no: Function not implemented
-Testing xv30le... no: Function not implemented
-Testing xv36be... no: Function not implemented
-Testing xv36le... no: Function not implemented
-Testing rgbf32be... no: Function not implemented
-Testing rgbf32le... no: Function not implemented
-Testing rgbaf32be... no: Function not implemented
-Testing rgbaf32le... no: Function not implemented
-Testing p212be... no: Function not implemented
+Testing p012be... no: unsupported
+Testing y212be... no: unsupported
+Testing y212le... no: unsupported
+Testing xv30be... no: unsupported
+Testing xv30le... no: unsupported
+Testing xv36be... no: unsupported
+Testing xv36le... no: unsupported
+Testing rgbf32be... no: unsupported
+Testing rgbf32le... no: unsupported
+Testing rgbaf32be... no: unsupported
+Testing rgbaf32le... no: unsupported
+Testing p212be... no: unsupported
Testing p212le... ok
-Testing p412be... no: Function not implemented
+Testing p412be... no: unsupported
Testing p412le... ok
-Testing gbrap14be... no: Function not implemented
+Testing gbrap14be... no: unsupported
Testing gbrap14le... ok
-Testing d3d12... no: Function not implemented
+Testing d3d12... no: unsupported
Testing ayuv... ok
Testing uyva... ok
Testing vyu444... ok
-Testing v30xbe... no: Function not implemented
-Testing v30xle... no: Function not implemented
-Testing rgbf16be... no: Function not implemented
-Testing rgbf16le... no: Function not implemented
-Testing rgba128be... no: Function not implemented
-Testing rgba128le... no: Function not implemented
-Testing rgb96be... no: Function not implemented
-Testing rgb96le... no: Function not implemented
-Testing y216be... no: Function not implemented
-Testing y216le... no: Function not implemented
-Testing xv48be... no: Function not implemented
-Testing xv48le... no: Function not implemented
-Testing gbrpf16be... no: Function not implemented
-Testing gbrpf16le... no: Function not implemented
-Testing gbrapf16be... no: Function not implemented
-Testing gbrapf16le... no: Function not implemented
-Testing grayf16be... no: Function not implemented
-Testing grayf16le... no: Function not implemented
-Testing amf... no: Function not implemented
-Testing gray32be... no: Function not implemented
-Testing gray32le... no: Function not implemented
-Testing yaf32be... no: Function not implemented
-Testing yaf32le... no: Function not implemented
-Testing yaf16be... no: Function not implemented
-Testing yaf16le... no: Function not implemented
-Testing gbrap32be... no: Function not implemented
-Testing gbrap32le... no: Function not implemented
-Testing yuv444p10msbbe... no: Function not implemented
+Testing v30xbe... no: unsupported
+Testing v30xle... no: unsupported
+Testing rgbf16be... no: unsupported
+Testing rgbf16le... no: unsupported
+Testing rgba128be... no: unsupported
+Testing rgba128le... no: unsupported
+Testing rgb96be... no: unsupported
+Testing rgb96le... no: unsupported
+Testing y216be... no: unsupported
+Testing y216le... no: unsupported
+Testing xv48be... no: unsupported
+Testing xv48le... no: unsupported
+Testing gbrpf16be... no: unsupported
+Testing gbrpf16le... no: unsupported
+Testing gbrapf16be... no: unsupported
+Testing gbrapf16le... no: unsupported
+Testing grayf16be... no: unsupported
+Testing grayf16le... no: unsupported
+Testing amf... no: unsupported
+Testing gray32be... no: unsupported
+Testing gray32le... no: unsupported
+Testing yaf32be... no: unsupported
+Testing yaf32le... no: unsupported
+Testing yaf16be... no: unsupported
+Testing yaf16le... no: unsupported
+Testing gbrap32be... no: unsupported
+Testing gbrap32le... no: unsupported
+Testing yuv444p10msbbe... no: unsupported
Testing yuv444p10msble... ok
-Testing yuv444p12msbbe... no: Function not implemented
+Testing yuv444p12msbbe... no: unsupported
Testing yuv444p12msble... ok
-Testing gbrp10msbbe... no: Function not implemented
+Testing gbrp10msbbe... no: unsupported
Testing gbrp10msble... ok
-Testing gbrp12msbbe... no: Function not implemented
+Testing gbrp12msbbe... no: unsupported
Testing gbrp12msble... ok
-Testing ohcodec... no: Function not implemented
-Testing cuarray... no: Function not implemented
+Testing ohcodec... no: unsupported
+Testing cuarray... no: unsupported
half transparent red over transparent rgba by mask: 128 0 0 128
half transparent red over transparent rgba by rectangle: 128 0 0 128