NVIDIA DRIVE OS Linux SDK API Reference

5.1.9.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_icp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
15 #ifndef NVMEDIA_ICP_H
16 #define NVMEDIA_ICP_H
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #include "nvmedia_core.h"
23 #include "nvmedia_surface.h"
24 #include "nvmedia_image.h"
25 
42 #define NVMEDIA_ICP_VERSION_MAJOR 4
43 
44 #define NVMEDIA_ICP_VERSION_MINOR 19
45 
50 #define NVMEDIA_IMAGE_CAPTURE_TIMEOUT_INFINITE (0xFFFFFFFFu)
51 
53 #define NVMEDIA_ICP_MAX_VIRTUAL_GROUPS 4u
54 
56 #define NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS 3u
57 
63 #define NVMEDIA_ICP_HANDLER(icpEx, groupIdx) (icpEx->icp[groupIdx].hIcp)
64 
72 #define NVMEDIA_ICP_SETTINGS_HANDLER(icpSettingsEx, groupIdx, vcIdx) \
73  (&icpSettingsEx.virtualGroups[groupIdx].virtualChannels[vcIdx].icpSettings)
74 
82 #define NVMEDIA_ICP_ERROR(_type_, _error_, _value_, _desc_) \
83  NVMEDIA_ICP_##_type_##_ERROR_##_error_ = _value_##u,
84 
89 #define NVMEDIA_MAX_ICP_FRAME_BUFFERS 32u
90 
94 typedef enum {
120 
124 typedef enum {
167 
171 typedef enum {
185 
189 typedef struct {
196 
200 typedef enum {
206 
210 typedef struct {
220  uint16_t width;
222  uint16_t height;
225  uint16_t startX;
228  uint16_t startY;
234  uint32_t interfaceLanes;
239  uint32_t pixelFrequency;
244  uint32_t mipiSpeed;
247  uint16_t thsSettle;
252  uint8_t tpgEnable;
260  uint32_t frameRate;
262 
266 typedef struct {
272  uint32_t interfaceLanes;
273  struct {
274  struct {
275  /* Holds the virtual Channel Index from CSI TX. */
277  /* Holds the image capture settings for CSI format. */
292  } virtualChannels[NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS];
295  } virtualGroups[NVMEDIA_ICP_MAX_VIRTUAL_GROUPS];
301 
305 typedef struct NvMediaICP NvMediaICP;
306 
310 typedef struct {
314  struct {
316  uint16_t virtualGroupId;
320 } NvMediaICPEx;
321 
393 typedef enum {
401 
402 typedef enum {
403  /* Multiple Error Bits may be set accompanying a CsiInputFrameError */
404  NVMEDIA_ICP_ERROR(CSI, FE_CSI_FAULT, 6, "A NVCSI fault received at frame end")
405  NVMEDIA_ICP_ERROR(CSI, FS_FAULT, 7, "A frame start occurred before previous frame end")
406  NVMEDIA_ICP_ERROR(CSI, FE_FORCED_FAULT, 8, "A frame end was injected by the CSI hardware")
407  NVMEDIA_ICP_ERROR(CSI, FE_FRAMEID_FAULT, 9, "Frame ID for FE packet does not match that of FS packet")
408  NVMEDIA_ICP_ERROR(CSI, PXL_ENABLE_FAULT , 10, "An illegal pixel encoding has been detected")
409  NVMEDIA_ICP_ERROR(CSI, PP_FSM_TIMEOUT, 20, "Pixel Parser FSM timeout")
410  NVMEDIA_ICP_ERROR(CSI, PH_ECC_DPHY, 21, "Single bit error correction code in DPHY packet header")
411  NVMEDIA_ICP_ERROR(CSI, PAYLOAD_CRC, 22, "Packet Payload CRC check fail error")
412  NVMEDIA_ICP_ERROR(CSI, LINE_SHORT, 23, "Packet Payload is less than word count in packet header")
413  NVMEDIA_ICP_ERROR(CSI, PH_CRC_CPHY, 24, "One of the CPHY packet headers CRC error")
414  NVMEDIA_ICP_ERROR(CSI, EMB_CRC, 25, "Embedded line CRC error")
416 
417 typedef enum {
418  /* CSI Stream Errors */
419  NVMEDIA_ICP_ERROR(CSI, SPURIOUS_DATA, 0, "FIFO data was found in the gap between frame start and frame end")
423  NVMEDIA_ICP_ERROR(CSI, FIFO_OVERFLOW, 1, "An overflow occurred in a stream FIFO")
424  NVMEDIA_ICP_ERROR(CSI, FIFO_LOF, 2, "A loss of frame overflow occurred")
425  NVMEDIA_ICP_ERROR(CSI, FIFO_BADPKT, 3, "An unknown packet type has been received on a stream")
427 
428 typedef enum {
429  /* VI Channel Sel faults from engine status */
430  NVMEDIA_ICP_ERROR(VI, FS_TIMEOUT, 0, "Frame Start Timeout Error")
431  NVMEDIA_ICP_ERROR(VI, FE_TIMEOUT, 1, "Frame End Timeout Error")
432  NVMEDIA_ICP_ERROR(VI, PXL_MISSING_LE, 5, "Two LS packets were detected without a LE packet between them")
433  NVMEDIA_ICP_ERROR(VI, PXL_RUNAWAY, 6, "More lines were received than expected")
434  NVMEDIA_ICP_ERROR(VI, PXL_SPURIOUS, 7, "A pixel data packet was received without a LS packet first")
435  NVMEDIA_ICP_ERROR(VI, PXL_LONG_LINE, 8, "More pixels were received than expected in a line")
436  NVMEDIA_ICP_ERROR(VI, PXL_SHORT_LINE, 9, "Fewer pixels were received than expected in a line")
437  NVMEDIA_ICP_ERROR(VI, EMB_MISSING_LE, 10, "Two LS packets were detected without a LE packet between them in emb data")
438  NVMEDIA_ICP_ERROR(VI, EMB_RUNAWAY, 11, "More lines were received than expected in emb data")
439  NVMEDIA_ICP_ERROR(VI, EMB_SPURIOUS, 12, "A pixel data packet was received without a LS packet first in emb data")
440  NVMEDIA_ICP_ERROR(VI, EMB_LONG_LINE, 13, "More pixels were received than expected in a line in emb data")
441  NVMEDIA_ICP_ERROR(VI, EMB_INFRINGE, 14, "Embedded data was received on a frame where no embedded data was expected")
442  NVMEDIA_ICP_ERROR(VI, DTYPE_MISMATCH, 15, "The pixel datatype changed in the middle of the line")
443  NVMEDIA_ICP_ERROR(VI, FORCED_FE, 16, "FE didn't arrive within expected frame duration, capture engine injected FE")
444  NVMEDIA_ICP_ERROR(VI, PXL_INCOMPLETE, 17, "Fewer lines of pixels in a frame were received than expected")
445  NVMEDIA_ICP_ERROR(VI, EMB_INCOMPLETE, 18, "Fewer lines of emb data in a frame were received than expected")
446  NVMEDIA_ICP_ERROR(VI, PFSD_FAULT, 19, "Permanent Fault Software Diagnostic is detected from engine status")
448 
449 typedef enum {
450  /* VI Channel Frame faults */
451  NVMEDIA_ICP_ERROR(VI, SHORT_FRAME, 0, "FE packet arrived before the normal number of pixels has appeared ")
452  NVMEDIA_ICP_ERROR(VI, SHORT_EMB, 1, "FE of EMB Data packet arrived before the normal number of pixels has appeared ")
453  NVMEDIA_ICP_ERROR(VI, PFSD_FAULT_NOTIFED, 2, "Permanent Fault Software Diagnostic is detected between frames")
454  NVMEDIA_ICP_ERROR(VI, FAULT_FE, 3, "FE is inserted due to a stream reset or early abort")
455  NVMEDIA_ICP_ERROR(VI, NOMATCH, 4, "CSI packets are discarded due to no matched capture channels")
456  NVMEDIA_ICP_ERROR(VI, COLLISION, 5, "An FS packet matches a channel which is not done processing a previously matching frame")
457  NVMEDIA_ICP_ERROR(VI, LOAD_FRAMED, 6, "A LOAD command is received for a channel while that channel is currently in a frame")
459 
460 typedef enum {
461  /* Errors while outputing data to memory */
462  NVMEDIA_ICP_ERROR(VI, PACKET_OVERFLOW, 0, "The FIFO for a surface packer has overflowed")
463  NVMEDIA_ICP_ERROR(VI, FRAME_TRUNCATED, 1, "A packer has dropped a partial frame")
464  NVMEDIA_ICP_ERROR(VI, FRAME_TOSSED, 2, "A packer has dropped an entire frame")
466 
471 typedef struct {
473  uint32_t csiStreamId;
475  uint32_t csiFrameId;
482  uint32_t errorData;
489  uint32_t notifiedErrors[NVMEDIA_ICP_ERROR_STATUS_MEMORYWRITE + 1u];
491 
507  NvMediaVersion *version
508 );
509 
530 NvMediaICPEx *
532  NvMediaICPSettingsEx *settings
533 );
534 
539 void
541  NvMediaICPEx *icpEx
542 );
543 
544 
555  NvMediaICP *icp,
556  NvMediaImageGroup *imageGrp
557 );
558 
559 
586  NvMediaICP *icp,
587  NvMediaImageGroup *imageGrp,
588  unsigned int millisecondTimeout
589 );
590 
611  NvMediaICP *icp,
612  uint32_t millisecondTimeout,
613  NvMediaImageGroup **imageGrp
614 );
615 
625  NvMediaICP *icp,
626  NvMediaImageGroup *imageGrp
627 );
628 
652  NvMediaICP *icp,
653  NvMediaImageGroup **imageGrp
654 );
655 
673  NvMediaICP *icp,
674  NvMediaICPErrorInfo *icpErrorInfo
675 );
676 
677 /*
678  * \defgroup history_nvmedia_icp History
679  * Provides change history for the NvMedia ICP API.
680  *
681  * \section history_nvmedia_icp Version History
682  *
683  * <b> Version 2.0 </b> April 4, 2016
684  * - Initial release
685  *
686  * <b> Version 2.1 </b> May 11, 2016
687  * - Added \ref NvMediaICPCheckVersion API
688  *
689  * <b> Version 2.2 </b> August 17, 2016
690  * - Added \ref NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_UYVY image capture input
691  * format type
692  *
693  * <b> Version 2.3 </b> August 31, 2016
694  * - Added option for enabling embeddedDataType in \ref NvMediaICPSettings
695  *
696  * <b> Version 2.4 </b> Jan 23, 2017
697  * - Added \ref NvMediaICPErrorInfo and \ref NvMediaICPGetErrorInfo
698  *
699  * <b> Version 2.5 </b> March 16, 2017
700  * - Added \ref NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER ,
701  * \ref NvMediaICPUserFormatType and option for enabling userFormatType in
702  * \ref NvMediaICPInputFormat
703  *
704  * <b> Version 3.0 </b> April 19, 2017
705  * Updated to use stdint.h instead of "unsigned int",
706  * "int", "unsigned short" and "char".
707  * NvMediaICPCreate and NvMediaICPDestroy are now deprecated.
708  * NvMediaICPGetFrame is now deprecated.
709  * NvMediaICPInterfaceFormat is now deprecated, it will be always CSI.
710  *
711  * <b> Version 3.1 </b> May 12, 2017
712  * - Added \ref NvMediaICPGetVersion API to get the version of NvMedia ICP library
713  * - NvMediaICPCheckVersion is deprecated. Use NvMediaICPGetVersion() instead
714  *
715  * <b> Version 3.2 </b> May 19, 2017
716  * Removed \ref NvMediaICPSurfaceFormatType
717  * NvMediaICPSettings now takes NvMediaSurfaceType to indicate capture surface format
718  * Removed NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_TPG0
719  * Combined NvMediaICPUserFormatType with NvMediaICPInputFormatType
720  * Removed NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV420
721  * from \ref NvMediaICPInputFormatType
722  * Added RAW6/RAW7/RAW8/RAW10/RAW12/RAW14 in NvMediaICPInputFormatType
723  * Removed pixelOrder from \ref NvMediaICPInputFormat
724  * Added tpgEnagle in \ref NvMediaICPSettings
725  *
726  * <b> Version 4.2 </b> June 12, 2017
727  * Added virtualGroupIndex inside \ref NvMediaICPSettingsEx
728  * Renamed virtualChannel to virtualGroup inside \ref NvMediaICPEx
729  * Added \ref NvMediaICPFeedImageGroup and \ref NvMediaICPGetImageGroup APIs
730  *
731  * <b> Version 4.3 </b> October 5, 2017
732  * - Added \ref NvMediaICPResume API
733  *
734  * <b> Version 4.4 </b> October 11, 2017
735  * Changed the prototypes for \ref NvMediaICPGetImageGroup and
736  * \ref NvMediaICPReleaseImageGroup to accept double pointer to imageGrp
737  *
738  * <b> Version 4.5 </b> November 10, 2017
739  * Added YUV422_10, RAW16, RAW20 support in \ref NvMediaICPInputFormatType
740  * \ref NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422_10,
741  * \ref NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW16,
742  * \ref NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW20
743  *
744  * <b> Version 4.6 </b> November 18, 2017
745  * Added additional CSI interfaces, CSI phy mode parameter to \ref NvMediaICPSettingsEX
746  *
747  * <b> Version 4.7 </b> March 16, 2018
748  * Added mipiSpeed in \ref NvMediaICPSettings
749  *
750  * <b> Version 4.8 </b> September 12, 2018
751  * Added NvMediaICPWaitForSoF in \ref NvMediaICPWaitForSoF
752  *
753  * <b> Version 4.9 </b> March 7, 2019
754  * Added detailed capture error errorData in \ref NvMediaICPErrorInfo
755  * Refactor \ref NvMediaICPErrorStatus to group capture errors
756  *
757  * <b> Version 4.10 </b> March 10, 2019
758  * Added NvMediaICPRegisterImageGroup in \ref NvMediaICPRegisterImageGroup
759  * Added NvMediaICPUnregisterImageGroup in \ref NvMediaICPUnregisterImageGroup
760  *
761  * <b> Version 4.11 </b> March 18, 2019
762  * Deprecated API's- NvMediaICPFeedFrame, NvMediaICPGetFrameEx and NvMediaICPReleaseFrame
763  * Instead NvMediaICPFeedImageGroup,NvMediaICPGetImageGroup and NvMediaICPReleaseImageGroup
764  * should be used
765  *
766  * <b> Version 4.12 </b> March 25, 2019
767  * Added \ref NvMediaICPCSIErrorType Enum
768  * Added csiErrorMask, csiErrorType to \ref NvMediaICPSettings
769  *
770  * <b> Version 4.13 </b> March 27, 2019
771  * Added notifiedErrors in \ref NvMediaICPErrorInfo and disablePFSD \ref NvMediaICPSettingsEx.
772  *
773  * <b> Version 4.14 </b> April 2, 2019
774  * Changed \ref NvMediaICP type from void to struct.
775  *
776  * <b> Version 4.15 </b> April 4, 2019
777  * Add \ref NvMediaBitsPerPixel, NVMEDIA_MAX_ICP_FRAME_BUFFERS
778  *
779  * <b> Version 4.16 </b> April 10, 2019
780  * Added deprecated warning message for \ref NvMediaICPWaitForSoF.
781  *
782  * <b> Version 4.17 </b> May 22, 2019
783  * Remove deprecated NvMediaICPWaitForSoF
784  *
785  * <b> Version 4.18 </b> July 12, 2019
786  * removed NvMediaICPCSIErrorType Enum
787  * removed csiErrorMask, csiErrorType from \ref NvMediaICPSettings
788  * removed NVMEDIA_ICP_ERROR_STATUS_FATAL from \ref NvMediaICPErrorStatus
789  *
790  * <b> Version 4.19 </b> July 18, 2019
791  * Remove NvMediaICPStop and NvMediaICPResume
792  */
795 #ifdef __cplusplus
796 }; /* extern "C" */
797 #endif
798 
799 #endif /* _NVMEDIA_ICP_H */
Specifies 20 bits per pixel.
Definition: nvmedia_icp.h:183
NvMediaBitsPerPixel
Specifies bits per pixel.
Definition: nvmedia_icp.h:171
NvMediaICPInputFormat inputFormat
Holds the input format.
Definition: nvmedia_icp.h:216
NvMediaICPInterfaceType
Specifies the image capture interface type for the CSI interface.
Definition: nvmedia_icp.h:94
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
NvMediaStatus NvMediaICPFeedImageGroup(NvMediaICP *icp, NvMediaImageGroup *imageGrp, unsigned int millisecondTimeout)
Adds an image group to the image capture pool.
uint16_t thsSettle
Holds the MIPI THS-SETTLE time.
Definition: nvmedia_icp.h:247
NvMediaICPInputFormatType inputFormatType
Holds capture input format type.
Definition: nvmedia_icp.h:191
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
Holds image capture settings for the CSI format.
Definition: nvmedia_icp.h:210
NvMediaStatus NvMediaICPGetImageGroup(NvMediaICP *icp, uint32_t millisecondTimeout, NvMediaImageGroup **imageGrp)
Gets a captured image group with frame status.
NVIDIA Media Interface: Surface Handling
struct NvMediaICP NvMediaICP
Holds an image capture object per virtual group.
Definition: nvmedia_icp.h:305
uint16_t width
Holds the capture width.
Definition: nvmedia_icp.h:220
NVIDIA Media Interface: Image Processing
NvMediaICPInterfaceType interfaceType
Holds the interface type.
Definition: nvmedia_icp.h:214
uint32_t frameRate
Holds the capture frame rate in frames per second.
Definition: nvmedia_icp.h:260
#define NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS
Defines the maximum number of virtual channels per virtual group.
Definition: nvmedia_icp.h:56
Holds NvMedia version information.
Definition: nvmedia_core.h:226
Holds the image capture settings for the CSI format per virtual group.
Definition: nvmedia_icp.h:266
uint16_t startX
Holds the horizontal start position.
Definition: nvmedia_icp.h:225
uint16_t embeddedDataLines
Holds the embedded data lines.
Definition: nvmedia_icp.h:230
uint16_t numVirtualGroups
Holds the number of virtual groups used.
Definition: nvmedia_icp.h:312
uint16_t startY
Holds the vertical start position.
Definition: nvmedia_icp.h:228
NvMediaICPSettings icpSettings
Definition: nvmedia_icp.h:278
Specifies 14 bits per pixel.
Definition: nvmedia_icp.h:179
#define NVMEDIA_ICP_MAX_VIRTUAL_GROUPS
Defines the maximum number of virtual groups.
Definition: nvmedia_icp.h:53
uint32_t csiFrameId
Holds the CSI frame index generated by CSI Tx.
Definition: nvmedia_icp.h:475
NvMediaBitsPerPixel bitsPerPixel
Holds number of bits per pixel.
Definition: nvmedia_icp.h:194
NvMediaICPEx * NvMediaICPCreateEx(NvMediaICPSettingsEx *settings)
Creates an image capture object used to capture various formats of input into an NvMediaImage.
Specifies 10 bits per pixel.
Definition: nvmedia_icp.h:175
NvMediaStatus NvMediaICPReleaseImageGroup(NvMediaICP *icp, NvMediaImageGroup **imageGrp)
Gets an image group from the internal pool that the client previously supplied with NvMediaICPFeedIma...
Holds a handle representing an image group.
NVIDIA Media Interface: Core
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:169
NvMediaStatus NvMediaICPRegisterImageGroup(NvMediaICP *icp, NvMediaImageGroup *imageGrp)
Maps an image group to the capture engine.
Specifies that CSI is in CPHY mode.
Definition: nvmedia_icp.h:204
NvMediaICPPixelFaultError
Definition: nvmedia_icp.h:428
uint16_t numVirtualChannels
Holds the number of virtual channels per group.
Definition: nvmedia_icp.h:294
Holds the capture input format.
Definition: nvmedia_icp.h:189
NvMediaICPCsiPhyMode phyMode
Holds the CSI phy mode.
Definition: nvmedia_icp.h:256
NvMediaStatus NvMediaICPGetErrorInfo(NvMediaICP *icp, NvMediaICPErrorInfo *icpErrorInfo)
Gets capture error information.
NvMediaICPCsiInputFrameError
Definition: nvmedia_icp.h:402
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:133
NvMediaRect clipRect
Holds the clipping rectangle.
Definition: nvmedia_icp.h:283
NvMediaICPFrameFaultError
Definition: nvmedia_icp.h:449
Specifies 16 bits per pixel.
Definition: nvmedia_icp.h:181
uint32_t csiStreamId
Holds the CSI stream index.
Definition: nvmedia_icp.h:473
NvMediaICPInputFormatType
Specifies the image capture input format type.
Definition: nvmedia_icp.h:124
uint16_t virtualChannelIndex
Definition: nvmedia_icp.h:276
NvMediaICPErrorStatus errorStatus
Holds the error status from capture HW engine.
Definition: nvmedia_icp.h:479
Holds the capture error information populated by NvMediaICPGetErrorInfo().
Definition: nvmedia_icp.h:471
NvMediaBool embeddedDataType
Holds an indicator of embedded data type.
Definition: nvmedia_icp.h:250
uint16_t numVirtualGroups
Holds the number of virtual groups.
Definition: nvmedia_icp.h:297
uint32_t pixelFrequency
Holds the pixel clock frequency.
Definition: nvmedia_icp.h:239
uint32_t errorData
Holds a detailed error code corresponding to NvMediaICPErrorStatus, above.
Definition: nvmedia_icp.h:482
uint32_t interfaceLanes
Holds the number of CSI interface lanes active.
Definition: nvmedia_icp.h:234
uint32_t virtualChannelId
Holds the virtual channel index.
Definition: nvmedia_icp.h:477
Specifies 8 bits per pixel.
Definition: nvmedia_icp.h:173
NvMediaICPCsiPhyMode phyMode
Holds the CSI phy mode.
Definition: nvmedia_icp.h:299
NvMediaICPErrorStatus
Defines error status codes.
Definition: nvmedia_icp.h:393
uint16_t height
Holds the capture height.
Definition: nvmedia_icp.h:222
uint32_t interfaceLanes
Holds the number of active CSI interface lanes.
Definition: nvmedia_icp.h:272
Specifies that CSI is in DPHY mode.
Definition: nvmedia_icp.h:202
NvMediaStatus NvMediaICPUnregisterImageGroup(NvMediaICP *icp, NvMediaImageGroup *imageGrp)
Unmaps a frame from the capture engine.
NvMediaICPCsiPhyMode
Specifies the CSI phy mode.
Definition: nvmedia_icp.h:200
uint16_t virtualGroupId
Holds the virtual group index.
Definition: nvmedia_icp.h:316
NvMediaICPCsiInputStreamError
Definition: nvmedia_icp.h:417
uint32_t mipiSpeed
Holds the mipi speed in kilohertz.
Definition: nvmedia_icp.h:244
NvMediaBool disablePFSD
Holds a flag for disabling PFSD (Permanent Fault Software Diagnostic) functionality in the capture en...
Definition: nvmedia_icp.h:291
NvMediaICPInterfaceType interfaceType
Holds the interface type.
Definition: nvmedia_icp.h:268
NvMediaICP * hIcp
Holds a pointer to the image capture object.
Definition: nvmedia_icp.h:318
Specifies 12 bits per pixel.
Definition: nvmedia_icp.h:177
NvMediaSurfaceType surfaceType
Holds the capture surface type.
Definition: nvmedia_icp.h:218
NvMediaStatus NvMediaICPGetVersion(NvMediaVersion *version)
Gets the version of the NvMedia ICP library.
Holds an image capture object created by NvMediaICPCreateEx().
Definition: nvmedia_icp.h:310
uint8_t tpgEnable
Holds a Boolean; indicates whether TPG is enabled.
Definition: nvmedia_icp.h:252
#define NVMEDIA_ICP_ERROR(_type_, _error_, _value_, _desc_)
A macro that creates an enumerator in enum NvMediaICPErrorStatus.
Definition: nvmedia_icp.h:82
NvMediaICPMemoryWriteError
Definition: nvmedia_icp.h:460
void NvMediaICPDestroyEx(NvMediaICPEx *icpEx)
Destroys an image capture object created by NvMediaICPCreateEx().