Files

57 lines
2.4 KiB
C

/*!
***************************************************************************
* \file
* wp.h
*
* \author
* Alexis Michael Tourapis
*
* \date
* 22. February 2008
*
* \brief
* Headerfile for weighted prediction support
**************************************************************************
*/
#ifndef _WP_H_
#define _WP_H_
#include "wp_lms.h"
#include "wp_mcprec.h"
#include "wp_mciter.h"
#define DEBUG_WP 0
void InitWP (VideoParameters *p_Vid, InputParameters *p_Inp, int force_wp_method);
void ResetWP (VideoParameters *p_Vid, InputParameters *p_Inp);
extern void EstimateWPBSliceAlg0 (Slice *currSlice);
extern void EstimateWPPSliceAlg0 (Slice *currSlice, int offset);
extern int TestWPPSliceAlg0 (Slice *currSlice, int offset);
extern int TestWPBSliceAlg0 (Slice *currSlice, int method);
extern double ComputeImgSum (imgpel **CurrentImage, int height, int width);
extern void ComputeImgSumBlockBased(imgpel **CurrentImage, int height_in_blk, int width_in_blk, int blk_size_y, int blk_size_x, int start_blk, int end_blk, double *dc);
extern int64 ComputeSumBlockBased (imgpel **CurrentImage, int height_in_blk, int width_in_blk, int blk_size_y, int blk_size_x, int start_blk, int end_blk);
extern void ComputeImplicitWeights (Slice *currSlice,
short default_weight[3],
short im_weight[6][MAX_REFERENCE_PICTURES][MAX_REFERENCE_PICTURES][3]);
extern void ComputeExplicitWPParamsLMS(Slice *currSlice,
int select_offset,
int start_mb,
int end_mb,
short default_weight[3],
short weight[6][MAX_REFERENCE_PICTURES][3],
short offset[6][MAX_REFERENCE_PICTURES][3]);
extern void ComputeExplicitWPParamsJNT(Slice *currSlice,
int start_mb,
int end_mb,
short default_weight[3],
short weight[6][MAX_REFERENCE_PICTURES][3],
short offset[6][MAX_REFERENCE_PICTURES][3]);
#endif