Hi @ivan.li , @numbqq
Sorry for the late reply.
I have tried to work on the driver file (aml_ov08a10.c
) you suggested to change the controls of the v4l2 device. I managed to set different default values. However, it seems those values are ignored when using the gst-launch
command.
Here is the output of the logs when recording a video using gst-launch-1.0
and some control functions passed to the v4l2src
.
The logs show that the WDR setting is changed to 4
even though it was set to 0
by default.
media_set_wdrMode[420]: media_set_wdrMode ++ wdr_mode : 4
Then, the exposure
and gain
controls are computed and set which will override the controls set using v4l2-ctl
.
I tried to look where in the driver file (aml_ov08a10.c
) this feature is set, but I could not find it to disable it. I think it is not coming from the driver itself. It seems the log is coming from the gstreamer
or the v4l2scr
component. Can you help me locate this setting so that I can finally use the camera’s controls?
Thank you in advance,
LOGS:
gst-launch-1.0 -e v4l2src device=/dev/media0 io-mode=mmap extra-controls="a,wdr_mode=0,exposure=42000,gain=200" ! video/x-raw,format=NV21,width=1920,height=1080,framerate=30/1 ! queue ! amlvenc bitrate=4000 ! h264parse ! mux. alsasrc device="hw:AMLAUGESOUND,4" ! queue ! audio/x-raw,format=S16LE,channels=2,rate=48000 ! volume volume=2.0 ! audioconvert ! audioresample ! voaacenc ! aacparse ! qtmux name=mux ! filesink location=preview.mp4 sync=true
Setting pipeline to PAUSED ...
[API:aml_v4l2src_connect:271]Enter, devname : /dev/media0
func_name: aml_src_get_cam_method
initialize func addr: 0x7fa728167c
finalize func addr: 0x7fa7281948
start func addr: 0x7fa728199c
stop func addr: 0x7fa7281a4c
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 1, type 0x20000, name isp-csiphy), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 4, type 0x20000, name isp-adapter), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 7, type 0x20000, name isp-test-pattern-gen), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 9, type 0x20000, name isp-core), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 20, type 0x20001, name ov08a10-0), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 24, type 0x10001, name isp-ddr-input), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 28, type 0x10001, name isp-param), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 32, type 0x10001, name isp-stats), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 36, type 0x10001, name isp-output0), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 40, type 0x10001, name isp-output1), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 44, type 0x10001, name isp-output2), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 48, type 0x10001, name isp-output3), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id 52, type 0x10001, name isp-raw), ret 0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:235:carm_src_is_usb]carm_src_is_usb:info(id -2147483596, type 0x0, name ), ret -1
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:239:carm_src_is_usb]carm_src_is_usb:error Invalid argument
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:79:cam_src_select_socket]select socket:/tmp/camctrl0.socket
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:103:cam_src_obtain_devname]fork ok, pid:2289
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:103:cam_src_obtain_devname]fork ok, pid:0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camsrc.c:107:cam_src_obtain_devname]execl /usr/bin/camctrl
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:925:main][camctrl.cc:main:925]
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:889:parse_opt]media device name: /dev/media0
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:898:parse_opt]Server socket: /tmp/camctrl0.socket
Opening media device /dev/media0
Enumerating entities
Found 13 entities
Enumerating pads and links
mediaStreamInit[35]: mediaStreamInit ++.
mediaStreamInit[39]: media devnode: /dev/media0
mediaStreamInit[56]: ent 0, name isp-csiphy
mediaStreamInit[56]: ent 1, name isp-adapter
mediaStreamInit[56]: ent 2, name isp-test-pattern-gen
mediaStreamInit[56]: ent 3, name isp-core
mediaStreamInit[56]: ent 4, name ov08a10-0
mediaStreamInit[56]: ent 5, name isp-ddr-input
mediaStreamInit[56]: ent 6, name isp-param
mediaStreamInit[56]: ent 7, name isp-stats
mediaStreamInit[56]: ent 8, name isp-output0
mediaStreamInit[56]: ent 9, name isp-output1
mediaStreamInit[56]: ent 10, name isp-output2
mediaStreamInit[56]: ent 11, name isp-output3
mediaStreamInit[56]: ent 12, name isp-raw
mediaStreamInit[96]: get lens_ent fail
mediaLog[30]: v4l2_video_open: open subdev device node /dev/video63 ok, fd 9
mediaStreamInit[151]: mediaStreamInit open video0 fd 9
mediaLog[30]: v4l2_video_open: open subdev device node /dev/video64 ok, fd 10
mediaStreamInit[155]: mediaStreamInit open video1 fd 10
mediaLog[30]: v4l2_video_open: open subdev device node /dev/video65 ok, fd 11
mediaStreamInit[159]: mediaStreamInit open video2 fd 11
mediaLog[30]: v4l2_video_open: open subdev device node /dev/video66 ok, fd 12
mediaStreamInit[163]: mediaStreamInit open video3 fd 12
mediaStreamInit[172]: media stream init success
fetchPipeMaxResolution[27]: find matched sensor configs 3840x2160
media_set_wdrMode[420]: media_set_wdrMode ++ wdr_mode : 0
media_set_wdrMode[444]: media_set_wdrMode success --
media_set_wdrMode[420]: media_set_wdrMode ++ wdr_mode : 4
mediaLog[30]: v4l2_subdev_open: fd 14
mediaLog[30]: v4l2_subdev_open: fd 15
media_set_wdrMode[444]: media_set_wdrMode success --
mediaLog[30]: v4l2_subdev_open: fd 13
mediaLog[30]: v4l2_subdev_open: fd 16
mediaLog[30]: v4l2_subdev_open: fd 14
mediaLog[30]: v4l2_subdev_open: fd 14
mediaLog[30]: v4l2_subdev_open: fd 15
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:374:link_and_activate_subdev]link and activate subdev successfully
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:407:media_stream_config]config media stream successfully
mediaLog[30]: v4l2_video_open: open subdev device node /dev/video62 ok, fd 17
mediaLog[30]: VIDIOC_QUERYCAP: success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:172:check_capability]entity[isp-stats] -> video[/dev/video62], cap.driver:aml-camera, capabilities:0x85200001, device_caps:0x5200001
mediaLog[30]: v4l2_video_open: open subdev device node /dev/video61 ok, fd 18
mediaLog[30]: VIDIOC_QUERYCAP: success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:172:check_capability]entity[isp-param] -> video[/dev/video61], cap.driver:aml-camera, capabilities:0x85200001, device_caps:0x5200001
mediaLog[30]: set format ok, ret 0.
mediaLog[30]: set format ok, ret 0.
mediaLog[30]: request buf ok
mediaLog[30]: request buf ok
mediaLog[30]: query buffer success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:546:isp_alg_param_init]isp stats query buffer, length: 262144, offset: 0
mediaLog[30]: query buffer success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:546:isp_alg_param_init]isp stats query buffer, length: 262144, offset: 262144
mediaLog[30]: query buffer success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:546:isp_alg_param_init]isp stats query buffer, length: 262144, offset: 524288
mediaLog[30]: query buffer success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:546:isp_alg_param_init]isp stats query buffer, length: 262144, offset: 786432
mediaLog[30]: query buffer success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:568:isp_alg_param_init]isp param query buffer, length: 262144, offset: 0
alg2User func addr: 0x7f8f728ed8
alg2Kernel func addr: 0x7f8f728f08
algEnable func addr: 0x7f8f728d70
algDisable func addr: 0x7f8f728e90
algFwInterface func addr: 0x7f8f729008
matchLensConfig[43]: LKK: fail to match lensConfig
cmos_get_ae_default_ov08a10[64]: cmos_get_ae_default
cmos_get_ae_default_ov08a10[64]: cmos_get_ae_default
aisp_enable[984]: tuning device not exist!
aisp_enable[987]: 3a commit b56e430e80b995bb88cecff66a3a6fc17abda2c7
cmos_fps_set_ov08a10[206]: cmos_fps_set: 7680.000000
mediaLog[30]: v4l2_subdev_open: fd 13
cmos_inttime_calc_table_ov08a10[180]: expo: 1741
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
mediaLog[30]: streamon success
mediaLog[30]: streamon success
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:650:isp_alg_param_init]Finish initializing amlgorithm parameter ...
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:971:main]UNIX domain socket bound
[2024-07-19 16:13:57] DEBUG [amlv4l2src camctrl.cc:977:main]Accepting connections ...
[2024-07-19 16:13:58] DEBUG [amlv4l2src camsrc.c:122:cam_src_obtain_devname]udp_sock_create
[2024-07-19 16:13:58] DEBUG [amlv4l2src common/common.c:70:udp_sock_create][93977120][/tmp/camctrl0.socket] start connect
[2024-07-19 16:13:58] DEBUG [amlv4l2src camsrc.c:124:cam_src_obtain_devname]udp_sock_recv
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:985:main]connected_sockfd: 20
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:989:main]video_dev_name: /dev/video63
[2024-07-19 16:13:58] DEBUG [amlv4l2src camsrc.c:282:cam_src_initialize]obtain devname: /dev/video63
devname : /dev/video63
driver : aml-camera
device : Amlogic Camera Card
bus_info : platform:aml-cam
version : 331639
error tvin-port use -1
[API:aml_v4l2src_streamon:373]Enter
[2024-07-19 16:13:58] DEBUG [amlv4l2src camsrc.c:298:cam_src_start]start ...
[API:aml_v4l2src_streamon:376]Exit
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:860:process_socket_thread]receive streamon notification
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Set log level to 1
[selectHW:92] selectEncoder
[selectHW:96] amvenc_multi 264 present
[amvenc_multi_load_Module:40] amvenc_ports multi loadModule!, load_count:0
Set log level to 4
[initEncParams:205] enc_feature_opts is 0x1 , GopPresetis 0x0
New clock: GstAudioSrcClock
Redistribute latency...
[vdi_sys_sync_inst_param:673] [VDI] fail to deliver sync instance param inst_idx=0
[AML_MultiEncInitialize:1388] VPU instance param sync with open param failed
[SetSequenceInfo:989] Required buffer fb_num=3, src_num=1, actual src=3 1920x1080
Redistribute latency...
mediaLog[30]: dq buffer success
mediaLog[30]: dq buffer success
[vl_multi_encoder_adjust_h264_header:529] sps_start=0
again_reg = 2
cmos_inttime_calc_table_ov08a10[180]: expo: 1386
cmos_alg_update_ov08a10[233]: gain value = 2
mediaLog[30]: v4l2_subdev_open: fd 13
cmos_alg_update_ov08a10[245]: expo.value = 1386
mediaLog[30]: v4l2_subdev_open: fd 13
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:758:isp_alg_process_one]process one frame successfully
Redistribute latency...
mediaLog[30]: dq buffer success
mediaLog[30]: dq buffer success
again_reg = 0
cmos_inttime_calc_table_ov08a10[180]: expo: 1466
cmos_alg_update_ov08a10[233]: gain value = 0
mediaLog[30]: v4l2_subdev_open: fd 13
cmos_alg_update_ov08a10[245]: expo.value = 1466
mediaLog[30]: v4l2_subdev_open: fd 13
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:758:isp_alg_process_one]process one frame successfully
mediaLog[30]: dq buffer success
mediaLog[30]: dq buffer success
cmos_inttime_calc_table_ov08a10[180]: expo: 1366
cmos_alg_update_ov08a10[245]: expo.value = 1366
mediaLog[30]: v4l2_subdev_open: fd 13
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:758:isp_alg_process_one]process one frame successfully
mediaLog[30]: dq buffer success
mediaLog[30]: dq buffer success
cmos_inttime_calc_table_ov08a10[180]: expo: 1265
cmos_alg_update_ov08a10[245]: expo.value = 1265
mediaLog[30]: v4l2_subdev_open: fd 13
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:758:isp_alg_process_one]process one frame successfully
mediaLog[30]: dq buffer success
mediaLog[30]: dq buffer success
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success
[2024-07-19 16:13:58] DEBUG [amlv4l2src camctrl.cc:758:isp_alg_process_one]process one frame successfully
mediaLog[30]: dq buffer success
mediaLog[30]: dq buffer success
mediaLog[30]: queue buffer success
mediaLog[30]: queue buffer success