亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? padenc.cpp

?? 此源碼是在VC平臺下,實現MPEG4編解碼的源碼
?? CPP
字號:
/*************************************************************************

This software module was originally developed by 

	Ming-Chieh Lee (mingcl@microsoft.com), Microsoft Corporation
	(date: June, 1997)
and edited by
        Wei Wu (weiwu@stallion.risc.rockwell.com) Rockwell Science Center

in the course of development of the MPEG-4 Video (ISO/IEC 14496-2). 
This software module is an implementation of a part of one or more MPEG-4 Video tools 
as specified by the MPEG-4 Video. 
ISO/IEC gives users of the MPEG-4 Video free license to this software module or modifications 
thereof for use in hardware or software products claiming conformance to the MPEG-4 Video. 
Those intending to use this software module in hardware or software products are advised that its use may infringe existing patents. 
The original developer of this software module and his/her company, 
the subsequent editors and their companies, 
and ISO/IEC have no liability for use of this software module or modifications thereof in an implementation. 
Copyright is not released for non MPEG-4 Video conforming products. 
Microsoft retains full right to use the code for his/her own purpose, 
assign or donate the code to a third party and to inhibit third parties from using the code for non MPEG-4 Video conforming products. 
This copyright notice must be included in all copies or derivative works. 

Copyright (c) 1996, 1997.


Module Name:

	padEnc.cpp

Abstract:

	MB Padding for Intra-texture coding.

Revision History:

*************************************************************************/

// NOTE: 
//		LPE padding is working on the current MB whose size is always a MB
//		MC padding is  working on the (reference) quantized VOP

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream.h>

#include "typeapi.h"
#include "codehead.h"
#include "global.hpp"
#include "entropy/bitstrm.hpp"
#include "entropy/entropy.hpp"
#include "entropy/huffman.hpp"
#include "mode.hpp"
#include "vopses.hpp"
#include "vopseenc.hpp"

Void CVideoObjectEncoder::LPEPadding (const CMBMode* pmbmd)
{
	const PixelC* ppxlcBlkB;
	PixelC* ppxlcBlk;
	if (pmbmd -> m_rgTranspStatus [1] == PARTIAL) {
		ppxlcBlkB = m_ppxlcCurrMBBY;
		ppxlcBlk = m_ppxlcCurrMBY;
		LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
	}
	if (pmbmd -> m_rgTranspStatus [2] == PARTIAL) {
		ppxlcBlkB = m_ppxlcCurrMBBY + BLOCK_SIZE;
		ppxlcBlk = m_ppxlcCurrMBY + BLOCK_SIZE;
		LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
	}
	if (pmbmd -> m_rgTranspStatus [3] == PARTIAL) {
		ppxlcBlkB = m_ppxlcCurrMBBY + MB_SIZE * BLOCK_SIZE;
		ppxlcBlk = m_ppxlcCurrMBY + MB_SIZE * BLOCK_SIZE;
		LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
	}
	if (pmbmd -> m_rgTranspStatus [4] == PARTIAL) {
		ppxlcBlkB = m_ppxlcCurrMBBY + MB_SIZE * BLOCK_SIZE + BLOCK_SIZE;
		ppxlcBlk = m_ppxlcCurrMBY + MB_SIZE * BLOCK_SIZE + BLOCK_SIZE;
		LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
	}
	if (pmbmd -> m_rgTranspStatus [5] == PARTIAL) {
		LPEPaddingBlk (m_ppxlcCurrMBU, m_ppxlcCurrMBBUV, BLOCK_SIZE);
		LPEPaddingBlk (m_ppxlcCurrMBV, m_ppxlcCurrMBBUV, BLOCK_SIZE);
	}
	if (m_volmd.fAUsage == EIGHT_BIT) {
		if (pmbmd -> m_rgTranspStatus [1] == PARTIAL) {
			ppxlcBlkB = m_ppxlcCurrMBBY;
			ppxlcBlk = m_ppxlcCurrMBA;
			LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
		}
		if (pmbmd -> m_rgTranspStatus [2] == PARTIAL) {
			ppxlcBlkB = m_ppxlcCurrMBBY + BLOCK_SIZE;
			ppxlcBlk = m_ppxlcCurrMBA + BLOCK_SIZE;
			LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
		}
		if (pmbmd -> m_rgTranspStatus [3] == PARTIAL) {
			ppxlcBlkB = m_ppxlcCurrMBBY + MB_SIZE * BLOCK_SIZE;
			ppxlcBlk = m_ppxlcCurrMBA + MB_SIZE * BLOCK_SIZE;
			LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
		}
		if (pmbmd -> m_rgTranspStatus [4] == PARTIAL) {
			ppxlcBlkB = m_ppxlcCurrMBBY + MB_SIZE * BLOCK_SIZE + BLOCK_SIZE;
			ppxlcBlk = m_ppxlcCurrMBA + MB_SIZE * BLOCK_SIZE + BLOCK_SIZE;
			LPEPaddingBlk (ppxlcBlk, ppxlcBlkB, MB_SIZE);
		}
	}
}

#define OUTSIDE_BLOCK_VALUE		1
CU8Image uciBuff (CRct (0, 0, BLOCK_SIZE + 2, BLOCK_SIZE + 2), OUTSIDE_BLOCK_VALUE);
PixelC* ppxlcBuff = (PixelC*) uciBuff.pixels () + BLOCK_SIZE + 3;

#define BLOCK_SIZE_PLUS2		10

Void CVideoObjectEncoder::LPEPaddingBlk (
	PixelC* ppxlcBlk, const PixelC* ppxlcBlkB,
	UInt uiSize)
{
	Int iUnit = sizeof(PixelC); // NBIT: for memcpy
	UInt uiNumNonTranspPixels = 0;
	UInt ix, iy;
	UInt uiSum = 0;
	PixelC* ppxlcBuffTmp = ppxlcBuff;
	PixelC* ppxlcBlkTmp = ppxlcBlk;
	const PixelC* ppxlcBlkBTmp = ppxlcBlkB;
	for (iy = 0; iy < BLOCK_SIZE; iy++) {
		memcpy (ppxlcBuffTmp, ppxlcBlkBTmp, BLOCK_SIZE*iUnit);
		for (ix = 0; ix < BLOCK_SIZE; ix++) {
			if (ppxlcBlkBTmp [ix] != transpValue)	{
				uiSum += ppxlcBlkTmp [ix];
				uiNumNonTranspPixels++;
			}
		}
		ppxlcBlkBTmp += uiSize;
		ppxlcBlkTmp += uiSize;
		ppxlcBuffTmp += BLOCK_SIZE_PLUS2;
	}
	assert (uiNumNonTranspPixels != 0);
	uiSum /= uiNumNonTranspPixels;

	UInt uiSumNeighbor, uiNumNonTranpNeighbor;
	ppxlcBuffTmp = ppxlcBuff;
	for (iy = 0; iy < BLOCK_SIZE; iy++) {
		for (ix = 0; ix < BLOCK_SIZE; ix++) {
			if (ppxlcBlkB [ix] == transpValue) {
				uiSumNeighbor = uiNumNonTranpNeighbor = 0;
				if (ppxlcBuffTmp [ix - 1] != OUTSIDE_BLOCK_VALUE) {
					uiNumNonTranpNeighbor++;
					uiSumNeighbor += (ppxlcBuffTmp [ix - 1] == transpValue) ? uiSum : ppxlcBlk [ix - 1];
				}
				if (ppxlcBuffTmp [ix + 1] != OUTSIDE_BLOCK_VALUE) {
					uiNumNonTranpNeighbor++;
					uiSumNeighbor += (ppxlcBuffTmp [ix + 1] == transpValue) ? uiSum : ppxlcBlk [ix + 1];
				}
				if (ppxlcBuffTmp [ix - BLOCK_SIZE_PLUS2] != OUTSIDE_BLOCK_VALUE) {
					uiNumNonTranpNeighbor++;
					uiSumNeighbor += (ppxlcBuffTmp [ix - BLOCK_SIZE_PLUS2] == transpValue) ? uiSum : ppxlcBlk [ix - uiSize];
				}
				if (ppxlcBuffTmp [ix + BLOCK_SIZE_PLUS2] != OUTSIDE_BLOCK_VALUE) {
					uiNumNonTranpNeighbor++;
					uiSumNeighbor += (ppxlcBuffTmp [ix + BLOCK_SIZE_PLUS2] == transpValue) ? uiSum : ppxlcBlk [ix + uiSize];
				}
				ppxlcBlk [ix] = (PixelC) (uiSumNeighbor / uiNumNonTranpNeighbor);
			}
		}
		ppxlcBlkB += uiSize;
		ppxlcBlk += uiSize;
		ppxlcBuffTmp += BLOCK_SIZE_PLUS2;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
94-欧美-setu| 色婷婷综合中文久久一本| 国产精品国产自产拍高清av | 日韩精品一级二级| 国产亚洲精品中文字幕| 欧美在线视频日韩| 成人中文字幕在线| 日本麻豆一区二区三区视频| 亚洲欧美日韩中文播放| xf在线a精品一区二区视频网站| 欧美视频一区二区三区在线观看| 床上的激情91.| 国产综合色视频| 婷婷综合在线观看| 最新国产成人在线观看| 国产亚洲综合在线| 日韩欧美自拍偷拍| 欧美区一区二区三区| 色婷婷综合中文久久一本| 国产精品 日产精品 欧美精品| 奇米精品一区二区三区四区| 夜夜嗨av一区二区三区四季av| 国产精品美女一区二区| 国产亚洲婷婷免费| 精品精品欲导航| 欧美一级夜夜爽| 欧美美女网站色| 91久久精品国产91性色tv| 成人黄色免费短视频| 国产乱国产乱300精品| 另类欧美日韩国产在线| 日本在线不卡视频| 香蕉加勒比综合久久| 一区二区高清视频在线观看| 中文字幕字幕中文在线中不卡视频| 国产欧美一区二区三区在线看蜜臀 | 1024亚洲合集| 免费在线成人网| 日本在线不卡一区| 日本不卡一区二区三区高清视频| 婷婷成人综合网| 日韩一区精品字幕| 日本不卡免费在线视频| 日本成人在线网站| 麻豆免费看一区二区三区| 免费成人美女在线观看.| 久久99久久99精品免视看婷婷| 奇米一区二区三区av| 精品一区二区三区在线视频| 精品亚洲成a人| 国产精品996| 99久久婷婷国产综合精品电影| 99国内精品久久| 欧洲一区在线电影| 欧美精品精品一区| 欧美成人一区二区三区| 国产香蕉久久精品综合网| 国产精品乱码妇女bbbb| 亚洲人成小说网站色在线| 亚洲国产毛片aaaaa无费看| 亚洲网友自拍偷拍| 免费高清在线视频一区·| 精品一区二区三区免费| 成人精品鲁一区一区二区| 91麻豆精东视频| 欧美狂野另类xxxxoooo| 日韩女优电影在线观看| 欧美激情中文字幕| 一区二区三区不卡视频在线观看| 日韩电影一区二区三区| 国产麻豆日韩欧美久久| 一本大道综合伊人精品热热| 欧美日韩国产一区| 久久蜜桃av一区二区天堂| 中文字幕乱码一区二区免费| 亚洲一二三四区不卡| 免费人成黄页网站在线一区二区| 国产成人av电影| 欧美午夜片在线观看| 精品理论电影在线| 一区二区视频在线看| 理论片日本一区| 99视频在线观看一区三区| 欧美一区二区三区播放老司机| 久久精品男人天堂av| 亚洲国产精品久久人人爱| 国产一区免费电影| 欧美午夜精品一区二区蜜桃| 精品理论电影在线观看| 亚洲综合图片区| 国产精品18久久久久久久网站| 91久久国产最好的精华液| 久久综合视频网| 亚洲成人动漫av| 成人午夜短视频| 日韩免费看的电影| 亚洲黄色录像片| 国产传媒日韩欧美成人| 欧美精品一卡两卡| 亚洲欧美一区二区三区极速播放| 久草中文综合在线| 欧美人狂配大交3d怪物一区| 国产精品每日更新| 久久99精品久久久久婷婷| 欧美婷婷六月丁香综合色| 亚洲国产精品成人综合色在线婷婷| 日韩精品一二三四| 欧美在线免费视屏| 国产精品成人网| 国产精品99久久久久久似苏梦涵| 91麻豆精品国产91久久久久久| 亚洲视频一二区| 粉嫩久久99精品久久久久久夜| 日韩亚洲欧美一区| 亚洲一区二区精品久久av| 不卡电影免费在线播放一区| 久久无码av三级| 免费看欧美女人艹b| 欧美日韩在线播放三区四区| 亚洲视频电影在线| 成人黄色a**站在线观看| 久久综合丝袜日本网| 久久成人综合网| 欧美一区二区网站| 日日欢夜夜爽一区| 欧美日韩小视频| 亚洲一区二区av在线| 色噜噜久久综合| 亚洲乱码中文字幕| 色综合天天综合给合国产| 亚洲国产精品精华液ab| 国产精品一级片在线观看| 精品国产一二三| 精品一区二区国语对白| 日韩欧美一区中文| 久久精品国产亚洲aⅴ| 日韩欧美久久一区| 蜜桃在线一区二区三区| 欧美岛国在线观看| 韩国中文字幕2020精品| 337p粉嫩大胆噜噜噜噜噜91av| 国产一区二区三区黄视频 | 国产成人综合自拍| 国产欧美综合在线| 波多野结衣精品在线| 亚洲欧洲成人精品av97| 99久久综合精品| 亚洲激情在线激情| 欧美日韩综合一区| 日韩精品91亚洲二区在线观看| 91精品国产aⅴ一区二区| 人人精品人人爱| 26uuu欧美日本| 成人免费av在线| 一区二区三区在线观看国产| 欧美三级日韩在线| 日av在线不卡| 国产亚洲精品超碰| 972aa.com艺术欧美| 亚洲444eee在线观看| 欧美一区二区三区性视频| 国产在线视频一区二区三区| 中文字幕免费一区| 欧美韩国日本一区| 波多野结衣精品在线| 亚洲大片一区二区三区| 日韩你懂的在线观看| 成人黄色电影在线| 午夜精品福利一区二区蜜股av| 欧美电视剧在线观看完整版| 粉嫩av亚洲一区二区图片| 一区二区激情小说| 精品日韩欧美在线| 97精品电影院| 免费在线观看一区二区三区| 国产清纯在线一区二区www| 色婷婷久久一区二区三区麻豆| 日韩av一区二区三区四区| 欧美激情一二三区| 在线观看亚洲专区| 久久99九九99精品| 亚洲柠檬福利资源导航| 欧美r级电影在线观看| 99精品久久只有精品| 免费观看30秒视频久久| 亚洲欧洲成人自拍| 精品电影一区二区| 在线观看视频91| 国产黑丝在线一区二区三区| 亚洲一区二区在线观看视频| 国产亚洲欧美中文| 欧美日韩视频在线一区二区| 国产成人午夜99999| 视频一区在线视频| 中文字幕一区二区三区精华液| 91精选在线观看| 91免费在线看| 国产福利91精品| 蜜臀av一级做a爰片久久| 亚洲精品国产第一综合99久久|