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

Stefano Sabatini stefasab at gmail.com
Wed Jun 18 11:22:27 CEST 2014


On date Tuesday 2014-06-10 11:17:48 -0400, Ronald S. Bultje encoded:
> Hi,
[...]
> > > 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?
> >
> 
> This is 2 lines above what you patches: h->deblocking_filter == 2 (or in
> the spec: disable_deblocking_filter_idc == 2) means deblock only edges that
> don't cross slices. 1 means deblock all edges, even between slices (which
> means you can't mt it if you use slice-mt). 0 means no deblocking.
> 
> I don't know what mode x264 uses from the top of my head.

Thanks for the valuable information and explanation. From my browsing
in the libx264 source-code there is no way to explicitly set the
option, it is automatically enabled when slices are enabled (but: I
might be wrong).

Updated patch with more verbose explanation.
-- 
FFmpeg = Faithless Fancy Minimalistic Ponderous Extreme God
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-lavc-h264_slice-clarify-informational-message-in-cas.patch
Type: text/x-diff
Size: 1481 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140618/f623ef81/attachment.bin>


More information about the ffmpeg-devel mailing list