Como sugerido por Mulvya em um comentário, a biblioteca libavfilter tem um filtro chamado minterpolate , que está disponível desde Novembro de 2016. De acordo com a descrição do fitler, seu objetivo é:
"Convert the video to specified frame rate using motion interpolation."
Exemplo de uso:
ffmpeg -i input.60fps.hevc -filter "minterpolate='fps=120'" output.120fps.hevc
Eu não sei quais configurações usar para obter o melhor resultado possível. Pela minha experiência, as configurações padrão fornecem qualidade aceitável da própria interpolação de movimento. Mas há alguns artefatos visuais muito visíveis introduzidos ocasionalmente. Não consegui encontrar uma combinação de configurações que as eliminasse completamente.
O filtro está muito lento no momento. Ele pode gerar cerca de 2 quadros interpolados por movimento de vídeo 1080p por segundo em uma CPU x86 moderna e sofisticada. Tenho notado que a interpolação utiliza apenas um único encadeamento da CPU, que é provavelmente a principal razão para uma velocidade tão lenta.
Para acelerar o filtro em uma CPU multi-core, pode ser aconselhável dividir o vídeo de entrada em vários pedaços de igual comprimento e aplicar a interpolação de movimento a todos eles em paralelo.