Template
53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
/*!
|
|
***************************************************************************
|
|
* \file
|
|
* wp_mcprec.h
|
|
*
|
|
* \brief
|
|
* Headerfile for Improved Motion Compensatation Precision Scheme using Weighted Prediction
|
|
* \author
|
|
* Main contributors (see contributors.h for copyright, address and affiliation details)
|
|
* - Athanasios Leontaris <aleon@dolby.com>
|
|
*
|
|
* \date
|
|
* 16 July 2008
|
|
*
|
|
**************************************************************************
|
|
*/
|
|
|
|
#ifndef _WP_MCPREC_H_
|
|
#define _WP_MCPREC_H_
|
|
|
|
typedef struct
|
|
{
|
|
int PicNum; // PicNum/FrameNum
|
|
int POCNum; // POC
|
|
}
|
|
WeightedPredRefX;
|
|
|
|
typedef struct
|
|
{
|
|
int algorithm;
|
|
}
|
|
WPXPass;
|
|
|
|
typedef struct wpx_object
|
|
{
|
|
int num_wp_ref_list[2]; // num of elements in each of the above matrices [LIST]
|
|
WeightedPredRefX *wp_ref_list[2]; // structure with reordering and WP information for ref frames [LIST]
|
|
WPXPass *curr_wp_rd_pass;
|
|
WPXPass wp_rd_passes[3]; // frame_picture [0...4] (MultiRefWeightedPred == 2)
|
|
}
|
|
WPXObject;
|
|
|
|
extern void wpxInitWPXObject( VideoParameters *p_Vid );
|
|
extern void wpxFreeWPXObject( VideoParameters *p_Vid );
|
|
extern void wpxInitWPXPasses( VideoParameters *p_Vid, InputParameters *p_Inp );
|
|
extern void wpxModifyRefPicList( Slice *currSlice );
|
|
// Note that at some point, InputParameters p_Inp contents should be copied into VideoParameters *p_Vid.
|
|
// This would eliminate need of having to use both structures
|
|
extern int wpxDetermineWP( Slice *currSlice, int clist, int n );
|
|
extern void wpxAdaptRefNum( Slice *currSlice );
|
|
|
|
#endif
|