Hi All,
I want to use imx482 wdr dol mode, so I configue the device tree and driver.
mode1 {/*mode IMX482_MODE_1920X1080_CROP_HDR_30FPS*/
mclk_khz = "27000";
num_lanes = "4";
tegra_sinterface = "serial_e";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
dynamic_pixel_bit_depth = "12";
csi_pixel_bit_depth = "12";
mode_type = "bayer_wdr_pwl";
pixel_phase = "rggb";
active_w = "1940";
active_h = "2260";
readout_orientation = "0";
line_length = "4160";
inherent_gain = "1";
pix_clk_hz = "480000000";
gain_factor = "1";
min_gain_val = "0"; /* 0dB */
max_gain_val = "240"; /* 12dB */
step_gain_val = "1"; /* 0.3 */
default_gain = "0";
min_hdr_ratio = "4";
max_hdr_ratio = "4";
framerate_factor = "1000000";
min_framerate = "2000000"; /* 2 */
max_framerate = "30000000"; /* 30 */
step_framerate = "1";
default_framerate= "30000000";
exposure_factor = "1000000";
min_exp_time = "30"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "30";
default_exp_time = "2495";/* us */
embedded_metadata_height = "1";
// is_interlaced = "1";
// interlaced_type = "0";
/* WDR related settings */
num_of_exposure = "2";
num_of_ignored_lines = "7";
num_of_lines_offset_0 = "35";
num_of_ignored_pixels = "8";
num_of_left_margin_pixels = "6";
num_of_right_margin_pixels = "6";
};
When I use v4l2-ctrl, I get the detail log. debug.log (856.8 KB)
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1940,height=2260,pixelformat=RG12 --set-ctrl=bypass_mode=0,hdr_enable=1,sensor_mode=1 --stream-mmap --stream-count=1 --stream-to=ov1080.raw
root@nx:#
[ 539.485627] [imx482_power_get] entry …
[ 539.485841] reset_gpio=412
[ 539.486101] [imx482_power_on][424] …
[ 539.531159] reg_val0=0xCA
[ 539.531536] reg_val1=0x8
[ 539.531703] [imx482_power_off][440] …
[ 539.542870] [imx482_power_on][424] …
[ 539.589029] [imx482_power_off][440] …
[ 750.073813] [imx482_power_on][424] …
[ 750.136748] [imx482_set_mode][513] … mode=1
[ 750.152605] [imx482_start_streaming][528] …
[ 750.287429] tegra194-vi5 15c10000.vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[ 750.304105] tegra194-vi5 15c10000.vi: corr_err: discarding frame 2, flags: 0, err_data 131072
[ 750.320762] tegra194-vi5 15c10000.vi: corr_err: discarding frame 3, flags: 0, err_data 131072
[ 750.337518] tegra194-vi5 15c10000.vi: corr_err: discarding frame 4, flags: 0, err_data 131072
[ 750.354098] tegra194-vi5 15c10000.vi: corr_err: discarding frame 5, flags: 0, err_data 131072
[ 750.370808] tegra194-vi5 15c10000.vi: corr_err: discarding frame 6, flags: 0, err_data 131072
[ 750.387454] tegra194-vi5 15c10000.vi: corr_err: discarding frame 7, flags: 0, err_data 131072
[ 750.404126] tegra194-vi5 15c10000.vi: corr_err: discarding frame 8, flags: 0, err_data 131072
[ 750.420798] tegra194-vi5 15c10000.vi: corr_err: discarding frame 9, flags: 0, err_data 131072
[ 750.437485] tegra194-vi5 15c10000.vi: corr_err: discarding frame 10, flags: 0, err_data 131072
[ 750.454166] tegra194-vi5 15c10000.vi: corr_err: discarding frame 11, flags: 0, err_data 131072
[ 750.470692] tegra194-vi5 15c10000.vi: corr_err: discarding frame 12, flags: 0, err_data 131072
[ 750.487355] tegra194-vi5 15c10000.vi: corr_err: discarding frame 13, flags: 0, err_data 131072
[ 750.504027] tegra194-vi5 15c10000.vi: corr_err: discarding frame 14, flags: 0, err_data 131072
[ 750.520724] tegra194-vi5 15c10000.vi: corr_err: discarding frame 15, flags: 0, err_data 131072
[ 750.537479] tegra194-vi5 15c10000.vi: corr_err: discarding frame 16, flags: 0, err_data 131072
[ 750.554090] tegra194-vi5 15c10000.vi: corr_err: discarding frame 17, flags: 0, err_data 131072
[ 750.570755] tegra194-vi5 15c10000.vi: corr_err: discarding frame 18, flags: 0, err_data 131072
[ 750.587476] tegra194-vi5 15c10000.vi: corr_err: discarding frame 19, flags: 0, err_data 131072
[ 750.604096] tegra194-vi5 15c10000.vi: corr_err: discarding frame 20, flags: 0, err_data 131072
[ 750.620800] tegra194-vi5 15c10000.vi: corr_err: discarding frame 21, flags: 0, err_data 131072
[ 750.637440] tegra194-vi5 15c10000.vi: corr_err: discarding frame 22, flags: 0, err_data 131072
[ 750.654099] tegra194-vi5 15c10000.vi: corr_err: discarding frame 23, flags: 0, err_data 131072
[ 750.670813] tegra194-vi5 15c10000.vi: corr_err: discarding frame 24, flags: 0, err_data 131072
[ 750.687438] tegra194-vi5 15c10000.vi: corr_err: discarding frame 25, flags: 0, err_data 131072
[ 750.704143] tegra194-vi5 15c10000.vi: corr_err: discarding frame 26, flags: 0, err_data 131072
[ 750.720791] tegra194-vi5 15c10000.vi: corr_err: discarding frame 27, flags: 0, err_data 131072
[ 750.737385] tegra194-vi5 15c10000.vi: corr_err: discarding frame 28, flags: 0, err_data 131072
[ 750.754018] tegra194-vi5 15c10000.vi: corr_err: discarding frame 29, flags: 0, err_data 131072
[ 750.770690] tegra194-vi5 15c10000.vi: corr_err: discarding frame 30, flags: 0, err_data 131072
[ 750.787405] tegra194-vi5 15c10000.vi: corr_err: discarding frame 31, flags: 0, err_data 131072
[ 750.804068] tegra194-vi5 15c10000.vi: corr_err: discarding frame 32, flags: 0, err_data 131072
Becase maybe v4l2 standard controls should be not support to DOL-WDR raw files at current release versions. (How To Get Bayer Raw Data Of WDR DOL mode with 2 Frame Exposure? - #20 by JerryChang)
So, I want to use argus_gstvideoencode to test wdr dol mode. But it has following errors.
error:
=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections…
[ 85.556592] [imx482_power_on][424] …
[ 85.601753] [imx482_power_off][440] …
=== argus_gstvideoencode[7120]: Connection established (7F829FD1D0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
[ 104.330613] [imx482_power_on][424] …
[ 104.374769] [imx482_power_off][440] …
[ 104.379546] [imx482_power_on][424] …
[ 104.422717] [imx482_power_off][440] …
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: No override file found. ----
[ 104.438112] [imx482_power_on][424] …
[ 104.482437] [imx482_power_off][440] …
[ 104.483906] [imx482_power_on][424] …
[ 104.528394] [imx482_power_off][440] …
[ 104.530274] [imx482_power_on][424] …
[ 104.574689] [imx482_power_off][440] …
LSC: LSC surface is not based on full res!
=== argus_gstvideoencode[7120]: CameraProvider initialized (0x7f7c80fd30)LSC: LSC surface is not based on full res!
[ 104.955007] [imx482_power_on][424] …
[ 104.999389] [imx482_power_off][440] …
(Camera_ISP) Error BadParameter: Linearization curve doesn’t have enough points after (in state_update/blocks/TF.cpp, function update_TF_isp5(), line 356)
(Camera_ISP) Error BadParameter: (propagating from state_update/blocks/TF.cpp, function NvCameraIspUpdateState_TF0_isp5(), line 44)
(Camera_ISP) Error BadParameter: (propagating from state_update/nvcamera_isp_update_state.cpp, function NvCameraIspUpdateInputStateHw(), line 100)
SCF: Error BadParameter: (propagating from src/services/autocontrol/NvCameraIspDriver.cpp, function generate(), line 1161)
SCF: Error BadParameter: (propagating from src/components/ac_stages/AcMergeStage.cpp, function doHandleRequest(), line 84)
SCF: Error BadParameter: (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error BadParameter: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 990)
=== argus_gstvideoencode[7120]: Connection closed (7F829FD1D0)
Please how to fix the error and how to test the WDR DOL mode?