--- mbfunctions.h 2002/08/19 19:19:40 1.10 +++ mbfunctions.h 2002/11/02 15:52:31 1.10.2.3 @@ -54,6 +54,7 @@ const uint32_t width, const uint32_t height, const uint32_t edged_width, + const uint32_t quarterpel, const uint32_t rounding); @@ -169,6 +170,16 @@ 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 */ @@ -177,7 +188,7 @@ 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 */