#5972: Zscale st_2084 transfer function from ZIMG -------------------------------------+------------------------------------ Reporter: muxketeer | Owner: Type: enhancement | Status: reopened Priority: wish | Component: avfilter Version: git-master | Resolution: Keywords: libzimg | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------ Changes (by muxketeer): * status: closed => reopened * resolution: fixed => Comment: Thanks @richardpl. I'm now able to specify the updated strings in zimg but it stills errors out with a : {{{ ffmpeg: ./src/zimg/common/static_map.h:96: zimg::static_map<Key, T, Sz, Compare>::static_map(std::initializer_list<std::pair<_T1, _T2> >, const Compare&) [with Key = zimg_transfer_characteristics_e; T = zimg::colorspace::TransferCharacteristics; long unsigned int Sz = 8ul; Compare = std::less<zimg_transfer_characteristics_e>]: Assertion (init.size() <= Sz) && (`list size incorrect`)' failed. }}} The full command and output I'm seeing is as follows: {{{ ./ffmpeg -loglevel debug -y -start_number 87041 -f image2 -r 23.976 -i /path/to/my/tiff_sequence/sequence.00%5d.tiff -vf showinfo,zscale=rangein=full:primariesin=smpte432:transferin=smpte2084:matrixin=2020_ncl:range=full:primaries=2020:transfer=smpte2084:matrix=2020_ncl,format=yuv420p10 /root/myfifo1.yuv ffmpeg version N-82665-gbda6f29 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra- ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable- libzimg --enable-nonfree libavutil 55. 41.101 / 55. 41.101 libavcodec 57. 66.108 / 57. 66.108 libavformat 57. 58.101 / 57. 58.101 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 67.100 / 6. 67.100 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-start_number' ... matched as AVOption 'start_number' with argument '87041'. Reading option '-f' ... matched as option 'f' (force format) with argument 'image2'. Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '23.976'. Reading option '-i' ... matched as input file with argument '/path/to/my/tiff_sequence/sequence.00%5d.tiff'. Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'showinfo,zscale=rangein=full:primariesin=smpte432:transferin=smpte2084:matrixin=2020_ncl:range=full:primaries=2020:transfer=smpte2084:matrix=2020_ncl,format=yuv420p10'. Reading option '/root/myfifo1.yuv' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input file /path/to/my/tiff_sequence/sequence.00%5d.tiff. Applying option f (force format) with argument image2. Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 23.976. Successfully parsed a group of options. Opening an input file: /path/to/my/tiff_sequence/sequence.00%5d.tiff. [file @ 0x2999ae0] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2998540] Statistics: 12441758 bytes read, 0 seeks [tiff @ 0x2999100] compression: 1 [image2 @ 0x2997500] Probe buffer size limit of 5000000 bytes reached Input #0, image2, from '/path/to/my/tiff_sequence/sequence.00%5d.tiff': Duration: 00:01:11.65, start: 0.000000, bitrate: N/A Stream #0:0, 1, 125/2997: Video: tiff, 1 reference frame, rgb48le, 1920x1080, 0/1, 23.98 tbr, 23.98 tbn, 23.98 tbc Successfully opened the file. Parsing a group of options: output file /root/myfifo1.yuv. Applying option vf (set video filters) with argument showinfo,zscale=rangein=full:primariesin=smpte432:transferin=smpte2084:matrixin=2020_ncl:range=full:primaries=2020:transfer=smpte2084:matrix=2020_ncl,format=yuv420p10. Successfully parsed a group of options. Opening an output file: /root/myfifo1.yuv. [file @ 0x299c0e0] Setting default whitelist 'file,crypto' Successfully opened the file. detected 32 logical cores [Parsed_zscale_1 @ 0x29f8040] Setting 'rangein' to value 'full' [Parsed_zscale_1 @ 0x29f8040] Setting 'primariesin' to value 'smpte432' [Parsed_zscale_1 @ 0x29f8040] Setting 'transferin' to value 'smpte2084' [Parsed_zscale_1 @ 0x29f8040] Setting 'matrixin' to value '2020_ncl' [Parsed_zscale_1 @ 0x29f8040] Setting 'range' to value 'full' [Parsed_zscale_1 @ 0x29f8040] Setting 'primaries' to value '2020' [Parsed_zscale_1 @ 0x29f8040] Setting 'transfer' to value 'smpte2084' [Parsed_zscale_1 @ 0x29f8040] Setting 'matrix' to value '2020_ncl' [Parsed_format_2 @ 0x29f8e00] compat: called with args=[yuv420p10] [Parsed_format_2 @ 0x29f8e00] Setting 'pix_fmts' to value 'yuv420p10' [graph 0 input from stream 0:0 @ 0x29f7ea0] Setting 'video_size' to value '1920x1080' [graph 0 input from stream 0:0 @ 0x29f7ea0] Setting 'pix_fmt' to value '42' [graph 0 input from stream 0:0 @ 0x29f7ea0] Setting 'time_base' to value '125/2997' [graph 0 input from stream 0:0 @ 0x29f7ea0] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 0x29f7ea0] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x29f7ea0] Setting 'frame_rate' to value '2997/125' [graph 0 input from stream 0:0 @ 0x29f7ea0] w:1920 h:1080 pixfmt:rgb48le tb:125/2997 fr:2997/125 sar:0/1 sws_param:flags=2 [force CFR for input from stream 0:0 @ 0x29f9520] Setting 'expr' to value 'N' [auto-inserted scaler 0 @ 0x29fb780] Setting 'flags' to value 'bicubic' [auto-inserted scaler 0 @ 0x29fb780] w:iw h:ih flags:'bicubic' interl:0 [force CFR for input from stream 0:0 @ 0x29f9520] auto-inserting filter 'auto-inserted scaler 0' between the filter 'graph 0 input from stream 0:0' and the filter 'force CFR for input from stream 0:0' [AVFilterGraph @ 0x29f4f20] query_formats: 6 queried, 4 merged, 1 already done, 0 delayed [auto-inserted scaler 0 @ 0x29fb780] picking yuv444p16le out of 44 ref:rgb48le alpha:0 [auto-inserted scaler 0 @ 0x29fb780] w:1920 h:1080 fmt:rgb48le sar:0/1 -> w:1920 h:1080 fmt:yuv444p16le sar:0/1 flags:0x4 [auto-inserted scaler 0 @ 0x29fb780] TB:0.041708 FRAME_RATE:23.976000 SAMPLE_RATE:nan [Parsed_showinfo_0 @ 0x29f7ce0] config in time_base: 125/2997, frame_rate: 2997/125 [Parsed_showinfo_0 @ 0x29f7ce0] config out time_base: 0/0, frame_rate: 0/0 [Parsed_zscale_1 @ 0x29f8040] w:1920 h:1080 fmt:yuv444p16le sar:0/1 -> w:1920 h:1080 fmt:yuv420p10le sar:0/1 Output #0, rawvideo, to '/root/myfifo.yuv': Metadata: encoder : Lavf57.58.101 Stream #0:0, 0, 125/2997: Video: rawvideo, 1 reference frame (Y3[11][10] / 0xA0B3359), yuv420p10le, 1920x1080, 0/1, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc Metadata: encoder : Lavc57.66.108 rawvideo Stream mapping: Stream #0:0 -> #0:0 (tiff (native) -> rawvideo (native)) Press [q] to stop, [?] for help cur_dts is invalid (this is harmless if it occurs once at the start per stream) Last message repeated 1 times [tiff @ 0x299cb80] compression: 1 [file @ 0x29f8b20] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29fb180] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29ab160] compression: 1 [file @ 0x29fb180] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29f8b20] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29afda0] compression: 1 [file @ 0x29fb180] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29f8b20] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29b4c20] compression: 1 [file @ 0x29fa0c0] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29f8b20] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29b9b20] compression: 1 [file @ 0x29fa0c0] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a14360] Statistics: 12441758 bytes read, 0 seeks [tiff @ 0x29bea20] compression: 1 0kB time=00:00:00.00 bitrate=N/A speed= 0x cur_dts is invalid (this is harmless if it occurs once at the start per stream) [file @ 0x29fa0c0] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29f8b20] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29c3920] compression: 1 [file @ 0x2a14360] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29fa0c0] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x [tiff @ 0x29c8820] compression: 1 [file @ 0x29fa0c0] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a15560] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29cd720] compression: 1 [file @ 0x2a15560] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29f8b20] Statistics: 12441758 bytes read, 0 seeks [tiff @ 0x29d2620] compression: 1 0kB time=00:00:00.00 bitrate=N/A speed= 0x cur_dts is invalid (this is harmless if it occurs once at the start per stream) [file @ 0x2a15560] Setting default whitelist 'file,crypto' [AVIOContext @ 0x29fa0c0] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29d7520] compression: 1 [file @ 0x2a15560] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a21700] Statistics: 12441758 bytes read, 0 seeks [tiff @ 0x29dc420] compression: 1 0kB time=00:00:00.00 bitrate=N/A speed= 0x cur_dts is invalid (this is harmless if it occurs once at the start per stream) [file @ 0x2a15560] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a21700] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29e1320] compression: 1 [file @ 0x2a21700] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a218e0] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) 0x [tiff @ 0x29e6220] compression: 1 [file @ 0x2a21700] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a21900] Statistics: 12441758 bytes read, 0 seeks cur_dts is invalid (this is harmless if it occurs once at the start per stream) [tiff @ 0x29eb120] compression: 1 [file @ 0x2a21700] Setting default whitelist 'file,crypto' [AVIOContext @ 0x2a21920] Statistics: 12441758 bytes read, 0 seeks [tiff @ 0x29f0020] compression: 1 [Parsed_showinfo_0 @ 0x29f7ce0] n: 0 pts: 0 pts_time:0 pos: -1 fmt:yuv444p16le sar:0/1 s:1920x1080 i:P iskey:1 type:? checksum:EF8F8841 plane_checksum:[148DC5BC E80BF23D F4DBD02A] mean:[84 115 109] stdev:[61.5 62.9 61.7] [Parsed_zscale_1 @ 0x29f8040] w:1920 h:1080 fmt:yuv444p16le sar:0/1 -> w:1920 h:1080 fmt:yuv420p10le sar:0/1 ffmpeg: ./src/zimg/common/static_map.h:96: zimg::static_map<Key, T, Sz, Compare>::static_map(std::initializer_list<std::pair<_T1, _T2> >, const Compare&) [with Key = zimg_transfer_characteristics_e; T = zimg::colorspace::TransferCharacteristics; long unsigned int Sz = 8ul; Compare = std::less<zimg_transfer_characteristics_e>]: Assertion `(init.size() <= Sz) && ("list size incorrect")' failed. encoded 0 frames }}} I have double checked that my version of ZIMG is indeed 2.3.0. and according to ../zimg/zimg.pc it is version 2.3.0. Do I need to change the way I am specifying the transfer characteristics? -- Ticket URL: <https://trac.ffmpeg.org/ticket/5972#comment:4> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker