Hello,

Le 2014-10-13 14:16, Luca Barbato a écrit :
Based on the VDPAU series review, I have to believe that adding new visible
but internal members to AVHWAccel is not allowed.

I consider AVHWAccel the same as AVCodec, from outside should be
always accessed by reference.

That's also true of AVVDPAUContext.

Are the codec profile and resolution known at that point? I would not think so.

A bitstream hwaccel does that internally.

Unless the back-end supports everything and falls back to software internally, that will be unusable in generic media players or transcoding pipelines with untrusted/unknown inptus, where the user cannot be expected to toggle hardware acceleration on a per-input basis.

If not, that will never going to work smoothly, unless the back-end supported all profiles and all resolutions. In particular, that will prevent software
fallback.

I'd rather rework the software fallback on a second time and I'd
rather add an option to make it an explicit error instead of always
automagic.

Rewinding is not generally an option. It carries implications for the upstream bytestream and demuxer that are not generally true. Even when true, that hardly fits the typical architecture of a video decoding pipeline where there are no provisions for the decoder to rewind of its own.

If it is not generic *and* libavcodec is not doing anything with the data (not even parsing slices), then what's the point in abstracting it inside libavcodec and cluttering the hwaccel abstraction with it?

--
Rémi Denis-Courmont
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to