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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #ifndef _COLORSPACE_H
  2. #define _COLORSPACE_H
  3. #include "../portab.h"
  4. /* initialize tables */
  5. void colorspace_init(void);
  6. /* input color conversion functions (encoder) */
  7. typedef void (color_inputFunc)(uint8_t *y_out, uint8_t *u_out, uint8_t *v_out,
  8. uint8_t *src, int width, int height, int stride);
  9. typedef color_inputFunc *color_inputFuncPtr;
  10. extern color_inputFuncPtr rgb555_to_yv12;
  11. extern color_inputFuncPtr rgb565_to_yv12;
  12. extern color_inputFuncPtr rgb24_to_yv12;
  13. extern color_inputFuncPtr rgb32_to_yv12;
  14. extern color_inputFuncPtr yuv_to_yv12;
  15. extern color_inputFuncPtr yuyv_to_yv12;
  16. extern color_inputFuncPtr uyvy_to_yv12;
  17. /* plain c */
  18. color_inputFunc rgb555_to_yv12_c;
  19. color_inputFunc rgb565_to_yv12_c;
  20. color_inputFunc rgb24_to_yv12_c;
  21. color_inputFunc rgb32_to_yv12_c;
  22. color_inputFunc yuv_to_yv12_c;
  23. color_inputFunc yuyv_to_yv12_c;
  24. color_inputFunc uyvy_to_yv12_c;
  25. /* mmx */
  26. color_inputFunc rgb24_to_yv12_mmx;
  27. color_inputFunc rgb32_to_yv12_mmx;
  28. color_inputFunc yuv_to_yv12_mmx;
  29. color_inputFunc yuyv_to_yv12_mmx;
  30. color_inputFunc uyvy_to_yv12_mmx;
  31. /* xmm */
  32. color_inputFunc yuv_to_yv12_xmm;
  33. /* output color conversion functions (decoder) */
  34.  
  35. typedef void (color_outputFunc)(uint8_t *dst, int dst_stride,
  36.  uint8_t *y_src, uint8_t *v_src,
  37.  uint8_t * u_src, int y_stride,
  38.  int uv_stride, int width, int height);
  39. typedef color_outputFunc* color_outputFuncPtr;
  40. extern color_outputFuncPtr yv12_to_rgb555;
  41. extern color_outputFuncPtr yv12_to_rgb565;
  42. extern color_outputFuncPtr yv12_to_rgb24;
  43. extern color_outputFuncPtr yv12_to_rgb32;
  44. extern color_outputFuncPtr yv12_to_yuv;
  45. extern color_outputFuncPtr yv12_to_yuyv;
  46. extern color_outputFuncPtr yv12_to_uyvy;
  47. /* plain c */
  48. void init_yuv_to_rgb(void);
  49. color_outputFunc yv12_to_rgb555_c;
  50. color_outputFunc yv12_to_rgb565_c;
  51. color_outputFunc yv12_to_rgb24_c;
  52. color_outputFunc yv12_to_rgb32_c;
  53. color_outputFunc yv12_to_yuv_c;
  54. color_outputFunc yv12_to_yuyv_c;
  55. color_outputFunc yv12_to_uyvy_c;
  56. /* mmx */
  57. color_outputFunc yv12_to_rgb24_mmx;
  58. color_outputFunc yv12_to_rgb32_mmx;
  59. color_outputFunc yv12_to_yuyv_mmx;
  60. color_outputFunc yv12_to_uyvy_mmx;
  61. #endif /* _COLORSPACE_H_ */