hotfix/fix-low-framerate #5
51
README.md
51
README.md
|
@ -33,7 +33,7 @@ gst-launch-1.0 nvarguscamerasrc sensor-id=0 aelock=true awblock=true ! 'video/x-
|
||||||
### UDP Streaming Test
|
### UDP Streaming Test
|
||||||
#### Sender Endpoint
|
#### Sender Endpoint
|
||||||
```
|
```
|
||||||
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12,framerate=(fraction)30/1' ! omxh264enc control-rate=2 bitrate=8000000 ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 ! udpsink host=$HOST_IP port=5000 sync=false async=false
|
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12,framerate=(fraction)60/1' ! omxh264enc control-rate=2 bitrate=8000000 ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 ! udpsink host=$HOST_IP port=5000 sync=false async=false
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Receiver Endpoint
|
#### Receiver Endpoint
|
||||||
|
@ -71,11 +71,58 @@ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=RG12 -
|
||||||
|
|
||||||
#### Slave
|
#### Slave
|
||||||
```
|
```
|
||||||
v4l2-ctl -d /dev/video01 --set-fmt-video=width=1280,height=720,pixelformat=RG12 --set-ctrl bypass_mode=0 --stream-mmap
|
v4l2-ctl -d /dev/video1 --set-fmt-video=width=1280,height=720,pixelformat=RG12 --set-ctrl bypass_mode=0 --stream-mmap
|
||||||
|
```
|
||||||
|
|
||||||
|
### AE Synchronized
|
||||||
|
First run the master pipeline and then the slave pipeline:
|
||||||
|
|
||||||
|
#### Master Pipeline
|
||||||
|
```
|
||||||
|
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12,framerate=(fraction)60/1' ! fakesink
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Slave Pipeline
|
||||||
|
```
|
||||||
|
gst-launch-1.0 nvarguscamerasrc sensor-id=0 aelock=true awblock=true ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12,framerate=(fraction)60/1' ! fakesink
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run script
|
||||||
|
```
|
||||||
|
./script_to_control_gain_exposure.sh &
|
||||||
```
|
```
|
||||||
|
|
||||||
## Appends
|
## Appends
|
||||||
|
|
||||||
|
#### Auto Exposure
|
||||||
|
|
||||||
|
The AE controls realays in the feedback provided by the Driver's camera sensor to the nvarguscamerasrc libraries,
|
||||||
|
and the custom DTSIs with the sensor parameters definitions.
|
||||||
|
As the AE has interdependency with the digital gain. This gain it's and operation on the Driver, and follows this setup:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/*
|
||||||
|
* Digital gain equation:
|
||||||
|
*
|
||||||
|
* RANGE: 1x, 7.97x
|
||||||
|
* GAIN: VAL / STEPS;
|
||||||
|
* STEPS: 1/32
|
||||||
|
*
|
||||||
|
* SCALE FACTOR = 100.000
|
||||||
|
*
|
||||||
|
* min_gain_val = 100.000
|
||||||
|
* max_gain_val = 797.000
|
||||||
|
* step_gain_val = 3125
|
||||||
|
*/
|
||||||
|
|
||||||
|
MT9M021 sensor datasheet:
|
||||||
|
* <a href="https://files.niemo.de/aptina_pdfs/MT9M021-M031_Developer_Guide.pdf">MT9M021 Developer Guide</a>
|
||||||
|
```
|
||||||
|
|
||||||
|
Where, the min_gain_val, max_gain_val, step_gain_val are part of the cameras' DTSI (tegra186-tx2-spiri-camera.dtsi) fixed parameters
|
||||||
|
as per the datasheet. The step_gain_val consists of the steps (1/32 for the register) scaled to a value that makes this fraction become an significant
|
||||||
|
in integer.
|
||||||
|
|
||||||
#### Kernel Changes
|
#### Kernel Changes
|
||||||
|
|
||||||
The Driver for the MT9M021 cameras consists on the following structure, that adds the DTB and Kernel sources, along with its Makefiles that lead its portability to a Kernel source.
|
The Driver for the MT9M021 cameras consists on the following structure, that adds the DTB and Kernel sources, along with its Makefiles that lead its portability to a Kernel source.
|
||||||
|
|
Loading…
Reference in New Issue