postprocess_mmx.h
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:2k
源码类别:

VC书籍

开发平台:

Visual C++

  1. #ifndef _POSTPROCESS_MMX_H_
  2. #define _POSTPROCESS_MMX_H_
  3. #include "postprocess.h" 
  4. #ifdef PP_SELF_CHECK
  5.  #include <stdio.h>
  6. #endif
  7. #ifdef PP_COMPONENTS_INLINE
  8.  #ifdef WIN32
  9.   #define INLINE  __inline
  10.  #else
  11.   #define INLINE  inline
  12.  #endif
  13. #else
  14.  #define INLINE
  15. #endif 
  16. #define ABS(a)     ( (a)>0 ? (a) : -(a) )
  17. #define SIGN(a)    ( (a)<0 ? -1 : 1 )
  18. #define MIN(a, b)  ( (a)<(b) ? (a) : (b) )
  19. #define MAX(a, b)  ( (a)>(b) ? (a) : (b) )
  20. int deblock_horiz_useDC(uint8_t *v, int stride);
  21. int deblock_horiz_DC_on(uint8_t *v, int stride, int QP);
  22. void deblock_horiz_lpf9(uint8_t *v, int stride, int QP);
  23. void deblock_horiz_default_filter(uint8_t *v, int stride, int QP);
  24. void deblock_horiz(uint8_t *image, int width, int stride, QP_STORE_T *QP_store, int QP_stride, int chromaFlag);
  25. int deblock_vert_useDC(uint8_t *v, int stride);
  26. int deblock_vert_DC_on(uint8_t *v, int stride, int QP);
  27. void deblock_vert_copy_and_unpack(int stride, uint8_t *source, uint64_t *dest, int n);
  28. void deblock_vert_choose_p1p2(uint8_t *v, int stride, uint64_t *p1p2, int QP);
  29. void deblock_vert_lpf9(uint64_t *v_local, uint64_t *p1p2, uint8_t *v, int stride);
  30. void deblock_vert_default_filter(uint8_t *v, int stride, int QP);
  31. void deblock_vert( uint8_t *image, int width, int stride, QP_STORE_T *QP_store, int QP_stride, int chromaFlag);
  32. void fast_copy(unsigned char *src, int src_stride,
  33.                  unsigned char *dst, int dst_stride, 
  34.                  int horizontal_size,   int vertical_size);
  35. void do_emms();
  36. #endif