亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
91在线porny国产在线看| 91精品国产一区二区三区蜜臀 | 欧美日韩一区精品| 精品免费一区二区三区| 亚洲欧洲综合另类| 国产毛片精品视频| 欧美日韩大陆在线| 亚洲黄色小视频| 成人福利视频在线| 日韩欧美国产小视频| 亚洲自拍都市欧美小说| 不卡高清视频专区| 精品国产一区二区三区久久影院| 亚洲大片免费看| 色综合夜色一区| 久久久精品国产99久久精品芒果| 日韩av在线发布| 欧美三级中文字幕在线观看| 成人欧美一区二区三区小说 | 蜜臀va亚洲va欧美va天堂| www.久久久久久久久| 国产人久久人人人人爽| 狠狠色狠狠色综合| 精品国产乱码久久久久久闺蜜 | 亚洲午夜激情网页| 一本到不卡免费一区二区| 国产精品久久久久久一区二区三区 | 国产一区二区三区| 精品三级av在线| 日韩精品电影在线观看| 欧美日韩五月天| 丝袜美腿亚洲综合| 欧美一区二区视频网站| 麻豆精品蜜桃视频网站| 欧美mv日韩mv国产网站app| 老司机精品视频在线| 欧美电视剧在线观看完整版| 日本不卡一区二区三区| 日韩精品在线一区二区| 国内精品自线一区二区三区视频| 欧美精品一区二区不卡| 国产成人av电影| 综合久久久久久久| 欧美日韩视频在线一区二区| 日韩极品在线观看| 亚洲精品一区二区三区四区高清| 国产精品亚洲午夜一区二区三区| 国产精品久久久久久久岛一牛影视| 91丝袜美腿高跟国产极品老师 | 一区二区三区四区视频精品免费| 色综合欧美在线| 亚洲成人午夜电影| 欧美一区二区三级| 国产乱理伦片在线观看夜一区| 亚洲欧美一区二区在线观看| 欧美日韩国产美女| 久久99国产精品麻豆| 国产精品午夜久久| 色狠狠综合天天综合综合| 视频一区二区国产| 国产拍欧美日韩视频二区| 色综合久久99| 久久9热精品视频| 中文字幕在线观看不卡| 欧美日韩国产另类一区| 国产成人精品三级| 亚洲一区自拍偷拍| 日韩三级av在线播放| fc2成人免费人成在线观看播放| 亚洲韩国精品一区| 久久久久高清精品| 欧美日韩1区2区| 成人av在线资源| 免费成人性网站| 亚洲一线二线三线视频| 欧美激情艳妇裸体舞| 欧美精品一二三区| 不卡视频一二三四| 精品一区二区免费| 亚洲二区在线观看| 欧美激情综合五月色丁香| 欧美巨大另类极品videosbest | 777午夜精品免费视频| 狠狠色丁香久久婷婷综| 婷婷久久综合九色综合绿巨人| 中文字幕av资源一区| 337p亚洲精品色噜噜| 91久久精品一区二区二区| 国产69精品久久777的优势| 美脚の诱脚舐め脚责91| 亚洲午夜激情av| 一区二区三区在线观看网站| 中文字幕第一区二区| 欧美zozo另类异族| 制服.丝袜.亚洲.中文.综合| 在线看一区二区| 972aa.com艺术欧美| 高清国产一区二区| 狠狠色伊人亚洲综合成人| 日本中文在线一区| 香蕉久久一区二区不卡无毒影院| 亚洲日本护士毛茸茸| 中文字幕不卡在线| 日本一区二区三区dvd视频在线| 日韩欧美综合一区| 日韩欧美在线123| 日韩一区二区三区免费观看| 在线成人午夜影院| 91精品国产色综合久久不卡蜜臀| 欧美亚洲国产一区在线观看网站 | 日韩一区二区免费高清| 欧美日韩国产一区| 欧美日韩国产bt| 欧美日韩国产一二三| 欧美精品日韩一区| 欧美一级xxx| 精品久久一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 久久噜噜亚洲综合| 欧美激情一区二区三区不卡| 中文字幕高清一区| 亚洲欧美一区二区三区极速播放| 亚洲免费观看在线观看| 亚洲一区二区在线免费看| 午夜精品福利在线| 蜜桃一区二区三区在线观看| 狠狠色狠狠色综合系列| 成人黄色免费短视频| 色婷婷综合五月| 91精品久久久久久久久99蜜臂| 日韩一区二区三区四区| 亚洲国产精品国自产拍av| 亚洲日本欧美天堂| 图片区小说区区亚洲影院| 激情综合色综合久久综合| 国产.欧美.日韩| 日本高清不卡视频| 欧美日韩在线播放三区四区| 日韩欧美一级二级| 欧美激情综合在线| 亚洲第一成人在线| 国产精品白丝av| 91福利在线观看| 精品奇米国产一区二区三区| 中文字幕欧美国产| 午夜亚洲福利老司机| 精品在线播放免费| 一本到高清视频免费精品| 欧美一区二区精品在线| 国产精品国产三级国产三级人妇| 亚洲成a人v欧美综合天堂下载| 乱中年女人伦av一区二区| 国产成人一区在线| 欧美日韩精品一区二区三区四区| 欧美精品一区二区高清在线观看 | 色综合久久久久久久| 日韩亚洲欧美一区二区三区| 国产精品国模大尺度视频| 日韩国产精品91| youjizz久久| 26uuu亚洲综合色欧美| 亚洲一区电影777| 国产精品羞羞答答xxdd | 亚洲国产sm捆绑调教视频 | 久久精品国产久精国产| 波多野结衣在线一区| 91麻豆精品国产自产在线 | 色中色一区二区| 一区二区三区四区乱视频| 国产激情视频一区二区在线观看 | 亚洲成人在线观看视频| 亚洲制服欧美中文字幕中文字幕| 午夜精品久久久久久| 国产精品亚洲人在线观看| 播五月开心婷婷综合| 色综合天天综合狠狠| 综合婷婷亚洲小说| 不卡一卡二卡三乱码免费网站| 精品成人一区二区三区| 91猫先生在线| 色吧成人激情小说| 天堂va蜜桃一区二区三区漫画版| 欧美一区二区三区日韩视频| 国内久久婷婷综合| 欧美成人乱码一区二区三区| 奇米影视一区二区三区| 日韩久久免费av| 国产成人精品影院| 国产精品久久久久久久久搜平片| 韩国av一区二区三区在线观看| 久久综合久久综合九色| 韩国精品久久久| 国产精品蜜臀av| 色老综合老女人久久久| 亚洲一区二区影院| 欧美不卡一区二区三区四区| 国产在线视视频有精品| 中文字幕欧美区| 日韩欧美国产小视频| 成人美女视频在线观看|