Mercurial > libavformat.hg
changeset 2666:1995444f6267 libavformat
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
author | heydowns |
---|---|
date | Wed, 24 Oct 2007 04:54:44 +0000 |
parents | 9645f395842d |
children | e896ac505ec6 |
files | utils.c |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/utils.c Tue Oct 23 22:28:57 2007 +0000 +++ b/utils.c Wed Oct 24 04:54:44 2007 +0000 @@ -647,9 +647,6 @@ pkt->dts += offset; } - if(is_intra_only(st->codec)) - pkt->flags |= PKT_FLAG_KEY; - /* do we have a video B frame ? */ delay= st->codec->has_b_frames; presentation_delayed = 0; @@ -726,7 +723,9 @@ // 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 */ - if (pc) { + if(is_intra_only(st->codec)) + pkt->flags |= PKT_FLAG_KEY; + else if (pc) { pkt->flags = 0; /* key frame computation */ if (pc->pict_type == FF_I_TYPE)