swscale: K&R formatting cosmetics for PowerPC code (part I/II)
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "libswscale/swscale.h"
|
#include "libswscale/swscale.h"
|
||||||
#include "libswscale/swscale_internal.h"
|
#include "libswscale/swscale_internal.h"
|
||||||
@@ -30,8 +31,8 @@
|
|||||||
|
|
||||||
#define vzero vec_splat_s32(0)
|
#define vzero vec_splat_s32(0)
|
||||||
|
|
||||||
static inline void
|
static inline void altivec_packIntArrayToCharArray(int *val, uint8_t *dest,
|
||||||
altivec_packIntArrayToCharArray(int *val, uint8_t* dest, int dstW)
|
int dstW)
|
||||||
{
|
{
|
||||||
register int i;
|
register int i;
|
||||||
vector unsigned int altivec_vectorShiftInt19 =
|
vector unsigned int altivec_vectorShiftInt19 =
|
||||||
@@ -93,8 +94,7 @@ altivec_packIntArrayToCharArray(int *val, uint8_t* dest, int dstW)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FIXME remove the usage of scratch buffers.
|
// FIXME remove the usage of scratch buffers.
|
||||||
static void
|
static void yuv2planeX_altivec(const int16_t *filter, int filterSize,
|
||||||
yuv2planeX_altivec(const int16_t *filter, int filterSize,
|
|
||||||
const int16_t **src, uint8_t *dest, int dstW,
|
const int16_t **src, uint8_t *dest, int dstW,
|
||||||
const uint8_t *dither, int offset)
|
const uint8_t *dither, int offset)
|
||||||
{
|
{
|
||||||
@@ -136,10 +136,9 @@ yuv2planeX_altivec(const int16_t *filter, int filterSize,
|
|||||||
|
|
||||||
l1 = l2;
|
l1 = l2;
|
||||||
}
|
}
|
||||||
for ( ; i < dstW; i++) {
|
for (; i < dstW; i++)
|
||||||
val[i] += src[j][i] * filter[j];
|
val[i] += src[j][i] * filter[j];
|
||||||
}
|
}
|
||||||
}
|
|
||||||
altivec_packIntArrayToCharArray(val, dest, dstW);
|
altivec_packIntArrayToCharArray(val, dest, dstW);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,13 +154,11 @@ static void hScale_altivec_real(SwsContext *c, int16_t *dst, int dstW,
|
|||||||
register int j;
|
register int j;
|
||||||
register int srcPos = filterPos[i];
|
register int srcPos = filterPos[i];
|
||||||
register int val = 0;
|
register int val = 0;
|
||||||
for (j=0; j<filterSize; j++) {
|
for (j = 0; j < filterSize; j++)
|
||||||
val += ((int)src[srcPos + j]) * filter[filterSize * i + j];
|
val += ((int)src[srcPos + j]) * filter[filterSize * i + j];
|
||||||
}
|
|
||||||
dst[i] = FFMIN(val >> 7, (1 << 15) - 1);
|
dst[i] = FFMIN(val >> 7, (1 << 15) - 1);
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
switch (filterSize) {
|
switch (filterSize) {
|
||||||
case 4:
|
case 4:
|
||||||
for (i = 0; i < dstW; i++) {
|
for (i = 0; i < dstW; i++) {
|
||||||
@@ -310,7 +307,6 @@ static void hScale_altivec_real(SwsContext *c, int16_t *dst, int dstW,
|
|||||||
vec_st(val_s, 0, tempo);
|
vec_st(val_s, 0, tempo);
|
||||||
dst[i] = FFMIN(tempo[3] >> 7, (1 << 15) - 1);
|
dst[i] = FFMIN(tempo[3] >> 7, (1 << 15) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,12 +330,24 @@ void ff_sws_init_swScale_altivec(SwsContext *c)
|
|||||||
* match what's found in the body of ff_yuv2packedX_altivec() */
|
* match what's found in the body of ff_yuv2packedX_altivec() */
|
||||||
if (!(c->flags & (SWS_BITEXACT | SWS_FULL_CHR_H_INT)) && !c->alpPixBuf) {
|
if (!(c->flags & (SWS_BITEXACT | SWS_FULL_CHR_H_INT)) && !c->alpPixBuf) {
|
||||||
switch (c->dstFormat) {
|
switch (c->dstFormat) {
|
||||||
case PIX_FMT_ABGR: c->yuv2packedX = ff_yuv2abgr_X_altivec; break;
|
case PIX_FMT_ABGR:
|
||||||
case PIX_FMT_BGRA: c->yuv2packedX = ff_yuv2bgra_X_altivec; break;
|
c->yuv2packedX = ff_yuv2abgr_X_altivec;
|
||||||
case PIX_FMT_ARGB: c->yuv2packedX = ff_yuv2argb_X_altivec; break;
|
break;
|
||||||
case PIX_FMT_RGBA: c->yuv2packedX = ff_yuv2rgba_X_altivec; break;
|
case PIX_FMT_BGRA:
|
||||||
case PIX_FMT_BGR24: c->yuv2packedX = ff_yuv2bgr24_X_altivec; break;
|
c->yuv2packedX = ff_yuv2bgra_X_altivec;
|
||||||
case PIX_FMT_RGB24: c->yuv2packedX = ff_yuv2rgb24_X_altivec; break;
|
break;
|
||||||
|
case PIX_FMT_ARGB:
|
||||||
|
c->yuv2packedX = ff_yuv2argb_X_altivec;
|
||||||
|
break;
|
||||||
|
case PIX_FMT_RGBA:
|
||||||
|
c->yuv2packedX = ff_yuv2rgba_X_altivec;
|
||||||
|
break;
|
||||||
|
case PIX_FMT_BGR24:
|
||||||
|
c->yuv2packedX = ff_yuv2bgr24_X_altivec;
|
||||||
|
break;
|
||||||
|
case PIX_FMT_RGB24:
|
||||||
|
c->yuv2packedX = ff_yuv2rgb24_X_altivec;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "libswscale/swscale.h"
|
#include "libswscale/swscale.h"
|
||||||
#include "libswscale/swscale_internal.h"
|
#include "libswscale/swscale_internal.h"
|
||||||
@@ -33,7 +34,8 @@ static int yv12toyuy2_unscaled_altivec(SwsContext *c, const uint8_t* src[],
|
|||||||
int dstStride_a[])
|
int dstStride_a[])
|
||||||
{
|
{
|
||||||
uint8_t *dst = dstParam[0] + dstStride_a[0] * srcSliceY;
|
uint8_t *dst = dstParam[0] + dstStride_a[0] * srcSliceY;
|
||||||
// yv12toyuy2(src[0], src[1], src[2], dst, c->srcW, srcSliceH, srcStride[0], srcStride[1], dstStride[0]);
|
// yv12toyuy2(src[0], src[1], src[2], dst, c->srcW, srcSliceH,
|
||||||
|
// srcStride[0], srcStride[1], dstStride[0]);
|
||||||
const uint8_t *ysrc = src[0];
|
const uint8_t *ysrc = src[0];
|
||||||
const uint8_t *usrc = src[1];
|
const uint8_t *usrc = src[1];
|
||||||
const uint8_t *vsrc = src[2];
|
const uint8_t *vsrc = src[2];
|
||||||
@@ -47,11 +49,11 @@ static int yv12toyuy2_unscaled_altivec(SwsContext *c, const uint8_t* src[],
|
|||||||
register unsigned int y;
|
register unsigned int y;
|
||||||
|
|
||||||
/* This code assumes:
|
/* This code assumes:
|
||||||
|
*
|
||||||
1) dst is 16 bytes-aligned
|
* 1) dst is 16 bytes-aligned
|
||||||
2) dstStride is a multiple of 16
|
* 2) dstStride is a multiple of 16
|
||||||
3) width is a multiple of 16
|
* 3) width is a multiple of 16
|
||||||
4) lum & chrom stride are multiples of 8
|
* 4) lum & chrom stride are multiples of 8
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (y = 0; y < height; y++) {
|
for (y = 0; y < height; y++) {
|
||||||
@@ -108,7 +110,8 @@ static int yv12touyvy_unscaled_altivec(SwsContext *c, const uint8_t* src[],
|
|||||||
int dstStride_a[])
|
int dstStride_a[])
|
||||||
{
|
{
|
||||||
uint8_t *dst = dstParam[0] + dstStride_a[0] * srcSliceY;
|
uint8_t *dst = dstParam[0] + dstStride_a[0] * srcSliceY;
|
||||||
// yv12toyuy2(src[0], src[1], src[2], dst, c->srcW, srcSliceH, srcStride[0], srcStride[1], dstStride[0]);
|
// yv12toyuy2(src[0], src[1], src[2], dst, c->srcW, srcSliceH,
|
||||||
|
// srcStride[0], srcStride[1], dstStride[0]);
|
||||||
const uint8_t *ysrc = src[0];
|
const uint8_t *ysrc = src[0];
|
||||||
const uint8_t *usrc = src[1];
|
const uint8_t *usrc = src[1];
|
||||||
const uint8_t *vsrc = src[2];
|
const uint8_t *vsrc = src[2];
|
||||||
@@ -122,11 +125,11 @@ static int yv12touyvy_unscaled_altivec(SwsContext *c, const uint8_t* src[],
|
|||||||
register unsigned int y;
|
register unsigned int y;
|
||||||
|
|
||||||
/* This code assumes:
|
/* This code assumes:
|
||||||
|
*
|
||||||
1) dst is 16 bytes-aligned
|
* 1) dst is 16 bytes-aligned
|
||||||
2) dstStride is a multiple of 16
|
* 2) dstStride is a multiple of 16
|
||||||
3) width is a multiple of 16
|
* 3) width is a multiple of 16
|
||||||
4) lum & chrom stride are multiples of 8
|
* 4) lum & chrom stride are multiples of 8
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (y = 0; y < height; y++) {
|
for (y = 0; y < height; y++) {
|
||||||
|
Reference in New Issue
Block a user