[VDPAU] ffmpeg and HEVC: NumLongTermPicturesSlcieHeaderBits
Philip Langdale
philipl at overt.org
Wed May 27 14:02:30 PDT 2015
On 2015-05-27 13:54, José Hiram Soltren wrote:
> Hello phil,
>> Hmm. I may have run the trace with de-int turned on in mplayer, but I
>> also ran it
>> with de-int turned off and it didn't help. Maybe mplayer sets the
>> surfaces
>> regardless,
>> but I thought it didn't. I'll double check.
>
> Possibly. I don't have an in depth understanding of mplayer's surface
> management code. The calls to VdpVideoMixerRender you provided are
> different
> from mine as noted above.
I double-checked, mplayer always passes the extra surfaces, even if
de-init is turned
off. I'll forcibly stop it from doing this and try again tonight.
>> Are you guys going to change how the ouput surface in constructed? I
>> know we're
>> discussing
>> presentation hacks here, but even get_bits on the output surface
>> returns the
>> interlaced
>> form - I tested the basic ffmpeg mode where it doesn't do any
>> presentation at
>> all and
>> just reads the surface back.
>
> Possibly. I'll communicate any such plans on this list. The hardware
> decodes a
> single progressive frame and places it into a single location in
> memory. This
> is what VdpDecoderRender does. VdpVideoMixerRender would be the process
> responsible for any interlacing you would see.
So, the direct path in ffmpeg doesn't use a mixer at all. It
instantiates a decoder
and surfaces and then calls getBits on the output surface. I did a quick
test
telling ffmpeg to output pngs of frames and they are clearly interlaced.
If I understood
your description of the current decoder behaviour, this makes sense. You
said that it is
not laying out the YUV frame the way a 'normal' progressive frame would
be, so isn't that
why ffmpeg would show these results, independent of the mixer?
I guess there's probably an output surface format type that reflects
what you're doing,
but the vdpau API doesn't encompass that so it's marked as yuv420p which
isn't actually
accurate?
--phil
More information about the VDPAU
mailing list