--- mbfunctions.h 2002/08/19 19:19:40 1.10 +++ mbfunctions.h 2002/12/08 06:43:34 1.10.2.4 @@ -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,15 +170,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 */