NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
Demuxer.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2024 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 
28 #ifndef DW_SENSORS_CONTAINERS_DEMUXER_H_
29 #define DW_SENSORS_CONTAINERS_DEMUXER_H_
30 
31 #include <dw/core/base/Exports.h>
32 #include <dw/core/base/Types.h>
33 #include <dw/core/base/Status.h>
34 #include <dw/core/context/Context.h>
35 
36 #include <dw/sensors/containers/Container.h>
37 #include <dw/sensors/codecs/CodecHeader.h>
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
44 typedef struct dwDemuxerFrameInfo
45 {
47  uint64_t trackId;
48 
51  uint64_t bundleId;
52 
54  uint64_t index;
55 
57  uint64_t size;
58 
60  uint64_t offset;
61 
63  uint64_t flags;
64 
67 
69  // and timestamps. If the internal file structure of the container makes it impossible to provide this
70  // information, both containerOffset and containerSize will be zero.
71  uint64_t containerSize;
72 
74  // and timestamps. If the internal file structure of the container makes it impossible to provide this
75  // information, both containerOffset and containerSize will be zero.
76  uint64_t containerOffset;
78 
80 typedef struct dwDemuxerObject* dwDemuxerHandle_t;
81 
82 // TODO(lukea) - move this to IOStream.hpp when the C interface moves to core.
84 typedef struct dwIOStreamObject* dwIOStreamHandle_t;
85 
87 typedef struct dwDemuxerParams
88 {
92 
93 #ifdef __cplusplus
94 }
95 #endif
96 
97 #endif // DW_EXPERIMENTAL_SENSORS_CODEC_DEMUXER_H_
dwDemuxerFrameInfo::offset
uint64_t offset
The offset of the frame payload in the stream.
Definition: Demuxer.h:60
dwDemuxerParams
Holds demuxer params.
Definition: Demuxer.h:87
dwDemuxerParams::inputStream
dwIOStreamHandle_t inputStream
Handle representing input stream.
Definition: Demuxer.h:90
dwDemuxerParams
struct dwDemuxerParams dwDemuxerParams
Holds demuxer params.
dwDemuxerFrameInfo::containerOffset
uint64_t containerOffset
The offset of the entire frame in the stream, including any container-specific framing information.
Definition: Demuxer.h:76
dwDemuxerFrameInfo::flags
uint64_t flags
Optional flags.
Definition: Demuxer.h:63
dwDemuxerFrameInfo::index
uint64_t index
The zero-based index representing the order of the frame in the track.
Definition: Demuxer.h:54
dwDemuxerFrameInfo
struct dwDemuxerFrameInfo dwDemuxerFrameInfo
Holds demuxer frame info.
dwDemuxerFrameInfo::bundleId
uint64_t bundleId
The id of the logical bundling of different frames.
Definition: Demuxer.h:51
dwIOStreamHandle_t
struct dwIOStreamObject * dwIOStreamHandle_t
Stream handle.
Definition: IOStream.h:53
DW_CONTAINER_MAX_TIMESTAMPS
#define DW_CONTAINER_MAX_TIMESTAMPS
Definition: Container.h:24
dwDemuxerFrameInfo::containerSize
uint64_t containerSize
The length of the entire frame, including any container-specific framing information.
Definition: Demuxer.h:71
dwDemuxerFrameInfo::size
uint64_t size
The length of the frame payload.
Definition: Demuxer.h:57
dwTime_t
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:54
dwDemuxerFrameInfo::timestamps
dwTime_t timestamps[DW_CONTAINER_MAX_TIMESTAMPS]
Generic timestamps that can be used.
Definition: Demuxer.h:66
dwDemuxerFrameInfo::trackId
uint64_t trackId
The track id.
Definition: Demuxer.h:47
dwIOStreamHandle_t
struct dwIOStreamObject * dwIOStreamHandle_t
Handle to IO stream object.
Definition: Demuxer.h:84
dwDemuxerHandle_t
struct dwDemuxerObject * dwDemuxerHandle_t
Demuxer handle.
Definition: Demuxer.h:80
dwDemuxerFrameInfo
Holds demuxer frame info.
Definition: Demuxer.h:44