vf_libplacebo can't convert XYB ICC profile image (plplay displays it fine)
Consider the following PNG image with the XYB ICC profile attached: https://0x0.st/H8aK.png
Viewing this PNG with plplay or mpv works correctly, but attempting to map it to sRGB with vf_libplacebo fails:
leo@gauss ~/Pictures/George :) $ ffmpeg -y -i george-test-xyb.png -init_hw_device vulkan -vf libplacebo=color_primaries=bt709:color_trc=iec61966-2-1:format=gbrp test.png
ffmpeg version N-89719-ga3f49168dc Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.1 (GCC) 20230201
configuration: --prefix=/home/leo/.local --enable-gpl --enable-version3 --enable-nonfree --enable-shared --disable-static --disable-htmlpages --enable-manpages --disable-podpages --disable-txtpages --enable-frei0r --enable-gcrypt --enable-gmp --enable-gnutls --enable-lcms2 --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcelt --enable-libcdio --enable-libdav1d --enable-libdc1394 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libkvazaar --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libxvid --enable-libzimg --enable-libzmq --enable-openal --enable-opengl --disable-openssl --enable-pic --enable-ffnvcodec --enable-cuda-nvcc --enable-libdrm --enable-libnpp --enable-vapoursynth --enable-vulkan --nvccflags=-O3
libavutil 58. 6.100 / 58. 6.100
libavcodec 60. 9.100 / 60. 9.100
libavformat 60. 4.101 / 60. 4.101
libavdevice 60. 2.100 / 60. 2.100
libavfilter 9. 5.100 / 9. 5.100
libswscale 7. 2.100 / 7. 2.100
libswresample 4. 11.100 / 4. 11.100
libpostproc 57. 2.100 / 57. 2.100
Input #0, png_pipe, from 'george-test-xyb.png':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: png, rgb24(pc, gbr/unknown/unknown), 1080x720, 25 fps, 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (png (native) -> png (native))
Press [q] to stop, [?] for help
[libplacebo @ 0x5651bdef1880] Detected profile gamma (3.543) very far from pure power response (stddev=3.7), suspected unusual or broken profile. Using anyway, but results may be poor.
[libplacebo @ 0x5651bdef1880] ICC profile too wide to handle, colors may be clipped!
[libplacebo @ 0x5651bdef1880] Detected profile gamma (3.543) very far from pure power response (stddev=3.7), suspected unusual or broken profile. Using anyway, but results may be poor.
[libplacebo @ 0x5651bdef1880] ICC profile too wide to handle, colors may be clipped!
[libplacebo @ 0x5651bdef1880] lcms2: [13] Couldn't link the profiles
Output #0, image2, to 'test.png':
Metadata:
encoder : Lavf60.4.101
Stream #0:0: Video: png, rgb24(pc, gbr/bt709/iec61966-2-1, progressive), 1080x720, q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc60.9.100 png
[image2 @ 0x5651bc1bfe40] The specified filename 'test.png' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x5651bc1bfe40] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x5651bdecd2c0] video:3kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed= 0x
and the resulting PNG file is a monocolor very dark green.
I've attached a full log with (-v trace) and the image in question (gzipped because GitLab strips ICC profiles from attachments).