Loading [MathJax]/extensions/tex2jax.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • NVIDIA DRIVE OS Linux SDK API Reference

    6.0.4 Release
    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    nvmedia_ide.h
    Go to the documentation of this file.
    1 /*
    2  * SPDX-FileCopyrightText: Copyright (c) 2021-2022 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 
    20 #ifndef NVMEDIA_IDE_H
    21 #define NVMEDIA_IDE_H
    22 
    23 #ifdef __cplusplus
    24 extern "C" {
    25 #endif
    26 
    27 #include <stdint.h>
    28 
    29 #include "nvmedia_common_decode.h"
    30 #include "nvmedia_core.h"
    31 #include "nvscibuf.h"
    32 #include "nvscisync.h"
    33 
    52 #define NVMEDIA_IDE_VERSION_MAJOR 1
    53 
    54 #define NVMEDIA_IDE_VERSION_MINOR 0
    55 
    56 #define NVMEDIA_IDE_VERSION_PATCH 0
    57 
    62 #define NVMEDIA_IDE_MAX_PRENVSCISYNCFENCES (16U)
    63 
    64 
    65 
    70 typedef struct NvMediaIDE NvMediaIDE;
    71 
    83 #define NVMEDIA_IDE_10BIT_DECODE (1U<<0)
    84 
    90 #define NVMEDIA_IDE_PIXEL_REC_2020 (1U<<1)
    91 
    97 #define NVMEDIA_IDE_OUTPUT_16BIT_SURFACES (1U<<2)
    98 
    104 #define NVMEDIA_IDE_ENABLE_AES (1U<<3)
    105 
    111 #define NVMEDIA_IDE_NV24_OUTPUT (1U<<4)
    112 
    118 #define NVMEDIA_IDE_PROFILING (1U<<5)
    119 
    125 #define NVMEDIA_IDE_DUMP_MV (1U<<6)
    126 
    157  NvMediaVersion *version
    158 );
    159 
    213 NvMediaIDE *
    215  NvMediaVideoCodec codec,
    216  uint16_t width,
    217  uint16_t height,
    218  uint16_t maxReferences,
    219  uint64_t maxBitstreamSize,
    220  uint8_t inputBuffering,
    221  uint32_t flags,
    222  NvMediaDecoderInstanceId instanceId
    223 );
    224 
    247 NvMediaIDE *
    249  void
    250 );
    251 
    314  NvMediaIDE *decoder,
    315  NvMediaVideoCodec codec,
    316  uint16_t width,
    317  uint16_t height,
    318  uint16_t maxReferences,
    319  uint64_t maxBitstreamSize,
    320  uint8_t inputBuffering,
    321  uint32_t flags,
    322  NvMediaDecoderInstanceId instanceId
    323 );
    324 
    350  const NvMediaIDE *decoder
    351 );
    352 
    407  const NvMediaIDE *decoder,
    408  NvSciBufObj bufObj
    409 );
    410 
    463  const NvMediaIDE *decoder,
    464  NvSciBufObj bufObj
    465 );
    466 
    536  const NvMediaIDE *decoder,
    537  NvSciBufObj target,
    538  const NvMediaPictureInfo *pictureInfo,
    539  const void *encryptParams,
    540  uint32_t numBitstreamBuffers,
    541  const NvMediaBitstreamBuffer *bitstreams,
    542  NvMediaIDEFrameStats *FrameStatsDump,
    543  NvMediaDecoderInstanceId instanceId
    544 );
    545 
    593  const NvMediaIDE *decoder,
    594  const NvSciBufObj target,
    595  const NvMediaSliceDecodeData *sliceDecData
    596 );
    597 
    667  const NvMediaIDE *decoder,
    668  uint32_t ringEntryIdx,
    669  NvMediaIDEFrameStatus *FrameStatus
    670 );
    671 
    712  NvMediaDecoderInstanceId instanceId,
    713  NvSciBufAttrList attrlist
    714 );
    715 
    765  const NvMediaIDE *decoder,
    766  NvSciSyncAttrList attrlist,
    767  NvMediaNvSciSyncClientType clienttype
    768 );
    769 
    794  const NvMediaIDE *decoder,
    795  void *backupdates
    796 );
    797 
    853  const NvMediaIDE *decoder,
    854  NvMediaNvSciSyncObjType syncobjtype,
    855  NvSciSyncObj nvscisync
    856 );
    857 
    919  const NvMediaIDE *decoder,
    920  NvSciSyncObj nvscisync
    921 );
    922 
    969  const NvMediaIDE *decoder,
    970  NvSciSyncObj nvscisyncEOF
    971 );
    972 
    1033  const NvMediaIDE *decoder,
    1034  const NvSciSyncFence *prenvscisyncfence
    1035 );
    1036 
    1096  const NvMediaIDE *decoder,
    1097  NvSciSyncObj eofnvscisyncobj,
    1098  NvSciSyncFence *eofnvscisyncfence
    1099 );
    1100 
    1101 /*
    1102  * @defgroup 6x_history_nvmedia_ide History
    1103  * Provides change history for the NvMediaIDE API.
    1104  *
    1105  * \section 6x_history_nvmedia_ide Version History
    1106  *
    1107  * <b> Version 1.0 </b> September 28, 2021
    1108  * - Initial release
    1109  */
    1112 #ifdef __cplusplus
    1113 } /* extern "C" */
    1114 #endif
    1115 
    1116 #endif /* NVMEDIA_IDE_H */
    NvMediaIDECreateCtx
    NvMediaIDE * NvMediaIDECreateCtx(void)
    Create an NvMediaIDE object instance.
    NvMediaIDEFrameStats
    Frame stats structure to get get ring entry idx and motion vector dump.
    Definition: nvmedia_common_decode.h:213
    NvMediaPictureInfo
    void NvMediaPictureInfo
    A generic "picture information" pointer type.
    Definition: nvmedia_common_decode.h:90
    NvMediaSliceDecodeData
    slice level data used with slice level decoding
    Definition: nvmedia_common_decode.h:500
    NvMediaIDESliceDecode
    NvMediaStatus NvMediaIDESliceDecode(const NvMediaIDE *decoder, const NvSciBufObj target, const NvMediaSliceDecodeData *sliceDecData)
    This function is intended for use in low-latency decode mode.
    NvMediaIDESetNvSciSyncObjforEOF
    NvMediaStatus NvMediaIDESetNvSciSyncObjforEOF(const NvMediaIDE *decoder, NvSciSyncObj nvscisyncEOF)
    Specifies the NvSciSyncObj to be used for an EOF NvSciSyncFence.
    NvMediaStatus
    NvMediaStatus
    Defines all possible error codes.
    Definition: nvmedia_core.h:104
    NvMediaNvSciSyncObjType
    NvMediaNvSciSyncObjType
    Defines NvMedia NvSciSyncObj types.
    Definition: nvmedia_core.h:187
    NvMediaNvSciSyncClientType
    NvMediaNvSciSyncClientType
    NvMedia NvSciSync Client Type.
    Definition: nvmedia_core.h:174
    NvMediaIDERegisterNvSciBufObj
    NvMediaStatus NvMediaIDERegisterNvSciBufObj(const NvMediaIDE *decoder, NvSciBufObj bufObj)
    Registers an NvSciBufObj for use with an NvMediaIde handle.
    NvMediaIDEGetVersion
    NvMediaStatus NvMediaIDEGetVersion(NvMediaVersion *version)
    Retrieves the version information for the NvMediaIDE library.
    NvSciSyncAttrList
    struct NvSciSyncAttrListRec * NvSciSyncAttrList
    A container constituting an NvSciSyncAttrList which contains:
    Definition: nvscisync.h:314
    NvSciBufObj
    struct NvSciBufObjRefRec * NvSciBufObj
    A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the bu...
    Definition: nvscibuf.h:2717
    nvscisync.h
    NVIDIA Software Communications Interface (SCI) : NvSciSync
    NvMediaIDECreate
    NvMediaIDE * NvMediaIDECreate(NvMediaVideoCodec codec, uint16_t width, uint16_t height, uint16_t maxReferences, uint64_t maxBitstreamSize, uint8_t inputBuffering, uint32_t flags, NvMediaDecoderInstanceId instanceId)
    Creates an NvMediaIDE object.
    NvMediaIDEInit
    NvMediaStatus NvMediaIDEInit(NvMediaIDE *decoder, NvMediaVideoCodec codec, uint16_t width, uint16_t height, uint16_t maxReferences, uint64_t maxBitstreamSize, uint8_t inputBuffering, uint32_t flags, NvMediaDecoderInstanceId instanceId)
    Initialize an NvMediaIDE object instance.
    NvMediaVersion
    Holds NvMedia version information.
    Definition: nvmedia_core.h:149
    NvMediaIDEFillNvSciSyncAttrList
    NvMediaStatus NvMediaIDEFillNvSciSyncAttrList(const NvMediaIDE *decoder, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
    Fills the NvMediaIDE specific NvSciSync attributes.
    NvMediaIDEFillNvSciBufAttrList
    NvMediaStatus NvMediaIDEFillNvSciBufAttrList(NvMediaDecoderInstanceId instanceId, NvSciBufAttrList attrlist)
    Fills the NvMediaIDE specific NvSciBuf attributes which than then be used to allocate an NvSciBufObj ...
    NvMediaIDEGetFrameDecodeStatus
    NvMediaStatus NvMediaIDEGetFrameDecodeStatus(const NvMediaIDE *decoder, uint32_t ringEntryIdx, NvMediaIDEFrameStatus *FrameStatus)
    Retrieves the HW decode status available.
    NvMediaIDEDecoderRender
    NvMediaStatus NvMediaIDEDecoderRender(const NvMediaIDE *decoder, NvSciBufObj target, const NvMediaPictureInfo *pictureInfo, const void *encryptParams, uint32_t numBitstreamBuffers, const NvMediaBitstreamBuffer *bitstreams, NvMediaIDEFrameStats *FrameStatsDump, NvMediaDecoderInstanceId instanceId)
    Decodes a compressed field/frame and render the result into a target.
    NvMediaIDEUnregisterNvSciBufObj
    NvMediaStatus NvMediaIDEUnregisterNvSciBufObj(const NvMediaIDE *decoder, NvSciBufObj bufObj)
    Un-registers NvSciBufObj which was previously registered with NvMediaIde using NvMediaIDERegisterNvSc...
    nvmedia_core.h
    NVIDIA Media Interface: Core
    NvMediaIDEInsertPreNvSciSyncFence
    NvMediaStatus NvMediaIDEInsertPreNvSciSyncFence(const NvMediaIDE *decoder, const NvSciSyncFence *prenvscisyncfence)
    Sets an NvSciSyncFence as a prefence for an NvMediaIDERender() NvSciSyncFence operation.
    NvMediaDecoderInstanceId
    NvMediaDecoderInstanceId
    Specifies the decoder instance ID.
    Definition: nvmedia_common_decode.h:56
    NvMediaIDEGetEOFNvSciSyncFence
    NvMediaStatus NvMediaIDEGetEOFNvSciSyncFence(const NvMediaIDE *decoder, NvSciSyncObj eofnvscisyncobj, NvSciSyncFence *eofnvscisyncfence)
    Gets EOF NvSciSyncFence for an NvMediaIDERender() operation.
    NvMediaBitstreamBuffer
    Holds an application data buffer containing compressed video data.
    Definition: nvmedia_common_encode_decode.h:87
    NvSciBufAttrList
    struct NvSciBufAttrListRec * NvSciBufAttrList
    A container constituting an attribute list which contains.
    Definition: nvscibuf.h:2735
    NvSciSyncFence
    Defines the opaque NvSciSyncFence.
    Definition: nvscisync.h:240
    NvMediaIDEDestroy
    NvMediaStatus NvMediaIDEDestroy(const NvMediaIDE *decoder)
    Destroys an NvMediaIDE object.
    NvMediaVideoCodec
    NvMediaVideoCodec
    Video codec type.
    Definition: nvmedia_common_encode_decode.h:52
    nvscibuf.h
    NVIDIA Software Communications Interface (SCI) : NvSciBuf
    NvMediaIDEGetBackwardUpdates
    NvMediaStatus NvMediaIDEGetBackwardUpdates(const NvMediaIDE *decoder, void *backupdates)
    NvMediaIDE get backward updates counters for VP9 adaptive entropy contexts.
    NvMediaIDEUnregisterNvSciSyncObj
    NvMediaStatus NvMediaIDEUnregisterNvSciSyncObj(const NvMediaIDE *decoder, NvSciSyncObj nvscisync)
    Unregisters an NvSciSyncObj with NvMediaIDE.
    NvMediaIDERegisterNvSciSyncObj
    NvMediaStatus NvMediaIDERegisterNvSciSyncObj(const NvMediaIDE *decoder, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj nvscisync)
    Registers an NvSciSyncObj with NvMediaIDE.
    nvmedia_common_decode.h
    NVIDIA Media Interface: Common Types for Image Decode
    NvSciSyncObj
    struct NvSciSyncObjRec * NvSciSyncObj
    A Synchronization Object is a container holding the reconciled NvSciSyncAttrList defining constraints...
    Definition: nvscisync.h:295
    NvMediaIDE
    struct NvMediaIDE NvMediaIDE
    An opaque NvMediaIDE object created by NvMediaIDECreate.
    Definition: nvmedia_ide.h:70
    NvMediaIDEFrameStatus
    To Get the decoding status from HW decoder.
    Definition: nvmedia_common_decode.h:105
    人人超碰97caoporen国产