📄 loopfilter.h
字号:
/*************************************************************************
AVS1-P2视频解码器源码
版权所有:联合信源数字音视频技术(北京)有限公司, (c) 2005-2006
AVS1-P2 Video Decoder Source Code
(c) Copyright, NSCC All Rights Reserved, 2005-2006
*************************************************************************
Distributed under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*************************************************************************/
/*************************************************************************
文件名称: loopfilter.h
描 述: loopfilter.cpp 的申明文件
*************************************************************************/
/*************************************************************************
Revision History
data Modification Author
2005-4-6 Created jthou
*************************************************************************/
#ifndef _LOOPFILTER_H_
#define _LOOPFILTER_H_
#include "define.h"
//const table ------------------------------------
static const byte ALPHA_TABLE[64] =
{
0, 0, 0, 0, 0, 0, 1, 1,
1, 1, 1, 2, 2, 2, 3, 3,
4, 4, 5, 5, 6, 7, 8, 9,
10, 11, 12, 13, 15, 16, 18, 20,
22, 24, 26, 28, 30, 33, 33, 35,
35, 36, 37, 37, 39, 39, 42, 44,
46, 48, 50, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64
};
static const byte BETA_TABLE[64] =
{
0, 0, 0, 0, 0, 0, 1, 1,
1, 1, 1, 1, 1, 2, 2, 2,
2, 2, 3, 3, 3, 3, 4, 4,
4, 4, 5, 5, 5, 5, 6, 6,
6, 7, 7, 7, 8, 8, 8, 9,
9, 10, 10, 11, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22,
23, 23, 24, 24, 25, 25, 26, 27
};
static const byte CLIP_TABLE[64] =
{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 3, 3,
3, 3, 3, 3, 3, 4, 4, 4,
5, 5, 5, 6, 6, 6, 7, 7,
7, 7, 8, 8, 8, 9, 9, 9
};
//functions------------------------------------------
void DeblockMb_BsV00_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsV10_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsV01_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsV11_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsH00_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsH01_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsH10_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsH11_Luma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsV00_Chroma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsV10_Chroma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsH00_Chroma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockMb_BsH01_Chroma(AVS_INT Bs, MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, AVS_INT iImgType, AVS_INT iAlphaOffset, AVS_INT iBetaOffset, AVS_BYTE* pImgData, AVS_INT iStride);
void DeblockOneMacroBlock(MBINFO* pMbInfo, AVS_DWORD dwMbIndex, AVS_DWORD dwMbWidth, STREAMINFO* pStrmInfo, VIDEODATA* pCurrVD);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -