[FFmpeg-user] HEVC decoding from multicast
Carl Eugen Hoyos
cehoyos at ag.or.at
Wed Feb 5 18:27:49 CET 2014
Andrey Utkin <andrey.krieger.utkin <at> gmail.com> writes:
> >> needed video stream, with AVPacket.flags & AV_PKT_FLAG_KEY
> >
> > Are you sure that for all valid hevc streams this flag will
> > ever be set?
>
> I am not sure in anything, i've just said about what i would
> try first.
>
> > (This is not true for h264 where valid streams do not
> > necessarily contain an I-frame.)
>
> Interesting, didn't know. Is there a special name for such
> mode?
I don't know but since you may not know it:
H264 frames after an I-frame are allowed to reference older
frames from before that I-frame.
(So the usefulness of AV_PKT_FLAG_KEY is extremely limited
for H.264, as said, the decoder by default takes care about
this and starts decoding from a recovery point unless told
otherwise.)
I absolutely don't know if this is also true for hevc but
I wouldn't be surprised.
> >> As a hint you could check AVPacket.flags for
> >> AV_PKT_FLAG_CORRUPT
> >
> > Does this flag really have any relevance?
> > (I don't mean for hevc streams but in the general case:
> > When is it useful?)
>
> mpegts demuxer sets this when PES packet is not percepted
> totally correctly. AVFormatContext can be configured to
> discard them silently, but by default they are returned
> from av_read_frame() amongst others.
Ok, understood.
My question is now: In which situation would you like to
discard those frames? Error concealment historically was
a strength of FFmpeg (there was a paper comparing it to
commercial decoders), completely dropping a frame instead
of decoding as much as possible must have catastrophic
visual effects on any real-life content or do I miss
something?
Carl Eugen
More information about the ffmpeg-user
mailing list