diff options
author | iive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-10-17 17:59:38 +0000 |
---|---|---|
committer | iive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-10-17 17:59:38 +0000 |
commit | 7306f6e2c1384fc018db33a7cfee1cd986cb79bc (patch) | |
tree | 6cf998c074fde65eece1f8c66547825038810f39 /libmpcodecs/ve_x264.c | |
parent | b74c9285300ae813ab7ad65bc2686e0014fe5e32 (diff) | |
download | mpv-7306f6e2c1384fc018db33a7cfee1cd986cb79bc.tar.bz2 mpv-7306f6e2c1384fc018db33a7cfee1cd986cb79bc.tar.xz |
Mark I-frames as seekable only if we encode with one reference frame, IDR are always seekable
patch send by Loren Merritt
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13659 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/ve_x264.c')
-rw-r--r-- | libmpcodecs/ve_x264.c | 4 |
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; } |