mp4dechwd_strmdec.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. -- Abstract : Stream decoding top header file
  17. --
  18. --------------------------------------------------------------------------------
  19. --
  20. -- Version control information, please leave untouched.
  21. --
  22. -- $RCSfile: mp4dechwd_strmdec.h,v $
  23. -- $Date: 2007/11/26 07:51:36 $
  24. -- $Revision: 1.2 $
  25. --
  26. ------------------------------------------------------------------------------*/
  27. /*------------------------------------------------------------------------------
  28. Table of context
  29. 1. xxx...
  30. ------------------------------------------------------------------------------*/
  31. #ifndef STRMDEC_H_DEFINED
  32. #define STRMDEC_H_DEFINED
  33. #include "mp4dechwd_container.h"
  34. /* StrmDec_Decode() function return values
  35. * DEC_RDY -> everything ok but no VOP finished
  36. * DEC_VOP_RDY -> vop finished
  37. * DEC_VOP_RDY_BUF_NOT_EMPTY -> vop finished but stream buffer not empty
  38. * DEC_ERROR -> nothing finished, decoder not ready, cannot continue decoding
  39. * before some headers received
  40. * DEC_ERROR_BUF_NOT_EMPTY -> same as above but stream buffer not empty
  41. * DEC_END_OF_STREAM -> nothing finished, no data left in stream
  42. * DEC_OUT_OF_BUFFER -> out of rlc buffer
  43. * DEC_VOS_END -> vos end code encountered, stopping
  44. * DEC_HDRS_RDY -> either vol header decoded or short video source format
  45. * determined
  46. * DEC_HDRS_RDY_BUF_NOT_EMPTY -> same as above but stream buffer not empty
  47. *
  48. * Bits in the output have following meaning:
  49. * 0 ready
  50. * 1 vop ready
  51. * 2 buffer not empty
  52. * 3 error
  53. * 4 end of stream
  54. * 5 out of buffer
  55. * 6 video object sequence end
  56. * 7 headers ready
  57. */
  58. enum
  59. {
  60. DEC_RDY = 0x01,
  61. DEC_VOP_RDY = 0x03,
  62. DEC_VOP_RDY_BUF_NOT_EMPTY = 0x07,
  63. DEC_ERROR = 0x08,
  64. DEC_ERROR_BUF_NOT_EMPTY = 0x0C,
  65. DEC_END_OF_STREAM = 0x10,
  66. DEC_OUT_OF_BUFFER = 0x20,
  67. DEC_VOS_END = 0x40,
  68. DEC_HDRS_RDY = 0x80,
  69. DEC_HDRS_RDY_BUF_NOT_EMPTY = 0x84,
  70. DEC_VOP_HDR_RDY = 0x100,
  71. DEC_VOP_HDR_RDY_ERROR = 0x108,
  72. DEC_VOP_SUPRISE_B = 0x1000
  73. };
  74. /* function prototypes */
  75. void StrmDec_DecoderInit(DecContainer * pDecContainer);
  76. u32 StrmDec_Decode(DecContainer * pDecContainer);
  77. #endif