rdopt_coding_state.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2. ***********************************************************************
  3. * COPYRIGHT AND WARRANTY INFORMATION
  4. *
  5. * Copyright 2001, International Telecommunications Union, Geneva
  6. *
  7. * DISCLAIMER OF WARRANTY
  8. *
  9. * These software programs are available to the user without any
  10. * license fee or royalty on an "as is" basis. The ITU disclaims
  11. * any and all warranties, whether express, implied, or
  12. * statutory, including any implied warranties of merchantability
  13. * or of fitness for a particular purpose.  In no event shall the
  14. * contributor or the ITU be liable for any incidental, punitive, or
  15. * consequential damages of any kind whatsoever arising from the
  16. * use of these programs.
  17. *
  18. * This disclaimer of warranty extends to the user of these programs
  19. * and user's customers, employees, agents, transferees, successors,
  20. * and assigns.
  21. *
  22. * The ITU does not represent or warrant that the programs furnished
  23. * hereunder are free of infringement of any third-party patents.
  24. * Commercial implementations of ITU-T Recommendations, including
  25. * shareware, may be subject to royalty fees to patent holders.
  26. * Information regarding the ITU-T patent policy is available from
  27. * the ITU Web site at http://www.itu.int.
  28. *
  29. * THIS IS NOT A GRANT OF PATENT RIGHTS - SEE THE ITU-T PATENT POLICY.
  30. ************************************************************************
  31. */
  32. /*!
  33.  ***************************************************************************
  34.  * file
  35.  *    rdopt_coding_state.h
  36.  *
  37.  * author
  38.  *    Heiko Schwarz
  39.  *
  40.  * date
  41.  *    17. April 2001
  42.  *
  43.  * brief
  44.  *    Headerfile for storing/restoring coding state
  45.  *    (for rd-optimized mode decision)
  46.  **************************************************************************
  47.  */
  48. #ifndef _RD_OPT_CS_H_
  49. #define _RD_OPT_CS_H_
  50. #include "global.h"
  51. typedef struct {
  52.   // important variables of data partition array
  53.   int                   no_part;
  54.   EncodingEnvironment  *encenv;
  55.   Bitstream            *bitstream;
  56.   // contexts for binary arithmetic coding
  57.   int                   symbol_mode;
  58.   MotionInfoContexts   *mot_ctx;
  59.   TextureInfoContexts  *tex_ctx;
  60.   // syntax element number and bitcounters
  61.   int                   currSEnr;
  62.   int                   bitcounter[MAX_BITCOUNTER_MB];
  63.   // elements of current macroblock
  64.   int                   mvd[2][BLOCK_MULTIPLE][BLOCK_MULTIPLE][2];
  65. } RDCodingState;
  66. void  clear_coding_state   ();   //!< delete structure
  67. void  init_coding_state    ();   //!< create structure
  68. void  store_coding_state   ();   //!< store parameters
  69. void  restore_coding_state ();   //!< restore parameters
  70. #endif