summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2006-03-04 03:57:33 +0000
committerLoren Merritt <lorenm@u.washington.edu>2006-03-04 03:57:33 +0000
commit9e4cc776da01daa73c98478dcea2a90994c171e5 (patch)
tree508c06d9c9988c2d7e35e596cede72ca05152f1d /libavcodec/h264.c
parent6a045bf3bd39ad2d8b091dd4b6331473e89357b2 (diff)
keyframe flag was wrong if SEIs followed the keyframe
Originally committed as revision 5107 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264.c')
-rw-r--r--libavcodec/h264.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 9dfc89e234..a0a0ada235 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -7548,6 +7548,7 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
break;
}
+ s->current_picture_ptr->key_frame= (h->nal_unit_type == NAL_IDR_SLICE);
if(h->redundant_pic_count==0 && s->hurry_up < 5
&& (avctx->skip_frame < AVDISCARD_NONREF || h->nal_ref_idc)
&& (avctx->skip_frame < AVDISCARD_BIDIR || h->slice_type!=B_TYPE)
@@ -7617,7 +7618,6 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_H264;
s->current_picture_ptr->pict_type= s->pict_type;
- s->current_picture_ptr->key_frame= s->pict_type == I_TYPE && h->nal_unit_type == NAL_IDR_SLICE;
h->prev_frame_num_offset= h->frame_num_offset;
h->prev_frame_num= h->frame_num;