mb_utils.cpp revision 3306cfee3bf38ab207a0504e49c2d492bb73ffbf
14f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project/* ------------------------------------------------------------------ 24f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * Copyright (C) 1998-2009 PacketVideo 34f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * 44f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 54f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * you may not use this file except in compliance with the License. 64f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * You may obtain a copy of the License at 74f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * 84f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 94f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * 104f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 114f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 124f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 134f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * express or implied. 144f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * See the License for the specific language governing permissions 154f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * and limitations under the License. 164f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project * ------------------------------------------------------------------- 174f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project */ 184f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project#include "mp4dec_lib.h" 194f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 204f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project/* ====================================================================== / 214f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project Function : PutSKIPPED_MB() 224f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project Date : 04/03/2000 234f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project/ ====================================================================== */ 244f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 254f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Projectvoid PutSKIPPED_MB(uint8 *comp, uint8 *prev, int width) 264f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project{ 274f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project int32 *temp0, *temp1; 284f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project int row; 294f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project row = MB_SIZE; 304f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 314f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 324f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project while (row) 334f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project { 344f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 354f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 364f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 374f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 384f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 394f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[2] = temp0[2]; 404f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[3] = temp0[3]; 414f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 424f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 434f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 444f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 454f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 4635237d135807af84bf9b0e5b8d7f8633e58db6f5The Android Open Source Project temp1 = (int32 *)comp; 474f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 484f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 494f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 504f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[2] = temp0[2]; 514f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[3] = temp0[3]; 524f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 534f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 544f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 554f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 564f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 574f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 584f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 594f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 604f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[2] = temp0[2]; 614f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[3] = temp0[3]; 624f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 634f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 644f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 654f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 664f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 674f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 684f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 694f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 704f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 714f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[2] = temp0[2]; 724f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[3] = temp0[3]; 734f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 744f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 754f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 764f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project row -= 4; 774f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project } 784f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project} 794f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 804f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 814f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project/* ====================================================================== / 824f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project Function : PutSKIPPED_B() 834f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project Date : 04/03/2000 844f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project/ ====================================================================== */ 854f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 864f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Projectvoid PutSKIPPED_B(uint8 *comp, uint8 *prev, int width) 874f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project{ 884f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project int32 *temp0, *temp1; 894f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project int row; 904f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 914f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project row = B_SIZE; 924f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project while (row) 934f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project { 944f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 954f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 964f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 974f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 984f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 994f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1004f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 1014f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 1024f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1034f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 1044f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 1054f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1064f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 1074f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 1084f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1094f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 1104f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 1114f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1124f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 1134f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 1144f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1154f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 1164f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 1174f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1184f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 1194f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 1204f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1214f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp0 = (int32 *)prev; 1224f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1 = (int32 *)comp; 1234f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1244f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[0] = temp0[0]; 1254f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project temp1[1] = temp0[1]; 1264f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1274f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project comp += width; 1284f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project prev += width; 1294f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project row -= 4; 1304f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project } 1314f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project} 1324f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1334f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project 1344f6e8d7a00cbeda1e70cc15be9c4af1018bdad5The Android Open Source Project