PageRenderTime 14ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/H264Dec/source/h264bsd_decoder.h

http://github.com/mbebenita/Broadway
C Header | 83 lines | 30 code | 15 blank | 38 comment | 0 complexity | e7d58162154c610db2797dbdc0e34291 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. /*
  2. * Copyright (C) 2009 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /*------------------------------------------------------------------------------
  17. Table of contents
  18. 1. Include headers
  19. 2. Module defines
  20. 3. Data types
  21. 4. Function prototypes
  22. ------------------------------------------------------------------------------*/
  23. #ifndef H264SWDEC_DECODER_H
  24. #define H264SWDEC_DECODER_H
  25. /*------------------------------------------------------------------------------
  26. 1. Include headers
  27. ------------------------------------------------------------------------------*/
  28. #include "basetype.h"
  29. #include "h264bsd_storage.h"
  30. /*------------------------------------------------------------------------------
  31. 2. Module defines
  32. ------------------------------------------------------------------------------*/
  33. /* enumerated return values of the functions */
  34. enum {
  35. H264BSD_RDY,
  36. H264BSD_PIC_RDY,
  37. H264BSD_HDRS_RDY,
  38. H264BSD_ERROR,
  39. H264BSD_PARAM_SET_ERROR,
  40. H264BSD_MEMALLOC_ERROR
  41. };
  42. /*------------------------------------------------------------------------------
  43. 3. Data types
  44. ------------------------------------------------------------------------------*/
  45. /*------------------------------------------------------------------------------
  46. 4. Function prototypes
  47. ------------------------------------------------------------------------------*/
  48. u32 h264bsdInit(storage_t *pStorage, u32 noOutputReordering);
  49. u32 h264bsdDecode(storage_t *pStorage, u8 *byteStrm, u32 len, u32 picId,
  50. u32 *readBytes);
  51. void h264bsdShutdown(storage_t *pStorage);
  52. u8* h264bsdNextOutputPicture(storage_t *pStorage, u32 *picId, u32 *isIdrPic,
  53. u32 *numErrMbs);
  54. u32 h264bsdPicWidth(storage_t *pStorage);
  55. u32 h264bsdPicHeight(storage_t *pStorage);
  56. u32 h264bsdVideoRange(storage_t *pStorage);
  57. u32 h264bsdMatrixCoefficients(storage_t *pStorage);
  58. void h264bsdCroppingParams(storage_t *pStorage, u32 *croppingFlag,
  59. u32 *left, u32 *width, u32 *top, u32 *height);
  60. void h264bsdSampleAspectRatio(storage_t *pStorage,
  61. u32 *sarWidth, u32 *sarHeight);
  62. u32 h264bsdCheckValidParamSets(storage_t *pStorage);
  63. void h264bsdFlushBuffer(storage_t *pStorage);
  64. u32 h264bsdProfile(storage_t *pStorage);
  65. #endif /* #ifdef H264SWDEC_DECODER_H */