File: VME_IME.md

package info (click to toggle)
intel-graphics-compiler 1.0.12504.6-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 83,912 kB
  • sloc: cpp: 910,147; lisp: 202,655; ansic: 15,197; python: 4,025; yacc: 2,241; lex: 1,570; pascal: 244; sh: 104; makefile: 25
file content (82 lines) | stat: -rw-r--r-- 3,001 bytes parent folder | download
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
<!---======================= begin_copyright_notice ============================

Copyright (C) 2020-2021 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