Mercurial > mplayer.hg
comparison libmpcodecs/ve_x264.c @ 13658:8c93573e0cdf
Mark I-frames as seekable only if we encode with one reference frame, IDR are always seekable
patch send by Loren Merritt
author | iive |
---|---|
date | Sun, 17 Oct 2004 17:59:38 +0000 |
parents | 17cb9c6a99f6 |
children | b825bd2efe14 |
comparison
equal
deleted
inserted
replaced
13657:1255d1604e00 | 13658:8c93573e0cdf |
---|---|
302 for(i=0; i < i_nal; i++) { | 302 for(i=0; i < i_nal; i++) { |
303 int i_data = mod->mux->buffer_size - i_size; | 303 int i_data = mod->mux->buffer_size - i_size; |
304 i_size += x264_nal_encode(mod->mux->buffer + i_size, &i_data, 1, &nal[i]); | 304 i_size += x264_nal_encode(mod->mux->buffer + i_size, &i_data, 1, &nal[i]); |
305 } | 305 } |
306 if(i_size>0) { | 306 if(i_size>0) { |
307 muxer_write_chunk(mod->mux, i_size, (mod->pic.i_type == X264_TYPE_I)?0x10:0); | 307 int keyframe = (mod->pic.i_type == X264_TYPE_IDR) || |
308 (mod->pic.i_type == X264_TYPE_I && frame_ref == 1); | |
309 muxer_write_chunk(mod->mux, i_size, keyframe?0x10:0); | |
308 } | 310 } |
309 return 1; | 311 return 1; |
310 } | 312 } |
311 | 313 |
312 static void uninit(struct vf_instance_s *vf) | 314 static void uninit(struct vf_instance_s *vf) |