amve.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Video Enhancement
  3. *
  4. * Author: Lin Xu <lin.xu@amlogic.com>
  5. * Bobby Yang <bo.yang@amlogic.com>
  6. *
  7. * Copyright (C) 2010 Amlogic Inc.
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License version 2 as
  11. * published by the Free Software Foundation.
  12. */
  13. #ifndef __AM_VE_H
  14. #define __AM_VE_H
  15. #include "linux/amports/vframe.h"
  16. #include "linux/amports/ve.h"
  17. typedef struct ve_regs_s {
  18. unsigned int val : 32;
  19. unsigned int reg : 14;
  20. unsigned int port : 2; // port port_addr port_data remark
  21. // 0 NA NA direct access
  22. // 1 VPP_CHROMA_ADDR_PORT VPP_CHROMA_DATA_PORT CM port registers
  23. // 2 NA NA reserved
  24. // 3 NA NA reserved
  25. unsigned int bit : 5;
  26. unsigned int wid : 5;
  27. unsigned int mode : 1; // 0:read, 1:write
  28. unsigned int rsv : 5;
  29. } ve_regs_t;
  30. void ve_on_vs(vframe_t *vf);
  31. void ve_set_bext(struct ve_bext_s *p);
  32. void ve_set_dnlp(struct ve_dnlp_s *p);
  33. void ve_set_hsvs(struct ve_hsvs_s *p);
  34. void ve_set_ccor(struct ve_ccor_s *p);
  35. void ve_set_benh(struct ve_benh_s *p);
  36. void ve_set_demo(struct ve_demo_s *p);
  37. void ve_set_regs(struct ve_regs_s *p);
  38. #endif