intrapredictionprocess.h

来自「一个可以在DM642上运新的h.264算法」· C头文件 代码 · 共 50 行

H
50
字号
/*	Open H.264
 *
 *	#include	<standard_disclaimer>
 *
 *  Authors:    aitorgaray@yifan.net
 *              _
 */

#include    "../Common.h"
#include    "IntraPredictor.h"
#include    "../transform/Transform.h"
#include    "../LumaMacroblock.h"
#include    "../sad/SADCalculator.h"
#include    "../quantize/Quantize.h"

#if !defined( __INTRA_PREDICTION_PROCESS_H)
#define __INTRA_PREDICTION_PROCESS_H

class IntraPredictionProcess {

    protected:

        IntraPredictor&     _intraPredictor;
        Transform&          _transform;
        SADCalculator&      _sadCalculator;
        Quantize&           _quantize;
    
    protected:

        //  *noTE*  'Transform' used by Hadamar based "rate-distorsion" optimization
        //  *toDO*  in a future, real rate-distortion analysis will require 'Quantize' & 'Entropy'
        IntraPredictionProcess( IntraPredictor& intraPredictor, Transform& transform, SADCalculator& sadCalculator, Quantize& quantize);

    public:

        //  *toDO*  generalize and sync 'Plane', 'Frame'... names
        //  *noTE*  the method needs the quantization parameter ( qp) for the decoding loop-back
        //  returns:    16  if 16x16 choosed, macroblockMode is filled
        //  returns:    4   if 4x4 choosed, blockModes[][] is filled
        virtual int predictLumaMacroBlock( /* in out */ LumaMacroblock& macroblock,
                                           /* out */ int* macroblockMode, int blockModes[ 4][ 4],
                                           /* in */ int qp) = 0;
};

#endif

/*  $Log:$
 *
 */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?