NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_isp.h File Reference

Detailed Description

NVIDIA Media Interface: Image Signal Processing (ISP)

This file contains the Image Signal Processing API.

Definition in file nvmedia_isp.h.

Go to the source code of this file.

Data Structures

struct  NvMediaISPLinearization
 Holds controls for ISP linearization (LIN) block. More...
 
struct  NvMediaISPBlackLevelCorrection
 Holds controls for ISP black level correction (BLC) block. More...
 
struct  NvMediaISPWhiteBalanceCorrection
 Holds controls for ISP white balance correction (WBC) block. More...
 
struct  NvMediaISPExposureFusion
 Holds controls for ISP exposure fusion (Fusion) block. More...
 
struct  NvMediaISPBadPixelCorrection
 Holds controls for ISP bad pixel correction (BPC) block. More...
 
struct  NvMediaISPSplineControlPoint
 Defines spline control point. More...
 
struct  NvMediaISPEllipse
 Defines an ellipse. More...
 
struct  NvMediaISPRadialTF
 Defines a radial transform. More...
 
struct  NvMediaISPLensShadingCorrection
 Holds controls for ISP lens shading correction (LSC) block. More...
 
struct  NvMediaISPDemosaic
 Holds controls for ISP demosaic (DM) block. More...
 
struct  NvMediaISPLevelAdjSat
 Holds controls for ISP level adjusted saturation (LAS) block. More...
 
struct  NvMediaISPNoiseReduction
 Holds controls for ISP noise reduction (NR) block. More...
 
struct  NvMediaISPColorCorrectionMatrix
 Holds controls for ISP color correction matrix (CCM) block. More...
 
struct  NvMediaISPGlobalToneMap
 Holds controls for ISP global tone map (GTM) block. More...
 
struct  NvMediaISPLocalToneMap
 Holds controls for ISP local tone map (LTM) block. More...
 
struct  NvMediaISPColorSpaceConversion
 Holds controls for ISP color space conversion (CSC) block. More...
 
struct  NvMediaISPSaturation
 Holds controls for ISP saturation (SAT) block. More...
 
struct  NvMediaISPSharpness
 Holds controls for ISP sharpness (Sharp) block. More...
 
struct  NvMediaISPDownscale
 Holds controls for ISP downscale (DS) block. More...
 
struct  NvMediaISPClip
 Holds controls for ISP clip (Clip) block. More...
 
struct  NvMediaISPOffset
 Holds controls for ISP offset (Offset) block. More...
 
struct  NvMediaISPDigitalGain
 Holds controls for ISP digital gain (DG) block. More...
 
struct  NvMediaISPHistogramStats
 Holds controls for histogram statistics (HIST Stats). More...
 
struct  NvMediaISPStatisticsWindows
 Defines the windows used in ISP stats calculations. More...
 
struct  NvMediaISPLocalAvgClipStats
 Holds controls for local average & clip statistics (LAC Stats) More...
 
struct  NvMediaISPBadPixelStats
 Holds controls for bad pixel statistics (BP Stats). More...
 
struct  NvMediaISPLocalToneMapStats
 Holds controls for local tone map statistics (LTM Stats). More...
 
struct  NvMediaISPFlickerBandStats
 Holds controls for flicker band statistics (FB Stats). More...
 
struct  NvMediaISPProcessParams
 Holds ISP processing parameters. More...
 
struct  NvMediaISPHistogramStatsData
 Holds histogram statistics (HIST Stats) data. More...
 
struct  NvMediaISPLocalAvgClipStatsROIData
 Holds local average & clip statistics data for a region of interest. More...
 
struct  NvMediaISPLocalAvgClipStatsData
 Holds local average & clip statistics block (LAC Stats) data. More...
 
struct  NvMediaISPLocalToneMapStatsData
 Holds local tone map statistics block (LTM Stats) data. More...
 
struct  NvMediaISPBadPixelStatsData
 Holds bad pixel statistics (BP Stats) data. More...
 
struct  NvMediaISPFlickerBandStatsData
 Holds flicker band statistics (FB Stats) data. More...
 

Macros

#define NVM_ISP_VERSION_MAJOR   1
 Major Version number. More...
 
#define NVM_ISP_VERSION_MINOR   3
 Minor Version number. More...
 
#define NVM_ISP_MAX_OUTPUTS   (3U)
 Maximum supported simultaneous outputs. More...
 
#define NVM_ISP_MAX_INPUT_PLANES   (3U)
 Maximum number of input planes. More...
 
#define NVM_ISP_MAX_QUEUED_REQUESTS   (32U)
 Maximum number of queued requests. More...
 
#define NVM_ISP_MAX_COLOR_COMPONENT   (4U)
 Maximum number of color components. More...
 
#define NVM_ISP_RADTF_POINTS   (6U)
 Number of radial transfer function control points. More...
 
#define NVM_ISP_MAX_LIN_KNEE_POINTS   (10U)
 Maximum number of linearization knee points. More...
 
#define NVM_ISP_LAS_TF_POINTS   (9U)
 Number of transfer function control points for level adjusted saturation block. More...
 
#define NVM_ISP_GTM_TF_POINTS   (18U)
 Number of transfer function control points for global tone map. More...
 
#define NVM_ISP_LTM_SOFT_KEY_WIDTH   (8U)
 Local tone map soft key width. More...
 
#define NVM_ISP_LTM_SOFT_KEY_HEIGHT   (8U)
 Local tone map soft key height. More...
 
#define NVM_ISP_LTM_GAIN_POINTS   (9U)
 Local tone map gain points. More...
 
#define NVM_ISP_HIST_KNEE_POINTS   (8U)
 Number of histogram knee points. More...
 
#define NVM_ISP_MAX_LAC_ROI   (4U)
 Maximum number of local average & clip stats block regions of interest. More...
 
#define NVM_ISP_MAX_LAC_ROI_WINDOWS   (32U * 32U)
 Maximum number of windows for local average & clip in a region of interest. More...
 
#define NVM_ISP_HIST_BINS   (256U)
 Number of bins for histogram. More...
 
#define NVM_ISP_LTM_HIST_BINS   (128U)
 Number of histogram bins for local tone map stats block. More...
 
#define NVM_ISP_LTM_AVG_WINDOWS   (8U)
 Number of averaging windows for local tone map stats block. More...
 
#define NVM_ISP_MAX_FB_BANDS   (256U)
 Maximum number of windows for local average & clip in a region of interest. More...
 

Typedefs

typedef struct _NvMediaISP NvMediaISP
 A handle representing ISP object. More...
 
typedef struct
_NvMediaISPStatsSurface 
NvMediaISPStatsSurface
 A handle representing ISP stats surface object. More...
 
typedef struct _NvMediaISPSettings NvMediaISPSettings
 A handle representing ISP settings object. More...
 

Enumerations

enum  NvMediaISPPipelineEnum { NVM_ISP_PIPELINE_X1 = (('X' << 24) | 0x01) }
 Defines supported ISP pipelines. More...
 
enum  NvMediaISPExposureFusionMode {
  NVM_ISP_EXP_FUSION_USE_0 = 0,
  NVM_ISP_EXP_FUSION_USE_1 = 1,
  NVM_ISP_EXP_FUSION_USE_2 = 2,
  NVM_ISP_EXP_FUSION_BLEND_01 = 3,
  NVM_ISP_EXP_FUSION_BLEND_ALL = 4
}
 Defines supported exposure fusion modes. More...
 

Functions

NvMediaStatus NvMediaISPGetVersion (NvMediaVersion *version)
 Gives the version information for the NvMedia ISP library. More...
 
NvMediaISPNvMediaISPCreate (uint32_t instanceId, NvMediaISPPipelineEnum pipelineEnum, uint32_t maxQueuedRequests)
 Allocates an Image Signal Processing object. More...
 
NvMediaStatus NvMediaISPStop (NvMediaISP *isp)
 Stops the image processing. More...
 
NvMediaStatus NvMediaISPDestroy (NvMediaISP *isp)
 Destroys an Image Signal Processing object. More...
 
NvMediaISPStatsSurfaceNvMediaISPStatsSurfaceCreate (NvMediaISP *isp)
 Allocates an ISP statistics surface object. More...
 
NvMediaStatus NvMediaISPStatsSurfaceDestroy (NvMediaISPStatsSurface *statsSurface)
 Destroys an ISP statistics surface object. More...
 
NvMediaISPSettingsNvMediaISPSettingsCreate (NvMediaISP *isp, NvMediaISPPipelineEnum pipelineEnum)
 Allocates an ISP settings object. More...
 
NvMediaStatus NvMediaISPSettingsLoadConfig (NvMediaISPSettings *settings, const char *configFilePath)
 Loads ISP config file. More...
 
NvMediaStatus NvMediaISPSettingsDestroy (NvMediaISPSettings *settings)
 Destroys an ISP settings object. More...
 
NvMediaStatus NvMediaISPSetLinearization (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLinearization *controls, size_t size)
 Programs linearizartion block controls. More...
 
NvMediaStatus NvMediaISPSetBlackLevelCorrection (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPBlackLevelCorrection *controls, size_t size)
 Programs black level correction block controls. More...
 
NvMediaStatus NvMediaISPSetWhiteBalanceCorrection (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPWhiteBalanceCorrection *controls, size_t size)
 Programs white balance correction block controls. More...
 
NvMediaStatus NvMediaISPSetExposureFusion (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPExposureFusion *controls, size_t size)
 Programs exposure fusion block controls. More...
 
NvMediaStatus NvMediaISPSetBadPixelCorrection (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPBadPixelCorrection *controls, size_t size)
 Programs bad pixel correction block controls. More...
 
NvMediaStatus NvMediaISPSetLensShadingCorrection (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLensShadingCorrection *controls, size_t size)
 Programs lens shading correction block controls. More...
 
NvMediaStatus NvMediaISPSetDemosaic (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDemosaic *controls, size_t size)
 Programs demosaic block controls. More...
 
NvMediaStatus NvMediaISPSetLevelAdjSat (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLevelAdjSat *controls, size_t size)
 Programs level adjusted saturation block controls. More...
 
NvMediaStatus NvMediaISPSetNoiseReduction (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPNoiseReduction *controls, size_t size)
 Programs noise reduction block controls. More...
 
NvMediaStatus NvMediaISPSetColorCorrectionMatrix (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPColorCorrectionMatrix *controls, size_t size)
 Programs color correction matrix block controls. More...
 
NvMediaStatus NvMediaISPSetGlobalToneMap (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPGlobalToneMap *controls, size_t size)
 Programs global tone map block controls. More...
 
NvMediaStatus NvMediaISPSetLocalToneMap (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalToneMap *controls, size_t size)
 Programs local tone map block controls. More...
 
NvMediaStatus NvMediaISPSetColorSpaceConversion (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPColorSpaceConversion *controls, size_t size)
 Programs color space conversion block controls. More...
 
NvMediaStatus NvMediaISPSetInvColorSpaceConversion (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPColorSpaceConversion *controls, size_t size)
 Programs inverse color space conversion block controls. More...
 
NvMediaStatus NvMediaISPSetSaturation (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPSaturation *controls, size_t size)
 Programs saturation block controls. More...
 
NvMediaStatus NvMediaISPSetSharpness (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPSharpness *controls, size_t size)
 Programs sharpness block controls. More...
 
NvMediaStatus NvMediaISPSetDownscale (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDownscale *controls, size_t size)
 Programs downscale block controls. More...
 
NvMediaStatus NvMediaISPSetClip (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPClip *controls, size_t size)
 Programs clip block controls. More...
 
NvMediaStatus NvMediaISPSetOffset (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPOffset *controls, size_t size)
 Programs offset block controls. More...
 
NvMediaStatus NvMediaISPSetDigitalGain (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDigitalGain *controls, size_t size)
 Programs digital gain block controls. More...
 
NvMediaStatus NvMediaISPSetHistogramStats (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPHistogramStats *controls, size_t size)
 Programs histogram statistics block controls. More...
 
NvMediaStatus NvMediaISPSetLocalAvgClipStats (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalAvgClipStats *controls, size_t size)
 Programs local average and clip statistics block controls. More...
 
NvMediaStatus NvMediaISPSetBadPixelStats (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPBadPixelStats *controls, size_t size)
 Programs bad pixel statistics block controls. More...
 
NvMediaStatus NvMediaISPSetLocalToneMapStats (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalToneMapStats *controls, size_t size)
 Programs local tone map statistics block controls. More...
 
NvMediaStatus NvMediaISPSetFlickerBandStats (NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPFlickerBandStats *controls, size_t size)
 Programs flicker band statistics block controls. More...
 
NvMediaStatus NvMediaISPProcess (NvMediaISP *isp, const NvMediaISPProcessParams *params)
 ISP processing function. More...
 
NvMediaStatus NvMediaISPGetHistogramStatsData (NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPHistogramStatsData *statsData)
 Gets the histogram statistics data. More...
 
NvMediaStatus NvMediaISPGetLocalAvgClipStatsData (NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPLocalAvgClipStatsData *statsData)
 Gets the local average & clip statistics data. More...
 
NvMediaStatus NvMediaISPGetLocalToneMapStatsData (NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPLocalToneMapStatsData *statsData)
 Gets the local tone map statistics data. More...
 
NvMediaStatus NvMediaISPGetBadPixelStatsData (NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPBadPixelStatsData *statsData)
 Gets the bad pixel statistics data. More...
 
NvMediaStatus NvMediaISPGetFlickerBandStatsData (NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPFlickerBandStatsData *statsData)
 Gets the flicker band statistics data. More...