NVIDIA Tegra
DRIVE 5.0 Linux Open Source Software

Development Guide
5.0.10.3 Release


 
IPP File Processing (nvmipp_file)
 
Architecture
Command Line Options
Examples: Multiple Cameras
Processing Four Cameras and Disabling Second Output
Processing Four Cameras with Second Output of Type y10
Processing Four Cameras and Enabling Metadata Dumping
Processing Four Cameras with a Sample Plugin
The NvMedia nvmipp_file application demonstrates how to use the NvMedia Image Processing Pipeline (IPP) framework to:
Read RAW images from the filesystem
Process the RAW images through the Image Signal Processor (ISP)
Write the processed images to the filesystem
It also demonstrates how different IPP components can be connected together to form an IPP pipeline.
The application can be configured to generate two parallel outputs from the ISP.
The first must be the NvMediaSurfaceType_Image_YUV_420 (semi planar i.e., NV12) surface type. It cannot be disabled.
The second surface type is optional and can be any of the following types:
NvMediaSurfaceType_Image_YUV_420 (semi planar i.e., NV12)
NvMediaSurfaceType_Image_Y10
The application can also process aggregated RAW images. It creates one IPP pipeline for each of the aggregated images and processes them as independent image streams. IPP pipeline includes the following control components:
IPP ISP
IPP control algorithm
IPP sensor
Architecture
The following diagram shows the various IPP components that the application instantiates. In this diagram, the application processes two aggregated images per frame.
Command Line Options
The following shows the command syntax:
nvmipp_file <required_options> [optional_options]
The following table describes the required command line options.
Option
Description
Optional/Required
Default
-cf
Specifies the capture configuration file.
Optional
Configs/default.conf
-c
Specifies the parameters set name to be used for the capture configuration.
The details such as: input surface format, resolution, or number of embedded data lines are obtained from the configuration set.
Optional
The first configuration set with the capture configuration file.
--aggregate
Specifies the number of frames aggregated.
Optional if processing single camera images; required otherwise.
1
--plugin
Specifies the use of the sample IPP plugins, as provided as part of the tests, for control algorithm components.
Optional
N/A
--nvplugin
Use Nvmedia IPP plugins for control algorithm components
Optional
N/A
-lps
Prints the configuration sets available in the capture configuration file as specified by the -cf option.
Optional
N/A
-i
Specifies the input file to process.
Required
N/A
-o
Specifies the output file prefix. The output file of pipeline [n] is created as:
[prefix]_out_[n]_[width]x[height].yuv
Required
N/A
--isp-mv
Specifies the surface type for the second output from the ISP. Possible values are:
Yuv420
Y10
Required if the second output of the ISP must be enabled.
N/A
--save-ispmv
Provides the file prefix for the second output from the ISP. The filename used to save surfaces of pipeline [n] has the following format:
<prefix>_ispmv_<n>_<width>x<height>.yuv
Without this option, the second output of the ISP is not generated and saved.
Required if the second output of the ISP must be dumped; otherwise optional.
By default, the second output of the ISP is disabled.
--save-metadata
Provides the filename prefix for the metadata output. The filename used to save the metadata of pipeline [n] has the following format:
<prefix>_<n>.meta
Without this option, the metadata is not dumped.
Required if the metadata must be dumped; otherwise optional.
By default, metadata is not dumped.
--bayer-format
Specifies the bayer format of the input file. Possible values are:
BGGR
RGGB
GRBG
GBRG
Optional
BGGR
-v
Specifies the logging level. Possible values are:
0 Errors
1 Warnings
2 Info
3 Debug
Optional
Default = 0
-h
Print usage
Optional
N/A
Examples: Multiple Cameras
The following examples show common use cases for running the application.
Processing Four Cameras and Disabling Second Output
To process four aggregated cameras with an input filename of test_1280x1080_4.raw and the second output is disabled:
./nvmipp_file -cf drive-px2-a.conf -c dvp-svc210-raw12-1280x1080-ab -i test_1280x1080_4.raw -o hv --aggregate 4
nvmipp_file generates the following four output files corresponding to the first output of each IPP pipe:
hv_out_0_1280x1080.yuv
hv_out_1_1280x1080.yuv
hv_out_2_1280x1080.yuv
hv_out_3_1280x1080.yuv
Each output file corresponds to pipe [n].
Processing Four Cameras with Second Output of Type y10
To process four aggregated cameras with an input filename of test_1280x1080_4.raw, the second output of ISP enabled, and the second output type y10:
./nvmipp_file -cf drive-px2-a.conf -c dvp-svc210-raw12-1280x1080-ab -i test_1280x1080_4.raw -o hv --aggregate 4 --isp-mv y10 --save-ispmv mv
nvmipp_file generates the following four output files corresponding to first output of each IPP pipe:
hv_out_0_1280x1080.yuv
hv_out_1_1280x1080.yuv
hv_out_2_1280x1080.yuv
hv_out_3_1280x1080.yuv
nvmipp_file generates the following four output files corresponding to second output of each IPP pipe:
mv_ispmv_0_1280x1080.yuv
mv_ispmv_1_1280x1080.yuv
mv_ispmv_2_1280x1080.yuv
mv_ispmv_3_1280x1080.yuv
Each output file corresponds to pipe [n].
Processing Four Cameras and Enabling Metadata Dumping
To process four aggregated cameras with input filename of test_1280x1080_4.raw, enable the second output of ISP, set the second output type to y10, and enable metadata dumping:
./nvmipp_file -cf drive-px2-a.conf -c dvp-svc210-raw12-1280x1080-ab -i test_1280x1080_4.raw -o hv --aggregate 4 --isp-mv y10 --save-ispmv mv --save-metadata meta
nvmipp_file generates the following four output files corresponding to first output of each IPP pipe:
hv_out_0_1280x1080.yuv
hv_out_1_1280x1080.yuv
hv_out_2_1280x1080.yuv
hv_out_3_1280x1080.yuv
nvmipp_file generates the following four output files corresponding to second output of each IPP pipe:
mv_ispmv_0_1280x1080.yuv
mv_ispmv_1_1280x1080.yuv
mv_ispmv_2_1280x1080.yuv
mv_ispmv_3_1280x1080.yuv
nvmipp_file creates the following four output files for metadata:
meta_0.meta
meta_1.meta
meta_2.meta
meta_3.meta
Each output file corresponds to pipe [n].
Processing Four Cameras with a Sample Plugin
To process four aggregated cameras with input filename of test_1280x1080_4.raw, enable the second output of ISP, set the second output type to y10, enable metadata, and the sample plugin is used:
./nvmipp_file -cf drive-px2-a.conf -c dvp-svc210-raw12-1280x1080-ab -i test_1280x1080_4.raw -o hv --aggregate 4 --isp-mv y10 --save-ispmv mv --save-metadata meta --plugin
nvmipp_file generates the following four output files corresponding to first output of each IPP pipe:
hv_out_0_1280x1080.yuv
hv_out_1_1280x1080.yuv
hv_out_2_1280x1080.yuv
hv_out_3_1280x1080.yuv
nvmipp_file generates the following four output files corresponding to second output of each IPP pipe:
mv_ispmv_0_1280x1080.yuv
mv_ispmv_1_1280x1080.yuv
mv_ispmv_2_1280x1080.yuv
mv_ispmv_3_1280x1080.yuv
nvmipp_file creates the following four output files for metadata:
meta_0.meta
meta_1.meta
meta_2.meta
meta_3.meta
Each output file corresponds to pipe [n].