transform.h

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

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

#if !defined( __TRANSFORM_H)
#define __TRANSFORM_H

//	*toDO*	implement real makefiles and add rigth include paths
#include	"../Common.h"		//	#include	"common/Common.h"
#include	"../Block.h"
#include	"../LumaMacroblock.h"

    //  *toDO* organize all the methods in this class
class Transform {

	public:

        //  convenience methods, non-virtual because they are just forwarding the call to the virtual versions
		void do4x4ForwardTransform( Block& block);
        void do16x16HadamarTransform( LumaMacroblock& macroBlock);
		void do4x4DCLumaForwardTransform( Block& block);

    public:

        virtual void doForwardTransform( LumaMacroblock& sourceMacroblock, LumaMacroblock& targetMacroblock, Block& targetDCBlock);
	
	public:
		
		virtual void do4x4ForwardTransform( Block& sourceBlock, Block& targetBlock) = 0;

        //  *noTE*  in practice this is do4x4DCLumaForwardTransform() applied 4x4 times
        virtual void do16x16HadamarTransform( LumaMacroblock& sourceMacroblock, LumaMacroblock& targetMacroblock) = 0;

		virtual void do4x4DCLumaForwardTransform( Block& sourceBlock, Block& targetBlock) = 0;

        /*	*toDO*
		public int[][] do4x4ForwardTransform( int[][] source) {
		public int[][] do4x4InverseQuantization( int[][] source, int qp, boolean chroma) {
		public int[][] do4x4DCLumaInverseTransform( int[][] source) {
		public int[][] do2x2DCChromaForwardTransform( int[][] source) {
		public int[][] do2x2DCChromaQuantization( int[][] source, int qp, boolean intra) {
		*/
};

#endif

/*  $Log:$
 *
 */

⌨️ 快捷键说明

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