vc1hwd_container.h 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*------------------------------------------------------------------------------
  2. -- --
  3. -- This software is confidential and proprietary and may be used --
  4. -- only as expressly authorized by a licensing agreement from --
  5. -- --
  6. -- Hantro Products Oy. --
  7. -- --
  8. -- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
  9. -- ALL RIGHTS RESERVED --
  10. -- --
  11. -- The entire notice above must be reproduced --
  12. -- on all copies and should not be removed. --
  13. -- --
  14. --------------------------------------------------------------------------------
  15. --
  16. -- Description : Decoder container
  17. --
  18. --------------------------------------------------------------------------------
  19. --
  20. -- Version control information, please leave untouched.
  21. --
  22. -- $RCSfile: vc1hwd_container.h,v $
  23. -- $Revision: 1.8 $
  24. -- $Date: 2008/12/08 13:44:02 $
  25. --
  26. ------------------------------------------------------------------------------*/
  27. #ifndef VC1HWD_CONTAINER_H
  28. #define VC1HWD_CONTAINER_H
  29. /*------------------------------------------------------------------------------
  30. Include headers
  31. ------------------------------------------------------------------------------*/
  32. #include "vc1hwd_storage.h"
  33. #include "deccfg.h"
  34. #include "decppif.h"
  35. #include "refbuffer.h"
  36. /*------------------------------------------------------------------------------
  37. Module defines
  38. ------------------------------------------------------------------------------*/
  39. /* String length for tracing */
  40. #define VC1DEC_TRACE_STR_LEN 100
  41. /*------------------------------------------------------------------------------
  42. Data types
  43. ------------------------------------------------------------------------------*/
  44. typedef struct
  45. {
  46. enum {
  47. VC1DEC_UNINITIALIZED,
  48. VC1DEC_INITIALIZED,
  49. VC1DEC_RESOURCES_ALLOCATED
  50. } decStat;
  51. swStrmStorage_t storage;
  52. #ifdef VC1DEC_TRACE
  53. char str[VC1DEC_TRACE_STR_LEN];
  54. #endif
  55. u32 picNumber;
  56. u32 asicRunning;
  57. u32 vc1Regs[DEC_X170_REGISTERS];
  58. u32 maxWidthHw;
  59. DecPpInterface ppControl;
  60. DecPpQuery ppConfigQuery; /* Decoder asks pp info about setup,
  61. info stored here */
  62. u32 ppStatus;
  63. u32 refBufSupport;
  64. refBuffer_t refBufferCtrl;
  65. DWLLinearMem_t bitPlaneCtrl;
  66. DWLLinearMem_t directMvs;
  67. const void *dwl; /* DWL instance */
  68. const void *ppInstance;
  69. void (*PPRun)(const void *, DecPpInterface *);
  70. void (*PPEndCallback) (const void *);
  71. void (*PPConfigQuery)(const void *, DecPpQuery *);
  72. void (*PPDisplayIndex)(const void *, u32);
  73. void (*PPBufferData) (const void *, u32, u32, u32);
  74. } decContainer_t;
  75. /*------------------------------------------------------------------------------
  76. Function prototypes
  77. ------------------------------------------------------------------------------*/
  78. #endif /* #ifndef VC1HWD_CONTAINER_H */