sad.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #ifndef _ENCODER_SAD_H_
  2. #define _ENCODER_SAD_H_
  3. #include "../portab.h"
  4. typedef void (sadInitFunc)(void);
  5. typedef sadInitFunc* sadInitFuncPtr;
  6. extern sadInitFuncPtr sadInit;
  7. sadInitFunc sadInit_altivec;
  8. typedef uint32_t (sad16Func)(const uint8_t * const cur,
  9.  const uint8_t * const ref,
  10.  const uint32_t stride,
  11.  const uint32_t best_sad);
  12. typedef sad16Func* sad16FuncPtr;
  13. extern sad16FuncPtr sad16;
  14. sad16Func sad16_c;
  15. sad16Func sad16_mmx;
  16. sad16Func sad16_xmm;
  17. sad16Func sad16_altivec;
  18. #ifdef MPEG4IP
  19. sad16Func sad16_sse2;
  20. #endif
  21. typedef uint32_t (sad8Func)(const uint8_t * const cur,
  22. const uint8_t * const ref,
  23. const uint32_t stride);
  24. typedef sad8Func* sad8FuncPtr;
  25. extern sad8FuncPtr sad8;
  26. sad8Func sad8_c;
  27. sad8Func sad8_mmx;
  28. sad8Func sad8_xmm;
  29. sad8Func sad8_altivec;
  30. typedef uint32_t (dev16Func)(const uint8_t * const cur,
  31. const uint32_t stride);
  32. typedef dev16Func *dev16FuncPtr;
  33. extern dev16FuncPtr dev16;
  34. dev16Func dev16_c;
  35. dev16Func dev16_mmx;
  36. dev16Func dev16_xmm;
  37. dev16Func dev16_altivec;
  38. /* plain c */
  39. /*
  40. uint32_t sad16(const uint8_t * const cur,
  41. const uint8_t * const ref,
  42. const uint32_t stride,
  43. const uint32_t best_sad);
  44. uint32_t sad8(const uint8_t * const cur,
  45. const uint8_t * const ref,
  46. const uint32_t stride);
  47. uint32_t dev16(const uint8_t * const cur,
  48. const uint32_t stride);
  49. */
  50. /* mmx */
  51. /*
  52. uint32_t sad16_mmx(const uint8_t * const cur,
  53. const uint8_t * const ref,
  54. const uint32_t stride,
  55. const uint32_t best_sad);
  56. uint32_t sad8_mmx(const uint8_t * const cur,
  57. const uint8_t * const ref,
  58. const uint32_t stride);
  59. uint32_t dev16_mmx(const uint8_t * const cur,
  60. const uint32_t stride);
  61. */
  62. /* xmm */
  63. /*
  64. uint32_t sad16_xmm(const uint8_t * const cur,
  65. const uint8_t * const ref,
  66. const uint32_t stride,
  67. const uint32_t best_sad);
  68. uint32_t sad8_xmm(const uint8_t * const cur,
  69. const uint8_t * const ref,
  70. const uint32_t stride);
  71. uint32_t dev16_xmm(const uint8_t * const cur,
  72. const uint32_t stride);
  73. */
  74. #endif /* _ENCODER_SAD_H_ */