Error 8973 is triggered if the number of open HW decoding sessions is > than the number of available HW decoders
Further, a failing session creation should not invalidate the entire video decoding chain but just trigger the fallback
The FCC defines a "safe area" for caption rendering to be 80% of the
window height. This patch changes it from 75% to 80%, and fixes a
bug in the original math due to integer arithmetic (the result of
(100/16 got truncated):
Original math:
100 / 16 * 8 / 10 = 4.8
Fixed math:
100 * 8 / 10 / 16 = 5
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
The coded video size is already fixed by the decoder when creating the
vidoe acceleration plugin, while the chroma is fixed by
vlc_va_GetChroma(). This callback is useless.
This call was originally meant to adjust the hardware acceleration to
video size changes, but that cannot happen there anymore. Also errors
cannot be handled properly there either.
The performance gains from not emulating edges was low if any, if not
negative. In any case, this was for non-DR cases only, so so much for
performance...
Also do not bother setting the flag at all with newer versions as it
was deprecated, and the underlying feature is always on.
The direct rendering flag used to gated certain code paths from
hardware decoding. Nowadays, the flag is not checked when hardware
decoding is active, so there are no needs to clobber it anymore.
This allows using direct rendering when falling back from hardware
decoding to software decoding.
When needed (fmt->b_packetized == false), create a packetizer before creating a
decoder. The fmt_in of the decoder is copied either from the fmt_out of the
packetizer, or from the fmt of CreateDecoder.
This function returns of list of hacks that are needed for codec
initialization, and also include IgnoreOmxDecoderPadding hack.
Remove OMX.MTK.VIDEO.DECODER.MPEG4 from blacklist since it only need a valid
CSD.
Rename it to pf_process_output. The output buffer is now dequeued/parsed
outside of the pf callback.
This commit also removes the decoder_NewPicture HACK to know if decoder is
flushing.