AJA NTV2 SDK  18.0.0.2122
NTV2 SDK 18.0.0.2122
ntv2m31publicinterface.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2M31PUBLICINTERFACE_H
9 #define NTV2M31PUBLICINTERFACE_H
10 #include "ajatypes.h"
11 
12 #if !defined(NTV2_DEPRECATE_17_6) // Corvid HEVC support removed in SDK 17.6
13 
14 #include "ntv2m31enums.h"
15 
16 #define CPARAM_REG_START 0x20000000
17 
18 // Common param register index (to get actual register location we multiply index by 4 then add CPARAM_REG_START)
19 
20 typedef enum
21 {
22  kRegCParamCC, // 0x20000000
23  kRegCParamReserved0, // 0x20000004
24  kRegCParamStillColor, // 0x20000008
25  kRegCParamScBuf, // 0x2000000C
26 
27  kRegCParamResoType7_0, // 0x20000010
28  kRegCParamResoType15_8, // 0x20000014
29  kRegCParamResoType23_16, // 0x20000018
31 
33 
34 
35 typedef enum
36 {
37  kRegMaskCParamCC = 0xFFFF,
38 
39  // kRegCParamStillColor
40  kRegMaskCParamStillColorY = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
41  kRegMaskCParamStillColorCb = BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
42  kRegMaskCParamStillColorCr = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
43 
44  // kRegCParamScBuf
46  kRegMaskCParamScBuf = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
47 
48  // kRegCParamResoType7_0
49  kRegMaskCParamResoType7 = BIT(28)+BIT(29)+BIT(30)+BIT(31),
50  kRegMaskCParamResoType6 = BIT(24)+BIT(25)+BIT(26)+BIT(27),
51  kRegMaskCParamResoType5 = BIT(20)+BIT(21)+BIT(22)+BIT(23),
52  kRegMaskCParamResoType4 = BIT(16)+BIT(17)+BIT(18)+BIT(19),
53  kRegMaskCParamResoType3 = BIT(12)+BIT(13)+BIT(15)+BIT(15),
57 
59 
60 
61 typedef enum
62 {
64 
65  // kRegCParamStillColor
69 
70  // kRegCParamScBuf
73 
74  // kRegCParamResoType7_0
83 
85 
86 
87 #define VIPARAM_REG_START 0x20000020
88 #define VIPARAM_CH_SIZE 0x30
89 
90 // VI param register index (to get actual register location we multiply index by 4 then add VIPARAM_REG_START)
91 
92 typedef enum
93 {
94  kRegVI0ParamCC, // 0x20000020
95  kRegVI1ParamCC, // 0x20000024
96  kRegVI2ParamCC, // 0x20000028
97  kRegVI3ParamCC, // 0x2000002C
98 
99  // Channel 0
100  kRegVI0Param, // 0x20000030
101  kRegVI0ParamStartLine, // 0x20000034
102  kRegVI0ParamMaxCount, // 0x20000038
105  kRegVI0ParamValidVCount, // 0x20000044
106  kRegVI0ParamReserved0, // 0x20000048
107  kRegVI0ParamReserved1, // 0x2000004C
108  kRegVI0ParamReserved2, // 0x20000050
109  kRegVI0ParamReserved3, // 0x20000054
110  kRegVI0ParamMisc, // 0x20000058
111  kRegVI0ParamReserved4, // 0x2000005C
112 
113  // Channel 1
114  kRegVI1Param, // 0x20000060
115  kRegVI1ParamStartLine, // 0x20000064
116  kRegVI1ParamMaxCount, // 0x20000068
119  kRegVI1ParamValidVCount, // 0x20000074
120  kRegVI1ParamReserved0, // 0x20000078
121  kRegVI1ParamReserved1, // 0x2000007C
122  kRegVI1ParamReserved2, // 0x20000080
123  kRegVI1ParamReserved3, // 0x20000084
124  kRegVI1ParamMisc, // 0x20000088
125  kRegVI1ParamReserved4, // 0x2000008C
126 
127  // Channel 2
128  kRegVI2Param, // 0x20000090
129  kRegVI2ParamStartLine, // 0x20000094
130  kRegVI2ParamMaxCount, // 0x20000098
133  kRegVI2ParamValidVCount, // 0x200000A4
134  kRegVI2ParamReserved0, // 0x200000A8
135  kRegVI2ParamReserved1, // 0x200000AC
136  kRegVI2ParamReserved2, // 0x200000B0
137  kRegVI2ParamReserved3, // 0x200000B4
138  kRegVI2ParamMisc, // 0x200000B8
139  kRegVI2ParamReserved4, // 0x200000BC
140 
141  // Channel 3
142  kRegVI3Param, // 0x200000C0
143  kRegVI3ParamStartLine, // 0x200000C4
144  kRegVI3ParamMaxCount, // 0x200000C8
147  kRegVI3ParamValidVCount, // 0x200000D4
148  kRegVI3ParamReserved0, // 0x200000D8
149  kRegVI3ParamReserved1, // 0x200000DC
150  kRegVI3ParamReserved2, // 0x200000E0
151  kRegVI3ParamReserved3, // 0x200000E4
152  kRegVI3ParamMisc, // 0x200000E8
153  kRegVI3ParamReserved4, // 0x200000EC
154 
155  // Extras at the end don't belong to a channel
156  kRegVIParamReserved0, // 0x200000F0
157  kRegVIParamReserved1, // 0x200000F4
158  kRegVIParamReserved2, // 0x200000F8
159  kRegVIParamReserved3 // 0x200000FC
160 
162 
163 
164 typedef enum
165 {
167 
168  // kRegVI0Param
169  kRegMaskVIParamYCMux = BIT(28)+BIT(29)+BIT(30)+BIT(31),
170  kRegMaskVIParamYCSwap = BIT(24)+BIT(25)+BIT(26)+BIT(27),
175  kRegMaskVIParamFormat = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
176 
177  // kRegVI0ParamStartLine
178  kRegMaskVIParamPrivate05 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
179  kRegMaskVIParamPrivate06 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
180 
181  // kRegVI0ParamMaxCount
182  kRegMaskVIParamPrivate07 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
183  kRegMaskVIParamPrivate08 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
184 
185  // kRegVI1ParamValidPosLine
186  kRegMaskVIParamPrivate09 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
187  kRegMaskVIParamPrivate10 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
188 
189  // kRegVI0ParamValidLineCount
190  kRegMaskVIParamPrivate11 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
191  kRegMaskVIParamPrivate12 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
192 
193  // kRegVI0ParamValidVCount
194  kRegMaskVIParamPrivate13 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
195 
196  // kRegVI0ParamMisc
201 
203 
204 
205 typedef enum
206 {
208 
209  // kRegVI0Param
217 
218  // kRegVI0ParamStartLine
221 
222  // kRegVI0ParamMaxCount
225 
226  // kRegVI1ParamValidPosLine
229 
230  // kRegVI0ParamValidLineCount
233 
234  // kRegVI0ParamValidVCount
236 
237  // kRegVI0ParamMisc
242 
244 
245 
246 #define VINPARAM_REG_START 0x20000100
247 #define VINPARAM_CH_SIZE 0x20
248 
249 // VIn param register index (to get actual register location we multiply index by 4 then add VINPARAM_REG_START)
250 
251 // Note: Each encoder channel has the following VIn registers. This register map will be repeated for each of the 32 virtual
252 // channels. The current firmware supports four physical encoder channels.
253 
254 typedef enum
255 {
256  kRegVINParamCC, // 0x20000100
257  kRegVINParamSource, // 0x20000104
258  kRegVINParamOut, // 0x20000108
259  kRegVINParamSize, // 0x2000010C
260 
262  kRegVINParamInitialPTS, // 0x20000114
264  kRegVINParamReserved1 // 0x2000011C
265 
267 
268 
269 typedef enum
270 {
272 
273  // kRegVINParamSource
274  kRegMaskVINParamSource = BIT(28)+BIT(29)+BIT(30)+BIT(31),
275  kRegMaskVINParamSourceId = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
278 
279  // kRegVINParamOut
280  kRegMaskVInParamFrameRate = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
282 
283  // kRegVINParamSize
284  kRegMaskVINParamHSize = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
285  kRegMaskVINParamVSize = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
286 
287  // kRegVINParamPTSModeInitialMSB
288  kRegMaskVINParamPTSMode = BIT(28)+BIT(29)+BIT(30)+BIT(31),
290 
293 
295 
296 
297 typedef enum
298 {
300 
301  // kRegVINParamSource
306 
307  // kRegVINParamOut
310 
311  // kRegVINParamSize
314 
315  // kRegVINParamPTSModeInitialMSB
318 
321 
323 
324 
325 #define VAPARAM_REG_START 0x20000800
326 #define VAPARAM_CH_SIZE 0x30
327 
328 // VA param register index (to get actual register location we multiply index by 4 then add VAPARAM_REG_START)
329 
330 // Note: Each encoder channel has the following VA registers. This register map will be repeated for each of the 32 virtual
331 // channels. The current firmware supports four physical encoder channels.
332 
333 typedef enum
334 {
335  kRegVAParamCC, // 0x20000800
336  kRegVAParamSource, // 0x20000804
337  kRegVAParamRateFormat, // 0x20000808
338  kRegVAParamSizeVA, // 0x2000080C
339  kRegVAParamSizeEH, // 0x20000810
340 
341  kRegVAParamCoef1_0, // 0x20000814
342  kRegVAParamCoef3_2, // 0x20000818
343  kRegVAParamCoef5_4, // 0x2000081C
344  kRegVAParamCoef7_6, // 0x20000820
345 
346  kRegVAParamStartOffset, // 0x20000824
347  kRegVAParamSceneChange, // 0x20000828
348  kRegVAParamReserved2 // 0x2000082C
349 
351 
352 
353 typedef enum
354 {
356 
357  // kRegVAParamSource
358  kRegMaskVAParamSource = BIT(28)+BIT(29)+BIT(30)+BIT(31),
359  kRegMaskVAParamSourceId = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
360  kRegMaskVAInterlace = BIT(8)+ BIT(9)+BIT(10)+BIT(11),
363 
364  // kRegVAParamRateFormat
365  kRegMaskVAParamFrameRate = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
368 
369  // kRegVAParamSizeVA
370  kRegMaskVAParamHSizeVA = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
371  kRegMaskVAParamVSizeVA = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
372 
373  // kRegVAParamSizeEH
374  kRegMaskVAParamHSizeEH = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
375  kRegMaskVAParamVSizeEH = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
376 
377  // kRegVAParamCoef1_0
378  kRegMaskVAParamCoef1 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
379  kRegMaskVAParamCoef0 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
380 
381  // kRegVAParamCoef3_2
382  kRegMaskVAParamCoef3 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
383  kRegMaskVAParamCoef2 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
384 
385  // kRegVAParamCoef5_4
386  kRegMaskVAParamCoef5 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
387  kRegMaskVAParamCoef4 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
388 
389  // kRegVAParamCoef7_6
390  kRegMaskVAParamCoef7 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
391  kRegMaskVAParamCoef6 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
392 
393  // kRegVAParamStartOffset
394  kRegMaskVAParamPrivate01 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
395  kRegMaskVAParamPrivate02 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
396 
397  // kRegVAParamSceneChange
399 
401 
402 
403 typedef enum
404 {
406 
407  // kRegVAParamSource
413 
414  // kRegVAParamRateFormat
418 
419  // kRegVAParamSizeVA
422 
423  // kRegVAParamSizeEH
426 
427  // kRegVAParamCoef1_0
430 
431  // kRegVAParamCoef3_2
434 
435  // kRegVAParamCoef5_4
438 
439  // kRegVAParamCoef7_6
442 
443  // kRegVAParamStartOffset
446 
447  // kRegVAParamSceneChange
449 
451 
452 
453 #define EHPARAM_REG_START 0x20001000
454 #define EHPARAM_CH_SIZE 0x100
455 
456 // VA param register index (to get actual register location we multiply index by 4 then add VAPARAM_REG_START)
457 
458 // Note: Each encoder channel has the following VA registers. This register map will be repeated for each of the 32 virtual
459 // channels. The current firmware supports four physical encoder channels.
460 
461 typedef enum
462 {
463  kRegEHParamCC, // 0x20001000
464  kRegEHParamSource, // 0x20001004
465  kRegEHParamSizeVA, // 0x20001008
466  kRegEHParamSizeEH, // 0x2000100C
467 
468  kRegEHParamProfile, // 0x20001010
469  kRegEHParamAspectRatio, // 0x20001014
470  kRegEHParamSAR, // 0x20001018
471 
472  kRegEHParamSlice, // 0x2000101C
473  kRegEHParamGop1, // 0x20001020
474  kRegEHParamGop2, // 0x20001024
475  kRegEHParamRCMode, // 0x20001028
476 
477  kRegEHParamBitRate, // 0x2000102C
482 
484  kRegEHParamTimeScale, // 0x20001044
486  kRegEHParamCPBDelay, // 0x2000104C
487  kRegEHParamReserved1, // 0x20001050
488  kRegEHParamReserved2, // 0x20001054
489 
490  kRegEHParamCUTUSize, // 0x20001058
491  kRegEHParamTUDepth, // 0x2000105C
492  kRegEHParamTSkip, // 0x20001060
493  kRegEHParamAMP_WP, // 0x20001064
494  kRegEHParamReserved3, // 0x20001068
495 
496  kRegEHParamPCM, // 0x2000106C
497  kRegEHParamSAO, // 0x20001070
498  kRegEHParamDF, // 0x20001074
499  kRegEHParamRDOQ, // 0x20001078
500  kRegEHParamPPS, // 0x2000107C
501  kRegEHParamBufCtrl, // 0x20001080
502 
503  kRegEHParamOverscan, // 0x20001084
504  kRegEHParamVideo, // 0x20001088
505  kRegEHParamMatrixCoef, // 0x2000108C
506 
507  kRegEHParamCropLR, // 0x20001090
508  kRegEHParamCropTB, // 0x20001094
509  kRegEHParamGDR, // 0x20001098
510  kRegEHParamRecovery, // 0x2000109C
511 
512  kRegEHParamPanScanLR, // 0x200010A0
513  kRegEHParamPanScanTB, // 0x200010A4
514  kRegEHParamHash, // 0x200010A8
515 
516  kRegEHParamReserved4, // 0x200010AC
517  kRegEHParamReserved5, // 0x200010B0
518  kRegEHParamReserved6, // 0x200010B4
519  kRegEHParamReserved7, // 0x200010B8
520  kRegEHParamReserved8, // 0x200010BC
521  kRegEHParamReserved9, // 0x200010C0
522  kRegEHParamReserved10, // 0x200010C4
523  kRegEHParamReserved11, // 0x200010C8
524  kRegEHParamReserved12, // 0x200010CC
525  kRegEHParamReserved13, // 0x200010D0
526  kRegEHParamReserved14, // 0x200010D4
527  kRegEHParamReserved15, // 0x200010D8
528  kRegEHParamReserved16, // 0x200010DC
529  kRegEHParamReserved17, // 0x200010E0
530  kRegEHParamReserved18, // 0x200010E4
531  kRegEHParamReserved19, // 0x200010E8
532  kRegEHParamReserved20, // 0x200010EC
533  kRegEHParamReserved21, // 0x200010F0
534  kRegEHParamReserved22, // 0x200010F4
535  kRegEHParamReserved23, // 0x200010F8
536  kRegEHParamReserved24 // 0x200010FC
537 
539 
540 
541 typedef enum
542 {
544 
545  // kRegEHParamSource
546  kRegMaskEHParamSource = BIT(28)+BIT(29)+BIT(30)+BIT(31),
547  kRegMaskEHParamSourceId = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
552 
553  // kRegEHParamSizeVA
554  kRegMaskEHParamHSizeVA = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
555  kRegMaskEHParamVSizeVA = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
556 
557  // kRegEHParamSizeEH
558  kRegMaskEHParamHSizeEH = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
559  kRegMaskEHParamVSizeEH = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
560 
561  //kRegEHParamProfile
562  kRegMaskEHParamProfile = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
563  kRegMaskEHParamLevel = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
564  kRegMaskEHParamTier = BIT(12)+BIT(13)+BIT(14)+BIT(15),
565 
566  //kRegEHParamAspectRatio
567  kRegMaskEHParamAspectRatio = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
568 
569  //kRegEHParamSAR
570  kRegMaskEHParamSARWidth = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
571  kRegMaskEHParamSARHeight = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
572 
573  //kRegEHParamSlice
576  kRegMaskEHParamPrivate03 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
577  kRegMaskEHParamPrivate04 = BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
578  kRegMaskEHParamPrivate05 = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
579 
580  //kRegEHParamGop1
581  kRegMaskEHParamFrameNumInGOP = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
586 
587  //kRegEHParamGop2
588  kRegMaskEHParamPASL0B = BIT(28)+BIT(29)+BIT(30)+BIT(31),
589  kRegMaskEHParamIpPeriod = BIT(24)+BIT(25)+BIT(26)+BIT(27),
592  kRegMaskEHParamIDRInterval = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
593 
594  //kRegEHParamRCMode
595  kRegMaskEHParamRCMode = BIT(28)+BIT(29)+BIT(30)+BIT(31),
597  kRegMaskEHParamPrivate08 = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
599 
609 
610  //kRegEHParamCUTUSize
611  kRegMaskEHParamPrivate11 = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
612  kRegMaskEHParamMinCUSize = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23),
613  kRegMaskEHParamMaxTUSize = BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
614  kRegMaskEHParamMinTUSize = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
615 
616  //kRegEHParamTUDepth
617  kRegMaskEHParamTUDepthIntra = BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
618  kRegMaskEHParamTUDepthInter = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
619 
620  //kRegEHParamTSkip
626 
627  //kRegEHParamAMP_WP
630 
631  //kRegEHParamPCM
633  kRegMaskEHParamPrivate18 = BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27),
634  kRegMaskEHParamPrivate19 = BIT(12)+BIT(13)+BIT(14)+BIT(15)+BIT(16)+BIT(17)+BIT(18)+BIT(19),
638 
639  //kRegEHParamSAO
642 
643  //kRegEHParamDF
644  kRegMaskEHParamDF = BIT(28)+BIT(29)+BIT(30)+BIT(31),
645 
646  //kRegEHParamRDOQ
648 
649  //kRegEHParamPPS
651  kRegMaskEHParamEOS = BIT(12)+BIT(13)+BIT(14)+BIT(15),
654 
655  //kRegEHParamBufCtrl
656  kRegMaskEHParamBufCtrl = BIT(28)+BIT(29)+BIT(30)+BIT(31),
657  kRegMaskEHParamVCLHRD = BIT(24)+BIT(25)+BIT(26)+BIT(27),
660 
661  //kRegEHParamOverscan
664 
665  //kRegEHParamVideo
670  kRegMaskEHParamColourPrimaries = BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
671  kRegMaskEHParamTransferChar = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7),
672 
673  //kRegEHParamMatrixCoef
674  kRegMaskEHParamMatrixCoef = BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
678 
679  //kRegEHParamCropLR
680  kRegMaskEHParamCropLeft = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
681  kRegMaskEHParamCropRight = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
682 
683  //kRegEHParamCropTB
684  kRegMaskEHParamCropTop = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
685  kRegMaskEHParamCropBottom = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
686 
687  //kRegEHParamGDR
690 
691  //kRegEHParamRecovery
697 
698  //kRegEHParamPanScanLR
699  kRegMaskEHParamScanLeft = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
700  kRegMaskEHParamScanRight = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
701 
702  //kRegEHParamPanScanTB
703  kRegMaskEHParamScanTop = BIT(16)+BIT(17)+BIT(18)+BIT(19)+BIT(20)+BIT(21)+BIT(22)+BIT(23)+BIT(24)+BIT(25)+BIT(26)+BIT(27)+BIT(28)+BIT(29)+BIT(30)+BIT(31),
704  kRegMaskEHParamScanBottom = BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7)+BIT(8)+BIT(9)+BIT(10)+BIT(11)+BIT(12)+BIT(13)+BIT(14)+BIT(15),
705 
706  //kRegEHParamHash
708 
710 
711 
712 typedef enum
713 {
715 
716  // kRegEHParamSource
723 
724  // kRegEHParamSizeVA
727 
728  // kRegEHParamSizeEH
731 
732  //kRegEHParamProfile
736 
737  //kRegEHParamAspectRatio
739 
740  //kRegEHParamSAR
743 
744  //kRegEHParamSlice
750 
751  //kRegEHParamGop1
757 
758  //kRegEHParamGop2
764 
765  //kRegEHParamRCMode
770 
780 
781  //kRegEHParamCUTUSize
786 
787  //kRegEHParamTUDepth
790 
791  //kRegEHParamTSkip
797 
798  //kRegEHParamAMP_WP
801 
802  //kRegEHParamPCM
809 
810  //kRegEHParamSAO
813 
814  //kRegEHParamDF
816 
817  //kRegEHParamRDOQ
819 
820  //kRegEHParamPPS
825 
826  //kRegEHParamBufCtrl
831 
832  //kRegEHParamOverscan
835 
836  //kRegEHParamVideo
843 
844  //kRegEHParamMatrixCoef
849 
850  //kRegEHParamCropLR
853 
854  //kRegEHParamCropTB
857 
858  //kRegEHParamGDR
861 
862  //kRegEHParamRecovery
868 
869  //kRegEHParamPanScanLR
872 
873  //kRegEHParamPanScanTB
876 
877  //kRegEHParamHash
879 
880 
882 
883 #endif//defined(NTV2_DEPRECATE_17_6)
884 
885 #endif // NTV2M31PUBLICINTERFACE_H
#define BIT(_x_)
Definition: ajatypes.h:578
CParamRegisterIndex
VINParamRegisterIndex
VAParamRegisterShift
VINParamRegisterShift
EHParamRegisterIndex
EHParamRegisterShift
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
CParamRegisterShift
VINParamRegisterMask
VIParamRegisterShift
VAParamRegisterIndex
CParamRegisterMask
VIParamRegisterIndex