in version 4.0.4 I’m able to import single layer EXRs and export with no issue. However after 4.1.2 EXRS are automatically processed into tiffs – would it be possible to run EXRs via CLI so I’m able to retain all the EXR rgb data? converting to tiffs results in a big quality loss that I’d like to avoid.
I’m currently on topaz 5.0 and would like to continue using the latest if possible and avoid reverting to 4.0.4
Tiff is lossless, so the quality loss has to be from converting 16bit to 8bit, or maybe a colorspace conversion.
I think the reason that they changed it to tiff, is to reduce confusion. FFmpeg cannot process more than the one layer of an exr and the rest get thrown away.
working with 32 bit EXRs – i also guessed that they changed to tiff to avoid dealing with multiple layers, but previous versions of topaz were able to parse the rgb layer from EXRs just fine. Wondering if that functionality still exists and is usable via CLI or if the model just does not work with EXRs anymore.
In that case. Yes you can make it work in the CLI.
ffmpeg logs continue to be unhelpful, I’m unable to convert any exrs using CLI thus far –
running this command with EXRs that worked in 4.0.4 but no luck with getting it to run in CLI in 5.0
this is the ffmpeg command
ffmpeg -loglevel debug -start_number 1001 -i "insert/exr/sequence/here.%04d.exr" "-sws_flags" "spline+accurate_rnd+full_chroma_int" -color_trc 2 -colorspace 2 -color_primaries 2 -filter_complex "tvai_up=model=prob-4:scale=0:w=7680:h=4320:preblur=0:noise=0:details=0:halo=0:blur=0:compression=0:estimate=8:blend=0.5:device=0:vram=1:instances=1,scale=w=7680:h=4320:flags=lanczos:threads=0:force_original_aspect_ratio=decrease,pad=7680:4320:-1:-1:color=black" "-q:v" "2" -start_number 1001 "save/exr/here.%04d.exr"
and this is where the ffmpeg logging stops and just does nothing
2024-04-22 17:55:07 7524 INFO: Loading filename prap-v3-fp32-ox.tz fp32-ox.tz ["auto6params/output:0"]
2024-04-22 17:55:07 7524 INFO: Total Devices: 1
2024-04-22 17:55:07 7524 INFO: DEVICE DETAILS: 0 INSTANCES 1
2024-04-22 17:55:07 7524 INFO: PARAM DEVICE: 0
2024-04-22 17:55:07 7524 INFO: ModelBackend loading from file
2024-04-22 17:55:07 7524 INFO: CACHING MAY NOT WORK"C:\\ProgramData\\Topaz Labs LLC\\Topaz Video AI\\prap-v3-fp32-ox.tz"
2024-04-22 17:55:07 7524 INFO: Reading model file duration: 2.404 ms
2024-04-22 17:55:07 7524 INFO: OX with device: 0
2024-04-22 17:55:07 7524 CRITICAL: ONNX problem: DML InitD:\a\_work\1\s\onnxruntime\core\providers\dml\dml_provider_factory.cc(163)\onnxruntime.dll!00007FF9EA4DA2A0: (caller: 00007FF9EA4DA362) Exception(1) tid(1d64) C0262002 Specified display adapter handle is invalid.
2024-04-22 17:55:07 7524 CRITICAL: ORT Session creation failed
2024-04-22 17:55:07 7524 CRITICAL: Loading default error reading file: C://ProgramData//Topaz Labs LLC//Topaz Video AI/prap-v3-fp32-ox.tz
any advice or ideas would be greatly appreciated, quite frustrated upon not being able to use topaz with EXRs directly anymore
Last time I tried to enable logging with the TVAI ffmpeg, it broke it. As in: the command worked without the logging, but failed with it.
Check and see if it has the encoder. They may have had to remove it to comply with licensing.
video-encoders.json file does look like it has the exr encoder
same command doesn’t work if i remove logging, but thats super interesting i didn’t realize that logging could break the CLI commands
is it possible that EXRs were taken out of the models? so even though topaz is able to encode to an EXR output it cannot filter EXRs? running it with this command now
ffmpeg -hide_banner -start_number 001 -i "input file" "-sws_flags" "spline+accurate_rnd+full_chroma_int" -color_trc 2 -colorspace 2 -color_primaries 2 -filter_complex "tvai_up=model=prob-4:scale=0:w=7680:h=4320:preblur=0:noise=0:details=0:halo=0:blur=0:compression=0:estimate=8:blend=0.5:device=0:vram=1:instances=1,scale=w=7680:h=4320:flags=lanczos:threads=0:force_original_aspect_ratio=decrease,pad=7680:4320:-1:-1:color=black" "-q:v" "2" -start_number 001 "output file"
and getting this error
[vost#0:0/exr @ 000001B3077BC3C0] No filtered frames for output stream, trying to initialize anyway.
so I’m assuming that EXR channels were read, and then attempted to run through the topaz filter, but something inside the model/filter is not giving any frames back