--- motion_smp.h 2006/02/24 23:35:04 1.2 +++ motion_smp.h 2010/12/18 16:02:00 1.8 @@ -22,71 +22,38 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: motion_smp.h,v 1.2 2006/02/24 23:35:04 suxen_drol Exp $ + * $Id: motion_smp.h,v 1.8 2010/12/18 16:02:00 Isibaar Exp $ * ****************************************************************************/ #ifndef SMP_MOTION_H #define SMP_MOTION_H -#ifdef WIN32 -#include -#define pthread_t HANDLE -#define pthread_create(t,u,f,d) *(t)=CreateThread(NULL,0,f,d,0,NULL) -#define pthread_join(t,s) { WaitForSingleObject(t,INFINITE); \ - CloseHandle(t); } -#define sched_yield() Sleep(0) -#define HAVE_PTHREAD 1 - -#elif defined(SYS_BEOS) -#include -#define pthread_t thread_id -#define pthread_create(t,u,f,d) { *(t)=spawn_thread(f,"",10,d); \ - resume_thread(*(t)); } -#define pthread_join(t,s) wait_for_thread(t,(long*)s) -#define sched_yield() snooze(0) /* is this correct? */ -#define HAVE_PTHREAD 1 - -#elif HAVE_PTHREAD -#include -#endif - - -#define THREADS 3 - typedef struct { pthread_t handle; /* thread's handle */ - const MBParam * pParam; - const FRAMEINFO * current; - const FRAMEINFO * reference; - const IMAGE * pRefH; - const IMAGE * pRefV; - const IMAGE * pRefHV; - const IMAGE * pGMC; + const FRAMEINFO *current; uint8_t * RefQ; + int y_row; int y_step; int start_y; + int stop_y; int * complete_count_self; int * complete_count_above; - /* bvop stuff */ - int time_bp, time_pp; - const MACROBLOCK * f_mbs; - const IMAGE * pRef; - const IMAGE * fRef; - const IMAGE * fRefH; - const IMAGE * fRefV; - const IMAGE * fRefHV; - int MVmax, mvSum, mvCount; /* out */ - uint32_t minfcode; - uint32_t minbcode; -} SMPmotionData; + uint32_t minfcode, minbcode; + + uint8_t *tmp_buffer; + Bitstream *bs; + + Statistics *sStat; + void *pEnc; +} SMPData; -void MotionEstimateSMP(SMPmotionData * h); -void SMPMotionEstimationBVOP(SMPmotionData * h); +void MotionEstimateSMP(SMPData * h); +void SMPMotionEstimationBVOP(SMPData * h); -#endif /* SMP_MOTION_H */ \ No newline at end of file +#endif /* SMP_MOTION_H */