25 #include <mlib_types.h>
26 #include <mlib_status.h>
28 #include <mlib_algebra.h>
29 #include <mlib_video.h>
38 mlib_VectorConvert_S16_U8_Mod((mlib_s16 *)block, (mlib_u8 *)pixels, 8);
50 mlib_VectorSub_S16_U8_Mod((mlib_s16 *)block, (mlib_u8 *)s1, (mlib_u8 *)s2, 8);
60 mlib_VideoAddBlock_U8_S16(pixels, (mlib_s16 *)block, line_size);
70 mlib_VideoCopyRef_U8_U8_16x8(dest, (uint8_t *)ref, stride);
74 mlib_VideoCopyRef_U8_U8_16x16(dest, (uint8_t *)ref, stride);
87 mlib_VideoInterpX_U8_U8_16x8(dest, (uint8_t *)ref, stride, stride);
91 mlib_VideoInterpX_U8_U8_16x16(dest, (uint8_t *)ref, stride, stride);
104 mlib_VideoInterpY_U8_U8_16x8(dest, (uint8_t *)ref, stride, stride);
108 mlib_VideoInterpY_U8_U8_16x16(dest, (uint8_t *)ref, stride, stride);
121 mlib_VideoInterpXY_U8_U8_16x8(dest, (uint8_t *)ref, stride, stride);
125 mlib_VideoInterpXY_U8_U8_16x16(dest, (uint8_t *)ref, stride, stride);
140 mlib_VideoCopyRef_U8_U8_8x4(dest, (uint8_t *)ref, stride);
144 mlib_VideoCopyRef_U8_U8_8x8(dest, (uint8_t *)ref, stride);
148 mlib_VideoCopyRef_U8_U8_8x16(dest, (uint8_t *)ref, stride);
161 mlib_VideoInterpX_U8_U8_8x4(dest, (uint8_t *)ref, stride, stride);
165 mlib_VideoInterpX_U8_U8_8x8(dest, (uint8_t *)ref, stride, stride);
169 mlib_VideoInterpX_U8_U8_8x16(dest, (uint8_t *)ref, stride, stride);
182 mlib_VideoInterpY_U8_U8_8x4(dest, (uint8_t *)ref, stride, stride);
186 mlib_VideoInterpY_U8_U8_8x8(dest, (uint8_t *)ref, stride, stride);
190 mlib_VideoInterpY_U8_U8_8x16(dest, (uint8_t *)ref, stride, stride);
203 mlib_VideoInterpXY_U8_U8_8x4(dest, (uint8_t *)ref, stride, stride);
207 mlib_VideoInterpXY_U8_U8_8x8(dest, (uint8_t *)ref, stride, stride);
211 mlib_VideoInterpXY_U8_U8_8x16(dest, (uint8_t *)ref, stride, stride);
226 mlib_VideoCopyRefAve_U8_U8_16x8(dest, (uint8_t *)ref, stride);
230 mlib_VideoCopyRefAve_U8_U8_16x16(dest, (uint8_t *)ref, stride);
243 mlib_VideoInterpAveX_U8_U8_16x8(dest, (uint8_t *)ref, stride, stride);
247 mlib_VideoInterpAveX_U8_U8_16x16(dest, (uint8_t *)ref, stride, stride);
260 mlib_VideoInterpAveY_U8_U8_16x8(dest, (uint8_t *)ref, stride, stride);
264 mlib_VideoInterpAveY_U8_U8_16x16(dest, (uint8_t *)ref, stride, stride);
277 mlib_VideoInterpAveXY_U8_U8_16x8(dest, (uint8_t *)ref, stride, stride);
281 mlib_VideoInterpAveXY_U8_U8_16x16(dest, (uint8_t *)ref, stride, stride);
296 mlib_VideoCopyRefAve_U8_U8_8x4(dest, (uint8_t *)ref, stride);
300 mlib_VideoCopyRefAve_U8_U8_8x8(dest, (uint8_t *)ref, stride);
304 mlib_VideoCopyRefAve_U8_U8_8x16(dest, (uint8_t *)ref, stride);
317 mlib_VideoInterpAveX_U8_U8_8x4(dest, (uint8_t *)ref, stride, stride);
321 mlib_VideoInterpAveX_U8_U8_8x8(dest, (uint8_t *)ref, stride, stride);
325 mlib_VideoInterpAveX_U8_U8_8x16(dest, (uint8_t *)ref, stride, stride);
338 mlib_VideoInterpAveY_U8_U8_8x4(dest, (uint8_t *)ref, stride, stride);
342 mlib_VideoInterpAveY_U8_U8_8x8(dest, (uint8_t *)ref, stride, stride);
346 mlib_VideoInterpAveY_U8_U8_8x16(dest, (uint8_t *)ref, stride, stride);
359 mlib_VideoInterpAveXY_U8_U8_8x4(dest, (uint8_t *)ref, stride, stride);
363 mlib_VideoInterpAveXY_U8_U8_8x8(dest, (uint8_t *)ref, stride, stride);
367 mlib_VideoInterpAveXY_U8_U8_8x16(dest, (uint8_t *)ref, stride, stride);
379 mlib_VectorReverseByteOrder_U32_U32(dst, src, w);
389 mlib_VideoIDCT8x8_S16_S16 (data, data);
392 dest[0] = cm[data[0]];
393 dest[1] = cm[data[1]];
394 dest[2] = cm[data[2]];
395 dest[3] = cm[data[3]];
396 dest[4] = cm[data[4]];
397 dest[5] = cm[data[5]];
398 dest[6] = cm[data[6]];
399 dest[7] = cm[data[7]];
408 mlib_VideoIDCT8x8_S16_S16 (data, data);
409 mlib_VideoAddBlock_U8_S16(dest, (mlib_s16 *)data, line_size);
414 mlib_VideoIDCT8x8_S16_S16 (data, data);
419 mlib_VideoDCT8x8_S16_S16 (data, data);
429 if (!high_bit_depth) {