00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _SLICE_H_
00021 #define _SLICE_H_
00022
00023 #include "global.h"
00024 #include "mbuffer.h"
00025 #include "rdopt_coding_state.h"
00026
00027 static const int QP2QUANT[40]=
00028 {
00029 1, 1, 1, 1, 2, 2, 2, 2,
00030 3, 3, 3, 4, 4, 4, 5, 6,
00031 6, 7, 8, 9,10,11,13,14,
00032 16,18,20,23,25,29,32,36,
00033 40,45,51,57,64,72,81,91
00034 };
00035
00036
00037 extern int encode_one_slice ( ImageParameters *p_Img, InputParameters *p_Inp, int SliceGroupId, int TotalCodedMBs );
00038 extern int encode_one_slice_MBAFF ( ImageParameters *p_Img, InputParameters *p_Inp, int SliceGroupId, int TotalCodedMBs );
00039 extern void init_slice ( ImageParameters *p_Img, InputParameters *p_Inp, Slice **currSlice, int start_mb_addr );
00040 extern void free_slice_list ( Picture *currPic );
00041
00042 extern void SetLambda(ImageParameters *p_Img, InputParameters *p_Inp, int j, int qp, double lambda_scale);
00043 extern void SetLagrangianMultipliersOn( ImageParameters *p_Img, InputParameters *p_Inp );
00044 extern void SetLagrangianMultipliersOff( ImageParameters *p_Img, InputParameters *p_Inp );
00045
00046 #endif