Lines Matching refs:left

162 static void Get4x4NeighbourPels(u8 *a, u8 *l, u8 *data, u8 *above, u8 *left,
165 static void Intra16x16HorizontalPrediction(u8 *data, u8 *left);
166 static void Intra16x16DcPrediction(u8 *data, u8 *above, u8 *left,
168 static void Intra16x16PlanePrediction(u8 *data, u8 *above, u8 *left);
169 static void IntraChromaDcPrediction(u8 *data, u8 *above, u8 *left,
171 static void IntraChromaHorizontalPrediction(u8 *data, u8 *left);
173 static void IntraChromaPlanePrediction(u8 *data, u8 *above, u8 *left);
176 static void Intra4x4HorizontalPrediction(u8 *data, u8 *left);
177 static void Intra4x4DcPrediction(u8 *data, u8 *above, u8 *left, u32 A, u32 B);
179 static void Intra4x4DiagonalDownRightPrediction(u8 *data, u8 *above, u8 *left);
180 static void Intra4x4VerticalRightPrediction(u8 *data, u8 *above, u8 *left);
181 static void Intra4x4HorizontalDownPrediction(u8 *data, u8 *above, u8 *left);
183 static void Intra4x4HorizontalUpPrediction(u8 *data, u8 *left);
479 /* pelAbove and pelLeft contain samples above and left to the current
480 * macroblock. Above array contains also sample above-left to the current
536 and 'left' arrays.
540 void h264bsdGetNeighbourPels(image_t *image, u8 *above, u8 *left, u32 mbNum)
554 ASSERT(left);
570 * sample above-left if col is zero. However, usage of pels in prediction
584 *left++ = *ptr;
604 *left++ = *ptr;
607 *left++ = *ptr;
623 u8 *above, u8 *left, u32 constrainedIntraPred)
636 ASSERT(left);
663 Intra16x16HorizontalPrediction(data, left);
667 Intra16x16DcPrediction(data, above+1, left, availableA, availableB);
673 Intra16x16PlanePrediction(data, above+1, left);
698 u8 *left, u32 constrainedIntraPred)
716 ASSERT(left);
764 Get4x4NeighbourPels(a, l, data, above, left, block);
841 u8 *above, u8 *left, u32 predMode, u32 constrainedIntraPred)
854 ASSERT(left);
875 IntraChromaDcPrediction(data, above+1, left, availableA,
882 IntraChromaHorizontalPrediction(data, left);
895 IntraChromaPlanePrediction(data, above+1, left);
904 left += 8;
1026 void Intra16x16HorizontalPrediction(u8 *data, u8 *left)
1036 ASSERT(left);
1042 *data++ = left[i];
1057 void Intra16x16DcPrediction(u8 *data, u8 *above, u8 *left, u32 availableA,
1069 ASSERT(left);
1074 tmp += above[i] + left[i];
1080 tmp += left[i];
1108 void Intra16x16PlanePrediction(u8 *data, u8 *above, u8 *left)
1121 ASSERT(left);
1123 a = 16 * (above[15] + left[15]);
1130 c += (i + 1) * (left[8+i] - left[6-i]);
1132 c += (i + 1) * (left[8+i] - above[-1]);
1155 void IntraChromaDcPrediction(u8 *data, u8 *above, u8 *left, u32 availableA,
1168 ASSERT(left);
1174 left[0] + left[1] + left[2] + left[3];
1185 tmp1 = (left[0] + left[1] + left[2] + left[3] + 2) >> 2;
1210 tmp1 = (left[4] + left[5] + left[6] + left[7] + 2) >> 2;
1214 left[4] + left[5] + left[6] + left[7];
1253 void IntraChromaHorizontalPrediction(u8 *data, u8 *left)
1263 ASSERT(left);
1267 *data++ = *left;
1268 *data++ = *left;
1269 *data++ = *left;
1270 *data++ = *left;
1271 *data++ = *left;
1272 *data++ = *left;
1273 *data++ = *left;
1274 *data++ = *left++;
1323 void IntraChromaPlanePrediction(u8 *data, u8 *above, u8 *left)
1337 ASSERT(left);
1339 a = 16 * (above[7] + left[7]);
1346 c = (left[4] - left[2]) + 2 * (left[5] - left[1])
1347 + 3 * (left[6] - left[0]) + 4 * (left[7] - above[-1]);
1383 void Get4x4NeighbourPels(u8 *a, u8 *l, u8 *data, u8 *above, u8 *left,
1398 ASSERT(left);
1407 t1 = left[y ];
1408 t2 = left[y + 1];
1411 t1 = left[y + 2];
1412 t2 = left[y + 3];
1472 l[0] = a[0] = left[y-1];
1520 void Intra4x4HorizontalPrediction(u8 *data, u8 *left)
1530 ASSERT(left);
1532 t1 = left[0];
1533 t2 = left[1];
1536 t1 = left[2];
1537 t2 = left[3];
1552 void Intra4x4DcPrediction(u8 *data, u8 *above, u8 *left, u32 availableA,
1565 ASSERT(left);
1571 t1 = left[0]; t2 = left[1]; t3 = left[2]; t4 = left[3];
1577 t1 = left[0]; t2 = left[1]; t3 = left[2]; t4 = left[3];
1603 Perform intra 4x4 diagonal down-left prediction mode.
1645 void Intra4x4DiagonalDownRightPrediction(u8 *data, u8 *above, u8 *left)
1654 ASSERT(left);
1656 data[ 0] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1657 data[ 5] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1658 data[10] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1659 data[15] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1666 data[ 4] = (left[-1] + 2 * left[0] + left[1] + 2) >> 2;
1667 data[ 9] = (left[-1] + 2 * left[0] + left[1] + 2) >> 2;
1668 data[14] = (left[-1] + 2 * left[0] + left[1] + 2) >> 2;
1669 data[ 8] = (left[0] + 2 * left[1] + left[2] + 2) >> 2;
1670 data[13] = (left[0] + 2 * left[1] + left[2] + 2) >> 2;
1671 data[12] = (left[1] + 2 * left[2] + left[3] + 2) >> 2;
1683 void Intra4x4VerticalRightPrediction(u8 *data, u8 *above, u8 *left)
1692 ASSERT(left);
1698 data[ 4] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1699 data[13] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1708 data[ 8] = (left[1] + 2 * left[0] + left[-1] + 2) >> 2;
1709 data[12] = (left[2] + 2 * left[1] + left[0] + 2) >> 2;
1722 void Intra4x4HorizontalDownPrediction(u8 *data, u8 *above, u8 *left)
1731 ASSERT(left);
1733 data[ 0] = (left[-1] + left[0] + 1) >> 1;
1734 data[ 6] = (left[-1] + left[0] + 1) >> 1;
1735 data[ 5] = (left[-1] + 2 * left[0] + left[1] + 2) >> 2;
1736 data[11] = (left[-1] + 2 * left[0] + left[1] + 2) >> 2;
1737 data[ 4] = (left[0] + left[1] + 1) >> 1;
1738 data[10] = (left[0] + left[1] + 1) >> 1;
1739 data[ 9] = (left[0] + 2 * left[1] + left[2] + 2) >> 2;
1740 data[15] = (left[0] + 2 * left[1] + left[2] + 2) >> 2;
1741 data[ 8] = (left[1] + left[2] + 1) >> 1;
1742 data[14] = (left[1] + left[2] + 1) >> 1;
1743 data[13] = (left[1] + 2 * left[2] + left[3] + 2) >> 2;
1744 data[12] = (left[2] + left[3] + 1) >> 1;
1745 data[ 1] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1746 data[ 7] = (above[0] + 2 * above[-1] + left[0] + 2) >> 2;
1756 Perform intra 4x4 vertical left prediction mode.
1798 void Intra4x4HorizontalUpPrediction(u8 *data, u8 *left)
1806 ASSERT(left);
1808 data[ 0] = (left[0] + left[1] + 1) >> 1;
1809 data[ 1] = (left[0] + 2 * left[1] + left[2] + 2) >> 2;
1810 data[ 2] = (left[1] + left[2] + 1) >> 1;
1811 data[ 3] = (left[1] + 2 * left[2] + left[3] + 2) >> 2;
1812 data[ 4] = (left[1] + left[2] + 1) >> 1;
1813 data[ 5] = (left[1] + 2 * left[2] + left[3] + 2) >> 2;
1814 data[ 6] = (left[2] + left[3] + 1) >> 1;
1815 data[ 7] = (left[2] + 3 * left[3] + 2) >> 2;
1816 data[ 8] = (left[2] + left[3] + 1) >> 1;
1817 data[ 9] = (left[2] + 3 * left[3] + 2) >> 2;
1818 data[10] = left[3];
1819 data[11] = left[3];
1820 data[12] = left[3];
1821 data[13] = left[3];
1822 data[14] = left[3];
1823 data[15] = left[3];