framebuf.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __FRAMEBUF_H
  2. #define __FRAMEBUF_H
  3. #include "types.h"
  4. // framebuffer location definition
  5. #define REF0_LUMA (regs0->ref0_luma)
  6. #define REF0_CHROMA (regs0->ref0_chroma)
  7. #define REF1_LUMA (regs0->ref1_luma)
  8. #define REF1_CHROMA (regs0->ref1_chroma)
  9. #define BIDIR_LUMA (regs0->bidir_luma)
  10. #define BIDIR_CHROMA (regs0->bidir_chroma)
  11. #define SDRAM_PTR() (SDRAM_BASE)
  12. #define FRM0L_PTR() (SDRAM_BASE + 1024*REF0_LUMA   )
  13. #define FRM0C_PTR() (SDRAM_BASE + 1024*REF0_CHROMA )
  14. #define FRM1L_PTR() (SDRAM_BASE + 1024*REF1_LUMA   )
  15. #define FRM1C_PTR() (SDRAM_BASE + 1024*REF1_CHROMA )
  16. #define FRM2L_PTR() (SDRAM_BASE + 1024*BIDIR_LUMA  )
  17. #define FRM2C_PTR() (SDRAM_BASE + 1024*BIDIR_CHROMA)
  18. #define FRAME_REF0      (1<<0)
  19. #define FRAME_REF1      (1<<1)
  20. #define FRAME_BIDIR     (1<<2)
  21. #define FRAME_720 (1<<3)
  22. #define FRAME_REF0_FILL (1<<6)
  23. #define FRAME_REF1_FILL (1<<7)
  24. #define FRAME_B_FILL (1<<8)
  25. #define FRAME_FILL_BLUE (1<<10) // default 0x8080
  26. #define FRAME_FILL_LIGHTGRAY (1<<11) // luma: 0xa0
  27. #define FRAME_FILL_DARKGRAY (1<<12) // luma: 0x40
  28. typedef struct {
  29.     INT16  dx, dy; // destination location
  30.     UINT16 dly, dcy; // destination luma/chroma rows
  31.     UINT16 sly, scy; // source luma/chroma rows
  32.     INT16  w, h; // source w, h
  33.     INT16  zx, zy; // zoom factor (x,y);
  34. } t_bitblt_op;
  35. //
  36. // basic operations
  37. // luma/chroma location 
  38. unsigned fbuf_get_luma(int s);
  39. unsigned fbuf_get_chroma(int s);
  40. // fill and copy
  41. int fbuf_fill(UINT32 bitmask);
  42. int fbuf_copy(unsigned t, unsigned s);
  43. // bitblt
  44. void bitblt_frame(int dx, int dy, int dstf, int srcf, int w, int h, int zx, int zy, int p2n);
  45. void bitblt_frame_22(int dx, int dy, int dstf, int srcf, int w, int h, int p2n);
  46. void bitblt_frame_34(int dx, int dy, int dstf, int srcf, int w, int h, int p2n);
  47. void bitblt_frame_24(int dx, int dy, int dstf, int srcf, int w, int h, int p2n);
  48. void bitblt_frame_44(int dx, int dy, int dstf, int srcf, int w, int h, int p2n);
  49. // pixel operation
  50. UINT8   get_pixel_luma(int fb, int x, int y);
  51. UINT16  get_pixel_chroma(int fb, int x, int y);
  52. void    set_pixel_luma(int fb, int x, int y, unsigned luma);
  53. void    set_pixel_chroma(int fb, int x, int y, unsigned chroma);
  54. // legacy function
  55. #define clrFrameBuffer(m) fbuf_fill(m)
  56. #endif/*__FRAMEBUF_H*/