vdoa.h 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. * Copyright (c) 2011-2012, Freescale Semiconductor, Inc.
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without modification,
  6. * are permitted provided that the following conditions are met:
  7. *
  8. * o Redistributions of source code must retain the above copyright notice, this list
  9. * of conditions and the following disclaimer.
  10. *
  11. * o Redistributions in binary form must reproduce the above copyright notice, this
  12. * list of conditions and the following disclaimer in the documentation and/or
  13. * other materials provided with the distribution.
  14. *
  15. * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
  16. * contributors may be used to endorse or promote products derived from this
  17. * software without specific prior written permission.
  18. *
  19. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  20. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  21. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  22. * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
  23. * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  24. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  25. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  26. * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  27. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  28. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  29. */
  30. #ifndef __VDOA_H__
  31. #define __VDOA_H__
  32. #include "sdk.h"
  33. //! @addtogroup diag_vdoa
  34. //! @{
  35. //////////////////////////////////////////////////////////////////////////////
  36. // API
  37. //////////////////////////////////////////////////////////////////////////////
  38. /*!
  39. * @brief Configure the VDOA attribute before transfer start
  40. *
  41. * @param width Frame/Field width
  42. * @param height Frame/Field height
  43. * @param vpu_sl Strideline for the VPU output memory
  44. * @param ipu_sl Strideline for the IPU input memory
  45. * @param interlaced Setting of frame mode, interlaved or progressive
  46. * @param ipu_sel IPU index selection
  47. * @param bandLines set the line numbers per band
  48. * @param pfs Set the pixel format
  49. */
  50. void vdoa_setup(int width, int height, int vpu_sl, int ipu_sl, int interlaced,
  51. int ipu_sel, int bandLines, int pfs);
  52. /*!
  53. * @brief Configure the VDOA for video data transition
  54. *
  55. * @param src Source buffer address
  56. * @param vubo U component offset used for VPU output
  57. * @param dst Destination buffer address
  58. * @param iubo U componet offset used for IPU input
  59. *
  60. */
  61. void vdoa_start(uint32_t src, uint32_t ubo, uint32_t dst, uint32_t iubo);
  62. /*!
  63. * @brief Enable VDOA EOT interrupt
  64. */
  65. void vdoa_enable_interrupt(void);
  66. /*!
  67. * @brief Disable VDOA EOT interrupt
  68. */
  69. void vdoa_disable_interrupt(void);
  70. /*!
  71. * @brief Clear the VDOA EOT(End Of Tranfer) interrupt state
  72. */
  73. void vdoa_clear_interrupt(void);
  74. /*!
  75. * @brief Check the VDOA tranfer state
  76. */
  77. bool vdoa_check_tx_eot(void);
  78. //! @}
  79. #endif
  80. //////////////////////////////////////////////////////////////////////////////
  81. // EOF
  82. //////////////////////////////////////////////////////////////////////////////