Tool/software:
We are trying to use a function defined in this library, libscalar.a.
Locally, it is located in the following directory
- 92_j722s/vhwa_c_models/vpac3/lib/PC/x86_64/LINUX/release/libscalar.a
in order to convert NV12 image to BGR, as defined in scalar_core.h
-
int scaler_top_processing(unsigned short *imgInput[2], unsigned short * imgOutput[SCALER_NUM_PIPES], Scaler_Config *config);
However, based on the return value of '0', and the output data stored in 'imgOutput', it seems that the function
is not behaving as expected.
And due to the unavailability of the source code, it is not possible to diagnose the problem further.
I am also sharing the actual values 'Scaler_Config *Config' was set to.
Scaler_Config settings{}; settings.G_inWidth[0] = 1920; settings.G_inHeight[0] = 1536; settings.G_inWidth[1] = 0; settings.G_inHeight[1] = 0; settings.bitWidth = 0; // Assign values to coef_sp[0] settings.coef_sp[0][0] = 3432; settings.coef_sp[0][1] = 0; settings.coef_sp[0][2] = -2799; settings.coef_sp[0][3] = 21845; settings.coef_sp[0][4] = 3432; // Assign values to coef_sp[1] settings.coef_sp[1][0] = 0; settings.coef_sp[1][1] = 21302; settings.coef_sp[1][2] = 0; settings.coef_sp[1][3] = -1; settings.coef_sp[1][4] = -1; uint32_t i; for (i = 0; i < 32; i++) { settings.coef_mp[0].matrix[i][0] = 0; settings.coef_mp[0].matrix[i][1] = 0; settings.coef_mp[0].matrix[i][2] = 256; settings.coef_mp[0].matrix[i][3] = 0; settings.coef_mp[0].matrix[i][4] = 0; } for (i = 0; i < 32; i++) { settings.coef_mp[1].matrix[i][0] = 0; settings.coef_mp[1].matrix[i][1] = 0; settings.coef_mp[1].matrix[i][2] = 0; settings.coef_mp[1].matrix[i][3] = 256; settings.coef_mp[1].matrix[i][4] = 0; } /* Coefficients for Nearest Neighbor */ for (i = 0; i < 32; i++) { settings.coef_mp[2].matrix[i][0] = 0; settings.coef_mp[2].matrix[i][1] = 0; settings.coef_mp[2].matrix[i][2] = 256; settings.coef_mp[2].matrix[i][3] = 0; settings.coef_mp[2].matrix[i][4] = 0; } for (i = 0; i < 32; i++) { settings.coef_mp[3].matrix[i][0] = 0; settings.coef_mp[3].matrix[i][1] = 0; settings.coef_mp[3].matrix[i][2] = 0; settings.coef_mp[3].matrix[i][3] = 256; settings.coef_mp[3].matrix[i][4] = 0; } settings.cfg_Kernel[0].Sz_height = 5; settings.cfg_Kernel[0].Tpad_sz = 2; settings.cfg_Kernel[0].Bpad_sz = 2; settings.cfg_Kernel[0].Ln_offset = 0; settings.cfg_Kernel[1].Sz_height = 0; settings.cfg_Kernel[1].Tpad_sz = 0; settings.cfg_Kernel[1].Bpad_sz = 0; settings.cfg_Kernel[1].Ln_offset = 0; settings.unitParams[0].threadMap = 0; settings.unitParams[0].coefShift = 8; settings.unitParams[0].signedData = 0; settings.unitParams[0].x_offset = 0; settings.unitParams[0].y_offset = 220; settings.unitParams[0].outWidth = 896; settings.unitParams[0].outHeight = 512; settings.unitParams[0].initPhaseX = 2341; settings.unitParams[0].initPhaseY = 2340; settings.unitParams[0].hzScale = 8777; settings.unitParams[0].vtScale = 8776; settings.unitParams[0].satMode = 0; settings.unitParams[0].uvMode = 0; settings.unitParams[0].sp_vs_coef_src = 0; settings.unitParams[0].sp_vs_coef_sel = 0; settings.unitParams[0].sp_hs_coef_src = 0; settings.unitParams[0].sp_hs_coef_sel = 0; settings.unitParams[0].vs_coef_sel = 0; settings.unitParams[0].hs_coef_sel = 0; settings.unitParams[0].phase_mode = 0; settings.unitParams[0].filter_mode = 1;
I would also be happy to share the dump files of input and output image data,
but it would seem that it is not possible to share .nv12 or .bgr format files
by using drag-and-drop method functionality of this editor.
Other Environment Details
- GPU : NVIDIA GeForce RTX 4080
- Driver Version: 570.86.15
- CUDA Version: 12.8
- OS : Ubuntu 20.04.6