libxcoder  5.5.0
ni_device_api_priv.h
Go to the documentation of this file.
1 /*******************************************************************************
2  *
3  * Copyright (C) 2022 NETINT Technologies
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a copy
6  * of this software and associated documentation files (the "Software"), to deal
7  * in the Software without restriction, including without limitation the rights
8  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9  * copies of the Software, and to permit persons to whom the Software is
10  * furnished to do so, subject to the following conditions:
11  *
12  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18  * SOFTWARE.
19  *
20  ******************************************************************************/
21 
22 /*!*****************************************************************************
23  * \file ni_device_api_priv.h
24  *
25  * \brief Private definitions used by ni_device_api.c for video processing
26  * tasks
27  ******************************************************************************/
28 
29 #pragma once
30 
31 
32 #ifdef __cplusplus
33 extern "C"
34 {
35 #endif
36 
37 #include "ni_defs.h"
38 #include "ni_rsrc_api.h"
39 
40 typedef enum
41 {
45 
46 typedef enum
47 {
57 // mapping of a subset of NI_RETCODE_NVME_SC_* of ni_retcode_t, returned by
58 // fw in regular i/o environment.
60 {
61  ni_xcoder_request_success = 0, // NVME SC
62  ni_xcoder_request_pending = 1, // NVME SC 0x305
63  ni_xcoder_resource_recovery = 0xFFFD, // NVME SC 0x3FD
64  ni_xcoder_resource_insufficient = 0xFFFE, // NVME SC 0x3FE
65  ni_xcoder_general_error = 0xFFFF, // NVME SC 0x3FF
67 
68 typedef struct _ni_session_config_rw
69 {
70  uint8_t ui8Enable;
71  uint8_t ui8HWAccess;
72  union
73  {
74  uint16_t ui16ReadFrameId;
75  uint16_t ui16WriteFrameId;
78 
80 {
81  uint8_t active_sub_instances_cnt; // Number of active sub-instance in that instance
82  uint8_t process_load_percent; // Processing load in percentage
83  union{
84  uint8_t error_count;
85  uint8_t pcie_load;
86  };
87  union{
88  uint8_t fatal_error;
89  uint8_t pcie_throughput;
90  };
91  uint32_t fw_model_load;
92  uint8_t cmd_queue_count;
96  uint8_t active_hwupload_sub_inst_cnt; // number of hwuploader instances
97  uint8_t fw_load;
99  uint8_t process_load_percent_upper; // Processing load upper 8 bits
100  uint8_t process_load_percent_overall; // Processing load among all namespaces
101  uint8_t active_sub_instances_cnt_overall ; // Number of active sub-instance among all namespaces
102  uint8_t unusedPadding1;
103  uint8_t unusedPadding2;
104  uint32_t fw_model_load_overall; // Model load among all namespaces
105  uint8_t admin_nsid; // declares if there is info from admin namespace
106  uint8_t tp_fw_load; //uint8_t rsrv;
107  uint8_t unusedPadding3;
108  uint8_t unusedPadding4;
109  uint32_t ui32UploadRate;
111 
112 #define NI_VERSION_CHARACTER_COUNT 8
113 
115 {
121 
123 {
124  uint16_t picture_width; // Picture Width
125  uint16_t picture_height; // Picture Height
126  uint16_t transfer_frame_stride; // Transfer Frame Stride
127  uint16_t transfer_frame_height; // Transfer Frame Height(Not VPU Frame Height)
128  uint16_t frame_rate; // Sequence Frame Rate
129  uint16_t is_flushed; // Is decoder/encoder flushed or still has data to process
130  uint8_t pix_format; // Pixel format from decoder Vendor
132  uint8_t ai_model_type;
133  uint8_t reserved[1];
135 
136 typedef struct _ni_session_stats
137 {
138  uint16_t ui16SessionId;
139  uint16_t ui16ErrorCount;
144  uint32_t ui32Session_timestamp_high; // session start timestamp high
145  uint32_t ui32Session_timestamp_low; // session start timestamp low
146  uint32_t reserved[1];
147 } ni_session_stats_t; // 32 bytes (has to be 8 byte aligned)
148 
150 {
151  char error_flag[16];
152  uint8_t check_flag[4];
153  uint32_t reserved[3];
154 } ni_global_session_stats_t; // 32 bytes (has to be 8 byte aligned)
155 
157 {
158  uint16_t picture_width;
159  uint16_t picture_height;
160  uint16_t picture_format;
161  uint16_t options;
162  uint16_t rectangle_width;
164  int16_t rectangle_x;
165  int16_t rectangle_y;
166  uint32_t rgba_color;
167  uint16_t frame_index;
168  uint16_t session_id;
169  uint8_t output_index;
170  uint8_t input_index;
171  uint8_t orientation;
172  uint8_t reserved0;
173  uint32_t reserved;
175 
177 {
178  uint16_t is_flushed; // Is decoder/encoder flushed or still has data to process
179  uint16_t data_bytes_available; // How much data is available to read/write
181 
183 {
184  int16_t buffer_avail; // 1 == avail, else not avail
185  int16_t frame_index; // memory bin ID
187 
188 typedef struct _ni_instance_buf_info
189 {
190  union
191  {
192  uint32_t buf_avail_size; // available size of space/data for write/read
194  };
196 
198 {
199  uint16_t force_picture_type; //flag to force the pic type
200  uint16_t data_format; // In Env write this is usually set to NI_DATA_FORMAT_YUV_FRAME
201  uint16_t picture_type; // This is set to either XCODER_PIC_TYPE_I or XCODER_PIC_TYPE_CRA or XCODER_PIC_TYPE_IDR
202  uint16_t video_width;
203  uint16_t video_height;
204  uint32_t timestamp;
206 
207 // 24 bytes
208 typedef struct _ni_metadata_common
209 {
210  uint16_t crop_left;
211  uint16_t crop_right;
212  uint16_t crop_top;
213  uint16_t crop_bottom;
214  union
215  {
216  uint64_t frame_offset;
217  uint64_t frame_tstamp;
218  } ui64_data;
219  uint16_t frame_width;
220  uint16_t frame_height;
221  uint8_t frame_type;
222  uint8_t num_frame_dropped; /* frame dropped since the last good frame */
223  uint8_t has_b_frame;
224  uint8_t pkt_delay_cnt;
226 
227 // 48 bytes
229 {
231  union {
232  uint32_t sei_header;
234  };
235  uint16_t sei_number;
236  uint16_t sei_size;
239 
240 // 56 bytes
242 {
251  uint16_t force_pic_qp_i;
252  uint16_t force_pic_qp_p;
253  uint16_t force_pic_qp_b;
254  uint16_t force_headers;
257  //uint32_t reserved;
258  uint16_t start_len[3];
261  uint32_t ui32Reserved[2];
263 
265 {
266  uint32_t bs_frame_size;
267  uint32_t frame_type;
268  uint64_t frame_tstamp;
269  uint32_t frame_cycle;
270  uint32_t avg_frame_qp;
271  uint32_t recycle_index;
272  uint32_t av1_show_frame;
273 } ni_metadata_enc_bstream_rev61_t; // Revision 61 or lower
274 
276 {
277  uint32_t metadata_size;
278  uint32_t frame_type;
279  uint64_t frame_tstamp;
280  uint32_t frame_cycle;
281  uint32_t avg_frame_qp;
282  uint32_t recycle_index;
283  uint32_t av1_show_frame;
284  //Added for Revision 61
285  uint32_t ssimY;
286  uint32_t ssimU;
287  uint32_t ssimV;
288  //Added for Revision 6p
289  int16_t max_mv_x[2]; // 1/4 pixel unit
290  int16_t min_mv_x[2]; // 1/4 pixel unit
291  int16_t max_mv_y[2]; // 1/4 pixel unit
292  int16_t min_mv_y[2]; // 1/4 pixel unit
293  uint16_t frame_size;
294  uint16_t inter_total_count; // the inter includ the skip mode
296  uint8_t gop_size;
297  uint8_t ppsInitQp; //Utilize reserved in Revision 6sM
298  uint8_t reserved_byte[2];
299  uint16_t ui16psnr_y;
300  uint32_t reconLumaSize;
301  uint32_t reconChromaSize;
302  uint16_t reconLumaWidth;
306  //Added fro Revision 6rc
307  uint8_t ui8SceneChange;
308  uint8_t ui8StillImage;
309  uint8_t ui8Reserved[2];
310  float pass1Cost;
311  uint32_t cuInfoSize; //Utilize reserved in Revision 6sM
312  uint32_t skipCu8Num; //Utilize reserved in Revision 6sM
313  //Added fro Revision 6sM
314  uint16_t cuInfoTableSize;
315  uint16_t aqInfoSize;
317 
318 /*!****** encoder paramters *********************************************/
319 
320 #define TUNE_BFRAME_VISUAL_MEDIUM 1
321 #define TUNE_BFRAME_VISUAL_HIGH 2
322 
323 typedef enum _ni_gop_preset_idx
324 {
327  -1, /*!*< Default, gop decided by gopSize. E.g gopSize=0 is Adpative gop, gopsize adjusted dynamically */
329  GOP_PRESET_IDX_ALL_I = 1, /*!*< All Intra, gopsize = 1 */
330  GOP_PRESET_IDX_IPP = 2, /*!*< Consecutive P, cyclic gopsize = 1 */
331  GOP_PRESET_IDX_IBBB = 3, /*!*< Consecutive B, cyclic gopsize = 1 */
332  GOP_PRESET_IDX_IBPBP = 4, /*!*< gopsize = 2 */
333  GOP_PRESET_IDX_IBBBP = 5, /*!*< gopsize = 4 */
334  GOP_PRESET_IDX_IPPPP = 6, /*!*< Consecutive P, cyclic gopsize = 4 */
335  GOP_PRESET_IDX_IBBBB = 7, /*!*< Consecutive B, cyclic gopsize = 4 */
336  GOP_PRESET_IDX_RA_IB = 8, /*!*< Random Access, cyclic gopsize = 8 */
337  GOP_PRESET_IDX_SP = 9, /*!*< Consecutive P, gopsize=1, similar to 2 but */
338  /* uses 1 instead of 2 reference frames */
339  GOP_PRESET_IDX_HIERARCHICAL_IPPPP = 10, /*!*< Hierarchical P, cyclic gopsize = 4 */
341 
342 /*!*
343 * \brief
344 @verbatim
345 This is an enumeration for declaring codec standard type variables. Currently,
346 VPU supports many different video standards such as H.265/HEVC, MPEG4 SP/ASP, H.263 Profile 3, H.264/AVC
347 BP/MP/HP, VC1 SP/MP/AP, Divx3, MPEG1, MPEG2, RealVideo 8/9/10, AVS Jizhun/Guangdian profile, AVS2,
348  Theora, VP3, VP8/VP9 and SVAC.
349 
350 NOTE: MPEG-1 decoder operation is handled as a special case of MPEG2 decoder.
351 STD_THO must be always 9.
352 @endverbatim
353 */
354 typedef enum
355 {
364  STD_THO = 9,
375 
376 typedef struct _ni_t408_config_t
377 {
378  int32_t profile;
379  int32_t level;
380  int32_t tier;
382  int32_t losslessEnable; /*!*< It enables lossless coding. */
383  int32_t constIntraPredFlag; /*!*< It enables constrained intra prediction. */
386  int32_t intra_qp; /*!*< A quantization parameter of intra picture */
387  int32_t intra_period; /*!*< A period of intra picture in GOP size */
388  int32_t conf_win_top; /*!*< A top offset of conformance window */
389  int32_t conf_win_bottom; /*!*< A bottom offset of conformance window */
390  int32_t conf_win_left; /*!*< A left offset of conformance window */
391  int32_t conf_win_right; /*!*< A right offset of conformance window */
393  int32_t independSliceModeArg; /*!*< The number of CTU for a slice when independSliceMode is set with 1 */
395  int32_t dependSliceModeArg; /*!*< The number of CTU or bytes for a slice when dependSliceMode is set with 1 or 2 */
399  int32_t scalingListEnable; /*!*< It enables a scaling list. */
400  int32_t cu_size_mode;
401  int32_t tmvpEnable; /*!*< It enables temporal motion vector prediction. */
402  int32_t wppEnable; /*!*< It enables WPP (T408-front Parallel Processing). WPP is unsupported in ring buffer mode of bitstream buffer. */
403  int32_t max_num_merge; /*!*< It specifies the number of merge candidates in RDO (1 or 2). 2 of max_num_merge (default) offers better quality of encoded picture, while 1 of max_num_merge improves encoding performance. */
404  int32_t disableDeblk; /*!*< It disables in-loop deblocking filtering. */
405  int32_t lfCrossSliceBoundaryEnable; /*!*< It enables filtering across slice boundaries for in-loop deblocking. */
406  int32_t betaOffsetDiv2; /*!*< It sets BetaOffsetDiv2 for deblocking filter. */
407  int32_t tcOffsetDiv2; /*!*< It sets TcOffsetDiv3 for deblocking filter. */
408  int32_t skipIntraTrans; /*!*< It enables transform skip for an intra CU. */
409  int32_t saoEnable; /*!*< It enables SAO (Sample Adaptive Offset). */
410  int32_t intraNxNEnable; /*!*< It enables intra NxN PUs. */
411  int32_t bitAllocMode;
413  int32_t enable_cu_level_rate_control; /*!*< It enable CU level rate control. */
414  int32_t enable_hvs_qp; /*!*< It enable CU QP adjustment for subjective quality enhancement. */
415  int32_t hvs_qp_scale; /*!*< A QP scaling factor for CU QP adjustment when enable_hvs_qp_scale is 1 */
416  int32_t max_delta_qp; /*!*< A maximum delta QP for rate control */
417 
418  // CUSTOM_GOP
419  ni_custom_gop_params_t custom_gop_params; /*!*< <<vpuapi_h_CustomGopParam>> */
420  int32_t roiEnable; /*!*< It enables ROI map. NOTE: It is valid when rate control is on. */
421 
422  uint32_t numUnitsInTick; /*!*< It specifies the number of time units of a clock operating at the frequency time_scale Hz. This is used to to calculate frame_rate syntax. */
423  uint32_t timeScale; /*!*< It specifies the number of time units that pass in one second. This is used to to calculate frame_rate syntax. */
424  uint32_t numTicksPocDiffOne; /*!*< It specifies the number of clock ticks corresponding to a difference of picture order count values equal to 1. This is used to calculate frame_rate syntax. */
425 
426  int32_t chromaCbQpOffset; /*!*< The value of chroma(Cb) QP offset */
427  int32_t chromaCrQpOffset; /*!*< The value of chroma(Cr) QP offset */
428 
429  int32_t initialRcQp; /*!*< The value of initial QP by HOST application. This value is meaningless if INITIAL_RC_QP is 63.*/
430 
431  uint32_t nrYEnable; /*!*< It enables noise reduction algorithm to Y component. */
432  uint32_t nrCbEnable; /*!*< It enables noise reduction algorithm to Cb component. */
433  uint32_t nrCrEnable; /*!*< It enables noise reduction algorithm to Cr component. */
434 
435  // ENC_NR_WEIGHT
436  uint32_t nrIntraWeightY; /*!*< A weight to Y noise level for intra picture (0 ~ 31). nrIntraWeight/4 is multiplied to the noise level that has been estimated. This weight is put for intra frame to be filtered more strongly or more weakly than just with the estimated noise level. */
437  uint32_t nrIntraWeightCb; /*!*< A weight to Cb noise level for intra picture (0 ~ 31) */
438  uint32_t nrIntraWeightCr; /*!*< A weight to Cr noise level for intra picture (0 ~ 31) */
439  uint32_t nrInterWeightY; /*!*< A weight to Y noise level for inter picture (0 ~ 31). nrInterWeight/4 is multiplied to the noise level that has been estimated. This weight is put for inter frame to be filtered more strongly or more weakly than just with the estimated noise level. */
440  uint32_t nrInterWeightCb; /*!*< A weight to Cb noise level for inter picture (0 ~ 31) */
441  uint32_t nrInterWeightCr; /*!*< A weight to Cr noise level for inter picture (0 ~ 31) */
442 
443  uint32_t nrNoiseEstEnable; /*!*< It enables noise estimation for noise reduction. When this is disabled, host carries out noise estimation with nrNoiseSigmaY/Cb/Cr. */
444  uint32_t nrNoiseSigmaY; /*!*< It specifies Y noise standard deviation when nrNoiseEstEnable is 0. */
445  uint32_t nrNoiseSigmaCb; /*!*< It specifies Cb noise standard deviation when nrNoiseEstEnable is 0. */
446  uint32_t nrNoiseSigmaCr; /*!*< It specifies Cr noise standard deviation when nrNoiseEstEnable is 0. */
447 
448  uint32_t useLongTerm; /*!*< It enables long-term reference function. */
449 
450  // newly added for T408
451  uint32_t monochromeEnable; /*!*< It enables monochrome encoding mode. */
452  uint32_t strongIntraSmoothEnable; /*!*< It enables strong intra smoothing. */
453 
454  uint32_t weightPredEnable; /*!*< It enables to use weighted prediction.*/
455  uint32_t bgDetectEnable; /*!*< It enables background detection. */
456  uint32_t bgThrDiff; /*!*< It specifies the threshold of max difference that is used in s2me block. It is valid when background detection is on. */
457  uint32_t bgThrMeanDiff; /*!*< It specifies the threshold of mean difference that is used in s2me block. It is valid when background detection is on. */
458  uint32_t bgLambdaQp; /*!*< It specifies the minimum lambda QP value to be used in the background area. */
459  int32_t bgDeltaQp; /*!*< It specifies the difference between the lambda QP value of background and the lambda QP value of foreground. */
460 
461  uint32_t customLambdaEnable; /*!*< It enables custom lambda table. */
462  uint32_t customMDEnable; /*!*< It enables custom mode decision. */
463  int32_t pu04DeltaRate; /*!*< A value which is added to the total cost of 4x4 blocks */
464  int32_t pu08DeltaRate; /*!*< A value which is added to the total cost of 8x8 blocks */
465  int32_t pu16DeltaRate; /*!*< A value which is added to the total cost of 16x16 blocks */
466  int32_t pu32DeltaRate; /*!*< A value which is added to the total cost of 32x32 blocks */
467  int32_t pu04IntraPlanarDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 4x4 Planar intra prediction mode. */
468  int32_t pu04IntraDcDeltaRate; /*!*< A value which is added to rate when calculating cost (=distortion + rate) in 4x4 DC intra prediction mode. */
469  int32_t pu04IntraAngleDeltaRate; /*!*< A value which is added to rate when calculating cost (=distortion + rate) in 4x4 Angular intra prediction mode. */
470  int32_t pu08IntraPlanarDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 8x8 Planar intra prediction mode.*/
471  int32_t pu08IntraDcDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 8x8 DC intra prediction mode.*/
472  int32_t pu08IntraAngleDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 8x8 Angular intra prediction mode. */
473  int32_t pu16IntraPlanarDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 16x16 Planar intra prediction mode. */
474  int32_t pu16IntraDcDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 16x16 DC intra prediction mode */
475  int32_t pu16IntraAngleDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 16x16 Angular intra prediction mode */
476  int32_t pu32IntraPlanarDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 32x32 Planar intra prediction mode */
477  int32_t pu32IntraDcDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 32x32 DC intra prediction mode */
478  int32_t pu32IntraAngleDeltaRate; /*!*< A value which is added to rate when calculating cost(=distortion + rate) in 32x32 Angular intra prediction mode */
479  int32_t cu08IntraDeltaRate; /*!*< A value which is added to rate when calculating cost for intra CU8x8 */
480  int32_t cu08InterDeltaRate; /*!*< A value which is added to rate when calculating cost for inter CU8x8 */
481  int32_t cu08MergeDeltaRate; /*!*< A value which is added to rate when calculating cost for merge CU8x8 */
482  int32_t cu16IntraDeltaRate; /*!*< A value which is added to rate when calculating cost for intra CU16x16 */
483  int32_t cu16InterDeltaRate; /*!*< A value which is added to rate when calculating cost for inter CU16x16 */
484  int32_t cu16MergeDeltaRate; /*!*< A value which is added to rate when calculating cost for merge CU16x16 */
485  int32_t cu32IntraDeltaRate; /*!*< A value which is added to rate when calculating cost for intra CU32x32 */
486  int32_t cu32InterDeltaRate; /*!*< A value which is added to rate when calculating cost for inter CU32x32 */
487  int32_t cu32MergeDeltaRate; /*!*< A value which is added to rate when calculating cost for merge CU32x32 */
488  int32_t coefClearDisable; /*!*< It disables the transform coefficient clearing algorithm for P or B picture. If this is 1, all-zero coefficient block is not evaluated in RDO. */
489  int32_t minQpI; /*!*< A minimum QP of I picture for rate control */
490  int32_t maxQpI; /*!*< A maximum QP of I picture for rate control */
491  int32_t minQpP; /*!*< A minimum QP of P picture for rate control */
492  int32_t maxQpP; /*!*< A maximum QP of P picture for rate control */
493  int32_t minQpB; /*!*< A minimum QP of B picture for rate control */
494  int32_t maxQpB; /*!*< A maximum QP of B picture for rate control */
495 
496  // for H.264 on T408
497  int32_t avcIdrPeriod; /*!*< A period of IDR picture (0 ~ 1024) 0 - implies an infinite period */
498  int32_t rdoSkip; /*!*< It skips RDO(rate distortion optimization). */
499  int32_t lambdaScalingEnable; /*!*< It enables lambda scaling using custom GOP. */
500  int32_t enable_transform_8x8; /*!*< It enables 8x8 intra prediction and 8x8 transform. */
501  int32_t slice_mode;
502  int32_t slice_arg; /*!*< The number of MB for a slice when slice_mode is set with 1 */
505  int32_t enable_mb_level_rc; /*!*< It enables MB-level rate control. */
507 
509  // forcedHeaderEnable = 2:Every IRAP frame includes headers(VPS, SPS, PPS)
510  // forcedHeaderEnable = 1:Every IDR frame includes headers (VPS,SPS, PPS).
511  // forcedHeaderEnable = 0:First IDR frame includes headers (VPS,SPS, PPS).
514 
515 typedef struct _ni_encoder_config_t
516 {
517  uint8_t ui8bitstreamFormat; /*!*< The standard type of bitstream in encoder operation. It is one of STD_AVC and STD_HEVC, use enums from ni_bitstream_format_t. */
518  int32_t i32picWidth; /*!*< The width of a picture to be encoded in unit of sample. */
519  int32_t i32picHeight; /*!*< The height of a picture to be encoded in unit of sample. */
520  int32_t i32meBlkMode; // (AVC ONLY)
521  uint8_t ui8sliceMode; /*!*< <<vpuapi_h_EncSliceMode>> */
524  int32_t i32userQpMax;
525  // AVC only
526  int32_t i32maxIntraSize; /*!*< The maximum bit size for intra frame. (H.264/AVC only) */
527  int32_t i32userMaxDeltaQp; /*!*< The maximum delta QP for encoding process. (H.264/AVC only) */
528  int32_t i32userMinDeltaQp; /*!*< The minimum delta QP for encoding process. (H.264/AVC only) */
529  int32_t i32userQpMin; /*!*< The minimum quantized step parameter for encoding process. (H.264/AVC only) */
530  int32_t i32bitRate;
531  int32_t i32bitRateBL;
532  uint8_t ui8rcEnable;
533  int32_t i32srcBitDepth; /*!*< A bit-depth of source image */
534  uint8_t ui8enablePTS; /*!*< An enable flag to report PTS(Presentation Timestamp) */
535  uint8_t ui8lowLatencyMode; /*!*< 2bits low latency mode setting. bit[1]: low latency interrupt enable, bit[0]: fast bitstream-packing enable (only for T408_5) */
536 
537  ni_t408_config_t niParamT408; /*!*< <<vpuapi_h_EncT408Param>> */
538 
539  /*!*< endianess of 10 bit source YUV. 0: little (default) 1: big */
541 
543  uint32_t hdrEnableVUI; /* Ignored by Quadra. Kept for backward and forward compatibility. */
546  int32_t i32hwframes;
547  uint8_t ui8EnableAUD;
549  uint8_t ui8rdoLevel; /*Number of candidates to use for rate distortion optimization*/
550  int8_t i8crf; /*constant rate factor mode*/
551  uint16_t ui16HDR10MaxLight; /*Max content light level*/
552  uint16_t ui16HDR10AveLight; /*Max picture Average content light level*/
553  uint8_t ui8HDR10CLLEnable; /*Max picture Average content light level*/
554  uint8_t ui8EnableRdoQuant; /*Enables RDO quant*/
555  uint8_t ui8repeatHeaders; /*Repeat the headers every Iframe*/
556  uint8_t ui8ctbRcMode; /*CTB QP adjustment mode for Rate Control and Subjective Quality*/
557  uint8_t ui8gopSize; /*Specifies GOP size, 0 is adaptive*/
558  uint8_t ui8useLowDelayPocType; /*picture_order_count_type in the H.264 SPS */
559  uint8_t ui8gopLowdelay; /*Use low delay GOP configuration*/
560  uint16_t ui16gdrDuration; /*intra Refresh period*/
561  uint8_t ui8hrdEnable; /*Enables hypothetical Reference Decoder compliance*/
564  uint8_t ui8colorTrc;
565  uint8_t ui8colorSpace;
568  uint16_t ui16rootBufId; /*Non zero values override frame buffer allocation to match this buffer*/
570  uint8_t ui8PixelFormat; /* pixel format */
577  uint32_t ui32ltrFirstGap;
581  uint32_t ui32setLongTermInterval; /* sets long-term reference interval */
582  uint32_t ui32QLevel; /* JPEG Quantization scale (0-9) */
587  // experimental parameters, not to be set by user --->
589  uint8_t ui8blockRCSize;
590  // <--- experimental parameters, not to be set by user
592  uint8_t ui8LowDelay;
593  uint8_t ui8setLongTermCount; /* sets long-term reference frames count */
595  uint8_t ui8enableSSIM;
597  uint16_t ui16hdr10_dx0;
598  uint16_t ui16hdr10_dy0;
599  uint16_t ui16hdr10_dx1;
600  uint16_t ui16hdr10_dy1;
601  uint16_t ui16hdr10_dx2;
602  uint16_t ui16hdr10_dy2;
603  uint16_t ui16hdr10_wx;
604  uint16_t ui16hdr10_wy;
612  uint8_t ui8compressor;
617  uint8_t ui8NewRCEnable; // <--- experimental parameters, not to be set by user
623  uint32_t ui32cropWidth;
624  uint32_t ui32cropHeight;
625  uint32_t ui32horOffset;
626  uint32_t ui32verOffset;
628  int8_t i8crfMax; // <--- experimental parameters, not to be set by user /* prevent quadra from reducing the ratefactor below the given value */
629  int32_t i32qcomp;
630  // experimental parameters, not to be set by user --->
631  uint8_t ui8noMbtree;
634  // <--- experimental parameters, not to be set by user
635  int32_t i32ipRatio;
636  int32_t i32pbRatio;
637  int32_t i32cplxDecay;
638  uint32_t ui32vbvMaxRate;
639  int8_t i8ppsInitQp;
640  uint8_t ui8bitrateMode;
641  int8_t i8pass1Qp; // <--- experimental parameters, not to be set by user
642  int8_t i8crfDecimal;
646  uint32_t ui32vbvMinRate;
660  uint8_t ui8avccHvcc;
673  uint8_t ui8getCuInfo;
677 
678 
679 // ----- Quadra encoder CU info -----
680 #define CU_INFO_OUTPUT_SIZE_V1 26 //208 bits
681 #define CU_INFO_OUTPUT_SIZE_V2 16 //128 bits
682 #define CU_INFO_OUTPUT_SIZE_V3 19 //152 bits
683 
684 // HEVC & AV1
685 #define CU_LOCATION_HOR_BIT_OFFSET (0)
686 #define CU_LOCATION_HOR_BYTE_OFFSET (CU_LOCATION_HOR_BIT_OFFSET / 8)
687 #define CU_LOCATION_HOR_BIT_POSITION (CU_LOCATION_HOR_BIT_OFFSET % 8)
688 #define CU_LOCATION_HOR_BITS (3)
689 
690 #define CU_LOCATION_VER_BIT_OFFSET (3)
691 #define CU_LOCATION_VER_BYTE_OFFSET (CU_LOCATION_VER_BIT_OFFSET / 8)
692 #define CU_LOCATION_VER_BIT_POSITION (CU_LOCATION_VER_BIT_OFFSET % 8)
693 #define CU_LOCATION_VER_BITS (3)
694 
695 #define CU_SIZE_BIT_OFFSET (6)
696 #define CU_SIZE_BYTE_OFFSET (CU_SIZE_BIT_OFFSET / 8)
697 #define CU_SIZE_BIT_POSITION (CU_SIZE_BIT_OFFSET % 8)
698 #define CU_SIZE_BITS (2)
699 
700 #define CU_MODE_BIT_OFFSET (8)
701 #define CU_MODE_BYTE_OFFSET (CU_MODE_BIT_OFFSET / 8)
702 #define CU_MODE_BIT_POSITION (CU_MODE_BIT_OFFSET % 8)
703 #define CU_MODE_BITS (1)
704 
705 #define RDCOST_BIT_OFFSET (9)
706 #define RDCOST_BYTE_OFFSET (RDCOST_BIT_OFFSET / 8)
707 #define RDCOST_BIT_POSITION (RDCOST_BIT_OFFSET % 8)
708 #define RDCOST_BITS (25)
709 
710 #define INTER_PRED_IDC_BIT_OFFSET (34)
711 #define INTER_PRED_IDC_BYTE_OFFSET (INTER_PRED_IDC_BIT_OFFSET / 8)
712 #define INTER_PRED_IDC_BIT_POSITION (INTER_PRED_IDC_BIT_OFFSET % 8)
713 #define INTER_PRED_IDC_BITS (2)
714 
715 #define MV0_REFIDX_BIT_OFFSET (36)
716 #define MV0_REFIDX_BYTE_OFFSET (MV0_REFIDX_BIT_OFFSET / 8)
717 #define MV0_REFIDX_BIT_POSITION (MV0_REFIDX_BIT_OFFSET % 8)
718 #define MV0_REFIDX_BITS (2)
719 
720 #define MV0_MVX_BIT_OFFSET (38)
721 #define MV0_MVX_BYTE_OFFSET (MV0_MVX_BIT_OFFSET / 8)
722 #define MV0_MVX_BIT_POSITION (MV0_MVX_BIT_OFFSET % 8)
723 #define MV0_MVX_BITS (14)
724 
725 #define MV0_MVY_BIT_OFFSET (52)
726 #define MV0_MVY_BYTE_OFFSET (MV0_MVY_BIT_OFFSET / 8)
727 #define MV0_MVY_BIT_POSITION (MV0_MVY_BIT_OFFSET % 8)
728 #define MV0_MVY_BITS (14)
729 
730 #define MV1_REFIDX_BIT_OFFSET (66)
731 #define MV1_REFIDX_BYTE_OFFSET (MV1_REFIDX_BIT_OFFSET / 8)
732 #define MV1_REFIDX_BIT_POSITION (MV1_REFIDX_BIT_OFFSET % 8)
733 #define MV1_REFIDX_BITS (2)
734 
735 #define MV1_MVX_BIT_OFFSET (68)
736 #define MV1_MVX_BYTE_OFFSET (MV1_MVX_BIT_OFFSET / 8)
737 #define MV1_MVX_BIT_POSITION (MV1_MVX_BIT_OFFSET % 8)
738 #define MV1_MVX_BITS (14)
739 
740 #define MV1_MVY_BIT_OFFSET (82)
741 #define MV1_MVY_BYTE_OFFSET (MV1_MVY_BIT_OFFSET / 8)
742 #define MV1_MVY_BIT_POSITION (MV1_MVY_BIT_OFFSET % 8)
743 #define MV1_MVY_BITS (14)
744 
745 #define INTRA_PART_MODE_BIT_OFFSET (34)
746 #define INTRA_PART_MODE_BYTE_OFFSET (INTRA_PART_MODE_BIT_OFFSET / 8)
747 #define INTRA_PART_MODE_BIT_POSITION (INTRA_PART_MODE_BIT_OFFSET % 8)
748 #define INTRA_PART_MODE_BITS (1)
749 
750 #define INTRA_PRED_MODE0_BIT_OFFSET (35)
751 #define INTRA_PRED_MODE0_BYTE_OFFSET (INTRA_PRED_MODE0_BIT_OFFSET / 8)
752 #define INTRA_PRED_MODE0_BIT_POSITION (INTRA_PRED_MODE0_BIT_OFFSET % 8)
753 #define INTRA_PRED_MODE0_BITS (6)
754 
755 #define INTRA_PRED_MODE1_BIT_OFFSET (41)
756 #define INTRA_PRED_MODE1_BYTE_OFFSET (INTRA_PRED_MODE1_BIT_OFFSET / 8)
757 #define INTRA_PRED_MODE1_BIT_POSITION (INTRA_PRED_MODE1_BIT_OFFSET % 8)
758 #define INTRA_PRED_MODE1_BITS (6)
759 
760 #define INTRA_PRED_MODE2_BIT_OFFSET (47)
761 #define INTRA_PRED_MODE2_BYTE_OFFSET (INTRA_PRED_MODE2_BIT_OFFSET / 8)
762 #define INTRA_PRED_MODE2_BIT_POSITION (INTRA_PRED_MODE2_BIT_OFFSET % 8)
763 #define INTRA_PRED_MODE2_BITS (6)
764 
765 #define INTRA_PRED_MODE3_BIT_OFFSET (53)
766 #define INTRA_PRED_MODE3_BYTE_OFFSET (INTRA_PRED_MODE3_BIT_OFFSET / 8)
767 #define INTRA_PRED_MODE3_BIT_POSITION (INTRA_PRED_MODE3_BIT_OFFSET % 8)
768 #define INTRA_PRED_MODE3_BITS (6)
769 
770 #define MEAN_BIT_OFFSET (96)
771 #define MEAN_BYTE_OFFSET (MEAN_BIT_OFFSET / 8)
772 #define MEAN_BIT_POSITION (MEAN_BIT_OFFSET % 8)
773 #define MEAN_BITS (10)
774 
775 #define VARIANCE_BIT_OFFSET (106)
776 #define VARIANCE_BYTE_OFFSET (VARIANCE_BIT_OFFSET / 8)
777 #define VARIANCE_BIT_POSITION (VARIANCE_BIT_OFFSET % 8)
778 #define VARIANCE_BITS (18)
779 
780 #define QP_BIT_OFFSET (124)
781 #define QP_BYTE_OFFSET (QP_BIT_OFFSET / 8)
782 #define QP_BIT_POSITION (QP_BIT_OFFSET % 8)
783 #define QP_BITS (6)
784 
785 #define RDCOST_OTHER_BIT_OFFSET (130)
786 #define RDCOST_OTHER_BYTE_OFFSET (RDCOST_OTHER_BIT_OFFSET / 8)
787 #define RDCOST_OTHER_BIT_POSITION (RDCOST_OTHER_BIT_OFFSET % 8)
788 #define RDCOST_OTHER_BITS (25)
789 
790 #define INTRACOST_BIT_OFFSET (155)
791 #define INTRACOST_BYTE_OFFSET (INTRACOST_BIT_OFFSET / 8)
792 #define INTRACOST_BIT_POSITION (INTRACOST_BIT_OFFSET % 8)
793 #define INTRACOST_BITS (25)
794 
795 #define INTERCOST_BIT_OFFSET (180)
796 #define INTERCOST_BYTE_OFFSET (INTERCOST_BIT_OFFSET / 8)
797 #define INTERCOST_BIT_POSITION (INTERCOST_BIT_OFFSET % 8)
798 #define INTERCOST_BITS (25)
799 
800 #define DUMMY_BIT_OFFSET (205)
801 #define DUMMY_BYTE_OFFSET (DUMMY_BIT_OFFSET / 8)
802 #define DUMMY_BIT_POSITION (DUMMY_BIT_OFFSET % 8)
803 #define DUMMY_BITS (3)
804 
805 // AVC
806 #define AVC_MB_MODE_BIT_OFFSET (0)
807 #define AVC_MB_MODE_BYTE_OFFSET (AVC_MB_MODE_BIT_OFFSET / 8)
808 #define AVC_MB_MODE_BIT_POSITION (AVC_MB_MODE_BIT_OFFSET % 8)
809 #define AVC_MB_MODE_BITS (1)
810 
811 #define AVC_RDCOST_BIT_OFFSET (1)
812 #define AVC_RDCOST_BYTE_OFFSET (AVC_RDCOST_BIT_OFFSET / 8)
813 #define AVC_RDCOST_BIT_POSITION (AVC_RDCOST_BIT_OFFSET % 8)
814 #define AVC_RDCOST_BITS (25)
815 
816 #define AVC_INTER_PRED_IDC_BIT_OFFSET (26)
817 #define AVC_INTER_PRED_IDC_BYTE_OFFSET (AVC_INTER_PRED_IDC_BIT_OFFSET / 8)
818 #define AVC_INTER_PRED_IDC_BIT_POSITION (AVC_INTER_PRED_IDC_BIT_OFFSET % 8)
819 #define AVC_INTER_PRED_IDC_BITS (2)
820 
821 #define AVC_MV0_REFIDX_BIT_OFFSET (28)
822 #define AVC_MV0_REFIDX_BYTE_OFFSET (AVC_MV0_REFIDX_BIT_OFFSET / 8)
823 #define AVC_MV0_REFIDX_BIT_POSITION (AVC_MV0_REFIDX_BIT_OFFSET % 8)
824 #define AVC_MV0_REFIDX_BITS (2)
825 
826 #define AVC_MV0_MVX_BIT_OFFSET (30)
827 #define AVC_MV0_MVX_BYTE_OFFSET (AVC_MV0_MVX_BIT_OFFSET / 8)
828 #define AVC_MV0_MVX_BIT_POSITION (AVC_MV0_MVX_BIT_OFFSET % 8)
829 #define AVC_MV0_MVX_BITS (14)
830 
831 #define AVC_MV0_MVY_BIT_OFFSET (44)
832 #define AVC_MV0_MVY_BYTE_OFFSET (AVC_MV0_MVY_BIT_OFFSET / 8)
833 #define AVC_MV0_MVY_BIT_POSITION (AVC_MV0_MVY_BIT_OFFSET % 8)
834 #define AVC_MV0_MVY_BITS (14)
835 
836 #define AVC_MV1_REFIDX_BIT_OFFSET (58)
837 #define AVC_MV1_REFIDX_BYTE_OFFSET (AVC_MV1_REFIDX_BIT_OFFSET / 8)
838 #define AVC_MV1_REFIDX_BIT_POSITION (AVC_MV1_REFIDX_BIT_OFFSET % 8)
839 #define AVC_MV1_REFIDX_BITS (2)
840 
841 #define AVC_MV1_MVX_BIT_OFFSET (60)
842 #define AVC_MV1_MVX_BYTE_OFFSET (AVC_MV1_MVX_BIT_OFFSET / 8)
843 #define AVC_MV1_MVX_BIT_POSITION (AVC_MV1_MVX_BIT_OFFSET % 8)
844 #define AVC_MV1_MVX_BITS (14)
845 
846 #define AVC_MV1_MVY_BIT_OFFSET (74)
847 #define AVC_MV1_MVY_BYTE_OFFSET (AVC_MV1_MVY_BIT_OFFSET / 8)
848 #define AVC_MV1_MVY_BIT_POSITION (AVC_MV1_MVY_BIT_OFFSET % 8)
849 #define AVC_MV1_MVY_BITS (14)
850 
851 #define AVC_INTRA_PART_MODE_BIT_OFFSET (26)
852 #define AVC_INTRA_PART_MODE_BYTE_OFFSET (AVC_INTRA_PART_MODE_BIT_OFFSET / 8)
853 #define AVC_INTRA_PART_MODE_BIT_POSITION (AVC_INTRA_PART_MODE_BIT_OFFSET % 8)
854 #define AVC_INTRA_PART_MODE_BITS (2)
855 
856 // AVC CU info matches HEVC CU info starting from MEAN_BIT_OFFSET
857 
858 typedef struct
859 {
860  uint8_t refIdx; /* reference idx in reference list */
861  int16_t mvX; /* horiazontal motion in 1/4 pixel */
862  int16_t mvY; /* vertical motion in 1/4 pixel */
863 } ni_encoder_mv;
864 
865 typedef struct
866 {
867  uint8_t cuLocationX;
868  uint8_t cuLocationY;
869  uint8_t cuSize;
870  uint8_t cuMode;
871  uint32_t cost;
872  uint32_t costOfOtherMode;
873  uint32_t costIntraSatd;
874  uint32_t costInterSatd;
875  uint8_t interPredIdc;
879  uint8_t intraPartMode;
880  uint8_t intraPredMode[16];
884  uint8_t qp;
885  uint32_t mean;
886  uint32_t variance;
888 // ----- Quadra encoder CU info -----
889 
890 typedef struct _ni_uploader_config_t
891 {
892  uint16_t ui16picWidth;
893  uint16_t ui16picHeight;
894  uint8_t ui8poolSize;
895  uint8_t ui8PixelFormat;
896  uint8_t ui8Pool;
897  uint8_t ui8rsvd[1];
901 
902 // struct describing resolution change.
903 typedef struct _ni_resolution
904 {
905  // width
906  int32_t width;
907 
908  // height
909  int32_t height;
910 
911  // bit depth factor
913 
914  int32_t luma_linesize;
917 
918 #define NI_MINIMUM_CROPPED_LENGTH 48
919 typedef enum {
924 
925 typedef struct {
926  uint16_t ui16X;
927  uint16_t ui16Y;
928  uint16_t ui16W;
929  uint16_t ui16H;
931 
932 typedef struct {
933  uint16_t ui16Height;
934  uint16_t ui16Width;
936 
937 typedef struct {
938  uint8_t ui8Enabled;
939  uint8_t ui8Force8Bit;
940  uint8_t ui8CropMode;
943  // ui8EnablePpuScaleAdapt 0: disable 1: enable long-edge adapt 2: enable short-edge adapt
944  // 3: enable long-edge adapt 4: enable short-edge adapt
945  // 1 and 2 is that default rounding down to 2, and don't check change in area before and after
946  // 3 and 4 is that default rounding up to 2, and will check change in area before and after
949  uint8_t ui8ScaleResCeil; // even is up, odd is down (odd+1)
953 
954 typedef struct _ni_decoder_config_t
955 {
956  uint8_t ui8HWFrame; //MSB(4) denote extra buffers needed as per DEFAULT_FRAME_THREAD_QUEUE_SIZE
957  uint8_t ui8UduSeiEnabled; // ui8OutputFormat;
959  uint32_t fps_number;
960  uint32_t fps_denominator;
961  uint8_t ui8MCMode;
965  uint32_t ui32MaxPktSize;
967  uint8_t ui8EcPolicy;
971  uint32_t ui32SourceWidth;
976 
977 typedef struct _ni_ai_config_t
978 {
980  uint8_t ui8Sha256[32];
982 
983 typedef struct _ni_segment {
984  uint32_t ui32RelLba;
985  uint32_t ui32Size;
986 } ni_segment_t;
987 
989 {
990  uint16_t ui16FrameScale;
991  uint16_t ui16Width;
992  uint16_t ui16Height;
993  uint16_t ui16Option;
994  union {
995  struct {
996  uint8_t ui8PoolSize;
997  uint8_t ui8MultiIn;
998  uint16_t ui16FrameIdx[4];
999  };
1000  struct {
1001 #define NI_MAX_SEGMENT_NUM 4 //at lease 2 inputs once
1002  uint32_t ui32IovecNum;
1003  uint32_t ui32RelOffset;
1005  };
1006  };
1008 
1009 typedef struct _ni_scaler_config
1010 {
1011  uint8_t filterblit;
1012  uint8_t numInputs;
1013  uint16_t scaler_param_b;
1014  uint16_t scaler_param_c;
1015  uint8_t ui8Reserved[2];
1016  uint32_t ui32Reserved[2];
1018 
1020 {
1021  uint8_t ddr_mode;
1022  uint8_t ui8Reserved[7];
1024 
1025 // the following enum and struct are copied from firmware/nvme/vpuapi/vpuapi.h
1026 /*!*
1027 * \brief
1028 @verbatim
1029 This is an enumeration for declaring SET_PARAM command options. (_T400_ENC encoder only)
1030 Depending on this, SET_PARAM command parameter registers from 0x15C have different meanings.
1031 
1032 @endverbatim
1033 */
1034 typedef enum
1035 {
1038  OPT_SEI = 2,
1041 
1042 #define FRAME_CHUNK_INDEX_SIZE 4096
1043 #define NI_SESSION_CLOSE_RETRY_MAX 10
1044 #define NI_SESSION_CLOSE_RETRY_INTERVAL_US 500000
1045 
1046 /* This value must agree with the membin size in Quadra firmware */
1047 #define NI_HWDESC_UNIFIED_MEMBIN_SIZE 0x187000
1048 
1049 #define NI_QUADRA_MEMORY_CONFIG_DR 0
1050 #define NI_QUADRA_MEMORY_CONFIG_SR 1
1051 #define NI_QUADRA_MEMORY_CONFIG_SR2_REMOVE_P2P 2
1052 #define NI_QUADRA_MEMORY_CONFIG_SR_4G 3
1053 
1054 #define NI_P2P_RECV 0
1055 #define NI_P2P_SEND 1
1056 #define NI_MAX_P2P_SGL_ENTRIES 128
1057 
1058 #define NI_MAX_AI_NETWORK_BINARY_BUFFER_QUERY_RETRIES 300000
1059 #define NI_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES 15000
1060 #define NI_RETRY_INTERVAL_200US 200
1061 #define NI_RETRY_INTERVAL_100US 100
1062 
1063 // size of meta data sent together with bitstream: from f/w encoder to app for FW/SW before rev 6.1
1064 #define NI_FW_ENC_BITSTREAM_META_DATA_SIZE 32
1065 // size of meta data sent together with bitstream: from f/w encoder to app for FW/SW before rev 6.o
1066 #define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_o 48
1067 // size of meta data sent together with bitstream: from f/w encoder to app for FW/SW before rev 6rc
1068 #define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_rc 88
1069 // size of meta data sent together with bitstream: from f/w encoder to app for FW/SW before rev 6sM
1070 #define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_sM 112
1071 
1072 int ni_create_frame(ni_frame_t* p_frame, uint32_t read_length,
1073  uint64_t* frame_offset, uint32_t* frame_dropped, bool is_hw_frame);
1074 
1076  ni_encoder_config_t *p_cfg,
1077  ni_xcoder_params_t *p_src);
1079  ni_decoder_config_t *p_cfg,
1080  ni_xcoder_params_t *p_src,
1081  uint32_t max_pkt_size);
1084  ni_encoder_config_t *p_cfg,
1085  ni_xcoder_params_t *p_src,
1086  char *p_param_err,
1087  uint32_t max_err_len);
1089  ni_session_context_t *p_ctx,
1090  ni_decoder_config_t *p_cfg,
1091  char *p_param_err,
1092  uint32_t max_err_len);
1093 
1095  ni_xcoder_params_t *p_src, char *param_err,
1096  uint32_t max_err_len);
1097 ni_retcode_t ni_check_ratecontrol_params(ni_encoder_config_t* p_cfg, char* param_err, uint32_t max_err_len);
1098 
1099 void ni_params_print(ni_xcoder_params_t *const p_encoder_params);
1100 
1101 int32_t ni_get_frame_index(uint32_t* value);
1103  ni_device_handle_t device_handle, bool device_in_ctxt);
1104 
1106  ni_device_type_t device_type);
1108  ni_device_type_t device_type, void *detail_data, int ver);
1109 
1115 
1118 
1125 //int ni_encoder_session_reconfig(ni_session_context_t *p_ctx, ni_session_config_t *p_config, ni_param_change_flags_t change_flags);
1126 
1128 ni_retcode_t ni_query_detail_status(ni_session_context_t* p_ctx, ni_device_type_t device_type, void* p_detail_status, int ver);
1129 
1132 
1134 ni_retcode_t ni_query_session_stats(ni_session_context_t* p_ctx, ni_device_type_t device_type, ni_session_stats_t* p_session_stats, int rc, int opcode);
1137  ni_device_type_t device_type,
1138  ni_session_statistic_t *p_session_statistic);
1139 
1140 ni_retcode_t ni_config_session_rw(ni_session_context_t* p_ctx, ni_session_config_rw_type_t rw_type, uint8_t enable, uint8_t hw_action, uint16_t frame_id);
1149 void ni_encoder_set_vui(uint8_t* vui, ni_encoder_config_t *p_cfg);
1150 void *ni_session_keep_alive_thread(void *arguments);
1151 ni_retcode_t ni_send_session_keep_alive(uint32_t session_id, ni_device_handle_t device_handle, ni_event_handle_t event_handle, void *p_data);
1152 void ni_fix_VUI(uint8_t *vui, int pos, int value);
1153 
1154 /*!******************************************************************************
1155 * \brief Copy a xcoder decoder worker thread info and card info
1156 *
1157 * \param
1158 *
1159 * \return
1160 *******************************************************************************/
1162 /*!******************************************************************************
1163 * \brief Copy a xcoder decoder worker thread info and card info
1164 *
1165 * \param
1166 *
1167 * \return
1168 *******************************************************************************/
1170 /*!******************************************************************************
1171 * \brief Open a xcoder uploader instance
1172 *
1173 * \param p_ctx - pointer to caller allocated uploader session context
1174 *
1175 * \return
1176 * On success
1177 * NI_RETCODE_SUCCESS
1178 *
1179 * On failure
1180 * NI_RETCODE_INVALID_PARAM
1181 * NI_RETCODE_ERROR_MEM_ALOC
1182 * NI_RETCODE_ERROR_INVALID_SESSION
1183 * NI_RETCODE_FAILURE
1184 *******************************************************************************/
1186 
1187 /*!******************************************************************************
1188 * \brief Close an xcoder upload instance
1189 *
1190 * \param p_ctx pointer to uploader session context
1191 *
1192 * \return NI_RETCODE_SUCCESS
1193 *******************************************************************************/
1195 
1196 
1197 /*!******************************************************************************
1198 * \brief Query and acquire buffer from xcoder scale instance
1199 *
1200 * \param p_ctx pointer to scaler session context
1201 *
1202 * \return
1203 * On success
1204 * NI_RETCODE_SUCCESS
1205 * On failure
1206 * NI_RETCODE_ERROR_INVALID_SESSION
1207 * NI_RETCODE_ERROR_MEM_ALOC
1208 * NI_RETCODE_ERROR_NVME_CMD_FAILED
1209 * NI_RETCODE_FAILURE
1210 *******************************************************************************/
1212 
1213 
1214 /*!******************************************************************************
1215 * \brief Query and acquire buffer from xcoder upload instance
1216 *
1217 * \param p_ctx pointer to uploader session context
1218 *
1219 * \return
1220 * On success
1221 * NI_RETCODE_SUCCESS
1222 * On error
1223 * NI_RETCODE_ERROR_INVALID_SESSION
1224 * NI_RETCODE_ERROR_MEM_ALOC
1225 *******************************************************************************/
1227 
1228 
1229 /*!******************************************************************************
1230 * \brief Send a YUV p_frame to upload session
1231 *
1232 * \param
1233 *
1234 * \return
1235 *******************************************************************************/
1237  niFrameSurface1_t *hwdesc);
1238 
1239 /*!******************************************************************************
1240 * \brief Retrieve a HW descriptor of uploaded frame
1241 *
1242 * \param p_ctx pointer to uploader session context
1243 * hwdesc pointer to hw descriptor
1244 *
1245 * \return
1246 * On success
1247 * NI_RETCODE_SUCCESS
1248 * On failure
1249 * NI_RETCODE_INVALID_PARAM
1250 * NI_RETCODE_ERROR_INVALID_SESSION
1251 * NI_RETCODE_FAILURE
1252 *******************************************************************************/
1254  niFrameSurface1_t *hwdesc);
1255 
1256 /*!******************************************************************************
1257 * \brief Retrieve a YUV p_frame from decoder
1258 *
1259 * \param
1260 *
1261 * \return
1262 *******************************************************************************/
1264 
1265 /*!******************************************************************************
1266 * \brief Retrieve a YUV p_frame by frame index
1267 *
1268 * \param
1269 *
1270 * \return
1271 *******************************************************************************/
1272 int ni_hwdownload_by_frame_idx(niFrameSurface1_t* hwdesc, ni_frame_t* p_frame, int is_auto_dl);
1273 
1274 /*!******************************************************************************
1275 * \brief Copy a src hw frame to a dst hw frame
1276 *
1277 * \param
1278 *
1279 * \return
1280 *******************************************************************************/
1282  ni_frameclone_desc_t *p_frameclone_desc);
1283 
1284 /*!*****************************************************************************
1285 * \brief clear a particular xcoder instance buffer/data
1286 *
1287 * \param niFrameSurface1_t* surface - target hardware descriptor
1288 *
1289 * \return - NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION,
1290 * or NI_RETCODE_ERROR_NVME_CMD_FAILED on
1291 * failure
1292 ******************************************************************************/
1294 
1295 /*!******************************************************************************
1296  * \brief condif a scaler instance
1297  *
1298  * \param[in] p_ctx pointer to session context
1299  * \param[in] p_params pointer to scaler parameters
1300  *
1301  * \return NI_RETCODE_INVALID_PARAM
1302  * NI_RETCODE_ERROR_INVALID_SESSION
1303  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1304  * NI_RETCODE_ERROR_MEM_ALOC
1305  *******************************************************************************/
1307  ni_scaler_params_t *p_params);
1308 
1309 /*!******************************************************************************
1310  * \brief allocate a frame in the scaler
1311  *
1312  * \param[in] p_ctx pointer to session context
1313  * \param[in] width width in pixels
1314  * \param[in] height height in pixels
1315  * \param[in] format pixel format
1316  * \param[in] options option flags
1317  * \param[in] rectangle_width clipping rectangle width in pixels
1318  * \param[in] rectangle_height clipping rectangle height in pixels
1319  * \param[in] rectangle_x clipping rectangle x position
1320  * \param[in] rectangle_y clipping rectangle y position
1321  * \param[in] rgba_color background colour (only used by pad filter)
1322  * \param[in] frame_index frame index (only for hardware frames)
1323  *
1324  * \return NI_RETCODE_INVALID_PARAM
1325  * NI_RETCODE_ERROR_INVALID_SESSION
1326  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1327  * NI_RETCODE_ERROR_MEM_ALOC
1328  *******************************************************************************/
1330  int height, int format, int options,
1331  int rectangle_width,int rectangle_height,
1332  int rectangle_x, int rectangle_y,
1333  int rgba_color, int frame_index);
1334 
1335 /*!******************************************************************************
1336  * \brief config frame in the scaler
1337  *
1338  * \param[in] p_ctx pointer to session context
1339  * \param[in] p_cfg pointer to frame config
1340  *
1341  * \return NI_RETCODE_INVALID_PARAM
1342  * NI_RETCODE_ERROR_INVALID_SESSION
1343  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1344  * NI_RETCODE_ERROR_MEM_ALOC
1345  *******************************************************************************/
1347  ni_frame_config_t *p_cfg);
1348 
1349 /*!******************************************************************************
1350  * \brief config multi frames in the scaler
1351  *
1352  * \param[in] p_ctx pointer to session context
1353  * \param[in] p_cfg_in pointer to input frame config array
1354  * \param[in] numInCfgs number of input frame configs in p_cfg_in array
1355  * \param[in] p_cfg_out pointer to output frame config
1356  *
1357  * \return NI_RETCODE_INVALID_PARAM
1358  * NI_RETCODE_ERROR_INVALID_SESSION
1359  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1360  * NI_RETCODE_ERROR_MEM_ALOC
1361  *******************************************************************************/
1363  ni_frame_config_t p_cfg_in[],
1364  int numInCfgs,
1365  ni_frame_config_t *p_cfg_out);
1366 
1367 /*!******************************************************************************
1368  * \brief Open a xcoder scaler instance
1369  *
1370  * \param[in] p_ctx pointer to session context
1371  *
1372  * \return NI_RETCODE_INVALID_PARAM
1373  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1374  * NI_RETCODE_ERROR_INVALID_SESSION
1375  * NI_RETCODE_ERROR_MEM_ALOC
1376  *******************************************************************************/
1378 
1379 /*!******************************************************************************
1380  * \brief close a scaler session
1381  *
1382  * \param[in] p_ctx pointer to session context
1383  * \param[in] eos_received (not used)
1384  *
1385  * \return NI_RETCODE_INVALID_PARAM
1386  * NI_RETCODE_ERROR_INVALID_SESSION
1387  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1388  *******************************************************************************/
1390 
1391 /*!******************************************************************************
1392 * \brief Send a p_config command to configure uploading parameters.
1393 *
1394 * \param ni_session_context_t p_ctx - xcoder Context
1395 * \param[in] pool_size pool size to create
1396 * \param[in] pool 0 = normal pool, 1 = P2P pool
1397 *
1398 * \return - NI_RETCODE_SUCCESS on success,
1399 * NI_RETCODE_ERROR_INVALID_SESSION
1400 * NI_RETCODE_ERROR_NVME_CMD_FAILED on failure
1401 *******************************************************************************/
1403  uint32_t pool_size,
1404  uint32_t pool);
1405 
1406 /*!******************************************************************************
1407  * \brief read a hardware descriptor from a scaler session
1408  *
1409  * \param[in] p_ctx pointer to session context
1410  * \param[out] p_frame pointer to frame to write hw descriptor
1411  *
1412  * \return NI_RETCODE_INVALID_PARAM
1413  * NI_RETCODE_ERROR_INVALID_SESSION
1414  * NI_RETCODE_ERROR_MEM_ALOC
1415  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1416  * NI_RETCODE_FAILURE
1417  *******************************************************************************/
1419  ni_session_context_t *p_ctx,
1420  ni_frame_t *p_frame);
1421 
1422 /*!******************************************************************************
1423 * \brief Grab bitdepth factor from NI_PIX_FMT
1424 *
1425 * \param[in] pix_fmt ni_pix_fmt_t
1426 *
1427 * \return 1 or 2
1428 *******************************************************************************/
1429 int ni_get_bitdepth_factor_from_pixfmt(int pix_fmt);
1430 
1431 /*!******************************************************************************
1432 * \brief Grab planar info from NI_PIX_FMT
1433 *
1434 * \param[in] pix_fmt ni_pix_fmt_t
1435 *
1436 * \return 0 or 1 for success, -1 for error
1437 *******************************************************************************/
1438 int ni_get_planar_from_pixfmt(int pix_fmt);
1439 
1440 #ifndef _WIN32
1441 /*!*****************************************************************************
1442  * \brief Get an address offset from a hw descriptor
1443  *
1444  * \param[in] p_ctx ni_session_context_t to be referenced
1445  * \param[in] hwdesc Pointer to caller allocated niFrameSurface1_t
1446  * \param[out] p_offset Value of offset
1447  *
1448  * \return On success NI_RETCODE_SUCCESS
1449  * On failure NI_RETCODE_INVALID_PARAM
1450  ******************************************************************************/
1452  uint32_t *p_offset);
1453 
1454 #endif
1455 
1456 /*!*****************************************************************************
1457  * \brief Get DDR configuration of Quadra device
1458  *
1459  * \param[in/out] p_ctx pointer to a session context with valid file handle
1460  *
1461  * \return On success NI_RETCODE_SUCCESS
1462  * On failure NI_RETCODE_INVALID_PARAM
1463  * NI_RETCODE_ERROR_MEM_ALOC
1464  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1465  ******************************************************************************/
1467 
1468 /*!*****************************************************************************
1469  * \brief Set DDR configuration of Quadra device
1470  *
1471  * \param[in] p_ctx pointer to a session context with valid file handle
1472  * \param[in] ddr_priority_mode ddr priority mode
1473  *
1474  * \return On success NI_RETCODE_SUCCESS
1475  * On failure NI_RETCODE_INVALID_PARAM
1476  * NI_RETCODE_ERROR_MEM_ALOC
1477  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1478  ******************************************************************************/
1480  uint8_t ddr_priority_mode);
1481 
1482 
1483 #define NI_AI_HW_ALIGN_SIZE 64
1484 
1486 ni_retcode_t ni_ai_session_close(ni_session_context_t *p_ctx, int eos_received);
1488  void *nb_data, uint32_t nb_size);
1492  ni_frame_t *p_frame);
1494  ni_packet_t *p_packet);
1496  ni_network_data_t *p_network);
1498  int height, int options, int pool_size,
1499  int frame_index);
1501  niFrameSurface1_t *p_out_surface);
1503  ni_frame_config_t p_cfg_in[],
1504  int numInCfgs,
1505  ni_frame_config_t *p_cfg_out);
1506 
1508  ni_frame_t *p_frame);
1509 /*!*****************************************************************************
1510  * \brief Allocate memory for the metadata header and auxillary data for
1511  * encoder input data.
1512  *
1513  * \param[in] p_frame Pointer to a caller allocated ni_frame_t struct
1514  *
1515  * \param[in] extra_len Length header and auxillary data
1516  *
1517  * \return On success
1518  * NI_RETCODE_SUCCESS
1519  * On failure
1520  * NI_RETCODE_INVALID_PARAM
1521  * NI_RETCODE_ERROR_MEM_ALOC
1522  *****************************************************************************/
1524  int extra_len);
1525 
1527 
1529  ni_network_perf_metrics_t *p_metrics);
1530 
1531 
1532 /*!*****************************************************************************
1533  * \brief Send namespace num / Opmode and SRIOv index/value to the device with
1534  * specified logic block address.
1535  *
1536  * \param[in] device_handle Device handle obtained by calling ni_device_open
1537  * \param[in] Key Represents either namespace num or opmode
1538  * \param[in] Value Represents either SRIOv index or opmode value
1539  *
1540  * \return On success
1541  * NI_RETCODE_SUCCESS
1542  * On failure
1543  * NI_RETCODE_ERROR_MEM_ALOC
1544  * NI_RETCODE_ERROR_NVME_CMD_FAILED
1545  ******************************************************************************/
1546 ni_retcode_t ni_device_config_ns_qos(ni_device_handle_t device_handle,
1547  uint32_t key, uint32_t value);
1548 
1549 ni_retcode_t ni_dump_log_single_core(ni_session_context_t *p_ctx, void* p_data, uint32_t core_id, bool gen_log_file);
1550 ni_retcode_t ni_dump_log_all_cores(ni_session_context_t *p_ctx, void* p_data, bool gen_log_file);
1551 ni_retcode_t ni_send_to_target(ni_session_context_t *p_ctx, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize);
1552 ni_retcode_t ni_recv_from_target(ni_session_context_t *pSession, const ni_p2p_sgl_t *dmaAddrs, ni_frame_t *pDstFrame);
1553 int lower_pixel_rate(const ni_load_query_t *pQuery, uint32_t ui32CurrentLowest);
1555  void *p_dec_ppu_config, int buffer_size);
1556 
1557 /*!******************************************************************************
1558  * \brief set cpu affinity based on numa node
1559  *
1560  * \param[in] p_ctx pointer to session context
1561  *
1562  * \return NI_RETCODE_SUCCESS
1563  * NI_RETCODE_ERROR_MEM_ALOC
1564  *******************************************************************************/
1566 
1567 #ifdef __cplusplus
1568 }
1569 #endif
_ni_t408_config_t::maxQpB
int32_t maxQpB
Definition: ni_device_api_priv.h:494
_ni_metadata_enc_bstream::ui16psnr_y
uint16_t ui16psnr_y
Definition: ni_device_api_priv.h:299
_ni_metadata_enc_bstream::metadata_size
uint32_t metadata_size
Definition: ni_device_api_priv.h:277
ni_decoder_output_config_t::ui8CropMode
uint8_t ui8CropMode
Definition: ni_device_api_priv.h:940
_ni_encoder_config_t::ui16rootBufId
uint16_t ui16rootBufId
Definition: ni_device_api_priv.h:568
_ni_encoder_config_t::ui16hdr10_dx2
uint16_t ui16hdr10_dx2
Definition: ni_device_api_priv.h:601
ni_decoder_output_picture_size::ui16Width
uint16_t ui16Width
Definition: ni_device_api_priv.h:934
_ni_encoder_config_t::ui8pastFrameMaxIntraRatio
uint8_t ui8pastFrameMaxIntraRatio
Definition: ni_device_api_priv.h:667
ni_encoder_cu_info::variance
uint32_t variance
Definition: ni_device_api_priv.h:886
_ni_encoder_config_t::ui32hdr10_minluma
uint32_t ui32hdr10_minluma
Definition: ni_device_api_priv.h:606
_ni_session_config_rw::uHWAccessField
union _ni_session_config_rw::@20 uHWAccessField
_ni_metadata_enc_bstream::reserved_byte
uint8_t reserved_byte[2]
Definition: ni_device_api_priv.h:298
_ni_metadata_enc_frame::force_pic_qp_b
uint16_t force_pic_qp_b
Definition: ni_device_api_priv.h:253
ni_decoder_output_config_t::ui8Force8Bit
uint8_t ui8Force8Bit
Definition: ni_device_api_priv.h:939
_ni_instance_mgr_allocation_info::rgba_color
uint32_t rgba_color
Definition: ni_device_api_priv.h:166
_ni_encoder_config_t::u8skipFrameInterval
uint8_t u8skipFrameInterval
Definition: ni_device_api_priv.h:610
_ni_t408_config_t::saoEnable
int32_t saoEnable
Definition: ni_device_api_priv.h:409
_ni_instance_mgr_allocation_info::input_index
uint8_t input_index
Definition: ni_device_api_priv.h:170
_ni_encoder_config_t::u8customizeRoiQpLevel
uint8_t u8customizeRoiQpLevel
Definition: ni_device_api_priv.h:651
ni_decoder_output_picture_size::ui16Height
uint16_t ui16Height
Definition: ni_device_api_priv.h:933
_ni_network_buffer_info::segment
ni_segment_t segment[NI_MAX_SEGMENT_NUM]
Definition: ni_device_api_priv.h:1004
ni_decoder_session_copy_internal
ni_retcode_t ni_decoder_session_copy_internal(ni_session_context_t *src_p_ctx, ni_session_context_t *dst_p_ctx)
Copy a xcoder decoder worker thread info and card info.
Definition: ni_device_api_priv.c:13977
ni_gop_preset_idx_t
enum _ni_gop_preset_idx ni_gop_preset_idx_t
_ni_t408_config_t::pu16IntraDcDeltaRate
int32_t pu16IntraDcDeltaRate
Definition: ni_device_api_priv.h:474
_ni_instance_mgr_general_status::cmd_queue_count
uint8_t cmd_queue_count
Definition: ni_device_api_priv.h:92
_ni_t408_config_t::losslessEnable
int32_t losslessEnable
Definition: ni_device_api_priv.h:382
_ni_encoder_config_t::ui32ltrFirstGap
uint32_t ui32ltrFirstGap
Definition: ni_device_api_priv.h:577
_ni_t408_config_t::tier
int32_t tier
Definition: ni_device_api_priv.h:380
ni_encoder_cu_info::costIntraSatd
uint32_t costIntraSatd
Definition: ni_device_api_priv.h:873
_ni_encoder_config_t::ui8enable2PassGopPatern
uint8_t ui8enable2PassGopPatern
Definition: ni_device_api_priv.h:620
INST_BUF_INFO_R_ACQUIRE
@ INST_BUF_INFO_R_ACQUIRE
Definition: ni_device_api_priv.h:53
_ni_p2p_sgl_t
Definition: ni_defs.h:417
_ni_t408_config_t::strongIntraSmoothEnable
uint32_t strongIntraSmoothEnable
Definition: ni_device_api_priv.h:452
_ni_instance_mgr_general_status::fw_model_load
uint32_t fw_model_load
Definition: ni_device_api_priv.h:91
_ni_encoder_config_t::i32spatialLayerBitrate
int32_t i32spatialLayerBitrate[NI_MAX_SPATIAL_LAYERS]
Definition: ni_device_api_priv.h:669
_ni_network_data
Definition: ni_device_api.h:1377
_ni_resolution::chroma_linesize
int32_t chroma_linesize
Definition: ni_device_api_priv.h:915
ni_param_change_flags_t
enum _ni_param_change_flags ni_param_change_flags_t
This is an enumeration for encoder parameter change.
ni_dump_log_all_cores
ni_retcode_t ni_dump_log_all_cores(ni_session_context_t *p_ctx, void *p_data, bool gen_log_file)
Definition: ni_device_api_priv.c:19071
_ni_metadata_enc_bstream::pass1Cost
float pass1Cost
Definition: ni_device_api_priv.h:310
_ni_metadata_enc_bstream::gop_size
uint8_t gop_size
Definition: ni_device_api_priv.h:296
_ni_decoder_config_t::ui8MaxExtraHwFrameCnt
uint8_t ui8MaxExtraHwFrameCnt
Definition: ni_device_api_priv.h:964
_ni_metadata_enc_bstream
Definition: ni_device_api_priv.h:275
_ni_session_config_rw::ui8Enable
uint8_t ui8Enable
Definition: ni_device_api_priv.h:70
ni_ai_session_write
ni_retcode_t ni_ai_session_write(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
Definition: ni_device_api_priv.c:16960
_ni_metadata_enc_bstream_rev61::recycle_index
uint32_t recycle_index
Definition: ni_device_api_priv.h:271
_ni_network_buffer_info::ui16Option
uint16_t ui16Option
Definition: ni_device_api_priv.h:993
ni_get_planar_from_pixfmt
int ni_get_planar_from_pixfmt(int pix_fmt)
Grab planar info from NI_PIX_FMT.
Definition: ni_device_api_priv.c:16476
_ni_encoder_config_t::ui8tuneBframeVisual
uint8_t ui8tuneBframeVisual
Definition: ni_device_api_priv.h:649
_ni_scaler_config
Definition: ni_device_api_priv.h:1009
_ni_instance_mgr_stream_complete::is_flushed
uint16_t is_flushed
Definition: ni_device_api_priv.h:178
_ni_encoder_config_t::ui16HDR10AveLight
uint16_t ui16HDR10AveLight
Definition: ni_device_api_priv.h:552
_ni_t408_config_t::minQpP
int32_t minQpP
Definition: ni_device_api_priv.h:491
_ni_encoder_frame_params::picture_type
uint16_t picture_type
Definition: ni_device_api_priv.h:201
_ni_decoder_config_t
Definition: ni_device_api_priv.h:954
_ni_instance_buf_info::hw_inst_ind
ni_instance_upload_ret_hwdesc_t hw_inst_ind
Definition: ni_device_api_priv.h:193
_ni_encoder_config_t::i32tolCtbRcInter
int32_t i32tolCtbRcInter
Definition: ni_device_api_priv.h:584
ni_config_instance_set_write_len
ni_retcode_t ni_config_instance_set_write_len(ni_session_context_t *p_ctx, ni_device_type_t device_type, uint32_t len)
Send a p_config command to set the length for the incoming write packet.
Definition: ni_device_api_priv.c:7298
ni_metadata_enc_bstream_rev61_t
struct _ni_metadata_enc_bstream_rev61 ni_metadata_enc_bstream_rev61_t
ni_encoder_cu_info::cost
uint32_t cost
Definition: ni_device_api_priv.h:871
_ni_t408_config_t::disableDeblk
int32_t disableDeblk
Definition: ni_device_api_priv.h:404
_ni_instance_mgr_stream_complete
Definition: ni_device_api_priv.h:176
_ni_encoder_config_t::i32vbvBufferSize
int32_t i32vbvBufferSize
Definition: ni_device_api_priv.h:523
_ni_session_config_rw::ui16ReadFrameId
uint16_t ui16ReadFrameId
Definition: ni_device_api_priv.h:74
_ni_t408_config_t::nrInterWeightY
uint32_t nrInterWeightY
Definition: ni_device_api_priv.h:439
_ni_metadata_common
Definition: ni_device_api_priv.h:208
_ni_t408_config_t::cu32MergeDeltaRate
int32_t cu32MergeDeltaRate
Definition: ni_device_api_priv.h:487
ni_config_instance_set_encoder_frame_params
ni_retcode_t ni_config_instance_set_encoder_frame_params(ni_session_context_t *p_ctx, ni_encoder_frame_params_t *p_params)
Send a p_config command to configure encoding p_frame parameters.
Definition: ni_device_api_priv.c:7603
_ni_metadata_enc_bstream::aqInfoSize
uint16_t aqInfoSize
Definition: ni_device_api_priv.h:315
GOP_PRESET_IDX_NONE
@ GOP_PRESET_IDX_NONE
Definition: ni_device_api_priv.h:325
_ni_instance_upload_ret_hwdesc::buffer_avail
int16_t buffer_avail
Definition: ni_device_api_priv.h:184
_ni_instance_mgr_general_status::fw_share_mem_usage
uint8_t fw_share_mem_usage
Definition: ni_device_api_priv.h:94
STD_VP9
@ STD_VP9
Definition: ni_device_api_priv.h:368
STD_VP3
@ STD_VP3
Definition: ni_device_api_priv.h:365
_ni_network_buffer_info::ui32IovecNum
uint32_t ui32IovecNum
Definition: ni_device_api_priv.h:1002
ni_decode_cropping_rectangle::ui16W
uint16_t ui16W
Definition: ni_device_api_priv.h:928
_ni_encoder_config_t::ui32hdr10_maxluma
uint32_t ui32hdr10_maxluma
Definition: ni_device_api_priv.h:605
_ni_metadata_common::num_frame_dropped
uint8_t num_frame_dropped
Definition: ni_device_api_priv.h:222
OPT_CUSTOM_GOP
@ OPT_CUSTOM_GOP
Definition: ni_device_api_priv.h:1037
_ni_encoder_config_t::ui8sceneChangeDetectLevel
uint8_t ui8sceneChangeDetectLevel
Definition: ni_device_api_priv.h:654
_ni_t408_config_t::cu08IntraDeltaRate
int32_t cu08IntraDeltaRate
Definition: ni_device_api_priv.h:479
_ni_network_buffer_info::ui16FrameIdx
uint16_t ui16FrameIdx[4]
Definition: ni_device_api_priv.h:998
ni_metadata_dec_frame_t
struct _ni_metadata_dec_frame ni_metadata_dec_frame_t
_ni_session_statistic_t
Definition: ni_defs.h:388
_ni_metadata_enc_bstream::ssimY
uint32_t ssimY
Definition: ni_device_api_priv.h:285
_ni_encoder_config_t::ui16gdrDuration
uint16_t ui16gdrDuration
Definition: ni_device_api_priv.h:560
_ni_t408_config_t::numTicksPocDiffOne
uint32_t numTicksPocDiffOne
Definition: ni_device_api_priv.h:424
_ni_t408_config_t::enable_cu_level_rate_control
int32_t enable_cu_level_rate_control
Definition: ni_device_api_priv.h:413
_ni_t408_config_t::customMDEnable
uint32_t customMDEnable
Definition: ni_device_api_priv.h:462
ni_uploader_session_open
ni_retcode_t ni_uploader_session_open(ni_session_context_t *p_ctx)
Open a xcoder uploader instance.
Definition: ni_device_api_priv.c:13776
_ni_encoder_config_t::i8cuTreeFactor
int8_t i8cuTreeFactor
Definition: ni_device_api_priv.h:633
_ni_t408_config_t::dependSliceModeArg
int32_t dependSliceModeArg
Definition: ni_device_api_priv.h:395
_ni_t408_config_t::pu32IntraPlanarDeltaRate
int32_t pu32IntraPlanarDeltaRate
Definition: ni_device_api_priv.h:476
_ni_ai_config_t::ui8Sha256
uint8_t ui8Sha256[32]
Definition: ni_device_api_priv.h:980
ni_hwupload_session_query_buffer_avail
ni_retcode_t ni_hwupload_session_query_buffer_avail(ni_session_context_t *p_ctx)
Query and acquire buffer from xcoder upload instance.
Definition: ni_device_api_priv.c:14110
_ni_encoder_config_t::ui32ltrNextInterval
uint32_t ui32ltrNextInterval
Definition: ni_device_api_priv.h:578
_ni_encoder_config_t::ui8hrdEnable
uint8_t ui8hrdEnable
Definition: ni_device_api_priv.h:561
ni_encoder_cu_info
Definition: ni_device_api_priv.h:865
_ni_encoder_config_t::i8crfMax
int8_t i8crfMax
Definition: ni_device_api_priv.h:628
ni_instance_mgr_general_status_t
struct _ni_instance_mgr_general_status ni_instance_mgr_general_status_t
_ni_metadata_enc_bstream::skipCu8Num
uint32_t skipCu8Num
Definition: ni_device_api_priv.h:312
ni_hwdownload_by_frame_idx
int ni_hwdownload_by_frame_idx(niFrameSurface1_t *hwdesc, ni_frame_t *p_frame, int is_auto_dl)
Retrieve a YUV p_frame by frame index.
Definition: ni_device_api_priv.c:15805
ni_device_set_ddr_configuration
ni_retcode_t ni_device_set_ddr_configuration(ni_session_context_t *p_ctx, uint8_t ddr_priority_mode)
Set DDR configuration of Quadra device.
Definition: ni_device_api_priv.c:18604
ni_instance_upload_ret_hwdesc_t
struct _ni_instance_upload_ret_hwdesc ni_instance_upload_ret_hwdesc_t
_ni_t408_config_t::enable_hvs_qp
int32_t enable_hvs_qp
Definition: ni_device_api_priv.h:414
CROP_AUTO
@ CROP_AUTO
Definition: ni_device_api_priv.h:921
ni_encoder_mv::refIdx
uint8_t refIdx
Definition: ni_device_api_priv.h:860
_ni_t408_config_t::avcIdrPeriod
int32_t avcIdrPeriod
Definition: ni_device_api_priv.h:497
_ni_t408_config_t
Definition: ni_device_api_priv.h:376
ni_encoder_start_buffer_alloc
ni_retcode_t ni_encoder_start_buffer_alloc(ni_frame_t *p_frame)
Allocate memory for the non-4k-aligned part at the start of YUV data for encoder input data.
Definition: ni_device_api_priv.c:18754
ni_query_instance_buf_info
ni_retcode_t ni_query_instance_buf_info(ni_session_context_t *p_ctx, ni_instance_buf_info_rw_type_t rw_type, ni_device_type_t device_type, ni_instance_buf_info_t *p_inst_buf_info)
Query a particular xcoder instance to get buffer/data Info data.
Definition: ni_device_api_priv.c:6903
_ni_session_config_rw::ui16WriteFrameId
uint16_t ui16WriteFrameId
Definition: ni_device_api_priv.h:75
_ni_encoder_config_t::i8enableipRatio
int8_t i8enableipRatio
Definition: ni_device_api_priv.h:609
_ni_instance_mgr_general_status::unusedPadding4
uint8_t unusedPadding4
Definition: ni_device_api_priv.h:108
_ni_uploader_config_t::ui8rsvd
uint8_t ui8rsvd[1]
Definition: ni_device_api_priv.h:897
_ni_scaler_config::scaler_param_c
uint16_t scaler_param_c
Definition: ni_device_api_priv.h:1014
_ni_encoder_config_t::ui8crfMaxIframeEnable
uint8_t ui8crfMaxIframeEnable
Definition: ni_device_api_priv.h:645
_ni_instance_mgr_allocation_info::session_id
uint16_t session_id
Definition: ni_device_api_priv.h:168
_ni_uploader_config_t
Definition: ni_device_api_priv.h:890
_ni_encoder_config_t::ui16aspectRatioWidth
uint16_t ui16aspectRatioWidth
Definition: ni_device_api_priv.h:566
_ni_resolution
Definition: ni_device_api_priv.h:903
_ni_encoder_config_t::i32maxIntraSize
int32_t i32maxIntraSize
Definition: ni_device_api_priv.h:526
ni_device_type_t
ni_device_type_t
Definition: ni_defs.h:355
_ni_session_stats::ui32LastTransactionId
uint32_t ui32LastTransactionId
Definition: ni_device_api_priv.h:140
_ni_metadata_enc_bstream_rev61::frame_tstamp
uint64_t frame_tstamp
Definition: ni_device_api_priv.h:268
_ni_instance_mgr_allocation_info::reserved0
uint8_t reserved0
Definition: ni_device_api_priv.h:172
_ni_t408_config_t::useLongTerm
uint32_t useLongTerm
Definition: ni_device_api_priv.h:448
STD_VP8
@ STD_VP8
Definition: ni_device_api_priv.h:366
ni_decoder_output_config_t::sOutputPictureSize
ni_decoder_output_picture_size sOutputPictureSize
Definition: ni_device_api_priv.h:951
_ni_t408_config_t::roiEnable
int32_t roiEnable
Definition: ni_device_api_priv.h:420
_ni_t408_config_t::cu16InterDeltaRate
int32_t cu16InterDeltaRate
Definition: ni_device_api_priv.h:483
_ni_session_stats::ui16SessionId
uint16_t ui16SessionId
Definition: ni_device_api_priv.h:138
_ni_t408_config_t::gop_preset_index
int32_t gop_preset_index
Definition: ni_device_api_priv.h:384
_ni_t408_config_t::intraRefreshMode
int32_t intraRefreshMode
Definition: ni_device_api_priv.h:396
ni_hwframe_clone
ni_retcode_t ni_hwframe_clone(ni_session_context_t *p_ctx, ni_frameclone_desc_t *p_frameclone_desc)
Copy a src hw frame to a dst hw frame.
Definition: ni_device_api_priv.c:15923
_ni_metadata_common::crop_left
uint16_t crop_left
Definition: ni_device_api_priv.h:210
_ni_uploader_config_t::ui8Pool
uint8_t ui8Pool
Definition: ni_device_api_priv.h:896
ni_resolution_t
struct _ni_resolution ni_resolution_t
_ni_scaler_config::numInputs
uint8_t numInputs
Definition: ni_device_api_priv.h:1012
ni_ai_query_network_ready
ni_retcode_t ni_ai_query_network_ready(ni_session_context_t *p_ctx)
Definition: ni_device_api_priv.c:16905
_ni_t408_config_t::hvs_qp_scale
int32_t hvs_qp_scale
Definition: ni_device_api_priv.h:415
_ni_instance_mgr_allocation_info::picture_format
uint16_t picture_format
Definition: ni_device_api_priv.h:160
GOP_PRESET_IDX_IPPPP
@ GOP_PRESET_IDX_IPPPP
Definition: ni_device_api_priv.h:334
_ni_decoder_config_t::ui8EcPolicy
uint8_t ui8EcPolicy
Definition: ni_device_api_priv.h:967
ni_config_instance_eos
ni_retcode_t ni_config_instance_eos(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Send a p_config command for End Of Stream.
Definition: ni_device_api_priv.c:7181
ni_recv_from_target
ni_retcode_t ni_recv_from_target(ni_session_context_t *pSession, const ni_p2p_sgl_t *dmaAddrs, ni_frame_t *pDstFrame)
Definition: ni_device_api_priv.c:19141
_ni_t408_config_t::nrNoiseSigmaY
uint32_t nrNoiseSigmaY
Definition: ni_device_api_priv.h:444
_ni_t408_config_t::maxQpI
int32_t maxQpI
Definition: ni_device_api_priv.h:490
_ni_t408_config_t::level
int32_t level
Definition: ni_device_api_priv.h:379
ni_log_fl_fw_versions_t
struct _ni_log_fl_fw_versions ni_log_fl_fw_versions_t
ni_config_instance_update_encoder_params
ni_retcode_t ni_config_instance_update_encoder_params(ni_session_context_t *p_ctx, ni_param_change_flags_t change_flags)
ni_scaler_session_query_buffer_avail
ni_retcode_t ni_scaler_session_query_buffer_avail(ni_session_context_t *p_ctx)
Query and acquire buffer from xcoder scale instance.
Definition: ni_device_api_priv.c:14018
_ni_instance_mgr_general_status::active_sub_instances_cnt_overall
uint8_t active_sub_instances_cnt_overall
Definition: ni_device_api_priv.h:101
_ni_resolution::luma_linesize
int32_t luma_linesize
Definition: ni_device_api_priv.h:914
ni_xcoder_mgr_retcode_t
enum _ni_xcoder_mgr_retcode ni_xcoder_mgr_retcode_t
_ni_network_buffer_info::ui16Height
uint16_t ui16Height
Definition: ni_device_api_priv.h:992
_ni_metadata_enc_bstream_rev61::frame_cycle
uint32_t frame_cycle
Definition: ni_device_api_priv.h:269
_ni_encoder_config_t::ui8compressor
uint8_t ui8compressor
Definition: ni_device_api_priv.h:612
_ni_encoder_config_t::ui8colorPrimaries
uint8_t ui8colorPrimaries
Definition: ni_device_api_priv.h:563
_ni_t408_config_t::fixedBitRatio
int32_t fixedBitRatio[NI_MAX_GOP_NUM]
Definition: ni_device_api_priv.h:412
_ni_session_config_rw
Definition: ni_device_api_priv.h:68
STD_MPEG4
@ STD_MPEG4
Definition: ni_device_api_priv.h:359
_ni_encoder_config_t::i32qcomp
int32_t i32qcomp
Definition: ni_device_api_priv.h:629
_ni_instance_mgr_general_status::process_load_percent
uint8_t process_load_percent
Definition: ni_device_api_priv.h:82
ni_encoder_cu_info::cuMode
uint8_t cuMode
Definition: ni_device_api_priv.h:870
_ni_frameclone_desc
Definition: ni_device_api.h:1389
ni_decoder_crop_mode
ni_decoder_crop_mode
Definition: ni_device_api_priv.h:919
_ni_encoder_config_t::ui32ltrRefInterval
uint32_t ui32ltrRefInterval
Definition: ni_device_api_priv.h:575
ni_encoder_cu_info::qp
uint8_t qp
Definition: ni_device_api_priv.h:884
_ni_t408_config_t::pu04DeltaRate
int32_t pu04DeltaRate
Definition: ni_device_api_priv.h:463
ni_rsrc_api.h
Public definitions for managing NETINT video processing devices.
_ni_ddr_priority_config::ddr_mode
uint8_t ddr_mode
Definition: ni_device_api_priv.h:1021
ni_metadata_common_t
struct _ni_metadata_common ni_metadata_common_t
_ni_encoder_config_t::i16bitrateWindow
int16_t i16bitrateWindow
Definition: ni_device_api_priv.h:586
_ni_t408_config_t::maxQpP
int32_t maxQpP
Definition: ni_device_api_priv.h:492
STD_SVAC
@ STD_SVAC
Definition: ni_device_api_priv.h:370
_ni_t408_config_t::nrNoiseSigmaCb
uint32_t nrNoiseSigmaCb
Definition: ni_device_api_priv.h:445
ni_encoder_mv
Definition: ni_device_api_priv.h:858
_ni_scaler_config::scaler_param_b
uint16_t scaler_param_b
Definition: ni_device_api_priv.h:1013
_ni_instance_upload_ret_hwdesc
Definition: ni_device_api_priv.h:182
_ni_instance_mgr_general_status::process_load_percent_upper
uint8_t process_load_percent_upper
Definition: ni_device_api_priv.h:99
_ni_segment::ui32RelLba
uint32_t ui32RelLba
Definition: ni_device_api_priv.h:984
_ni_network_buffer_info::ui8PoolSize
uint8_t ui8PoolSize
Definition: ni_device_api_priv.h:996
ni_set_cpu_affinity
ni_retcode_t ni_set_cpu_affinity(ni_session_context_t *p_ctx)
set cpu affinity based on numa node
Definition: ni_device_api_priv.c:19226
ni_scaler_session_close
ni_retcode_t ni_scaler_session_close(ni_session_context_t *p_ctx, int eos_received)
close a scaler session
Definition: ni_device_api_priv.c:5462
_ni_decoder_config_t::ui32ErrRatioThreshold
uint32_t ui32ErrRatioThreshold
Definition: ni_device_api_priv.h:973
ni_session_keep_alive_thread
void * ni_session_keep_alive_thread(void *arguments)
decoder keep alive thread function triggers every 1 second
Definition: ni_device_api_priv.c:13559
_ni_network_perf_metrics
Definition: ni_device_api.h:1398
_ni_t408_config_t::betaOffsetDiv2
int32_t betaOffsetDiv2
Definition: ni_device_api_priv.h:406
_ni_encoder_config_t::ui8disableBframeRDOQ
uint8_t ui8disableBframeRDOQ
Definition: ni_device_api_priv.h:647
ni_query_stream_info
ni_retcode_t ni_query_stream_info(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_stream_info_t *p_stream_info)
Query a particular xcoder instance to get Stream Info data.
Definition: ni_device_api_priv.c:6373
_ni_encoder_config_t::ui8planarFormat
uint8_t ui8planarFormat
Definition: ni_device_api_priv.h:569
ni_check_common_params
ni_retcode_t ni_check_common_params(ni_t408_config_t *p_param, ni_xcoder_params_t *p_src, char *param_err, uint32_t max_err_len)
Definition: ni_device_api_priv.c:13097
ni_validate_custom_template
ni_retcode_t ni_validate_custom_template(ni_session_context_t *p_ctx, ni_encoder_config_t *p_cfg, ni_xcoder_params_t *p_src, char *p_param_err, uint32_t max_err_len)
Perform validation on custom parameters (Rev. B)
Definition: ni_device_api_priv.c:10748
ni_metadata_enc_bstream_t
struct _ni_metadata_enc_bstream ni_metadata_enc_bstream_t
_ni_encoder_config_t::ui8LookAheadDepth
uint8_t ui8LookAheadDepth
Definition: ni_device_api_priv.h:548
_ni_encoder_config_t::i32userMinDeltaQp
int32_t i32userMinDeltaQp
Definition: ni_device_api_priv.h:528
_ni_instance_mgr_stream_info::ai_model_type
uint8_t ai_model_type
Definition: ni_device_api_priv.h:132
_ni_instance_mgr_stream_info::pix_format
uint8_t pix_format
Definition: ni_device_api_priv.h:130
_ni_encoder_config_t::ui16hdr10_dy2
uint16_t ui16hdr10_dy2
Definition: ni_device_api_priv.h:602
_ni_frame_config
Definition: ni_device_api.h:2912
ni_decoder_output_config_t::ui8Enabled
uint8_t ui8Enabled
Definition: ni_device_api_priv.h:938
ni_device_get_ddr_configuration
ni_retcode_t ni_device_get_ddr_configuration(ni_session_context_t *p_ctx)
Get DDR configuration of Quadra device.
Definition: ni_device_api_priv.c:18519
_ni_encoder_config_t::ui8av1ErrResilientMode
uint8_t ui8av1ErrResilientMode
Definition: ni_device_api_priv.h:614
_ni_metadata_enc_bstream::cuInfoSize
uint32_t cuInfoSize
Definition: ni_device_api_priv.h:311
ni_encoder_mv::mvY
int16_t mvY
Definition: ni_device_api_priv.h:862
_ni_encoder_config_t::i32meBlkMode
int32_t i32meBlkMode
Definition: ni_device_api_priv.h:520
_ni_scaler_config::ui32Reserved
uint32_t ui32Reserved[2]
Definition: ni_device_api_priv.h:1016
_ni_instance_buf_info
Definition: ni_device_api_priv.h:188
_ni_t408_config_t::nrNoiseEstEnable
uint32_t nrNoiseEstEnable
Definition: ni_device_api_priv.h:443
_ni_metadata_enc_bstream::frameCropTopOffset
uint16_t frameCropTopOffset
Definition: ni_device_api_priv.h:304
_ni_encoder_config_t::i32userQpMin
int32_t i32userQpMin
Definition: ni_device_api_priv.h:529
_ni_encoder_config_t::ui8spatialLayersRefBaseLayer
uint8_t ui8spatialLayersRefBaseLayer
Definition: ni_device_api_priv.h:661
_ni_encoder_config_t::ui8lowLatencyMode
uint8_t ui8lowLatencyMode
Definition: ni_device_api_priv.h:535
_ni_encoder_config_t::ui8totalCuTreeDepth
uint8_t ui8totalCuTreeDepth
Definition: ni_device_api_priv.h:663
_ni_t408_config_t::nrIntraWeightCb
uint32_t nrIntraWeightCb
Definition: ni_device_api_priv.h:437
ni_decoder_output_config_t::ui8ScaleResCeil
uint8_t ui8ScaleResCeil
Definition: ni_device_api_priv.h:949
_ni_t408_config_t::conf_win_right
int32_t conf_win_right
Definition: ni_device_api_priv.h:391
INST_BUF_INFO_RW_WRITE_BUSY
@ INST_BUF_INFO_RW_WRITE_BUSY
Definition: ni_device_api_priv.h:52
_ni_metadata_enc_bstream::max_mv_x
int16_t max_mv_x[2]
Definition: ni_device_api_priv.h:289
_ni_encoder_config_t::i32ipRatio
int32_t i32ipRatio
Definition: ni_device_api_priv.h:635
NI_VERSION_CHARACTER_COUNT
#define NI_VERSION_CHARACTER_COUNT
Definition: ni_device_api_priv.h:112
_ni_metadata_common::crop_right
uint16_t crop_right
Definition: ni_device_api_priv.h:211
_ni_metadata_enc_bstream::reconLumaWidth
uint16_t reconLumaWidth
Definition: ni_device_api_priv.h:302
_ni_encoder_config_t::ui8avccHvcc
uint8_t ui8avccHvcc
Definition: ni_device_api_priv.h:660
ni_config_session_rw
ni_retcode_t ni_config_session_rw(ni_session_context_t *p_ctx, ni_session_config_rw_type_t rw_type, uint8_t enable, uint8_t hw_action, uint16_t frame_id)
Configure the read/write pipe for a session to control its behavior.
Definition: ni_device_api_priv.c:7034
_ni_encoder_config_t::i32picHeight
int32_t i32picHeight
Definition: ni_device_api_priv.h:519
_ni_metadata_enc_frame::inconsecutive_transfer
uint8_t inconsecutive_transfer
Definition: ni_device_api_priv.h:259
_ni_metadata_enc_bstream::ssimV
uint32_t ssimV
Definition: ni_device_api_priv.h:287
ni_validate_custom_dec_template
ni_retcode_t ni_validate_custom_dec_template(ni_xcoder_params_t *p_src, ni_session_context_t *p_ctx, ni_decoder_config_t *p_cfg, char *p_param_err, uint32_t max_err_len)
Perform validation on custom dec parameters (Rev. B)
Definition: ni_device_api_priv.c:10439
_ni_instance_mgr_stream_info
Definition: ni_device_api_priv.h:122
_ni_t408_config_t::bgThrMeanDiff
uint32_t bgThrMeanDiff
Definition: ni_device_api_priv.h:457
_ni_encoder_config_t::ui8adaptiveCuTree
uint8_t ui8adaptiveCuTree
Definition: ni_device_api_priv.h:664
_ni_encoder_config_t::ui32verOffset
uint32_t ui32verOffset
Definition: ni_device_api_priv.h:626
_ni_instance_mgr_general_status::unusedPadding3
uint8_t unusedPadding3
Definition: ni_device_api_priv.h:107
_ni_decoder_config_t::ui8HWFrame
uint8_t ui8HWFrame
Definition: ni_device_api_priv.h:956
STD_MPEG2
@ STD_MPEG2
Definition: ni_device_api_priv.h:358
_ni_decoder_config_t::ui16MaxSeiDataSize
uint16_t ui16MaxSeiDataSize
Definition: ni_device_api_priv.h:958
ni_config_instance_sos
ni_retcode_t ni_config_instance_sos(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Send a p_config command for Start Of Stream.
Definition: ni_device_api_priv.c:7127
ni_get_memory_offset
ni_retcode_t ni_get_memory_offset(ni_session_context_t *p_ctx, const niFrameSurface1_t *hwdesc, uint32_t *p_offset)
Get an address offset from a hw descriptor.
Definition: ni_device_api_priv.c:16513
_ni_encoder_config_t::i32bitRate
int32_t i32bitRate
Definition: ni_device_api_priv.h:530
_ni_t408_config_t::pu04IntraPlanarDeltaRate
int32_t pu04IntraPlanarDeltaRate
Definition: ni_device_api_priv.h:467
_ni_encoder_config_t::ui8AiEnhanceLevel
uint8_t ui8AiEnhanceLevel
Definition: ni_device_api_priv.h:627
_ni_t408_config_t::pu32IntraAngleDeltaRate
int32_t pu32IntraAngleDeltaRate
Definition: ni_device_api_priv.h:478
_ni_uploader_config_t::ui32chromaLinesize
uint32_t ui32chromaLinesize
Definition: ni_device_api_priv.h:899
_ni_encoder_config_t
Definition: ni_device_api_priv.h:515
_ni_metadata_common::has_b_frame
uint8_t has_b_frame
Definition: ni_device_api_priv.h:223
STD_AVS
@ STD_AVS
Definition: ni_device_api_priv.h:363
_ni_encoder_config_t::ui8av1OpLevel
uint8_t ui8av1OpLevel[NI_MAX_SPATIAL_LAYERS]
Definition: ni_device_api_priv.h:671
_ni_encoder_config_t::ui32setLongTermInterval
uint32_t ui32setLongTermInterval
Definition: ni_device_api_priv.h:581
ni_xcoder_resource_insufficient
@ ni_xcoder_resource_insufficient
Definition: ni_device_api_priv.h:64
_ni_instance_mgr_allocation_info::rectangle_height
uint16_t rectangle_height
Definition: ni_device_api_priv.h:163
GOP_PRESET_IDX_RA_IB
@ GOP_PRESET_IDX_RA_IB
Definition: ni_device_api_priv.h:336
ni_decoder_output_config_t::ui8ScaleEnabled
uint8_t ui8ScaleEnabled
Definition: ni_device_api_priv.h:941
_ni_log_fl_fw_versions::last_ran_fl_version
uint8_t last_ran_fl_version[NI_VERSION_CHARACTER_COUNT]
Definition: ni_device_api_priv.h:116
_ni_scaler_config::ui8Reserved
uint8_t ui8Reserved[2]
Definition: ni_device_api_priv.h:1015
ni_ai_session_read
ni_retcode_t ni_ai_session_read(ni_session_context_t *p_ctx, ni_packet_t *p_packet)
Definition: ni_device_api_priv.c:17284
ni_encoder_cu_info::costOfOtherMode
uint32_t costOfOtherMode
Definition: ni_device_api_priv.h:872
_ni_encoder_config_t::i8pass1Qp
int8_t i8pass1Qp
Definition: ni_device_api_priv.h:641
ni_encoder_session_read
int ni_encoder_session_read(ni_session_context_t *p_ctx, ni_packet_t *p_packet)
Definition: ni_device_api_priv.c:4733
_ni_encoder_config_t::ui8fixedframerate
uint8_t ui8fixedframerate
Definition: ni_device_api_priv.h:613
_ni_encoder_config_t::ui8mallocStrategy
uint8_t ui8mallocStrategy
Definition: ni_device_api_priv.h:655
_ni_encoder_config_t::ui8colorTrc
uint8_t ui8colorTrc
Definition: ni_device_api_priv.h:564
ni_ai_multi_config_frame
ni_retcode_t ni_ai_multi_config_frame(ni_session_context_t *p_ctx, ni_frame_config_t p_cfg_in[], int numInCfgs, ni_frame_config_t *p_cfg_out)
Definition: ni_device_api_priv.c:18002
_ni_instance_mgr_stream_info::ai_enhance_level
uint8_t ai_enhance_level
Definition: ni_device_api_priv.h:131
_ni_session_stats::ui32Session_timestamp_low
uint32_t ui32Session_timestamp_low
Definition: ni_device_api_priv.h:145
ni_set_default_template
void ni_set_default_template(ni_session_context_t *p_ctx, ni_encoder_config_t *p_config)
Setup and initialize all xcoder configuration to default (Rev. B)
Definition: ni_device_api_priv.c:10042
ni_ai_session_read_hwdesc
ni_retcode_t ni_ai_session_read_hwdesc(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
read a hardware descriptor from a scaler session
Definition: ni_device_api_priv.c:18427
_ni_t408_config_t::bgLambdaQp
uint32_t bgLambdaQp
Definition: ni_device_api_priv.h:458
_ni_network_buffer_info
Definition: ni_device_api_priv.h:988
_ni_scaler_params_t
Definition: ni_device_api.h:2658
_ni_t408_config_t::conf_win_bottom
int32_t conf_win_bottom
Definition: ni_device_api_priv.h:389
_ni_t408_config_t::use_recommend_enc_params
int32_t use_recommend_enc_params
Definition: ni_device_api_priv.h:398
_ni_metadata_enc_frame::ui32Reserved
uint32_t ui32Reserved[2]
Definition: ni_device_api_priv.h:261
_ni_metadata_enc_frame::start_len
uint16_t start_len[3]
Definition: ni_device_api_priv.h:258
STD_AV1
@ STD_AV1
Definition: ni_device_api_priv.h:371
ni_session_config_rw_type_t
ni_session_config_rw_type_t
Definition: ni_device_api_priv.h:40
ni_retcode_t
ni_retcode_t
Definition: ni_defs.h:439
_ni_instance_mgr_general_status::pcie_throughput
uint8_t pcie_throughput
Definition: ni_device_api_priv.h:89
_ni_metadata_enc_frame::use_cur_src_as_long_term_pic
uint8_t use_cur_src_as_long_term_pic
Definition: ni_device_api_priv.h:255
GOP_PRESET_IDX_IBBB
@ GOP_PRESET_IDX_IBBB
Definition: ni_device_api_priv.h:331
_ni_instance_mgr_allocation_info::options
uint16_t options
Definition: ni_device_api_priv.h:161
_ni_metadata_enc_bstream::inter_total_count
uint16_t inter_total_count
Definition: ni_device_api_priv.h:294
_ni_t408_config_t::forcedHeaderEnable
uint32_t forcedHeaderEnable
Definition: ni_device_api_priv.h:512
_ni_instance_mgr_general_status::ui32UploadRate
uint32_t ui32UploadRate
Definition: ni_device_api_priv.h:109
_ni_decoder_config_t::ui32SourceHeight
uint32_t ui32SourceHeight
Definition: ni_device_api_priv.h:972
ni_encoder_cu_info::costInterSatd
uint32_t costInterSatd
Definition: ni_device_api_priv.h:874
_ni_metadata_enc_frame::force_pic_qp_i
uint16_t force_pic_qp_i
Definition: ni_device_api_priv.h:251
_ni_encoder_config_t::ui8disableAv1TimingInfo
uint8_t ui8disableAv1TimingInfo
Definition: ni_device_api_priv.h:670
ni_instance_buf_info_t
struct _ni_instance_buf_info ni_instance_buf_info_t
ni_session_stats_t
struct _ni_session_stats ni_session_stats_t
ni_decoder_session_send_eos
ni_retcode_t ni_decoder_session_send_eos(ni_session_context_t *p_ctx)
Send end of stream signal to the decoder.
Definition: ni_device_api_priv.c:1615
ni_decode_cropping_rectangle::ui16X
uint16_t ui16X
Definition: ni_device_api_priv.h:926
_ni_encoder_config_t::ui8preIntraHandling
uint8_t ui8preIntraHandling
Definition: ni_device_api_priv.h:665
_ni_xcoder_mgr_retcode
_ni_xcoder_mgr_retcode
Definition: ni_device_api_priv.h:59
GOP_PRESET_IDX_SP
@ GOP_PRESET_IDX_SP
Definition: ni_device_api_priv.h:337
NI_MAX_SPATIAL_LAYERS
#define NI_MAX_SPATIAL_LAYERS
Definition: ni_device_api.h:183
_ni_encoder_config_t::ui8rcEnable
uint8_t ui8rcEnable
Definition: ni_device_api_priv.h:532
ni_encoder_cu_info::cuSize
uint8_t cuSize
Definition: ni_device_api_priv.h:869
_ni_t408_config_t::internalBitDepth
int32_t internalBitDepth
Definition: ni_device_api_priv.h:381
_ni_t408_config_t::conf_win_top
int32_t conf_win_top
Definition: ni_device_api_priv.h:388
_ni_encoder_config_t::i8chromaQpOffset
int8_t i8chromaQpOffset
Definition: ni_device_api_priv.h:583
ni_decoder_session_close
ni_retcode_t ni_decoder_session_close(ni_session_context_t *p_ctx, int eos_recieved)
Close a xcoder decoder instance.
Definition: ni_device_api_priv.c:1705
_ni_encoder_config_t::i32cplxDecay
int32_t i32cplxDecay
Definition: ni_device_api_priv.h:637
_ni_metadata_enc_frame
Definition: ni_device_api_priv.h:241
_ni_encoder_config_t::ui8enableCompensateQp
uint8_t ui8enableCompensateQp
Definition: ni_device_api_priv.h:657
ni_decoder_output_config_t::ui8EnablePpuScaleLimit
uint8_t ui8EnablePpuScaleLimit
Definition: ni_device_api_priv.h:948
_ni_metadata_enc_frame::force_pic_qp_p
uint16_t force_pic_qp_p
Definition: ni_device_api_priv.h:252
_ni_instance_mgr_stream_info::transfer_frame_height
uint16_t transfer_frame_height
Definition: ni_device_api_priv.h:127
ni_config_instance_set_decoder_params
ni_retcode_t ni_config_instance_set_decoder_params(ni_session_context_t *p_ctx, uint32_t max_pkt_size)
Send a p_config command to configure decoding parameters.
Definition: ni_device_api_priv.c:16117
_ni_encoder_config_t::i8intraQpDelta
int8_t i8intraQpDelta
Definition: ni_device_api_priv.h:572
ni_encoder_cu_info::mean
uint32_t mean
Definition: ni_device_api_priv.h:885
_ni_uploader_config_t::ui8PixelFormat
uint8_t ui8PixelFormat
Definition: ni_device_api_priv.h:895
_ni_metadata_dec_frame
Definition: ni_device_api_priv.h:228
_ni_metadata_enc_frame::use_long_term_ref
uint8_t use_long_term_ref
Definition: ni_device_api_priv.h:256
ni_encoder_session_send_eos
ni_retcode_t ni_encoder_session_send_eos(ni_session_context_t *p_ctx)
Flush encoder output.
Definition: ni_device_api_priv.c:3899
ni_encoder_session_close
ni_retcode_t ni_encoder_session_close(ni_session_context_t *p_ctx, int eos_recieved)
Close a xcoder encoder instance.
Definition: ni_device_api_priv.c:3944
_ni_metadata_common::frame_tstamp
uint64_t frame_tstamp
Definition: ni_device_api_priv.h:217
_ni_encoder_config_t::i32srcBitDepth
int32_t i32srcBitDepth
Definition: ni_device_api_priv.h:533
ni_encoder_cu_info::interPredIdc
uint8_t interPredIdc
Definition: ni_device_api_priv.h:875
_ni_metadata_enc_bstream::avg_frame_qp
uint32_t avg_frame_qp
Definition: ni_device_api_priv.h:281
_ni_metadata_enc_bstream::ssimU
uint32_t ssimU
Definition: ni_device_api_priv.h:286
_ni_encoder_config_t::i8statisticOutputLevel
int8_t i8statisticOutputLevel
Definition: ni_device_api_priv.h:644
_ni_metadata_enc_frame::enc_reconfig_data_size
uint32_t enc_reconfig_data_size
Definition: ni_device_api_priv.h:247
_ni_encoder_config_t::ui8setLongTermCount
uint8_t ui8setLongTermCount
Definition: ni_device_api_priv.h:593
_ni_encoder_config_t::i32tolCtbRcIntra
int32_t i32tolCtbRcIntra
Definition: ni_device_api_priv.h:585
_ni_encoder_config_t::i32bitRateBL
int32_t i32bitRateBL
Definition: ni_device_api_priv.h:531
_ni_session_stats
Definition: ni_device_api_priv.h:136
_ni_encoder_config_t::ui8stillImageDetectLevel
uint8_t ui8stillImageDetectLevel
Definition: ni_device_api_priv.h:653
_ni_instance_mgr_general_status::process_load_percent_overall
uint8_t process_load_percent_overall
Definition: ni_device_api_priv.h:100
_ni_encoder_config_t::i8skipFrameEnable
int8_t i8skipFrameEnable
Definition: ni_device_api_priv.h:607
GOP_PRESET_IDX_DEFAULT
@ GOP_PRESET_IDX_DEFAULT
Definition: ni_device_api_priv.h:326
_ni_ddr_priority_config::ui8Reserved
uint8_t ui8Reserved[7]
Definition: ni_device_api_priv.h:1022
_ni_decoder_config_t::ui8ReduceDpbDelay
uint8_t ui8ReduceDpbDelay
Definition: ni_device_api_priv.h:970
_ni_metadata_enc_bstream::ui8StillImage
uint8_t ui8StillImage
Definition: ni_device_api_priv.h:308
_ni_instance_buf_info::buf_avail_size
uint32_t buf_avail_size
Definition: ni_device_api_priv.h:192
ni_send_to_target
ni_retcode_t ni_send_to_target(ni_session_context_t *p_ctx, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
Definition: ni_device_api_priv.c:19091
_ni_t408_config_t::skipIntraTrans
int32_t skipIntraTrans
Definition: ni_device_api_priv.h:408
ni_send_session_keep_alive
ni_retcode_t ni_send_session_keep_alive(uint32_t session_id, ni_device_handle_t device_handle, ni_event_handle_t event_handle, void *p_data)
send a keep alive message to firmware
Definition: ni_device_api_priv.c:1563
_ni_encoder_config_t::ui16aspectRatioHeight
uint16_t ui16aspectRatioHeight
Definition: ni_device_api_priv.h:567
ni_instance_buf_info_rw_type_t
ni_instance_buf_info_rw_type_t
Definition: ni_device_api_priv.h:46
ni_defs.h
Common NETINT definitions used by all modules.
_ni_encoder_config_t::ui8fillerEnable
uint8_t ui8fillerEnable
Definition: ni_device_api_priv.h:573
STD_MAX
@ STD_MAX
Definition: ni_device_api_priv.h:373
_ni_session_stats::ui32LastTransactionCompletionStatus
uint32_t ui32LastTransactionCompletionStatus
Definition: ni_device_api_priv.h:141
_ni_encoder_config_t::ui8adaptiveCrfMode
uint8_t ui8adaptiveCrfMode
Definition: ni_device_api_priv.h:674
_ni_global_session_stats::error_flag
char error_flag[16]
Definition: ni_device_api_priv.h:151
_ni_instance_mgr_general_status::fw_video_mem_usage
uint8_t fw_video_mem_usage
Definition: ni_device_api_priv.h:93
_ni_encoder_config_t::ui8multicoreJointMode
uint8_t ui8multicoreJointMode
Definition: ni_device_api_priv.h:579
_ni_metadata_common::ui64_data
union _ni_metadata_common::@27 ui64_data
_ni_encoder_config_t::ui16hdr10_wx
uint16_t ui16hdr10_wx
Definition: ni_device_api_priv.h:603
_ni_t408_config_t::max_delta_qp
int32_t max_delta_qp
Definition: ni_device_api_priv.h:416
_ni_encoder_config_t::ui16hdr10_dx1
uint16_t ui16hdr10_dx1
Definition: ni_device_api_priv.h:599
ni_ai_alloc_hwframe
ni_retcode_t ni_ai_alloc_hwframe(ni_session_context_t *p_ctx, int width, int height, int options, int pool_size, int frame_index)
Definition: ni_device_api_priv.c:18233
ni_encoder_mv::mvX
int16_t mvX
Definition: ni_device_api_priv.h:861
_ni_ai_config_t
Definition: ni_device_api_priv.h:977
STD_AVS2
@ STD_AVS2
Definition: ni_device_api_priv.h:369
ni_hwupload_session_write
int ni_hwupload_session_write(ni_session_context_t *p_ctx, ni_frame_t *p_frame, niFrameSurface1_t *hwdesc)
Send a YUV p_frame to upload session.
Definition: ni_device_api_priv.c:14215
_ni_encoder_config_t::ui8PixelFormat
uint8_t ui8PixelFormat
Definition: ni_device_api_priv.h:570
ni_network_buffer_info_t
struct _ni_network_buffer_info ni_network_buffer_info_t
_ni_uploader_config_t::ui32lumaLinesize
uint32_t ui32lumaLinesize
Definition: ni_device_api_priv.h:898
ni_decoder_session_read_desc
int ni_decoder_session_read_desc(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
Copy a xcoder decoder worker thread info and card info.
Definition: ni_device_api_priv.c:14710
_ni_t408_config_t::cu16MergeDeltaRate
int32_t cu16MergeDeltaRate
Definition: ni_device_api_priv.h:484
_ni_decoder_config_t::ui8MCMode
uint8_t ui8MCMode
Definition: ni_device_api_priv.h:961
_ni_t408_config_t::nrCbEnable
uint32_t nrCbEnable
Definition: ni_device_api_priv.h:432
_ni_encoder_config_t::ui32vbvMinRate
uint32_t ui32vbvMinRate
Definition: ni_device_api_priv.h:646
_ni_encoder_config_t::i32frameRateInfo
int32_t i32frameRateInfo
Definition: ni_device_api_priv.h:522
_ni_t408_config_t::bgThrDiff
uint32_t bgThrDiff
Definition: ni_device_api_priv.h:456
GOP_PRESET_IDX_CUSTOM
@ GOP_PRESET_IDX_CUSTOM
Definition: ni_device_api_priv.h:328
_ni_encoder_config_t::ui8AiEnhanceMode
uint8_t ui8AiEnhanceMode
Definition: ni_device_api_priv.h:619
_ni_t408_config_t::dependSliceMode
int32_t dependSliceMode
Definition: ni_device_api_priv.h:394
_ni_t408_config_t::profile
int32_t profile
Definition: ni_device_api_priv.h:378
ni_encoder_frame_params_t
struct _ni_encoder_frame_params ni_encoder_frame_params_t
_ni_t408_config_t::entropy_coding_mode
int32_t entropy_coding_mode
Definition: ni_device_api_priv.h:506
ni_query_detail_status
ni_retcode_t ni_query_detail_status(ni_session_context_t *p_ctx, ni_device_type_t device_type, void *p_detail_status, int ver)
Query a particular xcoder instance to get DetailStatus data.
Definition: ni_device_api_priv.c:6291
_ni_encoder_config_t::ui8colorSpace
uint8_t ui8colorSpace
Definition: ni_device_api_priv.h:565
_ni_metadata_enc_bstream::frame_size
uint16_t frame_size
Definition: ni_device_api_priv.h:293
ni_xcoder_session_query
int ni_xcoder_session_query(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Query current xcoder status.
Definition: ni_device_api_priv.c:3236
_ni_encoder_frame_params::data_format
uint16_t data_format
Definition: ni_device_api_priv.h:200
_ni_encoder_config_t::i32hwframes
int32_t i32hwframes
Definition: ni_device_api_priv.h:546
lower_pixel_rate
int lower_pixel_rate(const ni_load_query_t *pQuery, uint32_t ui32CurrentLowest)
Definition: ni_device_api_priv.c:19213
_ni_metadata_dec_frame::sei_header
uint32_t sei_header
Definition: ni_device_api_priv.h:232
ni_uploader_session_close
ni_retcode_t ni_uploader_session_close(ni_session_context_t *p_ctx)
Close an xcoder upload instance.
Definition: ni_device_api_priv.c:15987
_ni_encoder_frame_params::timestamp
uint32_t timestamp
Definition: ni_device_api_priv.h:204
ni_dump_log_single_core
ni_retcode_t ni_dump_log_single_core(ni_session_context_t *p_ctx, void *p_data, uint32_t core_id, bool gen_log_file)
Definition: ni_device_api_priv.c:18954
GOP_PRESET_IDX_IBBBB
@ GOP_PRESET_IDX_IBBBB
Definition: ni_device_api_priv.h:335
_ni_metadata_enc_bstream_rev61::avg_frame_qp
uint32_t avg_frame_qp
Definition: ni_device_api_priv.h:270
_ni_metadata_common::frame_offset
uint64_t frame_offset
Definition: ni_device_api_priv.h:216
ni_xcoder_request_success
@ ni_xcoder_request_success
Definition: ni_device_api_priv.h:61
INST_BUF_INFO_RW_WRITE_BY_EP
@ INST_BUF_INFO_RW_WRITE_BY_EP
Definition: ni_device_api_priv.h:54
_ni_t408_config_t::conf_win_left
int32_t conf_win_left
Definition: ni_device_api_priv.h:390
_ni_encoder_config_t::ui8temporalLayersEnable
uint8_t ui8temporalLayersEnable
Definition: ni_device_api_priv.h:618
_ni_metadata_enc_bstream::reconLumaSize
uint32_t reconLumaSize
Definition: ni_device_api_priv.h:300
ni_clear_instance_buf
ni_retcode_t ni_clear_instance_buf(niFrameSurface1_t *surface)
clear a particular xcoder instance buffer/data
Definition: ni_device_api_priv.c:14658
_ni_instance_mgr_allocation_info::rectangle_width
uint16_t rectangle_width
Definition: ni_device_api_priv.h:162
_ni_log_fl_fw_versions::current_fw_revision
uint8_t current_fw_revision[NI_VERSION_CHARACTER_COUNT]
Definition: ni_device_api_priv.h:118
_ni_encoder_frame_params::force_picture_type
uint16_t force_picture_type
Definition: ni_device_api_priv.h:199
_ni_instance_mgr_allocation_info::output_index
uint8_t output_index
Definition: ni_device_api_priv.h:169
_ni_t408_config_t::chromaCrQpOffset
int32_t chromaCrQpOffset
Definition: ni_device_api_priv.h:427
_ni_metadata_common::frame_type
uint8_t frame_type
Definition: ni_device_api_priv.h:221
OPT_COMMON
@ OPT_COMMON
Definition: ni_device_api_priv.h:1036
ni_params_print
void ni_params_print(ni_xcoder_params_t *const p_encoder_params)
Print xcoder user configurations.
Definition: ni_device_api_priv.c:13436
_ni_metadata_common::pkt_delay_cnt
uint8_t pkt_delay_cnt
Definition: ni_device_api_priv.h:224
_ni_t408_config_t::slice_arg
int32_t slice_arg
Definition: ni_device_api_priv.h:502
_ni_scaler_config::filterblit
uint8_t filterblit
Definition: ni_device_api_priv.h:1011
_ni_instance_mgr_general_status::unusedPadding1
uint8_t unusedPadding1
Definition: ni_device_api_priv.h:102
NI_MAX_GOP_NUM
#define NI_MAX_GOP_NUM
Definition: ni_device_api.h:58
_ni_t408_config_t::monochromeEnable
uint32_t monochromeEnable
Definition: ni_device_api_priv.h:451
STD_RV
@ STD_RV
Definition: ni_device_api_priv.h:362
_ni_encoder_config_t::i8crfDecimal
int8_t i8crfDecimal
Definition: ni_device_api_priv.h:642
_ni_encoder_config_t::ui8bitstreamFormat
uint8_t ui8bitstreamFormat
Definition: ni_device_api_priv.h:517
_ni_encoder_config_t::ui8enableTimecode
uint8_t ui8enableTimecode
Definition: ni_device_api_priv.h:659
ni_get_frame_index
int32_t ni_get_frame_index(uint32_t *value)
Get xcoder instance id.
Definition: ni_util.c:1643
_ni_encoder_config_t::ui8repeatHeaders
uint8_t ui8repeatHeaders
Definition: ni_device_api_priv.h:555
_ni_encoder_config_t::ui8useLowDelayPocType
uint8_t ui8useLowDelayPocType
Definition: ni_device_api_priv.h:558
_ni_decoder_config_t::ui32MaxPktSize
uint32_t ui32MaxPktSize
Definition: ni_device_api_priv.h:965
_ni_t408_config_t::intra_period
int32_t intra_period
Definition: ni_device_api_priv.h:387
ni_encoder_cu_info::intraPartMode
uint8_t intraPartMode
Definition: ni_device_api_priv.h:879
ni_decoder_output_config_t::ui8SemiPlanarEnabled
uint8_t ui8SemiPlanarEnabled
Definition: ni_device_api_priv.h:942
_ni_t408_config_t::minQpB
int32_t minQpB
Definition: ni_device_api_priv.h:493
_ni_metadata_common::frame_width
uint16_t frame_width
Definition: ni_device_api_priv.h:219
_ni_global_session_stats::check_flag
uint8_t check_flag[4]
Definition: ni_device_api_priv.h:152
_ni_metadata_enc_bstream::frame_cycle
uint32_t frame_cycle
Definition: ni_device_api_priv.h:280
ni_metadata_enc_frame_t
struct _ni_metadata_enc_frame ni_metadata_enc_frame_t
_ni_t408_config_t::numUnitsInTick
uint32_t numUnitsInTick
Definition: ni_device_api_priv.h:422
ni_instance_mgr_allocation_info_t
struct _ni_instance_mgr_allocation_info ni_instance_mgr_allocation_info_t
_ni_instance_mgr_general_status::tp_fw_load
uint8_t tp_fw_load
Definition: ni_device_api_priv.h:106
_ni_instance_mgr_general_status::fw_model_load_overall
uint32_t fw_model_load_overall
Definition: ni_device_api_priv.h:104
_ni_metadata_enc_frame::force_headers
uint16_t force_headers
Definition: ni_device_api_priv.h:254
_ni_encoder_config_t::ui8EnableRdoQuant
uint8_t ui8EnableRdoQuant
Definition: ni_device_api_priv.h:554
_ni_t408_config_t::pu08IntraPlanarDeltaRate
int32_t pu08IntraPlanarDeltaRate
Definition: ni_device_api_priv.h:470
_ni_encoder_config_t::ui16hdr10_dy1
uint16_t ui16hdr10_dy1
Definition: ni_device_api_priv.h:600
STD_DIV3
@ STD_DIV3
Definition: ni_device_api_priv.h:361
ni_get_bitdepth_factor_from_pixfmt
int ni_get_bitdepth_factor_from_pixfmt(int pix_fmt)
Grab bitdepth factor from NI_PIX_FMT.
Definition: ni_device_api_priv.c:16447
_ni_instance_mgr_stream_info::reserved
uint8_t reserved[1]
Definition: ni_device_api_priv.h:133
_ni_instance_mgr_allocation_info::reserved
uint32_t reserved
Definition: ni_device_api_priv.h:173
_ni_metadata_enc_frame::metadata_common
ni_metadata_common_t metadata_common
Definition: ni_device_api_priv.h:243
_ni_t408_config_t::pu16IntraAngleDeltaRate
int32_t pu16IntraAngleDeltaRate
Definition: ni_device_api_priv.h:475
_ni_t408_config_t::constIntraPredFlag
int32_t constIntraPredFlag
Definition: ni_device_api_priv.h:383
_ni_metadata_enc_frame::frame_roi_map_size
uint32_t frame_roi_map_size
Definition: ni_device_api_priv.h:245
_ni_packet
Definition: ni_device_api.h:2993
_ni_session_config_rw::ui8HWAccess
uint8_t ui8HWAccess
Definition: ni_device_api_priv.h:71
_ni_t408_config_t::enable_mb_level_rc
int32_t enable_mb_level_rc
Definition: ni_device_api_priv.h:505
_ni_t408_config_t::cu16IntraDeltaRate
int32_t cu16IntraDeltaRate
Definition: ni_device_api_priv.h:482
_ni_instance_mgr_stream_info::is_flushed
uint16_t is_flushed
Definition: ni_device_api_priv.h:129
ni_xcoder_session_query_detail
int ni_xcoder_session_query_detail(ni_session_context_t *p_ctx, ni_device_type_t device_type, void *detail_data, int ver)
Query current xcoder status.
Definition: ni_device_api_priv.c:3328
_ni_t408_config_t::wppEnable
int32_t wppEnable
Definition: ni_device_api_priv.h:402
_ni_log_fl_fw_versions
Definition: ni_device_api_priv.h:114
ni_ai_config_t
struct _ni_ai_config_t ni_ai_config_t
_ni_decoder_config_t::fps_number
uint32_t fps_number
Definition: ni_device_api_priv.h:959
ni_config_instance_set_sequence_change
ni_retcode_t ni_config_instance_set_sequence_change(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_resolution_t *p_resolution)
Send a p_config command to inform encoder sequence change.
Definition: ni_device_api_priv.c:7368
_ni_instance_mgr_general_status::pcie_load
uint8_t pcie_load
Definition: ni_device_api_priv.h:85
GOP_PRESET_IDX_IBPBP
@ GOP_PRESET_IDX_IBPBP
Definition: ni_device_api_priv.h:332
_ni_instance_mgr_general_status::error_count
uint8_t error_count
Definition: ni_device_api_priv.h:84
_ni_metadata_enc_bstream_rev61::bs_frame_size
uint32_t bs_frame_size
Definition: ni_device_api_priv.h:266
_ni_t408_config_t::cu32IntraDeltaRate
int32_t cu32IntraDeltaRate
Definition: ni_device_api_priv.h:485
ni_decoder_output_config_t::sCroppingRectable
ni_decode_cropping_rectangle sCroppingRectable
Definition: ni_device_api_priv.h:950
_ni_metadata_common::crop_bottom
uint16_t crop_bottom
Definition: ni_device_api_priv.h:213
_ni_session_stats::ui32Session_timestamp_high
uint32_t ui32Session_timestamp_high
Definition: ni_device_api_priv.h:144
ni_config_instance_flush
ni_retcode_t ni_config_instance_flush(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Send a p_config command to flush the stream.
Definition: ni_device_api_priv.c:7236
_ni_encoder_config_t::ui32sourceEndian
uint32_t ui32sourceEndian
Definition: ni_device_api_priv.h:540
_ni_decoder_config_t::asOutputConfig
ni_decoder_output_config_t asOutputConfig[NI_MAX_NUM_OF_DECODER_OUTPUTS]
Definition: ni_device_api_priv.h:966
ni_encoder_session_open
ni_retcode_t ni_encoder_session_open(ni_session_context_t *p_ctx)
Open a xcoder encoder instance.
Definition: ni_device_api_priv.c:3361
_ni_t408_config_t::nrIntraWeightCr
uint32_t nrIntraWeightCr
Definition: ni_device_api_priv.h:438
GOP_PRESET_IDX_HIERARCHICAL_IPPPP
@ GOP_PRESET_IDX_HIERARCHICAL_IPPPP
Definition: ni_device_api_priv.h:339
_ni_t408_config_t::nrCrEnable
uint32_t nrCrEnable
Definition: ni_device_api_priv.h:433
CROP_DISABLED
@ CROP_DISABLED
Definition: ni_device_api_priv.h:920
_ni_segment::ui32Size
uint32_t ui32Size
Definition: ni_device_api_priv.h:985
_ni_instance_mgr_stream_info::frame_rate
uint16_t frame_rate
Definition: ni_device_api_priv.h:128
_ni_t408_config_t::cu08MergeDeltaRate
int32_t cu08MergeDeltaRate
Definition: ni_device_api_priv.h:481
_ni_instance_mgr_stream_info::picture_height
uint16_t picture_height
Definition: ni_device_api_priv.h:125
ni_config_instance_set_scaler_params
ni_retcode_t ni_config_instance_set_scaler_params(ni_session_context_t *p_ctx, ni_scaler_params_t *p_params)
condif a scaler instance
Definition: ni_device_api_priv.c:5550
_ni_encoder_config_t::ui8gopSize
uint8_t ui8gopSize
Definition: ni_device_api_priv.h:557
_ni_metadata_common::crop_top
uint16_t crop_top
Definition: ni_device_api_priv.h:212
NI_MAX_SEGMENT_NUM
#define NI_MAX_SEGMENT_NUM
Definition: ni_device_api_priv.h:1001
ni_decoder_output_config_t
Definition: ni_device_api_priv.h:937
ni_config_instance_set_encoder_params
ni_retcode_t ni_config_instance_set_encoder_params(ni_session_context_t *p_ctx)
Send a p_config command to configure encoding parameters.
Definition: ni_device_api_priv.c:7434
_ni_encoder_config_t::ui8LowDelay
uint8_t ui8LowDelay
Definition: ni_device_api_priv.h:592
ni_xcoder_resource_recovery
@ ni_xcoder_resource_recovery
Definition: ni_device_api_priv.h:63
_ni_encoder_config_t::ui32cropHeight
uint32_t ui32cropHeight
Definition: ni_device_api_priv.h:624
_ni_t408_config_t::enable_transform_8x8
int32_t enable_transform_8x8
Definition: ni_device_api_priv.h:500
_ni_t408_config_t::pu16IntraPlanarDeltaRate
int32_t pu16IntraPlanarDeltaRate
Definition: ni_device_api_priv.h:473
_ni_encoder_config_t::niParamT408
ni_t408_config_t niParamT408
Definition: ni_device_api_priv.h:537
_ni_session_context
Definition: ni_device_api.h:1435
ni_ai_session_close
ni_retcode_t ni_ai_session_close(ni_session_context_t *p_ctx, int eos_received)
Definition: ni_device_api_priv.c:17884
_ni_session_stats::ui32LastErrorTransactionId
uint32_t ui32LastErrorTransactionId
Definition: ni_device_api_priv.h:142
_niFrameSurface1
Definition: ni_device_api.h:2897
_ni_t408_config_t::coefClearDisable
int32_t coefClearDisable
Definition: ni_device_api_priv.h:488
_ni_instance_mgr_allocation_info::rectangle_x
int16_t rectangle_x
Definition: ni_device_api_priv.h:164
_ni_metadata_enc_bstream_rev61::frame_type
uint32_t frame_type
Definition: ni_device_api_priv.h:267
_ni_t408_config_t::cu08InterDeltaRate
int32_t cu08InterDeltaRate
Definition: ni_device_api_priv.h:480
ni_decode_cropping_rectangle::ui16H
uint16_t ui16H
Definition: ni_device_api_priv.h:929
ni_scaler_config_frame
ni_retcode_t ni_scaler_config_frame(ni_session_context_t *p_ctx, ni_frame_config_t *p_cfg)
config frame in the scaler
Definition: ni_device_api_priv.c:5971
ni_scaler_alloc_frame
ni_retcode_t ni_scaler_alloc_frame(ni_session_context_t *p_ctx, int width, int height, int format, int options, int rectangle_width, int rectangle_height, int rectangle_x, int rectangle_y, int rgba_color, int frame_index)
allocate a frame in the scaler
Definition: ni_device_api_priv.c:5734
_ni_metadata_dec_frame::metadata_common
ni_metadata_common_t metadata_common
Definition: ni_device_api_priv.h:230
_ni_ddr_priority_config
Definition: ni_device_api_priv.h:1019
_ni_encoder_config_t::ui32QLevel
uint32_t ui32QLevel
Definition: ni_device_api_priv.h:582
_ni_t408_config_t::pu16DeltaRate
int32_t pu16DeltaRate
Definition: ni_device_api_priv.h:465
_ni_frame
Definition: ni_device_api.h:2698
_ni_decoder_config_t::ui8DisablePictureReordering
uint8_t ui8DisablePictureReordering
Definition: ni_device_api_priv.h:962
_ni_metadata_dec_frame::sei_number
uint16_t sei_number
Definition: ni_device_api_priv.h:235
_ni_t408_config_t::intraNxNEnable
int32_t intraNxNEnable
Definition: ni_device_api_priv.h:410
ni_instance_mgr_stream_info_t
struct _ni_instance_mgr_stream_info ni_instance_mgr_stream_info_t
_ni_metadata_enc_bstream_rev61
Definition: ni_device_api_priv.h:264
ni_decode_cropping_rectangle
Definition: ni_device_api_priv.h:925
ni_encoder_config_t
struct _ni_encoder_config_t ni_encoder_config_t
_ni_resolution::width
int32_t width
Definition: ni_device_api_priv.h:906
ni_decoder_config_t
struct _ni_decoder_config_t ni_decoder_config_t
CROP_MANUAL
@ CROP_MANUAL
Definition: ni_device_api_priv.h:922
_ni_t408_config_t::pu32IntraDcDeltaRate
int32_t pu32IntraDcDeltaRate
Definition: ni_device_api_priv.h:477
ni_hwupload_session_read_hwdesc
int ni_hwupload_session_read_hwdesc(ni_session_context_t *p_ctx, niFrameSurface1_t *hwdesc)
Retrieve a HW descriptor of uploaded frame.
Definition: ni_device_api_priv.c:14572
STD_VC1
@ STD_VC1
Definition: ni_device_api_priv.h:357
_ni_t408_config_t::scalingListEnable
int32_t scalingListEnable
Definition: ni_device_api_priv.h:399
_ni_instance_mgr_general_status::unusedPadding2
uint8_t unusedPadding2
Definition: ni_device_api_priv.h:103
_ni_t408_config_t::bgDetectEnable
uint32_t bgDetectEnable
Definition: ni_device_api_priv.h:455
_ni_instance_mgr_allocation_info::frame_index
uint16_t frame_index
Definition: ni_device_api_priv.h:167
ni_decoder_session_write
int ni_decoder_session_write(ni_session_context_t *p_ctx, ni_packet_t *p_packet)
Send a video p_packet to decoder.
Definition: ni_device_api_priv.c:1888
_ni_encoder_config_t::i32pbRatio
int32_t i32pbRatio
Definition: ni_device_api_priv.h:636
_ni_xcoder_params
Definition: ni_device_api.h:2814
ni_session_config_rw_t
struct _ni_session_config_rw ni_session_config_rw_t
_ni_metadata_enc_frame::get_recon_frame_mode
uint8_t get_recon_frame_mode
Definition: ni_device_api_priv.h:260
_ni_encoder_config_t::ui8enablePTS
uint8_t ui8enablePTS
Definition: ni_device_api_priv.h:534
_ni_encoder_config_t::i32userMaxDeltaQp
int32_t i32userMaxDeltaQp
Definition: ni_device_api_priv.h:527
ni_ddr_priority_config_t
struct _ni_ddr_priority_config ni_ddr_priority_config_t
_ni_encoder_config_t::i8crf
int8_t i8crf
Definition: ni_device_api_priv.h:550
_ni_metadata_enc_bstream::min_mv_x
int16_t min_mv_x[2]
Definition: ni_device_api_priv.h:290
_ni_instance_mgr_general_status::fatal_error
uint8_t fatal_error
Definition: ni_device_api_priv.h:88
_ni_t408_config_t::tcOffsetDiv2
int32_t tcOffsetDiv2
Definition: ni_device_api_priv.h:407
_ni_encoder_config_t::ui32cropWidth
uint32_t ui32cropWidth
Definition: ni_device_api_priv.h:623
_ni_encoder_config_t::ui8HDR10CLLEnable
uint8_t ui8HDR10CLLEnable
Definition: ni_device_api_priv.h:553
_ni_encoder_config_t::ui8enableSmoothCrf
uint8_t ui8enableSmoothCrf
Definition: ni_device_api_priv.h:656
ni_query_session_stats
ni_retcode_t ni_query_session_stats(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_session_stats_t *p_session_stats, int rc, int opcode)
Query a particular session to get the stats info.
Definition: ni_device_api_priv.c:6456
_ni_encoder_config_t::ui8intraCompensateMode
uint8_t ui8intraCompensateMode
Definition: ni_device_api_priv.h:675
_ni_instance_mgr_allocation_info::picture_height
uint16_t picture_height
Definition: ni_device_api_priv.h:159
_ni_encoder_config_t::ui8vbvBufferReencode
uint8_t ui8vbvBufferReencode
Definition: ni_device_api_priv.h:662
_ni_encoder_config_t::i8ppsInitQp
int8_t i8ppsInitQp
Definition: ni_device_api_priv.h:639
_ni_encoder_config_t::ui8picSkipEnable
uint8_t ui8picSkipEnable
Definition: ni_device_api_priv.h:574
_ni_encoder_config_t::ui8blockRCSize
uint8_t ui8blockRCSize
Definition: ni_device_api_priv.h:589
ni_scaler_session_read_hwdesc
ni_retcode_t ni_scaler_session_read_hwdesc(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
read a hardware descriptor from a scaler session
Definition: ni_device_api_priv.c:16328
INST_BUF_INFO_RW_READ
@ INST_BUF_INFO_RW_READ
Definition: ni_device_api_priv.h:48
_ni_encoder_config_t::ui32chromaLinesize
uint32_t ui32chromaLinesize
Definition: ni_device_api_priv.h:622
GOP_PRESET_IDX_IBBBP
@ GOP_PRESET_IDX_IBBBP
Definition: ni_device_api_priv.h:333
ni_config_instance_network_binary
ni_retcode_t ni_config_instance_network_binary(ni_session_context_t *p_ctx, void *nb_data, uint32_t nb_size)
Definition: ni_device_api_priv.c:16540
_ni_global_session_stats::reserved
uint32_t reserved[3]
Definition: ni_device_api_priv.h:153
_ni_resolution::height
int32_t height
Definition: ni_device_api_priv.h:909
ni_config_instance_set_uploader_params
ni_retcode_t ni_config_instance_set_uploader_params(ni_session_context_t *p_ctx, uint32_t pool_size, uint32_t pool)
Send a p_config command to configure uploading parameters.
Definition: ni_device_api_priv.c:16014
ni_xcoder_request_pending
@ ni_xcoder_request_pending
Definition: ni_device_api_priv.h:62
_ni_device_capability
device capability type
Definition: ni_device_api.h:1167
NI_MAX_NUM_OF_DECODER_OUTPUTS
#define NI_MAX_NUM_OF_DECODER_OUTPUTS
Definition: ni_defs.h:255
_ni_metadata_enc_frame::frame_force_type
uint16_t frame_force_type
Definition: ni_device_api_priv.h:249
_ni_decoder_config_t::ui8DisableAdaptiveBuffers
uint8_t ui8DisableAdaptiveBuffers
Definition: ni_device_api_priv.h:969
_ni_encoder_config_t::ui8intraResetRefresh
uint8_t ui8intraResetRefresh
Definition: ni_device_api_priv.h:615
_ni_t408_config_t::max_num_merge
int32_t max_num_merge
Definition: ni_device_api_priv.h:403
_ni_encoder_config_t::i8hvsBaseMbComplexity
int8_t i8hvsBaseMbComplexity
Definition: ni_device_api_priv.h:643
_ni_t408_config_t::intraRefreshArg
int32_t intraRefreshArg
Definition: ni_device_api_priv.h:397
_ni_encoder_config_t::ui32lumaLinesize
uint32_t ui32lumaLinesize
Definition: ni_device_api_priv.h:621
_ni_encoder_config_t::i8maxConsecutiveSkipFrameNum
int8_t i8maxConsecutiveSkipFrameNum
Definition: ni_device_api_priv.h:608
_ni_t408_config_t::customLambdaEnable
uint32_t customLambdaEnable
Definition: ni_device_api_priv.h:461
_ni_instance_mgr_general_status::fw_video_shared_mem_usage
uint8_t fw_video_shared_mem_usage
Definition: ni_device_api_priv.h:98
_ni_metadata_enc_frame::frame_sei_data_size
uint32_t frame_sei_data_size
Definition: ni_device_api_priv.h:246
_ni_load_query
Definition: ni_device_api.h:1210
ni_set_custom_template
void ni_set_custom_template(ni_session_context_t *p_ctx, ni_encoder_config_t *p_cfg, ni_xcoder_params_t *p_src)
Setup all xcoder configurations with custom parameters (Rev. B)
Definition: ni_device_api_priv.c:8718
_ni_metadata_enc_bstream::recycle_index
uint32_t recycle_index
Definition: ni_device_api_priv.h:282
_ni_t408_config_t::nrIntraWeightY
uint32_t nrIntraWeightY
Definition: ni_device_api_priv.h:436
_ni_t408_config_t::cu32InterDeltaRate
int32_t cu32InterDeltaRate
Definition: ni_device_api_priv.h:486
_ni_encoder_config_t::ui32vbvMaxRate
uint32_t ui32vbvMaxRate
Definition: ni_device_api_priv.h:638
_ni_t408_config_t::custom_gop_params
ni_custom_gop_params_t custom_gop_params
Definition: ni_device_api_priv.h:419
ni_encoder_cu_info::cuLocationY
uint8_t cuLocationY
Definition: ni_device_api_priv.h:868
_ni_resolution::bit_depth_factor
int32_t bit_depth_factor
Definition: ni_device_api_priv.h:912
_ni_instance_mgr_allocation_info::picture_width
uint16_t picture_width
Definition: ni_device_api_priv.h:158
_ni_instance_mgr_stream_complete::data_bytes_available
uint16_t data_bytes_available
Definition: ni_device_api_priv.h:179
_ni_metadata_enc_bstream::max_mv_y
int16_t max_mv_y[2]
Definition: ni_device_api_priv.h:291
_ni_log_fl_fw_versions::nor_flash_fw_revision
uint8_t nor_flash_fw_revision[NI_VERSION_CHARACTER_COUNT]
Definition: ni_device_api_priv.h:119
_ni_instance_mgr_stream_info::transfer_frame_stride
uint16_t transfer_frame_stride
Definition: ni_device_api_priv.h:126
_ni_encoder_config_t::i32ltrRefQpOffset
int32_t i32ltrRefQpOffset
Definition: ni_device_api_priv.h:576
_ni_network_buffer_info::ui8MultiIn
uint8_t ui8MultiIn
Definition: ni_device_api_priv.h:997
_ni_encoder_config_t::ui16hdr10_dx0
uint16_t ui16hdr10_dx0
Definition: ni_device_api_priv.h:597
_ni_t408_config_t::initialRcQp
int32_t initialRcQp
Definition: ni_device_api_priv.h:429
ni_ai_session_query_metrics
ni_retcode_t ni_ai_session_query_metrics(ni_session_context_t *p_ctx, ni_network_perf_metrics_t *p_metrics)
Definition: ni_device_api_priv.c:18807
_ni_metadata_enc_bstream::frame_tstamp
uint64_t frame_tstamp
Definition: ni_device_api_priv.h:279
_ni_encoder_config_t::ui8rdoLevel
uint8_t ui8rdoLevel
Definition: ni_device_api_priv.h:549
INST_BUF_INFO_RW_READ_BUSY
@ INST_BUF_INFO_RW_READ_BUSY
Definition: ni_device_api_priv.h:51
_ni_instance_mgr_allocation_info
Definition: ni_device_api_priv.h:156
_ni_t408_config_t::intra_mb_refresh_mode
int32_t intra_mb_refresh_mode
Definition: ni_device_api_priv.h:503
_ni_uploader_config_t::ui16picHeight
uint16_t ui16picHeight
Definition: ni_device_api_priv.h:893
_ni_segment
Definition: ni_device_api_priv.h:983
_ni_encoder_config_t::ui8hdr10_enable
uint8_t ui8hdr10_enable
Definition: ni_device_api_priv.h:596
_ni_session_stats::reserved
uint32_t reserved[1]
Definition: ni_device_api_priv.h:146
_ni_metadata_enc_frame::frame_force_type_enable
uint16_t frame_force_type_enable
Definition: ni_device_api_priv.h:248
_ni_metadata_enc_bstream::min_mv_y
int16_t min_mv_y[2]
Definition: ni_device_api_priv.h:292
_ni_t408_config_t::timeScale
uint32_t timeScale
Definition: ni_device_api_priv.h:423
_ni_encoder_config_t::ui16hdr10_dy0
uint16_t ui16hdr10_dy0
Definition: ni_device_api_priv.h:598
_ni_encoder_config_t::ui8linkFrameMaxIntraRatio
uint8_t ui8linkFrameMaxIntraRatio
Definition: ni_device_api_priv.h:668
_ni_metadata_enc_bstream::intra_total_count
uint16_t intra_total_count
Definition: ni_device_api_priv.h:295
_ni_instance_mgr_general_status
Definition: ni_device_api_priv.h:79
_ni_network_buffer_info::ui16Width
uint16_t ui16Width
Definition: ni_device_api_priv.h:991
_ni_encoder_config_t::ui8getCuInfo
uint8_t ui8getCuInfo
Definition: ni_device_api_priv.h:673
_ni_t408_config_t::nrYEnable
uint32_t nrYEnable
Definition: ni_device_api_priv.h:431
_ni_uploader_config_t::ui16picWidth
uint16_t ui16picWidth
Definition: ni_device_api_priv.h:892
_ni_t408_config_t::bitAllocMode
int32_t bitAllocMode
Definition: ni_device_api_priv.h:411
_ni_t408_config_t::bgDeltaQp
int32_t bgDeltaQp
Definition: ni_device_api_priv.h:459
_ni_t408_config_t::pu08IntraDcDeltaRate
int32_t pu08IntraDcDeltaRate
Definition: ni_device_api_priv.h:471
ni_encoder_session_write
int ni_encoder_session_write(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
Send a YUV p_frame to encoder.
Definition: ni_device_api_priv.c:4217
_ni_instance_mgr_allocation_info::rectangle_y
int16_t rectangle_y
Definition: ni_device_api_priv.h:165
_ni_t408_config_t::cu_size_mode
int32_t cu_size_mode
Definition: ni_device_api_priv.h:400
GOP_PRESET_IDX_IPP
@ GOP_PRESET_IDX_IPP
Definition: ni_device_api_priv.h:330
ni_fix_VUI
void ni_fix_VUI(uint8_t *vui, int pos, int value)
insert the 32 bits of integer value at bit position pos
Definition: ni_device_api_priv.c:8441
_ni_t408_config_t::lfCrossSliceBoundaryEnable
int32_t lfCrossSliceBoundaryEnable
Definition: ni_device_api_priv.h:405
_ni_encoder_config_t::ui8sliceMode
uint8_t ui8sliceMode
Definition: ni_device_api_priv.h:521
_ni_encoder_config_t::ui8gopLowdelay
uint8_t ui8gopLowdelay
Definition: ni_device_api_priv.h:559
ni_config_read_inout_layers
ni_retcode_t ni_config_read_inout_layers(ni_session_context_t *p_ctx, ni_network_data_t *p_network)
Definition: ni_device_api_priv.c:17420
ni_query_general_status
ni_retcode_t ni_query_general_status(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_general_status_t *p_gen_status)
Query a particular xcoder instance to get GeneralStatus data.
Definition: ni_device_api_priv.c:6223
_ni_t408_config_t::intra_qp
int32_t intra_qp
Definition: ni_device_api_priv.h:386
ni_instance_mgr_stream_complete_t
struct _ni_instance_mgr_stream_complete ni_instance_mgr_stream_complete_t
ni_scaler_session_open
int ni_scaler_session_open(ni_session_context_t *p_ctx)
Open a xcoder scaler instance.
Definition: ni_device_api_priv.c:5242
_ni_encoder_config_t::ui8rcQpDeltaRange
uint8_t ui8rcQpDeltaRange
Definition: ni_device_api_priv.h:591
_ni_metadata_enc_bstream::ppsInitQp
uint8_t ppsInitQp
Definition: ni_device_api_priv.h:297
_ni_t408_config_t::lambdaScalingEnable
int32_t lambdaScalingEnable
Definition: ni_device_api_priv.h:499
_ni_encoder_config_t::ui8bitrateMode
uint8_t ui8bitrateMode
Definition: ni_device_api_priv.h:640
ni_xcoder_general_error
@ ni_xcoder_general_error
Definition: ni_device_api_priv.h:65
_ni_metadata_common::frame_height
uint16_t frame_height
Definition: ni_device_api_priv.h:220
ni_query_session_statistic_info
ni_retcode_t ni_query_session_statistic_info(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_session_statistic_t *p_session_statistic)
Query a particular xcoder session to get session statistics.
Definition: ni_device_api_priv.c:6800
_ni_decoder_config_t::fps_denominator
uint32_t fps_denominator
Definition: ni_device_api_priv.h:960
_ni_t408_config_t::weightPredEnable
uint32_t weightPredEnable
Definition: ni_device_api_priv.h:454
_ni_metadata_enc_bstream::frameCropLeftOffset
uint16_t frameCropLeftOffset
Definition: ni_device_api_priv.h:305
_ni_metadata_enc_bstream_rev61::av1_show_frame
uint32_t av1_show_frame
Definition: ni_device_api_priv.h:272
_ni_t408_config_t::nrInterWeightCb
uint32_t nrInterWeightCb
Definition: ni_device_api_priv.h:440
STD_THO
@ STD_THO
Definition: ni_device_api_priv.h:364
_ni_t408_config_t::rdoSkip
int32_t rdoSkip
Definition: ni_device_api_priv.h:498
_ni_instance_upload_ret_hwdesc::frame_index
int16_t frame_index
Definition: ni_device_api_priv.h:185
ni_encoder_set_vui
void ni_encoder_set_vui(uint8_t *vui, ni_encoder_config_t *p_cfg)
_ni_t408_config_t::pu04IntraDcDeltaRate
int32_t pu04IntraDcDeltaRate
Definition: ni_device_api_priv.h:468
_ni_encoder_config_t::ui8ctbRcMode
uint8_t ui8ctbRcMode
Definition: ni_device_api_priv.h:556
_ni_encoder_config_t::ui8motionConstrainedMode
uint8_t ui8motionConstrainedMode
Definition: ni_device_api_priv.h:652
_ni_metadata_enc_bstream::ui8Reserved
uint8_t ui8Reserved[2]
Definition: ni_device_api_priv.h:309
_ni_encoder_config_t::ui8videoFullRange
uint8_t ui8videoFullRange
Definition: ni_device_api_priv.h:580
ni_config_instance_hvsplus
ni_retcode_t ni_config_instance_hvsplus(ni_session_context_t *p_ctx)
Definition: ni_device_api_priv.c:16812
ni_ai_alloc_dst_frame
ni_retcode_t ni_ai_alloc_dst_frame(ni_session_context_t *p_ctx, niFrameSurface1_t *p_out_surface)
Definition: ni_device_api_priv.c:18127
_ni_t408_config_t::minQpI
int32_t minQpI
Definition: ni_device_api_priv.h:489
_ni_encoder_config_t::ui32VuiDataSizeBytes
uint32_t ui32VuiDataSizeBytes
Definition: ni_device_api_priv.h:545
_ni_t408_config_t::tmvpEnable
int32_t tmvpEnable
Definition: ni_device_api_priv.h:401
ni_decoder_output_picture_size
Definition: ni_device_api_priv.h:932
_ni_encoder_config_t::ui8enableSSIM
uint8_t ui8enableSSIM
Definition: ni_device_api_priv.h:595
_ni_instance_mgr_general_status::fw_p2p_mem_usage
uint8_t fw_p2p_mem_usage
Definition: ni_device_api_priv.h:95
_ni_decoder_config_t::ui32SourceWidth
uint32_t ui32SourceWidth
Definition: ni_device_api_priv.h:971
_ni_encoder_config_t::ui16maxFrameSize
uint16_t ui16maxFrameSize
Definition: ni_device_api_priv.h:594
_ni_encoder_config_t::ui32horOffset
uint32_t ui32horOffset
Definition: ni_device_api_priv.h:625
_ni_instance_mgr_general_status::admin_nsid
uint8_t admin_nsid
Definition: ni_device_api_priv.h:105
ni_create_frame
int ni_create_frame(ni_frame_t *p_frame, uint32_t read_length, uint64_t *frame_offset, uint32_t *frame_dropped, bool is_hw_frame)
Get info from received p_frame.
Definition: ni_device_api_priv.c:7672
_ni_t408_config_t::decoding_refresh_type
int32_t decoding_refresh_type
Definition: ni_device_api_priv.h:385
_ni_instance_mgr_stream_info::picture_width
uint16_t picture_width
Definition: ni_device_api_priv.h:124
_ni_instance_mgr_general_status::fw_load
uint8_t fw_load
Definition: ni_device_api_priv.h:97
_ni_log_fl_fw_versions::nor_flash_fl_version
uint8_t nor_flash_fl_version[NI_VERSION_CHARACTER_COUNT]
Definition: ni_device_api_priv.h:117
ni_t408_config_t
struct _ni_t408_config_t ni_t408_config_t
_ni_encoder_frame_params::video_height
uint16_t video_height
Definition: ni_device_api_priv.h:203
_ni_decoder_config_t::ui8EnablelowDelayCheck
uint8_t ui8EnablelowDelayCheck
Definition: ni_device_api_priv.h:963
ni_device_config_ns_qos
ni_retcode_t ni_device_config_ns_qos(ni_device_handle_t device_handle, uint32_t key, uint32_t value)
Send namespace num / Opmode and SRIOv index/value to the device with specified logic block address.
Definition: ni_device_api_priv.c:18881
ni_check_ratecontrol_params
ni_retcode_t ni_check_ratecontrol_params(ni_encoder_config_t *p_cfg, char *param_err, uint32_t max_err_len)
Definition: ni_device_api_priv.c:13382
_ni_encoder_config_t::ui16HDR10MaxLight
uint16_t ui16HDR10MaxLight
Definition: ni_device_api_priv.h:551
_ni_t408_config_t::slice_mode
int32_t slice_mode
Definition: ni_device_api_priv.h:501
_ni_encoder_config_t::i32frameRateDenominator
int32_t i32frameRateDenominator
Definition: ni_device_api_priv.h:571
_ni_encoder_config_t::i32picWidth
int32_t i32picWidth
Definition: ni_device_api_priv.h:518
OPT_VUI
@ OPT_VUI
Definition: ni_device_api_priv.h:1039
_ni_decoder_config_t::ui8SurviveStreamErr
uint8_t ui8SurviveStreamErr
Definition: ni_device_api_priv.h:974
_ni_encoder_config_t::i32userQpMax
int32_t i32userQpMax
Definition: ni_device_api_priv.h:524
ni_decoder_session_read
int ni_decoder_session_read(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
Retrieve a YUV p_frame from decoder.
Definition: ni_device_api_priv.c:2384
ni_decoder_output_config_t::ui8EnablePpuScaleAdapt
uint8_t ui8EnablePpuScaleAdapt
Definition: ni_device_api_priv.h:947
ni_query_eos
ni_retcode_t ni_query_eos(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_stream_complete_t *p_stream_complete)
Query a particular xcoder instance to get End of Output data.
Definition: ni_device_api_priv.c:6632
_ni_uploader_config_t::ui8poolSize
uint8_t ui8poolSize
Definition: ni_device_api_priv.h:894
ni_decoder_session_open
ni_retcode_t ni_decoder_session_open(ni_session_context_t *p_ctx)
Open a xcoder decoder instance.
Definition: ni_device_api_priv.c:1252
SESSION_WRITE_CONFIG
@ SESSION_WRITE_CONFIG
Definition: ni_device_api_priv.h:43
ni_decode_cropping_rectangle::ui16Y
uint16_t ui16Y
Definition: ni_device_api_priv.h:927
_ni_network_buffer_info::ui32RelOffset
uint32_t ui32RelOffset
Definition: ni_device_api_priv.h:1003
INST_BUF_INFO_RW_UPLOAD
@ INST_BUF_INFO_RW_UPLOAD
Definition: ni_device_api_priv.h:50
ni_set_param_option_t
ni_set_param_option_t
Definition: ni_device_api_priv.h:1034
_ni_gop_preset_idx
_ni_gop_preset_idx
Definition: ni_device_api_priv.h:323
SESSION_READ_CONFIG
@ SESSION_READ_CONFIG
Definition: ni_device_api_priv.h:42
_ni_encoder_config_t::ui16hdr10_wy
uint16_t ui16hdr10_wy
Definition: ni_device_api_priv.h:604
OPT_SEI
@ OPT_SEI
Definition: ni_device_api_priv.h:1038
_ni_encoder_config_t::i16ctbRowQpStep
int16_t i16ctbRowQpStep
Definition: ni_device_api_priv.h:616
ni_hwdownload_session_read
int ni_hwdownload_session_read(ni_session_context_t *p_ctx, ni_frame_t *p_frame, niFrameSurface1_t *hwdesc)
Retrieve a YUV p_frame from decoder.
Definition: ni_device_api_priv.c:15613
_ni_t408_config_t::nrNoiseSigmaCr
uint32_t nrNoiseSigmaCr
Definition: ni_device_api_priv.h:446
_ni_encoder_config_t::ui8baseLayerOnly
uint8_t ui8baseLayerOnly
Definition: ni_device_api_priv.h:666
GOP_PRESET_IDX_ALL_I
@ GOP_PRESET_IDX_ALL_I
Definition: ni_device_api_priv.h:329
_ni_encoder_config_t::ui8adaptiveLamdaMode
uint8_t ui8adaptiveLamdaMode
Definition: ni_device_api_priv.h:672
_ni_ai_config_t::ui32NetworkBinarySize
uint32_t ui32NetworkBinarySize
Definition: ni_device_api_priv.h:979
_ni_t408_config_t::independSliceMode
int32_t independSliceMode
Definition: ni_device_api_priv.h:392
_ni_instance_mgr_general_status::active_sub_instances_cnt
uint8_t active_sub_instances_cnt
Definition: ni_device_api_priv.h:81
_ni_metadata_enc_bstream::av1_show_frame
uint32_t av1_show_frame
Definition: ni_device_api_priv.h:283
_ni_metadata_enc_bstream::reconChromaWidth
uint16_t reconChromaWidth
Definition: ni_device_api_priv.h:303
_ni_encoder_config_t::ui8colorDescPresent
uint8_t ui8colorDescPresent
Definition: ni_device_api_priv.h:562
_ni_metadata_enc_frame::frame_roi_avg_qp
uint32_t frame_roi_avg_qp
Definition: ni_device_api_priv.h:244
INST_BUF_INFO_RW_WRITE
@ INST_BUF_INFO_RW_WRITE
Definition: ni_device_api_priv.h:49
STD_H263
@ STD_H263
Definition: ni_device_api_priv.h:360
_ni_session_stats::ui16ErrorCount
uint16_t ui16ErrorCount
Definition: ni_device_api_priv.h:139
ni_encoder_cu_info::cuLocationX
uint8_t cuLocationX
Definition: ni_device_api_priv.h:867
_ni_decoder_config_t::ui8UduSeiEnabled
uint8_t ui8UduSeiEnabled
Definition: ni_device_api_priv.h:957
_ni_t408_config_t::independSliceModeArg
int32_t independSliceModeArg
Definition: ni_device_api_priv.h:393
_ni_network_buffer_info::ui16FrameScale
uint16_t ui16FrameScale
Definition: ni_device_api_priv.h:990
_ni_t408_config_t::pu32DeltaRate
int32_t pu32DeltaRate
Definition: ni_device_api_priv.h:466
_ni_instance_mgr_allocation_info::orientation
uint8_t orientation
Definition: ni_device_api_priv.h:171
_ni_encoder_config_t::hdrEnableVUI
uint32_t hdrEnableVUI
Definition: ni_device_api_priv.h:543
_ni_encoder_config_t::ui16iFrameSizeRatio
uint16_t ui16iFrameSizeRatio
Definition: ni_device_api_priv.h:611
_ni_t408_config_t::intra_mb_refresh_arg
int32_t intra_mb_refresh_arg
Definition: ni_device_api_priv.h:504
_ni_instance_mgr_general_status::active_hwupload_sub_inst_cnt
uint8_t active_hwupload_sub_inst_cnt
Definition: ni_device_api_priv.h:96
ni_populate_device_capability_struct
void ni_populate_device_capability_struct(ni_device_capability_t *p_cap, void *p_data, ni_device_handle_t device_handle, bool device_in_ctxt)
Get info from received xcoder capability.
Definition: ni_device_api_priv.c:8128
_ni_encoder_config_t::ui8EnableAcqLimit
uint8_t ui8EnableAcqLimit
Definition: ni_device_api_priv.h:650
_ni_metadata_enc_bstream::cuInfoTableSize
uint16_t cuInfoTableSize
Definition: ni_device_api_priv.h:314
_ni_t408_config_t::nrInterWeightCr
uint32_t nrInterWeightCr
Definition: ni_device_api_priv.h:441
_ni_metadata_enc_bstream::reconChromaSize
uint32_t reconChromaSize
Definition: ni_device_api_priv.h:301
_ni_encoder_config_t::ui8noMbtree
uint8_t ui8noMbtree
Definition: ni_device_api_priv.h:631
ni_ai_session_open
ni_retcode_t ni_ai_session_open(ni_session_context_t *p_ctx)
Definition: ni_device_api_priv.c:17693
_ni_metadata_dec_frame::hwdesc
niFrameSurface1_t hwdesc
Definition: ni_device_api_priv.h:237
_ni_t408_config_t::chromaCbQpOffset
int32_t chromaCbQpOffset
Definition: ni_device_api_priv.h:426
_ni_metadata_enc_bstream::frame_type
uint32_t frame_type
Definition: ni_device_api_priv.h:278
STD_JPEG
@ STD_JPEG
Definition: ni_device_api_priv.h:372
_ni_encoder_config_t::ui32VuiDataSizeBits
uint32_t ui32VuiDataSizeBits
Definition: ni_device_api_priv.h:544
_ni_encoder_config_t::ui8inLoopDSRatio
uint8_t ui8inLoopDSRatio
Definition: ni_device_api_priv.h:588
_ni_metadata_dec_frame::sei_size
uint16_t sei_size
Definition: ni_device_api_priv.h:236
_ni_metadata_enc_frame::force_pic_qp_enable
uint16_t force_pic_qp_enable
Definition: ni_device_api_priv.h:250
ni_uploader_config_t
struct _ni_uploader_config_t ni_uploader_config_t
_ni_t408_config_t::pu04IntraAngleDeltaRate
int32_t pu04IntraAngleDeltaRate
Definition: ni_device_api_priv.h:469
_ni_decoder_config_t::ui8EnableAdvancedEc
uint8_t ui8EnableAdvancedEc
Definition: ni_device_api_priv.h:968
STD_HEVC
@ STD_HEVC
Definition: ni_device_api_priv.h:367
_ni_metadata_dec_frame::first_sei_header
ni_sei_header_t first_sei_header
Definition: ni_device_api_priv.h:233
STD_AVC
@ STD_AVC
Definition: ni_device_api_priv.h:356
ni_encoder_metadata_buffer_alloc
ni_retcode_t ni_encoder_metadata_buffer_alloc(ni_frame_t *p_frame, int extra_len)
Allocate memory for the metadata header and auxillary data for encoder input data.
Definition: ni_device_api_priv.c:18667
_ni_sei_header
Definition: ni_device_api.h:357
_ni_metadata_enc_bstream::ui8SceneChange
uint8_t ui8SceneChange
Definition: ni_device_api_priv.h:307
_ni_custom_gop_params
Definition: ni_device_api.h:2103
ni_decoder_session_flush
ni_retcode_t ni_decoder_session_flush(ni_session_context_t *p_ctx)
Flush decoder output.
Definition: ni_device_api_priv.c:1660
_ni_global_session_stats
Definition: ni_device_api_priv.h:149
_ni_encoder_config_t::ui8noHWMultiPassSupport
uint8_t ui8noHWMultiPassSupport
Definition: ni_device_api_priv.h:632
_ni_t408_config_t::pu08IntraAngleDeltaRate
int32_t pu08IntraAngleDeltaRate
Definition: ni_device_api_priv.h:472
_ni_encoder_config_t::ui8spatialLayersMinusOne
uint8_t ui8spatialLayersMinusOne
Definition: ni_device_api_priv.h:658
ni_bitstream_format_t
ni_bitstream_format_t
Definition: ni_device_api_priv.h:354
_ni_encoder_frame_params::video_width
uint16_t video_width
Definition: ni_device_api_priv.h:202
ni_config_instance_set_decoder_ppu_params
ni_retcode_t ni_config_instance_set_decoder_ppu_params(ni_session_context_t *p_ctx, void *p_dec_ppu_config, int buffer_size)
Send a p_config command to configure decoding parameters.
Definition: ni_device_api_priv.c:16240
_ni_encoder_config_t::ui8EnableAUD
uint8_t ui8EnableAUD
Definition: ni_device_api_priv.h:547
INST_BUF_INFO_RW_READ_BY_AI
@ INST_BUF_INFO_RW_READ_BY_AI
Definition: ni_device_api_priv.h:55
ni_global_session_stats_t
struct _ni_global_session_stats ni_global_session_stats_t
ni_scaler_config_t
struct _ni_scaler_config ni_scaler_config_t
_ni_session_stats::ui32LastErrorStatus
uint32_t ui32LastErrorStatus
Definition: ni_device_api_priv.h:143
ni_set_custom_dec_template
void ni_set_custom_dec_template(ni_session_context_t *p_ctx, ni_decoder_config_t *p_cfg, ni_xcoder_params_t *p_src, uint32_t max_pkt_size)
Setup all xcoder configurations with custom parameters (Rev. B)
Definition: ni_device_api_priv.c:8472
_ni_t408_config_t::pu08DeltaRate
int32_t pu08DeltaRate
Definition: ni_device_api_priv.h:464
_ni_encoder_frame_params
Definition: ni_device_api_priv.h:197
_ni_encoder_config_t::i32forceBframeQpFactor
int32_t i32forceBframeQpFactor
Definition: ni_device_api_priv.h:648
ni_segment_t
struct _ni_segment ni_segment_t
ni_scaler_multi_config_frame
ni_retcode_t ni_scaler_multi_config_frame(ni_session_context_t *p_ctx, ni_frame_config_t p_cfg_in[], int numInCfgs, ni_frame_config_t *p_cfg_out)
config multi frames in the scaler
Definition: ni_device_api_priv.c:6093
_ni_encoder_config_t::ui8NewRCEnable
uint8_t ui8NewRCEnable
Definition: ni_device_api_priv.h:617
ni_encoder_session_sequence_change
ni_retcode_t ni_encoder_session_sequence_change(ni_session_context_t *p_ctx, ni_resolution_t *p_resoluion)
Send sequnce change to a xcoder encoder instance.
Definition: ni_device_api_priv.c:5199