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.9 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-2023 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 
    216 NvMediaIDE *
    218  NvMediaVideoCodec codec,
    219  uint16_t width,
    220  uint16_t height,
    221  uint16_t maxReferences,
    222  uint64_t maxBitstreamSize,
    223  uint8_t inputBuffering,
    224  uint32_t flags,
    225  NvMediaDecoderInstanceId instanceId
    226 );
    227 
    250 NvMediaIDE *
    252  void
    253 );
    254 
    317  NvMediaIDE *decoder,
    318  NvMediaVideoCodec codec,
    319  uint16_t width,
    320  uint16_t height,
    321  uint16_t maxReferences,
    322  uint64_t maxBitstreamSize,
    323  uint8_t inputBuffering,
    324  uint32_t flags,
    325  NvMediaDecoderInstanceId instanceId
    326 );
    327 
    353  const NvMediaIDE *decoder
    354 );
    355 
    410  NvMediaIDE *decoder,
    411  NvSciBufObj bufObj
    412 );
    413 
    466  const NvMediaIDE *decoder,
    467  NvSciBufObj bufObj
    468 );
    469 
    539  const NvMediaIDE *decoder,
    540  NvSciBufObj target,
    541  const NvMediaPictureInfo *pictureInfo,
    542  const void *encryptParams,
    543  uint32_t numBitstreamBuffers,
    544  const NvMediaBitstreamBuffer *bitstreams,
    545  NvMediaIDEFrameStats *FrameStatsDump,
    546  NvMediaDecoderInstanceId instanceId
    547 );
    548 
    596  const NvMediaIDE *decoder,
    597  const NvSciBufObj target,
    598  const NvMediaSliceDecodeData *sliceDecData
    599 );
    600 
    670  const NvMediaIDE *decoder,
    671  uint32_t ringEntryIdx,
    672  NvMediaIDEFrameStatus *FrameStatus
    673 );
    674 
    721  NvMediaDecoderInstanceId instanceId,
    722  NvSciBufAttrList attrlist
    723 );
    724 
    781  const NvMediaIDE *decoder,
    782  NvSciSyncAttrList attrlist,
    783  NvMediaNvSciSyncClientType clienttype
    784 );
    785 
    813  const NvMediaIDE *decoder,
    814  void *backupdates
    815 );
    816 
    872  const NvMediaIDE *decoder,
    873  NvMediaNvSciSyncObjType syncobjtype,
    874  NvSciSyncObj nvscisync
    875 );
    876 
    938  const NvMediaIDE *decoder,
    939  NvSciSyncObj nvscisync
    940 );
    941 
    988  const NvMediaIDE *decoder,
    989  NvSciSyncObj nvscisyncEOF
    990 );
    991 
    1052  const NvMediaIDE *decoder,
    1053  const NvSciSyncFence *prenvscisyncfence
    1054 );
    1055 
    1115  const NvMediaIDE *decoder,
    1116  NvSciSyncObj eofnvscisyncobj,
    1117  NvSciSyncFence *eofnvscisyncfence
    1118 );
    1119 
    1120 /*
    1121  * @defgroup 6x_history_nvmedia_ide History
    1122  * Provides change history for the NvMediaIDE API.
    1123  *
    1124  * \section 6x_history_nvmedia_ide Version History
    1125  *
    1126  * <b> Version 1.0 </b> September 28, 2021
    1127  * - Initial release
    1128  */
    1131 #ifdef __cplusplus
    1132 } /* extern "C" */
    1133 #endif
    1134 
    1135 #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:202
    NvMediaNvSciSyncClientType
    NvMediaNvSciSyncClientType
    NvMedia NvSciSync Client Type.
    Definition: nvmedia_core.h:189
    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:330
    NvSciBufObj
    struct NvSciBufObjRefRec * NvSciBufObj
    A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the bu...
    Definition: nvscibuf.h:3108
    nvscisync.h
    NVIDIA Software Communications Interface (SCI) : NvSciSync
    NvMediaIDERegisterNvSciBufObj
    NvMediaStatus NvMediaIDERegisterNvSciBufObj(NvMediaIDE *decoder, NvSciBufObj bufObj)
    Registers an NvSciBufObj for use with an NvMediaIde handle.
    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:164
    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:89
    NvSciBufAttrList
    struct NvSciBufAttrListRec * NvSciBufAttrList
    A container constituting an attribute list which contains.
    Definition: nvscibuf.h:3126
    NvSciSyncFence
    Defines the opaque NvSciSyncFence.
    Definition: nvscisync.h:256
    NvMediaIDEDestroy
    NvMediaStatus NvMediaIDEDestroy(const NvMediaIDE *decoder)
    Destroys an NvMediaIDE object.
    NvMediaVideoCodec
    NvMediaVideoCodec
    Video codec type.
    Definition: nvmedia_common_encode_decode.h:54
    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:311
    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国产