diff options
Diffstat (limited to 'compat/cuda/dynlink_nvcuvid.h')
-rw-r--r-- | compat/cuda/dynlink_nvcuvid.h | 384 |
1 files changed, 212 insertions, 172 deletions
diff --git a/compat/cuda/dynlink_nvcuvid.h b/compat/cuda/dynlink_nvcuvid.h index 53e0a7b400..87294248e5 100644 --- a/compat/cuda/dynlink_nvcuvid.h +++ b/compat/cuda/dynlink_nvcuvid.h @@ -1,7 +1,7 @@ /* * This copyright notice applies to this header file only: * - * Copyright (c) 2010-2016 NVIDIA Corporation + * Copyright (c) 2010-2017 NVIDIA Corporation * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation @@ -25,12 +25,12 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -/** - * \file nvcuvid.h - * NvCuvid API provides Video Decoding interface to NVIDIA GPU devices. - * \date 2015-2015 - * This file contains the interface constants, structure definitions and function prototypes. - */ +/********************************************************************************************************************/ +//! \file nvcuvid.h +//! NVDECODE API provides video decoding interface to NVIDIA GPU devices. +//! \date 2015-2017 +//! This file contains the interface constants, structure definitions and function prototypes. +/********************************************************************************************************************/ #if !defined(__NVCUVID_H__) #define __NVCUVID_H__ @@ -41,78 +41,87 @@ extern "C" { #endif /* __cplusplus */ -//////////////////////////////////////////////////////////////////////////////////////////////// -// -// High-level helper APIs for video sources -// +/********************************* +** Initialization +*********************************/ +CUresult CUDAAPI cuvidInit(unsigned int Flags); + +/***********************************************/ +//! +//! High-level helper APIs for video sources +//! +/***********************************************/ typedef void *CUvideosource; typedef void *CUvideoparser; typedef long long CUvideotimestamp; -/** - * \addtogroup VIDEO_PARSER Video Parser - * @{ - */ -/*! - * \enum cudaVideoState - * Video Source State - */ +/************************************************************************/ +//! \enum cudaVideoState +//! Video source state enums +//! Used in cuvidSetVideoSourceState and cuvidGetVideoSourceState APIs +/************************************************************************/ typedef enum { - cudaVideoState_Error = -1, /**< Error state (invalid source) */ + cudaVideoState_Error = -1, /**< Error state (invalid source) */ cudaVideoState_Stopped = 0, /**< Source is stopped (or reached end-of-stream) */ - cudaVideoState_Started = 1 /**< Source is running and delivering data */ + cudaVideoState_Started = 1 /**< Source is running and delivering data */ } cudaVideoState; -/*! - * \enum cudaAudioCodec - * Audio compression - */ +/************************************************************************/ +//! \enum cudaAudioCodec +//! Audio compression enums +//! Used in CUAUDIOFORMAT structure +/************************************************************************/ typedef enum { - cudaAudioCodec_MPEG1=0, /**< MPEG-1 Audio */ - cudaAudioCodec_MPEG2, /**< MPEG-2 Audio */ - cudaAudioCodec_MP3, /**< MPEG-1 Layer III Audio */ + cudaAudioCodec_MPEG1=0, /**< MPEG-1 Audio */ + cudaAudioCodec_MPEG2, /**< MPEG-2 Audio */ + cudaAudioCodec_MP3, /**< MPEG-1 Layer III Audio */ cudaAudioCodec_AC3, /**< Dolby Digital (AC3) Audio */ - cudaAudioCodec_LPCM /**< PCM Audio */ + cudaAudioCodec_LPCM, /**< PCM Audio */ + cudaAudioCodec_AAC, /**< AAC Audio */ } cudaAudioCodec; -/*! - * \struct CUVIDEOFORMAT - * Video format - */ +/************************************************************************************************/ +//! \ingroup STRUCTS +//! \struct CUVIDEOFORMAT +//! Video format +//! Used in cuvidGetSourceVideoFormat API +/************************************************************************************************/ typedef struct { - cudaVideoCodec codec; /**< Compression format */ + cudaVideoCodec codec; /**< OUT: Compression format */ /** - * frame rate = numerator / denominator (for example: 30000/1001) + * OUT: frame rate = numerator / denominator (for example: 30000/1001) */ struct { - unsigned int numerator; /**< frame rate numerator (0 = unspecified or variable frame rate) */ - unsigned int denominator; /**< frame rate denominator (0 = unspecified or variable frame rate) */ + /**< OUT: frame rate numerator (0 = unspecified or variable frame rate) */ + unsigned int numerator; + /**< OUT: frame rate denominator (0 = unspecified or variable frame rate) */ + unsigned int denominator; } frame_rate; - unsigned char progressive_sequence; /**< 0=interlaced, 1=progressive */ - unsigned char bit_depth_luma_minus8; /**< high bit depth Luma */ - unsigned char bit_depth_chroma_minus8; /**< high bit depth Chroma */ - unsigned char reserved1; /**< Reserved for future use */ - unsigned int coded_width; /**< coded frame width */ - unsigned int coded_height; /**< coded frame height */ + unsigned char progressive_sequence; /**< OUT: 0=interlaced, 1=progressive */ + unsigned char bit_depth_luma_minus8; /**< OUT: high bit depth luma. E.g, 2 for 10-bitdepth, 4 for 12-bitdepth */ + unsigned char bit_depth_chroma_minus8; /**< OUT: high bit depth chroma. E.g, 2 for 10-bitdepth, 4 for 12-bitdepth */ + unsigned char reserved1; /**< Reserved for future use */ + unsigned int coded_width; /**< OUT: coded frame width in pixels */ + unsigned int coded_height; /**< OUT: coded frame height in pixels */ /** - * area of the frame that should be displayed + * area of the frame that should be displayed * typical example: - * coded_width = 1920, coded_height = 1088 - * display_area = { 0,0,1920,1080 } + * coded_width = 1920, coded_height = 1088 + * display_area = { 0,0,1920,1080 } */ struct { - int left; /**< left position of display rect */ - int top; /**< top position of display rect */ - int right; /**< right position of display rect */ - int bottom; /**< bottom position of display rect */ + int left; /**< OUT: left position of display rect */ + int top; /**< OUT: top position of display rect */ + int right; /**< OUT: right position of display rect */ + int bottom; /**< OUT: bottom position of display rect */ } display_area; - cudaVideoChromaFormat chroma_format; /**< Chroma format */ - unsigned int bitrate; /**< video bitrate (bps, 0=unknown) */ + cudaVideoChromaFormat chroma_format; /**< OUT: Chroma format */ + unsigned int bitrate; /**< OUT: video bitrate (bps, 0=unknown) */ /** - * Display Aspect Ratio = x:y (4:3, 16:9, etc) + * OUT: Display Aspect Ratio = x:y (4:3, 16:9, etc) */ struct { int x; @@ -120,192 +129,223 @@ typedef struct } display_aspect_ratio; /** * Video Signal Description + * Refer section E.2.1 (VUI parameters semantics) of H264 spec file */ struct { - unsigned char video_format : 3; - unsigned char video_full_range_flag : 1; - unsigned char reserved_zero_bits : 4; - unsigned char color_primaries; - unsigned char transfer_characteristics; - unsigned char matrix_coefficients; + unsigned char video_format : 3; /**< OUT: 0-Component, 1-PAL, 2-NTSC, 3-SECAM, 4-MAC, 5-Unspecified */ + unsigned char video_full_range_flag : 1; /**< OUT: indicates the black level and luma and chroma range */ + unsigned char reserved_zero_bits : 4; /**< Reserved bits */ + unsigned char color_primaries; /**< OUT: chromaticity coordinates of source primaries */ + unsigned char transfer_characteristics; /**< OUT: opto-electronic transfer characteristic of the source picture */ + unsigned char matrix_coefficients; /**< OUT: used in deriving luma and chroma signals from RGB primaries */ } video_signal_description; - unsigned int seqhdr_data_length; /**< Additional bytes following (CUVIDEOFORMATEX) */ + unsigned int seqhdr_data_length; /**< OUT: Additional bytes following (CUVIDEOFORMATEX) */ } CUVIDEOFORMAT; -/*! - * \struct CUVIDEOFORMATEX - * Video format including raw sequence header information - */ +/****************************************************************/ +//! \ingroup STRUCTS +//! \struct CUVIDEOFORMATEX +//! Video format including raw sequence header information +//! Used in cuvidGetSourceVideoFormat API +/****************************************************************/ typedef struct { - CUVIDEOFORMAT format; - unsigned char raw_seqhdr_data[1024]; + CUVIDEOFORMAT format; /**< OUT: CUVIDEOFORMAT structure */ + unsigned char raw_seqhdr_data[1024]; /**< OUT: Sequence header data */ } CUVIDEOFORMATEX; -/*! - * \struct CUAUDIOFORMAT - * Audio Formats - */ +/****************************************************************/ +//! \ingroup STRUCTS +//! \struct CUAUDIOFORMAT +//! Audio formats +//! Used in cuvidGetSourceAudioFormat API +/****************************************************************/ typedef struct { - cudaAudioCodec codec; /**< Compression format */ - unsigned int channels; /**< number of audio channels */ - unsigned int samplespersec; /**< sampling frequency */ - unsigned int bitrate; /**< For uncompressed, can also be used to determine bits per sample */ - unsigned int reserved1; /**< Reserved for future use */ - unsigned int reserved2; /**< Reserved for future use */ + cudaAudioCodec codec; /**< OUT: Compression format */ + unsigned int channels; /**< OUT: number of audio channels */ + unsigned int samplespersec; /**< OUT: sampling frequency */ + unsigned int bitrate; /**< OUT: For uncompressed, can also be used to determine bits per sample */ + unsigned int reserved1; /**< Reserved for future use */ + unsigned int reserved2; /**< Reserved for future use */ } CUAUDIOFORMAT; -/*! - * \enum CUvideopacketflags - * Data packet flags - */ +/***************************************************************/ +//! \enum CUvideopacketflags +//! Data packet flags +//! Used in CUVIDSOURCEDATAPACKET structure +/***************************************************************/ typedef enum { CUVID_PKT_ENDOFSTREAM = 0x01, /**< Set when this is the last packet for this stream */ - CUVID_PKT_TIMESTAMP = 0x02, /**< Timestamp is valid */ - CUVID_PKT_DISCONTINUITY = 0x04 /**< Set when a discontinuity has to be signalled */ + CUVID_PKT_TIMESTAMP = 0x02, /**< Timestamp is valid */ + CUVID_PKT_DISCONTINUITY = 0x04, /**< Set when a discontinuity has to be signalled */ + CUVID_PKT_ENDOFPICTURE = 0x08, /**< Set when the packet contains exactly one frame */ } CUvideopacketflags; -/*! - * \struct CUVIDSOURCEDATAPACKET - * Data Packet - */ +/*****************************************************************************/ +//! \ingroup STRUCTS +//! \struct CUVIDSOURCEDATAPACKET +//! Data Packet +//! Used in cuvidParseVideoData API +//! IN for cuvidParseVideoData +/*****************************************************************************/ typedef struct _CUVIDSOURCEDATAPACKET { - tcu_ulong flags; /**< Combination of CUVID_PKT_XXX flags */ - tcu_ulong payload_size; /**< number of bytes in the payload (may be zero if EOS flag is set) */ - const unsigned char *payload; /**< Pointer to packet payload data (may be NULL if EOS flag is set) */ - CUvideotimestamp timestamp; /**< Presentation timestamp (10MHz clock), only valid if CUVID_PKT_TIMESTAMP flag is set */ + tcu_ulong flags; /**< IN: Combination of CUVID_PKT_XXX flags */ + tcu_ulong payload_size; /**< IN: number of bytes in the payload (may be zero if EOS flag is set) */ + const unsigned char *payload; /**< IN: Pointer to packet payload data (may be NULL if EOS flag is set) */ + CUvideotimestamp timestamp; /**< IN: Presentation time stamp (10MHz clock), only valid if + CUVID_PKT_TIMESTAMP flag is set */ } CUVIDSOURCEDATAPACKET; // Callback for packet delivery typedef int (CUDAAPI *PFNVIDSOURCECALLBACK)(void *, CUVIDSOURCEDATAPACKET *); -/*! - * \struct CUVIDSOURCEPARAMS - * Source Params - */ +/**************************************************************************************************************************/ +//! \ingroup STRUCTS +//! \struct CUVIDSOURCEPARAMS +//! Describes parameters needed in cuvidCreateVideoSource API +//! NVDECODE API is intended for HW accelerated video decoding so CUvideosource doesn't have audio demuxer for all supported +//! containers. It's recommended to clients to use their own or third party demuxer if audio support is needed. +/**************************************************************************************************************************/ typedef struct _CUVIDSOURCEPARAMS { - unsigned int ulClockRate; /**< Timestamp units in Hz (0=default=10000000Hz) */ - unsigned int uReserved1[7]; /**< Reserved for future use - set to zero */ - void *pUserData; /**< Parameter passed in to the data handlers */ - PFNVIDSOURCECALLBACK pfnVideoDataHandler; /**< Called to deliver audio packets */ - PFNVIDSOURCECALLBACK pfnAudioDataHandler; /**< Called to deliver video packets */ - void *pvReserved2[8]; /**< Reserved for future use - set to NULL */ + unsigned int ulClockRate; /**< IN: Time stamp units in Hz (0=default=10000000Hz) */ + unsigned int uReserved1[7]; /**< Reserved for future use - set to zero */ + void *pUserData; /**< IN: User private data passed in to the data handlers */ + PFNVIDSOURCECALLBACK pfnVideoDataHandler; /**< IN: Called to deliver video packets */ + PFNVIDSOURCECALLBACK pfnAudioDataHandler; /**< IN: Called to deliver audio packets. */ + void *pvReserved2[8]; /**< Reserved for future use - set to NULL */ } CUVIDSOURCEPARAMS; -/*! - * \enum CUvideosourceformat_flags - * CUvideosourceformat_flags - */ + +/**********************************************/ +//! \ingroup ENUMS +//! \enum CUvideosourceformat_flags +//! CUvideosourceformat_flags +//! Used in cuvidGetSourceVideoFormat API +/**********************************************/ typedef enum { CUVID_FMT_EXTFORMATINFO = 0x100 /**< Return extended format structure (CUVIDEOFORMATEX) */ } CUvideosourceformat_flags; #if !defined(__APPLE__) -/** - * \fn CUresult CUDAAPI cuvidCreateVideoSource(CUvideosource *pObj, const char *pszFileName, CUVIDSOURCEPARAMS *pParams) - * Create Video Source - */ +/**************************************************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidCreateVideoSource(CUvideosource *pObj, const char *pszFileName, CUVIDSOURCEPARAMS *pParams) +//! Create CUvideosource object. CUvideosource spawns demultiplexer thread that provides two callbacks: +//! pfnVideoDataHandler() and pfnAudioDataHandler() +//! NVDECODE API is intended for HW accelerated video decoding so CUvideosource doesn't have audio demuxer for all supported +//! containers. It's recommended to clients to use their own or third party demuxer if audio support is needed. +/**************************************************************************************************************************/ typedef CUresult CUDAAPI tcuvidCreateVideoSource(CUvideosource *pObj, const char *pszFileName, CUVIDSOURCEPARAMS *pParams); -/** - * \fn CUresult CUDAAPI cuvidCreateVideoSourceW(CUvideosource *pObj, const wchar_t *pwszFileName, CUVIDSOURCEPARAMS *pParams) - * Create Video Source - */ +/****************************************************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidCreateVideoSourceW(CUvideosource *pObj, const wchar_t *pwszFileName, CUVIDSOURCEPARAMS *pParams) +//! Create video source object and initialize +/****************************************************************************************************************************/ typedef CUresult CUDAAPI tcuvidCreateVideoSourceW(CUvideosource *pObj, const wchar_t *pwszFileName, CUVIDSOURCEPARAMS *pParams); -/** - * \fn CUresult CUDAAPI cuvidDestroyVideoSource(CUvideosource obj) - * Destroy Video Source - */ +/*********************************************************************/ +//! \fn CUresult CUDAAPI cuvidDestroyVideoSource(CUvideosource obj) +//! Destroy video source +/*********************************************************************/ typedef CUresult CUDAAPI tcuvidDestroyVideoSource(CUvideosource obj); -/** - * \fn CUresult CUDAAPI cuvidSetVideoSourceState(CUvideosource obj, cudaVideoState state) - * Set Video Source state - */ +/******************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidSetVideoSourceState(CUvideosource obj, cudaVideoState state) +//! Set video source state +/******************************************************************************************/ typedef CUresult CUDAAPI tcuvidSetVideoSourceState(CUvideosource obj, cudaVideoState state); -/** - * \fn cudaVideoState CUDAAPI cuvidGetVideoSourceState(CUvideosource obj) - * Get Video Source state - */ +/******************************************************************************************/ +//! \fn cudaVideoState CUDAAPI cuvidGetVideoSourceState(CUvideosource obj) +//! Get video source state +/******************************************************************************************/ typedef cudaVideoState CUDAAPI tcuvidGetVideoSourceState(CUvideosource obj); -/** - * \fn CUresult CUDAAPI cuvidGetSourceVideoFormat(CUvideosource obj, CUVIDEOFORMAT *pvidfmt, unsigned int flags) - * Get Video Source Format - */ +/****************************************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidGetSourceVideoFormat(CUvideosource obj, CUVIDEOFORMAT *pvidfmt, unsigned int flags) +//! Gets details of video stream in pvidfmt +/****************************************************************************************************************/ typedef CUresult CUDAAPI tcuvidGetSourceVideoFormat(CUvideosource obj, CUVIDEOFORMAT *pvidfmt, unsigned int flags); -/** - * \fn CUresult CUDAAPI cuvidGetSourceAudioFormat(CUvideosource obj, CUAUDIOFORMAT *paudfmt, unsigned int flags) - * Set Video Source state - */ +/****************************************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidGetSourceAudioFormat(CUvideosource obj, CUAUDIOFORMAT *paudfmt, unsigned int flags) +//! Get audio source format +//! NVDECODE API is intended for HW accelarated video decoding so CUvideosource doesn't have audio demuxer for all suppported +//! containers. It's recommended to clients to use their own or third party demuxer if audio support is needed. +/****************************************************************************************************************/ typedef CUresult CUDAAPI tcuvidGetSourceAudioFormat(CUvideosource obj, CUAUDIOFORMAT *paudfmt, unsigned int flags); #endif - -/** - * \struct CUVIDPARSERDISPINFO - */ +/**********************************************************************************/ +//! \ingroup STRUCTS +//! \struct CUVIDPARSERDISPINFO +//! Used in cuvidParseVideoData API with PFNVIDDISPLAYCALLBACK pfnDisplayPicture +/**********************************************************************************/ typedef struct _CUVIDPARSERDISPINFO { - int picture_index; /**< */ - int progressive_frame; /**< */ - int top_field_first; /**< */ - int repeat_first_field; /**< Number of additional fields (1=ivtc, 2=frame doubling, 4=frame tripling, -1=unpaired field) */ - CUvideotimestamp timestamp; /**< */ + int picture_index; /**< OUT: Index of the current picture */ + int progressive_frame; /**< OUT: 1 if progressive frame; 0 otherwise */ + int top_field_first; /**< OUT: 1 if top field is displayed first; 0 otherwise */ + int repeat_first_field; /**< OUT: Number of additional fields (1=ivtc, 2=frame doubling, 4=frame tripling, + -1=unpaired field) */ + CUvideotimestamp timestamp; /**< OUT: Presentation time stamp */ } CUVIDPARSERDISPINFO; -// -// Parser callbacks -// The parser will call these synchronously from within cuvidParseVideoData(), whenever a picture is ready to -// be decoded and/or displayed. -// +/***********************************************************************************************************************/ +//! Parser callbacks +//! The parser will call these synchronously from within cuvidParseVideoData(), whenever a picture is ready to +//! be decoded and/or displayed. First argument in functions is "void *pUserData" member of structure CUVIDSOURCEPARAMS +/***********************************************************************************************************************/ typedef int (CUDAAPI *PFNVIDSEQUENCECALLBACK)(void *, CUVIDEOFORMAT *); typedef int (CUDAAPI *PFNVIDDECODECALLBACK)(void *, CUVIDPICPARAMS *); typedef int (CUDAAPI *PFNVIDDISPLAYCALLBACK)(void *, CUVIDPARSERDISPINFO *); -/** - * \struct CUVIDPARSERPARAMS - */ +/**************************************/ +//! \ingroup STRUCTS +//! \struct CUVIDPARSERPARAMS +//! Used in cuvidCreateVideoParser API +/**************************************/ typedef struct _CUVIDPARSERPARAMS { - cudaVideoCodec CodecType; /**< cudaVideoCodec_XXX */ - unsigned int ulMaxNumDecodeSurfaces; /**< Max # of decode surfaces (parser will cycle through these) */ - unsigned int ulClockRate; /**< Timestamp units in Hz (0=default=10000000Hz) */ - unsigned int ulErrorThreshold; /**< % Error threshold (0-100) for calling pfnDecodePicture (100=always call pfnDecodePicture even if picture bitstream is fully corrupted) */ - unsigned int ulMaxDisplayDelay; /**< Max display queue delay (improves pipelining of decode with display) - 0=no delay (recommended values: 2..4) */ - unsigned int uReserved1[5]; /**< Reserved for future use - set to 0 */ - void *pUserData; /**< User data for callbacks */ - PFNVIDSEQUENCECALLBACK pfnSequenceCallback; /**< Called before decoding frames and/or whenever there is a format change */ - PFNVIDDECODECALLBACK pfnDecodePicture; /**< Called when a picture is ready to be decoded (decode order) */ - PFNVIDDISPLAYCALLBACK pfnDisplayPicture; /**< Called whenever a picture is ready to be displayed (display order) */ - void *pvReserved2[7]; /**< Reserved for future use - set to NULL */ - CUVIDEOFORMATEX *pExtVideoInfo; /**< [Optional] sequence header data from system layer */ + cudaVideoCodec CodecType; /**< IN: cudaVideoCodec_XXX */ + unsigned int ulMaxNumDecodeSurfaces; /**< IN: Max # of decode surfaces (parser will cycle through these) */ + unsigned int ulClockRate; /**< IN: Timestamp units in Hz (0=default=10000000Hz) */ + unsigned int ulErrorThreshold; /**< IN: % Error threshold (0-100) for calling pfnDecodePicture (100=always + IN: call pfnDecodePicture even if picture bitstream is fully corrupted) */ + unsigned int ulMaxDisplayDelay; /**< IN: Max display queue delay (improves pipelining of decode with display) + 0=no delay (recommended values: 2..4) */ + unsigned int uReserved1[5]; /**< IN: Reserved for future use - set to 0 */ + void *pUserData; /**< IN: User data for callbacks */ + PFNVIDSEQUENCECALLBACK pfnSequenceCallback; /**< IN: Called before decoding frames and/or whenever there is a fmt change */ + PFNVIDDECODECALLBACK pfnDecodePicture; /**< IN: Called when a picture is ready to be decoded (decode order) */ + PFNVIDDISPLAYCALLBACK pfnDisplayPicture; /**< IN: Called whenever a picture is ready to be displayed (display order) */ + void *pvReserved2[7]; /**< Reserved for future use - set to NULL */ + CUVIDEOFORMATEX *pExtVideoInfo; /**< IN: [Optional] sequence header data from system layer */ } CUVIDPARSERPARAMS; -/** - * \fn CUresult CUDAAPI cuvidCreateVideoParser(CUvideoparser *pObj, CUVIDPARSERPARAMS *pParams) - */ +/************************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidCreateVideoParser(CUvideoparser *pObj, CUVIDPARSERPARAMS *pParams) +//! Create video parser object and initialize +/************************************************************************************************/ typedef CUresult CUDAAPI tcuvidCreateVideoParser(CUvideoparser *pObj, CUVIDPARSERPARAMS *pParams); -/** - * \fn CUresult CUDAAPI cuvidParseVideoData(CUvideoparser obj, CUVIDSOURCEDATAPACKET *pPacket) - */ +/************************************************************************************************/ +//! \fn CUresult CUDAAPI cuvidParseVideoData(CUvideoparser obj, CUVIDSOURCEDATAPACKET *pPacket) +//! Parse the video data from source data packet in pPacket +//! Extracts parameter sets like SPS, PPS, bitstream etc. from pPacket and +//! calls back pfnDecodePicture with CUVIDPICPARAMS data for kicking of HW decoding +/************************************************************************************************/ typedef CUresult CUDAAPI tcuvidParseVideoData(CUvideoparser obj, CUVIDSOURCEDATAPACKET *pPacket); -/** - * \fn CUresult CUDAAPI cuvidDestroyVideoParser(CUvideoparser obj) - */ +/*******************************************************************/ +//! \fn CUresult CUDAAPI cuvidDestroyVideoParser(CUvideoparser obj) +/*******************************************************************/ typedef CUresult CUDAAPI tcuvidDestroyVideoParser(CUvideoparser obj); -/** @} */ /* END VIDEO_PARSER */ -//////////////////////////////////////////////////////////////////////////////////////////////// +/**********************************************************************************************/ #if defined(__cplusplus) } |