Template
57 lines
2.4 KiB
C
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
|
|
|