mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Move setting of key frame flag for intra-only codecs, ignoring key frame
flag of parser for such codecs as intra-only parsers don't set key frame flag. Corrects lack of key frame marking in mjpeg, possibly others. Original thread: Key Frame Marking, Fri, 12 Oct 2007 03:35:57 Originally committed as revision 10850 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c198955252
commit
3a1d358825
@ -647,9 +647,6 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
|||||||
pkt->dts += offset;
|
pkt->dts += offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_intra_only(st->codec))
|
|
||||||
pkt->flags |= PKT_FLAG_KEY;
|
|
||||||
|
|
||||||
/* do we have a video B frame ? */
|
/* do we have a video B frame ? */
|
||||||
delay= st->codec->has_b_frames;
|
delay= st->codec->has_b_frames;
|
||||||
presentation_delayed = 0;
|
presentation_delayed = 0;
|
||||||
@ -726,7 +723,9 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
|||||||
// av_log(NULL, AV_LOG_ERROR, "OUTdelayed:%d/%d pts:%"PRId64", dts:%"PRId64" cur_dts:%"PRId64"\n", presentation_delayed, delay, pkt->pts, pkt->dts, st->cur_dts);
|
// av_log(NULL, AV_LOG_ERROR, "OUTdelayed:%d/%d pts:%"PRId64", dts:%"PRId64" cur_dts:%"PRId64"\n", presentation_delayed, delay, pkt->pts, pkt->dts, st->cur_dts);
|
||||||
|
|
||||||
/* update flags */
|
/* update flags */
|
||||||
if (pc) {
|
if(is_intra_only(st->codec))
|
||||||
|
pkt->flags |= PKT_FLAG_KEY;
|
||||||
|
else if (pc) {
|
||||||
pkt->flags = 0;
|
pkt->flags = 0;
|
||||||
/* key frame computation */
|
/* key frame computation */
|
||||||
if (pc->pict_type == FF_I_TYPE)
|
if (pc->pict_type == FF_I_TYPE)
|
||||||
|
Loading…
Reference in New Issue
Block a user