mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-07 15:22:57 +00:00
h264: set frame_num in start_frame(), not decode_slice_header()
That is a more appropriate place for it, since it is not allowed to change between slices.
This commit is contained in:
parent
741b494fa8
commit
792b9c9dfc
@ -553,6 +553,7 @@ static int h264_frame_start(H264Context *h)
|
|||||||
pic->reference = h->droppable ? 0 : h->picture_structure;
|
pic->reference = h->droppable ? 0 : h->picture_structure;
|
||||||
pic->f->coded_picture_number = h->coded_picture_number++;
|
pic->f->coded_picture_number = h->coded_picture_number++;
|
||||||
pic->field_picture = h->picture_structure != PICT_FRAME;
|
pic->field_picture = h->picture_structure != PICT_FRAME;
|
||||||
|
pic->frame_num = h->frame_num;
|
||||||
/*
|
/*
|
||||||
* Zero key_frame here; IDR markings per slice in frame or fields are ORed
|
* Zero key_frame here; IDR markings per slice in frame or fields are ORed
|
||||||
* in later.
|
* in later.
|
||||||
@ -1418,9 +1419,6 @@ int ff_h264_decode_slice_header(H264Context *h, H264SliceContext *sl)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!h->setup_finished)
|
|
||||||
h->cur_pic_ptr->frame_num = h->frame_num; // FIXME frame_num cleanup
|
|
||||||
|
|
||||||
assert(h->mb_num == h->mb_width * h->mb_height);
|
assert(h->mb_num == h->mb_width * h->mb_height);
|
||||||
if (first_mb_in_slice << FIELD_OR_MBAFF_PICTURE(h) >= h->mb_num ||
|
if (first_mb_in_slice << FIELD_OR_MBAFF_PICTURE(h) >= h->mb_num ||
|
||||||
first_mb_in_slice >= h->mb_num) {
|
first_mb_in_slice >= h->mb_num) {
|
||||||
|
Loading…
Reference in New Issue
Block a user