FFmpeg: Use range coder for FFV1 to reduce output size

This commit is contained in:
Vicki Pfau 2020-07-03 03:50:12 -07:00
parent d9cc9b20ff
commit a42c6aa1f6
2 changed files with 6 additions and 0 deletions

View File

@ -41,6 +41,7 @@ Other fixes:
Misc:
- Debugger: Keep track of global cycle count
- FFmpeg: Add looping option for GIF/APNG
- FFmpeg: Use range coder for FFV1 to reduce output size
- Qt: Renderer can be changed while a game is running
- Qt: Add hex index to palette view
- Qt: Add transformation matrix info to sprite view

View File

@ -383,6 +383,11 @@ bool FFmpegEncoderOpen(struct FFmpegEncoder* encoder, const char* outfile) {
// QuickTime and a few other things require YUV420
encoder->video->pix_fmt = AV_PIX_FMT_YUV420P;
}
#if LIBAVCODEC_VERSION_MAJOR >= 57
if (encoder->video->codec->id == AV_CODEC_ID_FFV1) {
av_opt_set(encoder->video->priv_data, "coder", "range_tab", 0);
}
#endif
if (strcmp(vcodec->name, "libx264") == 0) {
// Try to adaptively figure out when you can use a slower encoder