<html><head></head><body>Hi,<br><br>I don't follow. Normally, you can't start any decoder if you don't know the format. It's even so now that if the packetiser finds a format change, we restart the decoder. That was specifically added (by Thomas?) to address switching between software and hardware decoding.<br><br>I don't see how you can even end up in the described situation, unless the demuxer lies about the ES being packetised.<br><br><div class="gmail_quote">Le 6 avril 2020 16:02:06 GMT+03:00, quentin.chateau@deepskycorp.com a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">From: Quentin Chateau <quentin.chateau@deepskycorp.com><br><br>When the chroma and depth is unknown to the hxxx_helper,<br>fallback to the common 4:2:0 8bits format as initial value.<br>The decoder may change these values later on.<hr> modules/hw/nvdec/nvdec.c | 20 ++++++++++++--------<br> 1 file changed, 12 insertions(+), 8 deletions(-)<br><br>diff --git a/modules/hw/nvdec/nvdec.c b/modules/hw/nvdec/nvdec.c<br>index e3aeff2355..ca28522d32 100644<br>--- a/modules/hw/nvdec/nvdec.c<br>+++ b/modules/hw/nvdec/nvdec.c<br>@@ -923,15 +923,19 @@ static int OpenDecoder(vlc_object_t *p_this)<br> // try different output<br> if (p_sys->b_is_hxxx)<br> {<br>- uint8_t i_chroma_idc, i_depth_chroma;<br>- result = hxxx_helper_get_chroma_chroma(&p_sys->hh, &i_chroma_idc,<br>- &i_depth_luma, &i_depth_chroma);<br>- if (result != VLC_SUCCESS) {<br>- if (p_sys->b_is_hxxx)<br>- hxxx_helper_clean(&p_sys->hh);<br>- return VLC_EGENERIC;<br>+ uint8_t hxxx_chroma_idc, hxxx_depth_chroma, hxxx_depth_luma;<br>+ result = hxxx_helper_get_chroma_chroma(&p_sys->hh, &hxxx_chroma_idc,<br>+ &hxxx_depth_luma, &hxxx_depth_chroma);<br>+ if (result == VLC_SUCCESS)<br>+ {<br>+ i_depth_luma = hxxx_depth_luma;<br>+ cudaChroma = MapChomaIDC(hxxx_chroma_idc);<br>+ }<br>+ else<br>+ {<br>+ cudaChroma = cudaVideoChromaFormat_420;<br>+ i_depth_luma = 8;<br> }<br>- cudaChroma = MapChomaIDC(i_chroma_idc);<br> <br> unsigned i_w, i_h, i_vw, i_vh;<br> result = hxxx_helper_get_current_picture_size(&p_sys->hh, &i_w, &i_h, &i_vw, &i_vh);</pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>