x86enc.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /********************************************************************
  2. * *
  3. * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
  4. * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
  5. * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  6. * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
  7. * *
  8. * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
  9. * by the Xiph.Org Foundation and contributors http://www.xiph.org/ *
  10. * *
  11. ********************************************************************
  12. function:
  13. last mod: $Id: x86int.h 15675 2009-02-06 09:43:27Z tterribe $
  14. ********************************************************************/
  15. #if !defined(_x86_vc_x86enc_H)
  16. # define _x86_vc_x86enc_H (1)
  17. # include "x86int.h"
  18. # if defined(OC_X86_ASM)
  19. # define oc_enc_accel_init oc_enc_accel_init_x86
  20. # define OC_ENC_USE_VTABLE (1)
  21. # endif
  22. # include "../encint.h"
  23. void oc_enc_accel_init_x86(oc_enc_ctx *_enc);
  24. unsigned oc_enc_frag_sad_mmxext(const unsigned char *_src,
  25. const unsigned char *_ref,int _ystride);
  26. unsigned oc_enc_frag_sad_thresh_mmxext(const unsigned char *_src,
  27. const unsigned char *_ref,int _ystride,unsigned _thresh);
  28. unsigned oc_enc_frag_sad2_thresh_mmxext(const unsigned char *_src,
  29. const unsigned char *_ref1,const unsigned char *_ref2,int _ystride,
  30. unsigned _thresh);
  31. unsigned oc_enc_frag_satd_mmxext(unsigned *_dc,const unsigned char *_src,
  32. const unsigned char *_ref,int _ystride);
  33. unsigned oc_enc_frag_satd2_mmxext(unsigned *_dc,const unsigned char *_src,
  34. const unsigned char *_ref1,const unsigned char *_ref2,int _ystride);
  35. unsigned oc_enc_frag_intra_satd_mmxext(unsigned *_dc,
  36. const unsigned char *_src,int _ystride);
  37. void oc_enc_frag_sub_mmx(ogg_int16_t _diff[64],
  38. const unsigned char *_x,const unsigned char *_y,int _stride);
  39. void oc_enc_frag_sub_128_mmx(ogg_int16_t _diff[64],
  40. const unsigned char *_x,int _stride);
  41. void oc_enc_frag_copy2_mmxext(unsigned char *_dst,
  42. const unsigned char *_src1,const unsigned char *_src2,int _ystride);
  43. void oc_enc_fdct8x8_mmxext(ogg_int16_t _y[64],const ogg_int16_t _x[64]);
  44. void oc_enc_fdct8x8_x86_64sse2(ogg_int16_t _y[64],const ogg_int16_t _x[64]);
  45. #endif