NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
CodecHeaderVideo.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef DW_SENSORS_CODECS_CAMERA_CODECDATAVIDEO_H_
14 #define DW_SENSORS_CODECS_CAMERA_CODECDATAVIDEO_H_
15 
16 #include <dw/core/base/Types.h>
17 #include <dw/sensors/codecs/Codec.h>
18 
19 #include "Camera.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 // Video format
26 typedef enum {
34 
37 {
38  uint8_t sensorName[16];
39  uint16_t sensorRevID;
40  uint8_t serializerNameID[16];
41  uint16_t serializerRevID;
42  uint8_t bayerTypeID[4];
43  uint8_t scanlineOrderID;
44  uint8_t lensManuID[16];
45  uint8_t lensNameID[16];
46  uint16_t lensFOVID;
47  uint16_t imageWidth;
48  uint16_t imageHeight;
49 
50  // Group: MODULE_MAKER_INTRINSIC
54 
55  // Group: CHANNEL_COLOR_RESPONSES
56  uint16_t channelLightID;
57 
58  // Group: LENS_SHADING
59  uint8_t shadingLightID;
60  uint8_t shadingDataTypeID[2];
61 
62  // Group: FUSE_ID
63  uint16_t fuseID;
64 
65  // Group: INTRINSIC_PARAMETERS
68  uint8_t intrinsicFlagID;
69 
70  // Group: EXTRINSIC_PARAMETERS
72 
73  // Group: SECOND_INTRINSIC_PARAMETERS
77 
78  // Group: THIRD_INTRINSIC_PARAMETERS
82 
83  // Group least important parameters here so that its easy to remove them if needed
86  uint16_t iRCutFreqID;
90  uint64_t assmTimeID;
91  uint32_t assmLineID;
92  uint16_t channelMeasurementID[4]; // order of channels R, GR, GB, B
96 
97 // TODO (nperla): reconsile dwCodecCameraSIPLInfo with the sensor sipl structure
99 typedef struct dwCodecCameraSIPLInfo
100 {
104  uint32_t linkIndex;
105  bool cphyMode;
113 
115 typedef struct dwCodecCameraMetadata
116 {
121  uint32_t sensorRevision;
122  uint32_t width;
123  uint32_t height;
126  uint32_t msbPosition;
129 
131 typedef struct dwCodecConfigVideo
132 {
136  uint32_t width;
138  uint32_t height;
140  uint32_t bitDepth;
142  uint32_t frameRate;
154 
155 #ifdef __cplusplus
156 }
157 #endif
158 
159 #endif //DW_SENSORS_CODECS_CAMERA_CODECDATAVIDEO_H_
dwEncoderConfigRateControl
Encoder rate control parameters.
Definition: Codec.h:277
dwCodecCameraSIPLBlobEEPROM::lensShadingDataID
char8_t lensShadingDataID[800]
Definition: CodecHeaderVideo.h:94
dwCodecCameraSIPLBlobEEPROM::scanlineOrderID
uint8_t scanlineOrderID
Definition: CodecHeaderVideo.h:43
dwCodecCameraSIPLInfo::colorFilterArray
uint32_t colorFilterArray
Definition: CodecHeaderVideo.h:106
dwCodecConfigVideo::cameraMetadata
dwCodecCameraMetadata cameraMetadata
Required camera metadata for encoding and decoding video.
Definition: CodecHeaderVideo.h:146
dwCodecCameraSIPLBlobEEPROM::sensorName
uint8_t sensorName[16]
Definition: CodecHeaderVideo.h:38
dwCodecCameraMetadata::rawFormat
dwCameraRawFormat rawFormat
Definition: CodecHeaderVideo.h:118
dwCodecCameraSIPLInfo::eeprom
dwCodecCameraSIPLBlobEEPROM eeprom
Definition: CodecHeaderVideo.h:111
dwCodecCameraMetadata::siplInfo
dwCodecCameraSIPLInfo siplInfo
Definition: CodecHeaderVideo.h:127
dwCodecCameraSIPLBlobEEPROM::secIntrinsicCoeff
float32_t secIntrinsicCoeff[16]
Definition: CodecHeaderVideo.h:75
dwCodecCameraSIPLInfo
SIPL information.
Definition: CodecHeaderVideo.h:99
dwCodecCameraSIPLInfo::serializerName
char8_t serializerName[64]
Definition: CodecHeaderVideo.h:107
dwCodecConfigVideo::codecMimeType
char8_t codecMimeType[DW_MAX_CODEC_MIME_TYPE_LENGTH]
Codec mime type.
Definition: CodecHeaderVideo.h:150
dwCodecCameraSIPLBlobEEPROM::channelMeasurementID
uint16_t channelMeasurementID[4]
Definition: CodecHeaderVideo.h:92
dwCodecCameraSIPLBlobEEPROM::bayerTypeID
uint8_t bayerTypeID[4]
Definition: CodecHeaderVideo.h:42
dwCodecCameraSIPLBlobEEPROM::iRNameID
char8_t iRNameID[16]
Definition: CodecHeaderVideo.h:85
dwCodecConfigVideo::codec
dwCodecType codec
Codec type.
Definition: CodecHeaderVideo.h:134
dwCodecCameraSIPLBlobEEPROM::channelLightID
uint16_t channelLightID
Definition: CodecHeaderVideo.h:56
dwCodecCameraSIPLInfo::cameraModuleDescription
char8_t cameraModuleDescription[128]
Definition: CodecHeaderVideo.h:102
dwCodecCameraMetadata::height
uint32_t height
Definition: CodecHeaderVideo.h:123
dwCodecCameraSIPLBlobEEPROM::imageHeight
uint16_t imageHeight
Definition: CodecHeaderVideo.h:48
dwCodecCameraSIPLInfo::interface
char8_t interface[16]
Definition: CodecHeaderVideo.h:103
DW_CODEC_VIDEO_FORMAT_YUV422
@ DW_CODEC_VIDEO_FORMAT_YUV422
Definition: CodecHeaderVideo.h:32
DW_CODEC_VIDEO_FORMAT_RGB
@ DW_CODEC_VIDEO_FORMAT_RGB
Definition: CodecHeaderVideo.h:29
dwCodecCameraSIPLBlobEEPROM
struct dwCodecCameraSIPLBlobEEPROM dwCodecCameraSIPLBlobEEPROM
SIPL EEPROM information.
dwCodecCameraMetadata::fov
dwCameraFOV fov
Definition: CodecHeaderVideo.h:120
dwCameraRawFormat
dwCameraRawFormat
Raw encoding formats pixel-order.
Definition: Camera.h:107
dwCodecConfigVideo::width
uint32_t width
Video width.
Definition: CodecHeaderVideo.h:136
dwCameraFOV
dwCameraFOV
Enum of available FOV in degrees for camera lenses.
Definition: Camera.h:186
dwCodecCameraSIPLInfo::serializeri2cAddress
uint32_t serializeri2cAddress
Definition: CodecHeaderVideo.h:109
dwCodecConfigVideo
struct dwCodecConfigVideo dwCodecConfigVideo
The base configuration for all video encoders and decoders.
dwCodecCameraSIPLBlobEEPROM::lensNameID
uint8_t lensNameID[16]
Definition: CodecHeaderVideo.h:45
dwCodecCameraSIPLBlobEEPROM::assmTimeID
uint64_t assmTimeID
Definition: CodecHeaderVideo.h:90
DW_MAX_CODEC_MIME_TYPE_LENGTH
@ DW_MAX_CODEC_MIME_TYPE_LENGTH
Definition: Codec.h:134
dwCodecCameraSIPLBlobEEPROM::mmIntrinsicModelID
uint8_t mmIntrinsicModelID
Definition: CodecHeaderVideo.h:51
dwCodecCameraMetadata::embeddedBottomLines
uint32_t embeddedBottomLines
Definition: CodecHeaderVideo.h:125
dwCodecCameraSIPLBlobEEPROM::secIntrinsicFlagID
uint8_t secIntrinsicFlagID
Definition: CodecHeaderVideo.h:76
dwCodecConfigVideo
The base configuration for all video encoders and decoders.
Definition: CodecHeaderVideo.h:131
dwCodecConfigVideo::height
uint32_t height
Video height.
Definition: CodecHeaderVideo.h:138
dwCodecCameraSIPLBlobEEPROM::modSerialID
char8_t modSerialID[16]
Definition: CodecHeaderVideo.h:89
dwCodecCameraSIPLInfo::sensorParams
char8_t sensorParams[512]
Definition: CodecHeaderVideo.h:110
dwCameraExposureControl
dwCameraExposureControl
Enum of exposure control types.
Definition: Camera.h:172
dwCodecCameraSIPLBlobEEPROM::sensorRevID
uint16_t sensorRevID
Definition: CodecHeaderVideo.h:39
float32_t
float float32_t
Specifies POD types.
Definition: BasicTypes.h:41
dwCodecCameraMetadata::embeddedTopLines
uint32_t embeddedTopLines
Definition: CodecHeaderVideo.h:124
dwCodecCameraSIPLBlobEEPROM::intrinsicModelID
uint8_t intrinsicModelID
Definition: CodecHeaderVideo.h:66
dwCodecCameraSIPLInfo::cphyMode
bool cphyMode
Definition: CodecHeaderVideo.h:105
dwCodecCameraSIPLBlobEEPROM::iRCutFreqID
uint16_t iRCutFreqID
Definition: CodecHeaderVideo.h:86
dwCodecCameraSIPLBlobEEPROM::lensManuID
uint8_t lensManuID[16]
Definition: CodecHeaderVideo.h:44
dwCodecCameraSIPLBlobEEPROM
SIPL EEPROM information.
Definition: CodecHeaderVideo.h:36
char8_t
char char8_t
Definition: BasicTypes.h:47
dwCodecCameraSIPLBlobEEPROM::lensFOVID
uint16_t lensFOVID
Definition: CodecHeaderVideo.h:46
dwCodecCameraMetadata::msbPosition
uint32_t msbPosition
Definition: CodecHeaderVideo.h:126
DW_CODEC_VIDEO_FORMAT_YUV444
@ DW_CODEC_VIDEO_FORMAT_YUV444
Definition: CodecHeaderVideo.h:28
dwCodecCameraSIPLInfo::serializerDescription
char8_t serializerDescription[128]
Definition: CodecHeaderVideo.h:108
dwCodecConfigVideo::rateControl
dwEncoderConfigRateControl rateControl
Encoder rate control parameters.
Definition: CodecHeaderVideo.h:148
dwCodecCameraMetadata
struct dwCodecCameraMetadata dwCodecCameraMetadata
Required camera metadata for encoding and decoding video.
dwCodecCameraSIPLBlobEEPROM::thirdIntrinsicCoeff
float32_t thirdIntrinsicCoeff[16]
Definition: CodecHeaderVideo.h:80
DW_MAX_RAW_SIPL_HEADER_LENGTH
@ DW_MAX_RAW_SIPL_HEADER_LENGTH
Definition: Codec.h:135
dwCodecCameraSIPLBlobEEPROM::shadingLightID
uint8_t shadingLightID
Definition: CodecHeaderVideo.h:59
DW_CODEC_VIDEO_FORMAT_YUV420
@ DW_CODEC_VIDEO_FORMAT_YUV420
Definition: CodecHeaderVideo.h:27
dwCodecVideoFormat
dwCodecVideoFormat
Definition: CodecHeaderVideo.h:26
dwCodecCameraSIPLBlobEEPROM::secIntrinsicModelID
uint8_t secIntrinsicModelID
Definition: CodecHeaderVideo.h:74
dwCodecCameraSIPLBlobEEPROM::serializerNameID
uint8_t serializerNameID[16]
Definition: CodecHeaderVideo.h:40
dwCodecCameraMetadata::exposure
dwCameraExposureControl exposure
Definition: CodecHeaderVideo.h:119
dwCameraType
dwCameraType
Enum of available camera sensors.
Definition: Camera.h:156
dwCodecType
dwCodecType
Codec Type.
Definition: Codec.h:63
dwCodecCameraSIPLBlobEEPROM::fuseDataID
char8_t fuseDataID[16]
Definition: CodecHeaderVideo.h:93
dwCodecConfigVideo::bitDepth
uint32_t bitDepth
Frame bit depth.
Definition: CodecHeaderVideo.h:140
dwCodecCameraSIPLBlobEEPROM::shadingDataTypeID
uint8_t shadingDataTypeID[2]
Definition: CodecHeaderVideo.h:60
dwCodecCameraSIPLBlobEEPROM::intrinsicCoeff
float32_t intrinsicCoeff[16]
Definition: CodecHeaderVideo.h:67
dwCodecCameraMetadata::sensorRevision
uint32_t sensorRevision
Definition: CodecHeaderVideo.h:121
dwCodecCameraMetadata::cameraType
dwCameraType cameraType
Definition: CodecHeaderVideo.h:117
DW_CODEC_VIDEO_FORMAT_YUV400
@ DW_CODEC_VIDEO_FORMAT_YUV400
Definition: CodecHeaderVideo.h:31
dwCodecCameraSIPLBlobEEPROM::intrinsicFlagID
uint8_t intrinsicFlagID
Definition: CodecHeaderVideo.h:68
dwCodecCameraSIPLBlobEEPROM::modMakerID
char8_t modMakerID[16]
Definition: CodecHeaderVideo.h:87
dwCodecConfigVideo::format
dwCodecVideoFormat format
Video format.
Definition: CodecHeaderVideo.h:144
dwCodecCameraSIPLBlobEEPROM::fuseID
uint16_t fuseID
Definition: CodecHeaderVideo.h:63
dwCodecCameraSIPLBlobEEPROM::mmIntrinsicCoeff
float32_t mmIntrinsicCoeff[16]
Definition: CodecHeaderVideo.h:52
DW_CODEC_VIDEO_FORMAT_RAW
@ DW_CODEC_VIDEO_FORMAT_RAW
Definition: CodecHeaderVideo.h:30
Camera.h
dwCodecCameraSIPLInfo::linkIndex
uint32_t linkIndex
Definition: CodecHeaderVideo.h:104
dwCodecCameraSIPLBlobEEPROM::mmIntrinsicFlagID
uint8_t mmIntrinsicFlagID
Definition: CodecHeaderVideo.h:53
dwCodecCameraSIPLBlobEEPROM::thirdIntrinsicModelID
uint8_t thirdIntrinsicModelID
Definition: CodecHeaderVideo.h:79
dwCodecCameraSIPLBlobEEPROM::modNameID
char8_t modNameID[16]
Definition: CodecHeaderVideo.h:88
dwCodecCameraSIPLBlobEEPROM::assmLineID
uint32_t assmLineID
Definition: CodecHeaderVideo.h:91
dwCodecConfigVideo::rawHeader
char8_t rawHeader[DW_MAX_RAW_SIPL_HEADER_LENGTH]
Raw sipl data from the camera.
Definition: CodecHeaderVideo.h:152
dwCodecCameraSIPLBlobEEPROM::thirdIntrinsicFlagID
uint8_t thirdIntrinsicFlagID
Definition: CodecHeaderVideo.h:81
dwCodecCameraSIPLInfo::cameraModuleName
char8_t cameraModuleName[64]
Definition: CodecHeaderVideo.h:101
dwCodecCameraMetadata
Required camera metadata for encoding and decoding video.
Definition: CodecHeaderVideo.h:115
dwCodecConfigVideo::frameRate
uint32_t frameRate
Frame rate.
Definition: CodecHeaderVideo.h:142
dwCodecCameraSIPLBlobEEPROM::eflID
float32_t eflID
Definition: CodecHeaderVideo.h:84
dwCodecCameraSIPLInfo
struct dwCodecCameraSIPLInfo dwCodecCameraSIPLInfo
SIPL information.
dwCodecCameraSIPLBlobEEPROM::extrinsicParamsID
float32_t extrinsicParamsID[6]
Definition: CodecHeaderVideo.h:71
dwCodecCameraMetadata::width
uint32_t width
Definition: CodecHeaderVideo.h:122
dwCodecCameraSIPLBlobEEPROM::serializerRevID
uint16_t serializerRevID
Definition: CodecHeaderVideo.h:41
dwCodecCameraSIPLBlobEEPROM::imageWidth
uint16_t imageWidth
Definition: CodecHeaderVideo.h:47