[FFmpeg-devel] [PATCH] lavc/h264_slice: clarify informational message in case of disabled slice multi-threaded decoding

Stefano Sabatini stefasab at gmail.com
Tue Jun 10 14:18:23 CEST 2014


In data Monday 2014-06-09 14:20:25 -0400, Ronald S. Bultje ha scritto:
> Hi,
> 
> On Mon, Jun 9, 2014 at 1:34 PM, Stefano Sabatini <stefasab at gmail.com> wrote:
> 
> > Also suggest what can be done to workaround the limitation.
> > ---
> >  libavcodec/h264_slice.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> > index 5f67b54..61064e3 100644
> > --- a/libavcodec/h264_slice.c
> > +++ b/libavcodec/h264_slice.c
> > @@ -1873,7 +1873,8 @@ int ff_h264_decode_slice_header(H264Context *h,
> > H264Context *h0)
> >              h0->max_contexts = 1;
> >              if (!h0->single_decode_warning) {
> >                  av_log(h->avctx, AV_LOG_INFO,
> > -                       "Cannot parallelize deblocking type 1, decoding
> > such frames in sequential order\n");
> > +                       "Cannot parallelize slice decoding with deblocking
> > filter type 1, decoding such frames in sequential order\n"
> > +                       "You can use flag2 +fast to enable it\n");
> >                  h0->single_decode_warning = 1;
> >              }
> >              if (h != h0) {
> > --
> > 1.8.3.2
> 
> 
> You should probably also make it clear that doing so will cause
> nondeterministic output which violates the h264 spec?

This should be apparent from fast flag documentation. But I can add:

"You can use flag2 +fast to enable it, but this will generate non-spec-compliant output"

> I mean, the more appropriate things to do are:
> - if latency is acceptable, use some other form of threading (e.g. frame-mt)

> - if latency is not acceptable (e.g. live videochat), use skip-slice-edges
> loopfilter mode (in the encoder)

Can't find a reference to such mode, can you provide a link or
reference? What codecs provide such option?


More information about the ffmpeg-devel mailing list