On Mon, 6 Feb 2012, Anton Khirnov wrote:


On Tue, 10 Jan 2012 11:24:11 +0000, Måns Rullgård <[email protected]> wrote:
Anton Khirnov <[email protected]> writes:

> It is not supposed to be done outside lavc.
>
> This is basically a revert of 818062f2f346df30f4ec0c0c1f54e8025cc3a80a.
>
> It is unclear what issue this was supposed to fix, if it reappears again
> it will have to be fixed in a more proper place.
> ---
>  libavformat/utils.c |    4 ----
>  1 files changed, 0 insertions(+), 4 deletions(-)
>
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index a796658..6424eec 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -961,10 +961,6 @@ static void compute_pkt_fields(AVFormatContext *s, 
AVStream *st,
>      if((s->flags & AVFMT_FLAG_IGNDTS) && pkt->pts != AV_NOPTS_VALUE)
>          pkt->dts= AV_NOPTS_VALUE;
>
> -    if (st->codec->codec_id != CODEC_ID_H264 && pc && pc->pict_type == 
AV_PICTURE_TYPE_B)
> -        //FIXME Set low_delay = 0 when has_b_frames = 1
> -        st->codec->has_b_frames = 1;
> -
>      /* do we have a video B-frame ? */
>      delay= st->codec->has_b_frames;
>      presentation_delayed = 0;
> --
Seems OK.  I trust you ran fate without issues.


I still didn't push this because it breaks the recently added wtv-demux
test. In it, the input contains mpeg2 video that apparrently starts with
a B-frame. After this patch, has_b_frames isn't set until a few frames
later and compute_pkt_fields() random generator produces a different dts
for the first frame.

Do we care? Should the parser set has_b_frames immediately when it sees
a B-frame? Or shall I push it as is?

I'm ok with this (with the fate ref updated), since it simplifies/clarifies the roles of which parts of the code actually sets has_b_frames.

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to