[vlc-devel] [PATCH 1/2] nvdec: add chroma and depth fallback
quentin.chateau at deepskycorp.com
quentin.chateau at deepskycorp.com
Mon Apr 6 15:02:06 CEST 2020
From: Quentin Chateau <quentin.chateau at deepskycorp.com>
When the chroma and depth is unknown to the hxxx_helper,
fallback to the common 4:2:0 8bits format as initial value.
The decoder may change these values later on.
---
modules/hw/nvdec/nvdec.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/modules/hw/nvdec/nvdec.c b/modules/hw/nvdec/nvdec.c
index e3aeff2355..ca28522d32 100644
--- a/modules/hw/nvdec/nvdec.c
+++ b/modules/hw/nvdec/nvdec.c
@@ -923,15 +923,19 @@ static int OpenDecoder(vlc_object_t *p_this)
// try different output
if (p_sys->b_is_hxxx)
{
- uint8_t i_chroma_idc, i_depth_chroma;
- result = hxxx_helper_get_chroma_chroma(&p_sys->hh, &i_chroma_idc,
- &i_depth_luma, &i_depth_chroma);
- if (result != VLC_SUCCESS) {
- if (p_sys->b_is_hxxx)
- hxxx_helper_clean(&p_sys->hh);
- return VLC_EGENERIC;
+ uint8_t hxxx_chroma_idc, hxxx_depth_chroma, hxxx_depth_luma;
+ result = hxxx_helper_get_chroma_chroma(&p_sys->hh, &hxxx_chroma_idc,
+ &hxxx_depth_luma, &hxxx_depth_chroma);
+ if (result == VLC_SUCCESS)
+ {
+ i_depth_luma = hxxx_depth_luma;
+ cudaChroma = MapChomaIDC(hxxx_chroma_idc);
+ }
+ else
+ {
+ cudaChroma = cudaVideoChromaFormat_420;
+ i_depth_luma = 8;
}
- cudaChroma = MapChomaIDC(i_chroma_idc);
unsigned i_w, i_h, i_vw, i_vh;
result = hxxx_helper_get_current_picture_size(&p_sys->hh, &i_w, &i_h, &i_vw, &i_vh);
--
2.17.1
More information about the vlc-devel
mailing list