--- mbfunctions.h 2002/08/19 19:19:40 1.10 +++ 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); @@ -169,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 */