⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpleintrapredictor.h

📁 一个可以在DM642上运新的h.264算法
💻 H
字号:
/*	Open H.264
 *
 *	#include	<standard_disclaimer>
 *
 *  Authors:    aitorgaray@yifan.net
 *              _
 */

#include    "../Common.h"
#include    "IntraPredictor.h"

#if !defined( __SIMPLEINTRAPREDICTOR_H)
#define __SIMPLEINTRAPREDICTOR_H

class SimpleIntraPredictor:IntraPredictor {

    public:

        virtual void predictLuma4x4( /* in */ Block& source, bool upperLeftSampleAvailable, bool upperSamplesAvailable, bool leftSamplesAvailable,
                                     /* out */ Block predictions[ LUMA_4x4_PREDICTION_COUNT], bool validPredictions[ LUMA_4x4_PREDICTION_COUNT]);

        virtual void predictLuma16x16( /* in */ LumaMacroblock& source, bool upperLeftSampleAvailable, bool upperSamplesAvailable, bool leftSamplesAvailable,
                                       /* out */ LumaMacroblock predictions[ LUMA_16x16_PREDICTION_COUNT], bool validPredictions[ LUMA_16x16_PREDICTION_COUNT]);


        virtual void predictChroma8x8( /* in */ ChromaMacroblock& source, bool upperLeftSampleAvailable, bool upperSamplesAvailable, bool leftSamplesAvailable,
                                       /* out */ ChromaMacroblock predictions[ CHROMA_8x8_PREDICTION_COUNT], bool validPredictions[ CHROMA_8x8_PREDICTION_COUNT]);

    private:

        void predictLuma4x4Mode0( byte A, byte B, byte C, byte D, Block& prediction);

        void predictLuma4x4Mode1( byte I, byte J, byte K, byte L, Block& prediction);
        
        void predictLuma4x4Mode2( bool upperSamplesAvailable, bool leftSamplesAvailable,
                                  byte A, byte B, byte C, byte D, byte E, byte F, byte G, byte H, byte I, byte J, byte K, byte L, Block& prediction);

        void predictLuma4x4Mode3( byte A, byte B, byte C, byte D, byte E, byte F, byte G, byte H, Block& prediction);
        
        void predictLuma4x4Mode4( byte M, byte A, byte B, byte C, byte D, byte E, byte F, byte G, byte H, byte I, byte J, byte K, byte L, Block& prediction);
        
        void predictLuma4x4Mode5( byte M, byte A, byte B, byte C, byte D, byte E, byte F, byte G, byte H, byte I, byte J, byte K, byte L, Block& prediction);
        
        void predictLuma4x4Mode6( byte M, byte A, byte B, byte C, byte D, byte E, byte F, byte G, byte H, byte I, byte J, byte K, byte L, Block& prediction);
        
        void predictLuma4x4Mode7( byte A, byte B, byte C, byte D, byte E, byte F, byte G, byte H, Block& prediction);
        
        void predictLuma4x4Mode8( byte I, byte J, byte K, byte L, Block& prediction);
};



#endif

/*  $Log:$
 *
 */

⌨️ 快捷键说明

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