📄 mmx_mlib.h
字号:
#ifndef MMX_MLIB_H_INCLUDED#define MMX_MLIB_H_INCLUDED/* Ogle - A video player * Copyright (C) 2000, 2001 Martin Norb鋍k * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#include <inttypes.h>voidmlib_Init(void);voidmlib_VideoCopyRef_U8_U8 (uint8_t *curr_block, const uint8_t *ref_block, int32_t width, int32_t height, int32_t stride);voidmlib_VideoCopyRefAve_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);void mlib_VideoCopyRefAve_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);void mlib_VideoCopyRefAve_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);void mlib_VideoCopyRefAve_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);voidmlib_VideoCopyRef_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);void mlib_VideoCopyRef_U8_U8_16x16_multiple(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride, int32_t count);void mlib_VideoCopyRef_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);voidmlib_VideoCopyRef_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);voidmlib_VideoCopyRef_U8_U8_8x8_multiple(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride, int32_t count);void mlib_VideoCopyRef_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t stride);voidmlib_VideoInterpAveX_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveX_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveX_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveX_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);voidmlib_VideoInterpAveY_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveY_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveY_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveY_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);voidmlib_VideoInterpAveXY_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveXY_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveXY_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpAveXY_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);voidmlib_VideoInterpX_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpX_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpX_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpX_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);voidmlib_VideoInterpY_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpY_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpY_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpY_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);voidmlib_VideoInterpXY_U8_U8_16x16(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpXY_U8_U8_16x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpXY_U8_U8_8x8(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);void mlib_VideoInterpXY_U8_U8_8x4(uint8_t *curr_block, const uint8_t *ref_block, int32_t frame_stride, int32_t field_stride);/* Use the fuctions for mpeg2dec's idtc_mmx.c file */extern void idct_block_copy_mmx(int16_t * block, uint8_t * dest, int stride);extern void idct_block_add_mmx(int16_t * block, uint8_t * dest, int stride);#define mlib_VideoIDCTAdd_U8_S16(block,coeffs,stride) \ idct_block_add_mmx(coeffs, block, stride)#define mlib_VideoIDCT8x8_U8_S16(block,coeffs,stride) \ idct_block_copy_mmx(coeffs, block, stride)#endif /* MMX_MLIB_H_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -