From d3a60f655582408f5a3ccb932abdd21c6e2ca16e Mon Sep 17 00:00:00 2001
From: Jeffrey Pfau <jeffrey@endrift.com>
Date: Wed, 12 Nov 2014 22:50:30 -0800
Subject: [PATCH] Video: Try to improve encoding speed/ratefactor a bit

---
 src/platform/ffmpeg/ffmpeg-encoder.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/platform/ffmpeg/ffmpeg-encoder.c b/src/platform/ffmpeg/ffmpeg-encoder.c
index 9510c4e0a..7a64d71e1 100644
--- a/src/platform/ffmpeg/ffmpeg-encoder.c
+++ b/src/platform/ffmpeg/ffmpeg-encoder.c
@@ -228,11 +228,14 @@ bool FFmpegEncoderOpen(struct FFmpegEncoder* encoder, const char* outfile) {
 	encoder->video->height = encoder->height;
 	encoder->video->time_base = (AVRational) { VIDEO_TOTAL_LENGTH, GBA_ARM7TDMI_FREQUENCY };
 	encoder->video->pix_fmt = encoder->pixFormat;
-	encoder->video->gop_size = 15;
-	encoder->video->max_b_frames = 0;
+	encoder->video->gop_size = 60;
+	encoder->video->max_b_frames = 3;
 	if (encoder->context->oformat->flags & AVFMT_GLOBALHEADER) {
 		encoder->video->flags |= CODEC_FLAG_GLOBAL_HEADER;
 	}
+	if (strcmp(vcodec->name, "libx264") == 0) {
+		av_opt_set(encoder->video, "tune", "zerolatency", 0);
+	}
 	avcodec_open2(encoder->video, vcodec, 0);
 	encoder->videoFrame = av_frame_alloc();
 	encoder->videoFrame->format = encoder->video->pix_fmt;