3 |
* XVID MPEG-4 VIDEO CODEC |
* XVID MPEG-4 VIDEO CODEC |
4 |
* - Encoder related header - |
* - Encoder related header - |
5 |
* |
* |
6 |
* Copyright(C) 2002-2003 Michael Militzer <isibaar@xvid.org> |
* Copyright(C) 2002-2010 Michael Militzer <isibaar@xvid.org> |
7 |
* 2002-2003 Peter Ross <pross@xvid.org> |
* 2002-2003 Peter Ross <pross@xvid.org> |
8 |
* |
* |
9 |
* This program is free software ; you can redistribute it and/or modify |
* This program is free software ; you can redistribute it and/or modify |
20 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
21 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
22 |
* |
* |
23 |
* $Id: encoder.h,v 1.32 2006-07-10 08:09:59 syskin Exp $ |
* $Id: encoder.h,v 1.34 2010-12-18 16:02:00 Isibaar Exp $ |
24 |
* |
* |
25 |
****************************************************************************/ |
****************************************************************************/ |
26 |
|
|
99 |
uint32_t last_quant_initialized_intra; /* needed for mpeg matrices initialization */ |
uint32_t last_quant_initialized_intra; /* needed for mpeg matrices initialization */ |
100 |
} MBParam; |
} MBParam; |
101 |
|
|
|
|
|
102 |
typedef struct |
typedef struct |
103 |
{ |
{ |
104 |
int iTextBits; |
int iTextBits; |
111 |
int iMVBits; |
int iMVBits; |
112 |
} Statistics; |
} Statistics; |
113 |
|
|
|
|
|
114 |
/* encoding queue */ |
/* encoding queue */ |
115 |
typedef struct |
typedef struct |
116 |
{ |
{ |
120 |
IMAGE image; |
IMAGE image; |
121 |
} QUEUEINFO; |
} QUEUEINFO; |
122 |
|
|
|
|
|
123 |
typedef struct |
typedef struct |
124 |
{ |
{ |
125 |
int frame_num; |
int frame_num; |
152 |
int is_edged, is_interpolated; |
int is_edged, is_interpolated; |
153 |
} FRAMEINFO; |
} FRAMEINFO; |
154 |
|
|
|
|
|
155 |
#include "motion/motion_smp.h" |
#include "motion/motion_smp.h" |
156 |
|
|
157 |
typedef struct |
typedef struct |
213 |
QUEUEINFO closed_qframe; /* qFrame, only valid when >= 0 */ |
QUEUEINFO closed_qframe; /* qFrame, only valid when >= 0 */ |
214 |
|
|
215 |
/* multithreaded stuff */ |
/* multithreaded stuff */ |
216 |
int num_threads; /* number of additional threads */ |
int num_threads; /* number of encoder threads */ |
217 |
SMPmotionData * motionData; /* data structures used to pass all thread-specific data */ |
SMPData * smpData; /* data structures used to pass all thread-specific data */ |
218 |
|
|
219 |
int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */ |
int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */ |
220 |
|
|
221 |
float fMvPrevSigma; |
float fMvPrevSigma; |
222 |
|
|
223 |
|
int num_slices; /* number of slices to code */ |
224 |
} Encoder; |
} Encoder; |
225 |
|
|
226 |
/***************************************************************************** |
/***************************************************************************** |
255 |
return 0; |
return 0; |
256 |
} |
} |
257 |
|
|
|
|
|
258 |
/***************************************************************************** |
/***************************************************************************** |
259 |
* Prototypes |
* Prototypes |
260 |
****************************************************************************/ |
****************************************************************************/ |