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