[vlc-devel] VDA decoder module

Dilaroga Dev dilaroga at gmail.com
Sun May 16 18:50:46 CEST 2010


On May 15, 2010, at 5:36 PM, Laurent Aimar wrote:
> Hi,
> On Sat, 2010-05-15 at 15:52 +0200, Dilaroga Dev wrote:
>> New implementation: i've removed the libswscale dependency. 
>> m2ts are not yet decoded.
> One of the issue I see with the current implementation, is that you use
> the PTS to reorder the output.

Yes, i need to reorder the decoded frames because the vdadecoder output 
callback may be called in decode order rather than presentation order.

> With m2ts (and normal TS, asf, avi, and
> maybe some .mp4, at least) you will not always have a valid/present PTS
> to do so.

m2ts samples at streams.v.o are skipped by the vdadecoder cause of the
bitstream is null.
The vdadecoder requires some valid avc data to be created. Moreover, we can't pass NULL
as avc data parameter to VDADecoderCreate. In the two cases, the vdadecoder fails to 
initialize and the module passes the hand.

At least h264 produced by mp4 or matroska are now decoded by VDA.

The only issue that i've encountered is the playback of the sample cube.mp4 (at streams.v.o). 
The data are valid for creating the vdadecoder but all frames are dropped by the output callback.

> I am not sure of the best way to fix that:
> - patching ffmpeg to do the job for you (a bit like vaapi/dxva2)
> - fixing the avc packetizer to compute a pts for each frame. This one
> would be better for VLC but it's a lot of work.

I've started to add a ffmpeg hw module i'll investigate more on the vlc/module/codec/avcodec.
The second solution seems to be more complicated for me.

Best Regards,

More information about the vlc-devel mailing list