--- encoder.h 2005/12/09 04:45:35 1.29 +++ encoder.h 2010/09/13 07:38:09 1.33 @@ -20,7 +20,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: encoder.h,v 1.29 2005/12/09 04:45:35 syskin Exp $ + * $Id: encoder.h,v 1.33 2010/09/13 07:38:09 Isibaar Exp $ * ****************************************************************************/ @@ -79,11 +79,6 @@ int par_width; int par_height; -#ifdef _SMP - int num_threads; -#endif - - int iMaxKeyInterval; int max_bframes; @@ -101,9 +96,9 @@ int64_t m_stamp; uint16_t *mpeg_quant_matrices; + uint32_t last_quant_initialized_intra; /* needed for mpeg matrices initialization */ } MBParam; - typedef struct { int iTextBits; @@ -113,9 +108,9 @@ int mblks; int ublks; int gblks; + int iMVBits; } Statistics; - /* encoding queue */ typedef struct { @@ -125,7 +120,6 @@ IMAGE image; } QUEUEINFO; - typedef struct { int frame_num; @@ -158,6 +152,7 @@ int is_edged, is_interpolated; } FRAMEINFO; +#include "motion/motion_smp.h" typedef struct { @@ -217,6 +212,10 @@ int closed_bframenum; /* == -1 if there is no fixup intended */ QUEUEINFO closed_qframe; /* qFrame, only valid when >= 0 */ + /* multithreaded stuff */ + int num_threads; /* number of additional threads */ + SMPmotionData * motionData; /* data structures used to pass all thread-specific data */ + int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */ float fMvPrevSigma; @@ -254,7 +253,6 @@ return 0; } - /***************************************************************************** * Prototypes ****************************************************************************/