Hi @jafeth.garcia @JerryChang
Sorry for the late reply
We have set the gain value 30dB using nvarguscamerasrc plugin properties
we have used this pipeline to achieve to set a constant gain of 30dB
sudo ./test-launch "nvarguscamerasrc gainrange='1 30' ispdigitalgainrange='1 1' exposurecompensation=0.42 aeantibanding=1 ! video/x-raw(memory:NVMM), width=2616, height=1964, framerate=30/1 ! nvvidconv ! nvv4l2h264enc control-rate=1 bitrate=8000000 ! rtph264pay name=pay0 pt=96 config-interval=1"
stream ready at rtsp://127.0.0.1:8554/test
GST_ARGUS: NvArgusCameraSrc: Setting Gain Range : '1 30'
GST_ARGUS: Invalid Gain Range Input
GST_ARGUS: NvArgusCameraSrc: Setting ISP Digital Gain Range : '1 1'
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2616 x 1964 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 3981.070801; Exposure Range min 16000, max 66533000;
but when we enabled driver logs, it seems gain value is changed according to the environment
[ 1381.550289] imx335 6-001a: imx335_set_gain: gain reg 36, val 1098
[ 1381.829538] imx335 6-001a: imx335_set_gain: gain reg 0, val 0
[ 1382.109674] imx335 6-001a: imx335_set_gain: gain reg 2, val 60
[ 1382.143755] imx335 6-001a: imx335_set_gain: gain reg 4, val 120
[ 1382.176372] imx335 6-001a: imx335_set_gain: gain reg 6, val 180
[ 1382.209611] imx335 6-001a: imx335_set_gain: gain reg 8, val 240
[ 1382.243369] imx335 6-001a: imx335_set_gain: gain reg 10, val 300
[ 1382.276615] imx335 6-001a: imx335_set_gain: gain reg 12, val 360
[ 1382.315049] imx335 6-001a: imx335_set_gain: gain reg 14, val 420
[ 1382.343689] imx335 6-001a: imx335_set_gain: gain reg 16, val 480
[ 1382.377853] imx335 6-001a: imx335_set_gain: gain reg 18, val 540
[ 1382.410905] imx335 6-001a: imx335_set_gain: gain reg 20, val 603
[ 1382.444374] imx335 6-001a: imx335_set_gain: gain reg 22, val 663
[ 1382.484738] imx335 6-001a: imx335_set_gain: gain reg 24, val 723
[ 1382.514194] imx335 6-001a: imx335_set_gain: gain reg 26, val 783
[ 1382.544504] imx335 6-001a: imx335_set_gain: gain reg 28, val 843
[ 1382.576878] imx335 6-001a: imx335_set_gain: gain reg 29, val 870
[ 1382.614663] imx335 6-001a: imx335_set_gain: gain reg 29, val 885
[ 1382.644896] imx335 6-001a: imx335_set_gain: gain reg 29, val 891
[ 1388.575194] imx335 6-001a: imx335_set_gain: gain reg 31, val 954
[ 1388.609403] imx335 6-001a: imx335_set_gain: gain reg 33, val 1014
[ 1388.641909] imx335 6-001a: imx335_set_gain: gain reg 35, val 1074
[ 1388.675453] imx335 6-001a: imx335_set_gain: gain reg 37, val 1134
[ 1388.712128] imx335 6-001a: imx335_set_gain: gain reg 39, val 1194
[ 1388.741621] imx335 6-001a: imx335_set_gain: gain reg 41, val 1254
[ 1388.776196] imx335 6-001a: imx335_set_gain: gain reg 43, val 1314
[ 1388.809675] imx335 6-001a: imx335_set_gain: gain reg 45, val 1374
[ 1388.841754] imx335 6-001a: imx335_set_gain: gain reg 47, val 1434
[ 1388.875643] imx335 6-001a: imx335_set_gain: gain reg 49, val 1494
[ 1388.908441] imx335 6-001a: imx335_set_gain: gain reg 51, val 1554
[ 1388.941499] imx335 6-001a: imx335_set_gain: gain reg 53, val 1614
[ 1388.975292] imx335 6-001a: imx335_set_gain: gain reg 55, val 1674
[ 1389.008129] imx335 6-001a: imx335_set_gain: gain reg 57, val 1734
[ 1389.041646] imx335 6-001a: imx335_set_gain: gain reg 59, val 1794
[ 1389.075740] imx335 6-001a: imx335_set_gain: gain reg 61, val 1857
So what is the real use of gainrange property in nvarguscamerasrc, if we need to capture an image for 30dB gain range do we need to disable autoexposure with and set the gain using v4l-ctl is that what you are suggesting for our use case please comment on this