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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #ifndef _IMAGE_H_
  2. #define _IMAGE_H_
  3. #include "../portab.h"
  4. #include "colorspace.h"
  5. #define EDGE_SIZE  32
  6. typedef struct
  7. {
  8. uint8_t * y;
  9. uint8_t * u;
  10. uint8_t * v;
  11. } IMAGE;
  12. void init_image(uint32_t cpu_flags);
  13. int32_t image_create(IMAGE * image, uint32_t edged_width, uint32_t edged_height);
  14. void image_destroy(IMAGE * image, uint32_t edged_width, uint32_t edged_height);
  15. void image_swap(IMAGE * image1, IMAGE * image2);
  16. void image_copy(IMAGE *image1, IMAGE * image2, uint32_t edged_width, uint32_t height);
  17. void image_setedges(IMAGE * image, uint32_t edged_width, uint32_t edged_height, uint32_t width, uint32_t height, uint32_t interlacing);
  18. void image_interpolate(const IMAGE * refn, 
  19.    IMAGE * refh, IMAGE * refv, IMAGE * refhv, 
  20.    uint32_t edged_width, uint32_t edged_height, uint32_t rounding);
  21. float image_psnr(IMAGE *orig_image, IMAGE *recon_image,
  22.               uint16_t stride, uint16_t width, uint16_t height);
  23. int image_input(IMAGE * image, uint32_t width, int height, 
  24. uint32_t edged_width, uint8_t * src, int csp);
  25. int image_output(IMAGE * image, uint32_t width, int height, uint32_t edged_width,
  26. uint8_t * dst, uint32_t dst_stride, int csp);
  27. #ifdef MPEG4IP
  28. int yuv_input(
  29. IMAGE * image, 
  30. uint32_t width, 
  31. uint32_t height, 
  32. uint32_t strideout, 
  33. uint8_t *y_in, 
  34. uint8_t *u_in, 
  35. uint8_t *v_in, 
  36. uint32_t stridein, 
  37. int csp);
  38. #endif
  39. #endif /* _IMAGE_H_ */