1mlib_VideoH263OverlappedMC_mUe8d_iUa8L(i3bMLLIiBb)ramrlyibF_uVnicdteiooHn2s63OverlappedMC_U8_U8(3MLIB)
2
3
4

NAME

6       mlib_VideoH263OverlappedMC_U8_U8  - generates the 8x8 luminance predic‐
7       tion block in the Advanced Prediction Mode for H.263 codec
8

SYNOPSIS

10       cc [ flag... ] file... -lmlib [ library... ]
11       #include <mlib.h>
12
13       mlib_status mlib_VideoH263OverlappedMC_U8_U8(mlib_u8 *curr_block,
14            const mlib_u8 *ref_frame, mlib_s32 mch, mlib_s32 mcv, mlib_s32 mah,
15            mlib_s32 mav, mlib_s32 mbh, mlib_s32 mbv, mlib_s32 mlh, mlib_s32 mlv,
16            mlib_s32 mrh, mlib_s32 mrv, mlib_s32 curr_stride,
17            mlib_s32 ref_stride);
18
19

DESCRIPTION

21       The mlib_VideoH263OverlappedMC_U8_U8() function generates an 8x8  lumi‐
22       nance  prediction block (motion-compensated block) in the Advanced Pre‐
23       diction Mode for H.263 codec. The reference frame in this  function  is
24       an interpolated frame.
25
26
27       The following equation is used:
28
29
30       for x = 0, 1, 2, 3; y = 0, 1, 2, 3
31
32             curr(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) +
33                           ref(2x + mah, 2y + mav)*H1(x, y) +
34                           ref(2x + mlh, 2y + mlv)*H2(x, y)) / 8;
35
36
37
38       for x = 4, 5, 6, 7; y = 0, 1, 2, 3
39
40             curr(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) +
41                           ref(2x + mah, 2y + mav)*H1(x, y) +
42                           ref(2x + mrh, 2y + mrv)*H2(x, y)) / 8;
43
44
45
46       for x = 0, 1, 2, 3; y = 4, 5, 6, 7
47
48             curr(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) +
49                           ref(2x + mbh, 2y + mbv)*H1(x, y) +
50                           ref(2x + mlh, 2y + mlv)*H2(x, y)) / 8;
51
52
53
54       for x = 4, 5, 6, 7; y = 4, 5, 6, 7
55
56             curr(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) +
57                           ref(2x + mbh, 2y + mbv)*H1(x, y) +
58                           ref(2x + mrh, 2y + mrv)*H2(x, y)) / 8;
59
60
61
62       where
63
64              [ 4 5 5 5 5 5 5 4 ]
65              | 5 5 5 5 5 5 5 5 |
66              | 5 5 6 6 6 6 5 5 |
67         H0 = | 5 5 6 6 6 6 5 5 |
68              | 5 5 6 6 6 6 5 5 |
69              | 5 5 6 6 6 6 5 5 |
70              | 5 5 5 5 5 5 5 5 |
71              [ 4 5 5 5 5 5 5 4 ]
72
73              [ 2 2 2 2 2 2 2 2 ]
74              | 1 1 2 2 2 2 1 1 |
75              | 1 1 1 1 1 1 1 1 |
76         H1 = | 1 1 1 1 1 1 1 1 |
77              | 1 1 1 1 1 1 1 1 |
78              | 1 1 1 1 1 1 1 1 |
79              | 1 1 2 2 2 2 1 1 |
80              [ 2 2 2 2 2 2 2 2 ]
81
82              [ 2 1 1 1 1 1 1 2 ]
83              | 2 2 1 1 1 1 2 2 |
84              | 2 2 1 1 1 1 2 2 |
85         H2 = | 2 2 1 1 1 1 2 2 |
86              | 2 2 1 1 1 1 2 2 |
87              | 2 2 1 1 1 1 2 2 |
88              | 2 2 1 1 1 1 2 2 |
89              [ 2 1 1 1 1 1 1 2 ]
90
91

PARAMETERS

93       The function takes the following arguments:
94
95       curr_block     Pointer to the current block.
96
97
98       ref_frame      Pointer to the interpolated reference frame.
99
100
101       mch            Horizontal  coordinate of the motion vector for the cur‐
102                      rent block.
103
104
105       mcv            Vertical coordinate of the motion vector for the current
106                      block.
107
108
109       mah            Horizontal coordinate of the motion vector for the block
110                      above the current block.
111
112
113       mav            Vertical coordinate of the motion vector for  the  block
114                      above the current block.
115
116
117       mbh            Horizontal coordinate of the motion vector for the block
118                      below the current block.
119
120
121       mbv            Vertical coordinate of the motion vector for  the  block
122                      below the current block.
123
124
125       mlh            Horizontal coordinate of the motion vector for the block
126                      to the left of the current block.
127
128
129       mlv            Vertical coordinate of the motion vector for  the  block
130                      to the left of the current block.
131
132
133       mrh            Horizontal coordinate of the motion vector for the block
134                      to the right of the current block.
135
136
137       mrv            Vertical coordinate of the motion vector for  the  block
138                      to the right of the current block.
139
140
141       curr_stride    Stride,  in  bytes, between adjacent rows in the current
142                      frame.
143
144
145       ref_stride     Stride, in bytes, between adjacent rows in the  interpo‐
146                      lated reference frame.
147
148

RETURN VALUES

150       The  function  returns MLIB_SUCCESS if successful. Otherwise it returns
151       MLIB_FAILURE.
152

ATTRIBUTES

154       See attributes(5) for descriptions of the following attributes:
155
156
157
158
159       ┌─────────────────────────────┬─────────────────────────────┐
160       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
161       ├─────────────────────────────┼─────────────────────────────┤
162       │Interface Stability          │Committed                    │
163       ├─────────────────────────────┼─────────────────────────────┤
164       │MT-Level                     │MT-Safe                      │
165       └─────────────────────────────┴─────────────────────────────┘
166

SEE ALSO

168       mlib_VideoAddBlock_U8_S16(3MLIB),      mlib_VideoCopyRef_S16_U8(3MLIB),
169       mlib_VideoCopyRef_S16_U8_16x16(3MLIB),                  mlib_VideoCopy‐
170       Ref_U8_U8_16x16(3MLIB),        mlib_VideoCopyRefAve_U8_U8_16x16(3MLIB),
171       mlib_VideoH263OverlappedMC_S16_U8(3MLIB),              mlib_VideoInter‐
172       pAveX_U8_U8(3MLIB),            mlib_VideoInterpAveX_U8_U8_16x16(3MLIB),
173       mlib_VideoInterpAveXY_U8_U8(3MLIB),                    mlib_VideoInter‐
174       pAveXY_U8_U8_16x16(3MLIB),           mlib_VideoInterpAveY_U8_U8(3MLIB),
175       mlib_VideoInterpAveY_U8_U8_16x16(3MLIB),                 mlib_VideoInt‐
176       erpX_S16_U8(3MLIB),              mlib_VideoInterpX_S16_U8_16x16(3MLIB),
177       mlib_VideoInterpX_U8_U8(3MLIB),       mlib_VideoInterpXY_S16_U8(3MLIB),
178       mlib_VideoInterpXY_S16_U8_16x16(3MLIB),                mlib_VideoInter‐
179       pXY_U8_U8(3MLIB), mlib_VideoInterpXY_U8_U8_16x16(3MLIB), mlib_VideoInt‐
180       erpY_S16_U8(3MLIB),              mlib_VideoInterpY_S16_U8_16x16(3MLIB),
181       mlib_VideoInterpY_U8_U8(3MLIB),   mlib_VideoInterpY_U8_U8_16x16(3MLIB),
182       mlib_VideoP64Decimate_U8_U8(3MLIB),    mlib_VideoP64Loop_S16_U8(3MLIB),
183       mlib_VideoP64Loop_U8_U8(3MLIB), attributes(5)
184
185
186
187SunOS 5.11                        2 Marm2l0i0b7_VideoH263OverlappedMC_U8_U8(3MLIB)
Impressum