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: Misc:
- Debugger: Keep track of global cycle count - Debugger: Keep track of global cycle count
- FFmpeg: Add looping option for GIF/APNG - 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: Renderer can be changed while a game is running
- Qt: Add hex index to palette view - Qt: Add hex index to palette view
- Qt: Add transformation matrix info to sprite 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 // QuickTime and a few other things require YUV420
encoder->video->pix_fmt = AV_PIX_FMT_YUV420P; 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) { if (strcmp(vcodec->name, "libx264") == 0) {
// Try to adaptively figure out when you can use a slower encoder // Try to adaptively figure out when you can use a slower encoder