00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _WP_MCPREC_H_
00019 #define _WP_MCPREC_H_
00020
00021
00022 #define WP_MCPREC_PLUS0 4
00023 #define WP_MCPREC_PLUS1 5
00024 #define WP_MCPREC_MINUS0 6
00025 #define WP_MCPREC_MINUS1 7
00026 #define WP_MCPREC_MINUS_PLUS0 8
00027 #define WP_REGULAR 9
00028
00029 typedef struct
00030 {
00031 int PicNum;
00032 int POCNum;
00033 }
00034 WeightedPredRefX;
00035
00036 typedef struct
00037 {
00038 int algorithm;
00039 }
00040 WPXPass;
00041
00042 typedef struct
00043 {
00044 int num_wp_ref_list[2];
00045 WeightedPredRefX *wp_ref_list[2];
00046 WPXPass *curr_wp_rd_pass;
00047 WPXPass wp_rd_passes[3];
00048 }
00049 WPXObject;
00050
00051 WPXObject *pWPX;
00052
00053 void wpxInitWPXObject( void );
00054 void wpxFreeWPXObject( void );
00055 void wpxInitWPXPasses( InputParameters *params );
00056 void wpxModifyRefPicList( ImageParameters *img );
00057
00058
00059 int wpxDetermineWP( InputParameters *params, ImageParameters *img, int clist, int n );
00060 void wpxAdaptRefNum( ImageParameters *img );
00061 void wpxReorderLists( ImageParameters *img, Slice *currSlice );
00062
00063 #endif
00064