[FFmpeg-devel] Does FFplay support HEVC interlaced bitstream display?

Andy Furniss adf.lists at gmail.com
Tue Dec 1 14:01:17 CET 2015


Hendrik Leppkes wrote:
> On Tue, Dec 1, 2015 at 1:36 PM, wm4 <nfxjfg at googlemail.com> wrote:
>> On Tue, 1 Dec 2015 12:12:13 +0000 Andy Furniss
>> <adf.lists at gmail.com> wrote:
>>
>>> Fan Yingming wrote:
>>>> Hi, everyone.
>>>>
>>>> I noticed that HEVC support interlaced field encoding, but
>>>> FFplay didn't support HEVC interlaced bitstream display.
>>>>
>>>> We know FFplay play h264 interlaced bitstream perfectly.
>>>>
>>>> I'd like to know if FFplay support HEVC interlaced bitstream
>>>> display. And will FFmpeg support that?
>>>
>>> I don't think so.
>>>
>>> It is possible to play hevc interlaced with ffmpeg via mpv but
>>> you'll have to set up your own filter chain and possibly adjust
>>> for field order.
>>>
>>> I've done it on a homemade (libx265) test. libx265 only takes a
>>> certain field order and expects fields, plus interlaced support
>>> is (was) flagged as experimental. It did seem to work though, it
>>> was a while ago so this is just a paste from notes on the
>>> playback side - basically you need to weave the fields that the
>>> decoder outputs as weaved frames is what other decoders output.
>>>
>>> mpv -fs --vf=lavfi=[tinterlace=merge,setsar=1/1,yadif=1]
>>> hevc-interl-5M.mkv
>>
>> Exactly the same (without the lavfi wrapper of course) should work
>> on ffplay.

Yea, I guess, just posting what I new worked for me.

>>
>> So does this mean the HEVC decoder outputs separate fields only?
>> This is really odd, although I can understand why.
>
> The reason for that is that HEVC doesn't actually have any
> interlaced coding tools, just some metadata to flag a stream as
> interlaced. So an interlaced stream is just a stream of half-height
> frames at twice the fps.
>
> I thought there was a patch to assemble them back into frames,
> though. Maybe it was never applied.

With very recent mpv/ffmpeg my test still outputs fields.

On the "just metadata" comment - you do have to feed (IIRC) top field
first so I would hope there is some spatial handling of the bobbing in
there somewhere, but then "my hope" may not match with reality :-)



More information about the ffmpeg-devel mailing list