File: VME_IME.md

package info (click to toggle)
intel-graphics-compiler 1.0.17791.18-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 102,312 kB
  • sloc: cpp: 935,343; lisp: 286,143; ansic: 16,196; python: 3,279; yacc: 2,487; lex: 1,642; pascal: 300; sh: 174; makefile: 27
file content (97 lines) | stat: -rw-r--r-- 3,009 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!---======================= begin_copyright_notice ============================

Copyright (C) 2020-2022 Intel Corporation

SPDX-License-Identifier: MIT

============================= end_copyright_notice ==========================-->

## Opcode

  VME_IME = 0x54

## Format

| | | | | | | |
| --- | --- | --- | --- | --- | --- | --- |
| 0x54(VME_IME) | StreamMode | SearchCtrl | UNIInput | IMEInput | Surface | Ref0 |
|               | Ref1       | CostCenter | Output   |          |         |      |


## Semantics


```

      Video Motion Estimation - integer motion estimation
```

## Description






    Performs Integer Motion Estimation. See [4] for more detailed information on the VME functionality. This instruction may not appear inside a SIMD control flow block.


- **StreamMode(ub):** VME stream mode. Valid values are:

  - 0: VME_STREAM_DISABLE
  - 1: VME_STREAM_OUT
  - 2: VME_STREAM_IN
  - 3: VME_STREAM_IN_OUT

- **SearchCtrl(ub):** VME search control state. Valid values are:

  - 0: VME_SEARCH_SINGLE_REF_SINGLE_REC_SINGLE_START
  - 1: VME_SEARCH_SINGLE_REF_SINGLE_REC_DUAL_START
  - 2: VME_SEARCH_SINGLE_REF_DUAL_REC
  - 3: VME_SEARCH_DUAL_REF_DUAL_REC

- **UNIInput(raw_operand):** The raw operand of a general variable that stores the universal VME payload data. Must have type UB. Must have 128 elements


- **IMEInput(raw_operand):** The raw operand of a general variable that stores the IME payload data. Must have type UB. Number of elements is:

      - 128 (field_value(StreamMode)!=0) and (field_value(SearchCtrl)!=3)
      - 64 field_value(StreamMode)==0
      - 192 (field_value(StreamMode)!=0) and (field_value(SearchCtrl)==3)

- **Surface(ub):** The index of the surface variable


- **Ref0(raw_operand):** The raw operand of a general variable containing the position of the left-top integer corner of the first reference window located in the first reference surface (in unit of pixels, relative to the surface origin). Must have type UW. Must have 2 elements


- **Ref1(raw_operand):** The raw operand of a general variable containing the position of the left-top integer corner of the second reference window located in the second reference surface (in unit of pixels, relative to the surface origin; ignored in single reference mode). Must have type UW. Must have 2 elements


- **CostCenter(raw_operand):** The raw operand of a general variable containing the coordinates for the cost centers relative to the picture source MB. Must have type UW. Must have 16 elements


- **Output(raw_operand):** The raw operand of a general variable used to store the VME output data. Must have type UB. Number of elements is:

      - 288 (field_value(StreamMode)!=0) and (field_value(SearchCtrl)!=3)
      - 224 field_value(StreamMode)==0
      - 352 (field_value(StreamMode)!=0) and (field_value(SearchCtrl)==3)

#### Properties




## Text
```



    VME_IME (<streamMode>, <searchCtrl>) <surface> <UNIInput> <IMEInput> <ref0> <ref1> <costCenter> <output>
```
## Notes