summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ve_x264.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libmpcodecs/ve_x264.c b/libmpcodecs/ve_x264.c
index 7b3584cf00..ab1f5147c6 100644
--- a/libmpcodecs/ve_x264.c
+++ b/libmpcodecs/ve_x264.c
@@ -304,7 +304,9 @@ static int put_image(struct vf_instance_s *vf, mp_image_t *mpi)
i_size += x264_nal_encode(mod->mux->buffer + i_size, &i_data, 1, &nal[i]);
}
if(i_size>0) {
- muxer_write_chunk(mod->mux, i_size, (mod->pic.i_type == X264_TYPE_I)?0x10:0);
+ int keyframe = (mod->pic.i_type == X264_TYPE_IDR) ||
+ (mod->pic.i_type == X264_TYPE_I && frame_ref == 1);
+ muxer_write_chunk(mod->mux, i_size, keyframe?0x10:0);
}
return 1;
}