--- mbfunctions.h 2002/08/09 19:58:42 1.9 +++ mbfunctions.h 2003/01/03 12:45:30 1.10.2.6 @@ -54,6 +54,8 @@ const uint32_t width, const uint32_t height, const uint32_t edged_width, + const int quarterpel, + const int reduced_resolution, const uint32_t rounding); @@ -106,8 +108,6 @@ uint8_t MBTransQuantInterBVOP(const MBParam * pParam, FRAMEINFO * frame, MACROBLOCK * pMB, - const uint32_t x_pos, - const uint32_t y_pos, int16_t data[6 * 64], int16_t qcoeff[6 * 64]); @@ -171,15 +171,25 @@ uint32_t MBDecideFieldDCT(int16_t data[6 * 64]); /* <- decide whether to use field-based DCT for interlacing */ +typedef uint32_t (MBFIELDTEST) (int16_t data[6 * 64]); /* function pointer for field test */ +typedef MBFIELDTEST *MBFIELDTEST_PTR; + +/* global field test pointer for xvid.c */ +extern MBFIELDTEST_PTR MBFieldTest; + +/* field test implementations */ +MBFIELDTEST MBFieldTest_c; +MBFIELDTEST MBFieldTest_mmx; + void MBFrameToField(int16_t data[6 * 64]); /* de-interlace vertical Y blocks */ /** MBCoding.c **/ -void MBSkip(Bitstream * bs); /* just the bitstream. Since MB is skipped, no info is needed */ +/* void MBSkip(Bitstream * bs); just the bitstream. Since MB is skipped, no info is needed */ -void MBCoding(const FRAMEINFO * frame, /* <-- the parameter for coding of the bitstream */ +void MBCoding(const FRAMEINFO * const frame, /* <-- the parameter for coding of the bitstream */ MACROBLOCK * pMB, /* <-- Info of the MB to be coded */