3 |
* XVID MPEG-4 VIDEO CODEC |
* XVID MPEG-4 VIDEO CODEC |
4 |
* - MB related header - |
* - MB related header - |
5 |
* |
* |
6 |
* Copyright(C) 2001 Michael Militzer <isibaar@videocoding.de> |
* Copyright(C) 2001 Michael Militzer <isibaar@xvid.org> |
7 |
* |
* |
8 |
* This program is free software ; you can redistribute it and/or modify |
* This program is free software ; you can redistribute it and/or modify |
9 |
* it under the terms of the GNU General Public License as published by |
* it under the terms of the GNU General Public License as published by |
29 |
#include "../encoder.h" |
#include "../encoder.h" |
30 |
#include "../bitstream/bitstream.h" |
#include "../bitstream/bitstream.h" |
31 |
|
|
|
/** MotionEstimation **/ |
|
|
|
|
|
bool MotionEstimation(MBParam * const pParam, |
|
|
FRAMEINFO * const current, |
|
|
FRAMEINFO * const reference, |
|
|
const IMAGE * const pRefH, |
|
|
const IMAGE * const pRefV, |
|
|
const IMAGE * const pRefHV, |
|
|
const IMAGE * const pGMC, |
|
|
const uint32_t iLimit); |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
GMEanalysis(const MBParam * const pParam, |
|
|
const FRAMEINFO * const current, |
|
|
const FRAMEINFO * const reference, |
|
|
const IMAGE * const pRefH, |
|
|
const IMAGE * const pRefV, |
|
|
const IMAGE * const pRefHV); |
|
|
|
|
|
WARPPOINTS |
|
|
GlobalMotionEst(MACROBLOCK * const pMBs, |
|
|
const MBParam * const pParam, |
|
|
const FRAMEINFO * const current, |
|
|
const FRAMEINFO * const reference, |
|
|
const IMAGE * const pRefH, |
|
|
const IMAGE * const pRefV, |
|
|
const IMAGE * const pRefHV); |
|
|
|
|
|
int |
|
|
GlobalMotionEstRefine( |
|
|
WARPPOINTS *const startwp, |
|
|
MACROBLOCK * const pMBs, |
|
|
const MBParam * const pParam, |
|
|
const FRAMEINFO * const current, |
|
|
const FRAMEINFO * const reference, |
|
|
const IMAGE * const pCurr, |
|
|
const IMAGE * const pRef, |
|
|
const IMAGE * const pRefH, |
|
|
const IMAGE * const pRefV, |
|
|
const IMAGE * const pRefHV); |
|
|
|
|
|
int |
|
|
globalSAD(const WARPPOINTS *const wp, |
|
|
const MBParam * const pParam, |
|
|
const MACROBLOCK * const pMBs, |
|
|
const FRAMEINFO * const current, |
|
|
const IMAGE * const pRef, |
|
|
const IMAGE * const pCurr, |
|
|
uint8_t *const GMCblock); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** MBMotionCompensation **/ |
|
|
|
|
|
void |
|
|
MBMotionCompensation(MACROBLOCK * const mb, |
|
|
const uint32_t i, |
|
|
const uint32_t j, |
|
|
const IMAGE * const ref, |
|
|
const IMAGE * const refh, |
|
|
const IMAGE * const refv, |
|
|
const IMAGE * const refhv, |
|
|
const IMAGE * const refGMC, |
|
|
IMAGE * const cur, |
|
|
int16_t * dct_codes, |
|
|
const uint32_t width, |
|
|
const uint32_t height, |
|
|
const uint32_t edged_width, |
|
|
const int32_t quarterpel, |
|
|
const int reduced_resolution, |
|
|
const int32_t rounding); |
|
32 |
|
|
33 |
/** MBTransQuant.c **/ |
/** MBTransQuant.c **/ |
34 |
|
|