DECORE.H
上传用户:lusi_8715
上传日期:2007-01-08
资源大小:199k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /**************************************************************************
  2.  *                                                                        *
  3.  * This code has been developed by Adam Li. This software is an           *
  4.  * implementation of a part of one or more MPEG-4 Video tools as          *
  5.  * specified in ISO/IEC 14496-2 standard.  Those intending to use this    *
  6.  * software module in hardware or software products are advised that its  *
  7.  * use may infringe existing patents or copyrights, and any such use      *
  8.  * would be at such party's own risk.  The original developer of this     *
  9.  * software module and his/her company, and subsequent editors and their  *
  10.  * companies (including Project Mayo), will have no liability for use of  *
  11.  * this software or modifications or derivatives thereof.                 *
  12.  *                                                                        *
  13.  * Project Mayo gives users of the Codec a license to this software       *
  14.  * module or modifications thereof for use in hardware or software        *
  15.  * products claiming conformance to the MPEG-4 Video Standard as          *
  16.  * described in the Open DivX license.                                    *
  17.  *                                                                        *
  18.  * The complete Open DivX license can be found at                         *
  19.  * http://www.projectmayo.com/opendivx/license.php                        *
  20.  *                                                                        *
  21.  **************************************************************************/
  22. /**
  23. *  Copyright (C) 2001 - Project Mayo
  24.  *
  25.  * Adam Li
  26.  * Andrea Graziani
  27.  *
  28.  * DivX Advanced Research Center <darc@projectmayo.com>
  29. *
  30. **/
  31. // decore.h //
  32. // This is the header file describing 
  33. // the entrance function of the encoder core
  34. // or the encore ...
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif 
  38. #ifndef _DECORE_H_
  39. #define _DECORE_H_
  40. // decore options
  41. #define DEC_OPT_INIT 32768 // 0x00008000
  42. #define DEC_OPT_RELEASE 65536 // 0x00010000
  43. #define DEC_OPT_SETPP 0x00020000 // 0x00020000
  44. // decore return values
  45. #define DEC_OK 0
  46. #define DEC_MEMORY 1
  47. #define DEC_BAD_FORMAT 2
  48. typedef struct _DEC_PARAM_ 
  49. {
  50. int x_dim; // x dimension of the frames to be decoded
  51. int y_dim; // y dimension of the frames to be decoded
  52. unsigned long color_depth;
  53. } DEC_PARAM;
  54. typedef struct _DEC_FRAME_
  55. {
  56. void *bmp; // the 24-bit decoded bitmap 
  57. void *bitstream; // the decoder buffer
  58. long length; // the lenght of the decoder stream
  59. int render_flag;
  60. } DEC_FRAME;
  61. typedef struct _DEC_SET_
  62. {
  63. int postproc_level; // valid interval are [0..100]
  64. } DEC_SET;
  65. // the prototype of the decore() - main decore engine entrance
  66. int decore(
  67. unsigned long handle, // handle - the handle of the calling entity, must be unique
  68. unsigned long dec_opt, // dec_opt - the option for docoding, see below
  69. void *param1, // param1 - the parameter 1 (it's actually meaning depends on dec_opt
  70. void *param2); // param2 - the parameter 2 (it's actually meaning depends on dec_opt
  71. #endif // _DECORE_H_
  72. #ifdef __cplusplus
  73. }
  74. #endif