35                                        int srcStride[], 
int srcSliceY,
 
   36                                        int srcSliceH, 
uint8_t *dstParam[],
 
   39     uint8_t *dst = dstParam[0] + dstStride_a[0] * srcSliceY;
 
   46     const int height      = srcSliceH;
 
   47     const int lumStride   = srcStride[0];
 
   48     const int chromStride = srcStride[1];
 
   49     const int dstStride   = dstStride_a[0];
 
   50     const vector 
unsigned char yperm = vec_lvsl(0, ysrc);
 
   51     const int vertLumPerChroma       = 2;
 
   52     register unsigned int y;
 
   62     for (y = 0; y < 
height; y++) {
 
   64         for (i = 0; i < width - 31; i += 32) {
 
   65             const unsigned int j          = i >> 1;
 
   66             vector 
unsigned char v_yA     = vec_ld(i, ysrc);
 
   67             vector 
unsigned char v_yB     = vec_ld(i + 16, ysrc);
 
   68             vector 
unsigned char v_yC     = vec_ld(i + 32, ysrc);
 
   69             vector 
unsigned char v_y1     = vec_perm(v_yA, v_yB, yperm);
 
   70             vector 
unsigned char v_y2     = vec_perm(v_yB, v_yC, yperm);
 
   71             vector 
unsigned char v_uA     = vec_ld(j, usrc);
 
   72             vector 
unsigned char v_uB     = vec_ld(j + 16, usrc);
 
   73             vector 
unsigned char v_u      = vec_perm(v_uA, v_uB, vec_lvsl(j, usrc));
 
   74             vector 
unsigned char v_vA     = vec_ld(j, vsrc);
 
   75             vector 
unsigned char v_vB     = vec_ld(j + 16, vsrc);
 
   76             vector 
unsigned char v_v      = vec_perm(v_vA, v_vB, vec_lvsl(j, vsrc));
 
   77             vector 
unsigned char v_uv_a   = vec_mergeh(v_u, v_v);
 
   78             vector 
unsigned char v_uv_b   = vec_mergel(v_u, v_v);
 
   79             vector 
unsigned char v_yuy2_0 = vec_mergeh(v_y1, v_uv_a);
 
   80             vector 
unsigned char v_yuy2_1 = vec_mergel(v_y1, v_uv_a);
 
   81             vector 
unsigned char v_yuy2_2 = vec_mergeh(v_y2, v_uv_b);
 
   82             vector 
unsigned char v_yuy2_3 = vec_mergel(v_y2, v_uv_b);
 
   83             vec_st(v_yuy2_0, (i << 1), dst);
 
   84             vec_st(v_yuy2_1, (i << 1) + 16, dst);
 
   85             vec_st(v_yuy2_2, (i << 1) + 32, dst);
 
   86             vec_st(v_yuy2_3, (i << 1) + 48, dst);
 
   89             const unsigned int j          = i >> 1;
 
   90             vector 
unsigned char v_y1     = vec_ld(i, ysrc);
 
   91             vector 
unsigned char v_u      = vec_ld(j, usrc);
 
   92             vector 
unsigned char v_v      = vec_ld(j, vsrc);
 
   93             vector 
unsigned char v_uv_a   = vec_mergeh(v_u, v_v);
 
   94             vector 
unsigned char v_yuy2_0 = vec_mergeh(v_y1, v_uv_a);
 
   95             vector 
unsigned char v_yuy2_1 = vec_mergel(v_y1, v_uv_a);
 
   96             vec_st(v_yuy2_0, (i << 1), dst);
 
   97             vec_st(v_yuy2_1, (i << 1) + 16, dst);
 
   99         if ((y & (vertLumPerChroma - 1)) == vertLumPerChroma - 1) {
 
  111                                        int srcStride[], 
int srcSliceY,
 
  112                                        int srcSliceH, 
uint8_t *dstParam[],
 
  115     uint8_t *dst = dstParam[0] + dstStride_a[0] * srcSliceY;
 
  121     const int width                  = c->
srcW;
 
  122     const int height                 = srcSliceH;
 
  123     const int lumStride              = srcStride[0];
 
  124     const int chromStride            = srcStride[1];
 
  125     const int dstStride              = dstStride_a[0];
 
  126     const int vertLumPerChroma       = 2;
 
  127     const vector 
unsigned char yperm = vec_lvsl(0, ysrc);
 
  128     register unsigned int y;
 
  138     for (y = 0; y < 
height; y++) {
 
  140         for (i = 0; i < width - 31; i += 32) {
 
  141             const unsigned int j          = i >> 1;
 
  142             vector 
unsigned char v_yA     = vec_ld(i, ysrc);
 
  143             vector 
unsigned char v_yB     = vec_ld(i + 16, ysrc);
 
  144             vector 
unsigned char v_yC     = vec_ld(i + 32, ysrc);
 
  145             vector 
unsigned char v_y1     = vec_perm(v_yA, v_yB, yperm);
 
  146             vector 
unsigned char v_y2     = vec_perm(v_yB, v_yC, yperm);
 
  147             vector 
unsigned char v_uA     = vec_ld(j, usrc);
 
  148             vector 
unsigned char v_uB     = vec_ld(j + 16, usrc);
 
  149             vector 
unsigned char v_u      = vec_perm(v_uA, v_uB, vec_lvsl(j, usrc));
 
  150             vector 
unsigned char v_vA     = vec_ld(j, vsrc);
 
  151             vector 
unsigned char v_vB     = vec_ld(j + 16, vsrc);
 
  152             vector 
unsigned char v_v      = vec_perm(v_vA, v_vB, vec_lvsl(j, vsrc));
 
  153             vector 
unsigned char v_uv_a   = vec_mergeh(v_u, v_v);
 
  154             vector 
unsigned char v_uv_b   = vec_mergel(v_u, v_v);
 
  155             vector 
unsigned char v_uyvy_0 = vec_mergeh(v_uv_a, v_y1);
 
  156             vector 
unsigned char v_uyvy_1 = vec_mergel(v_uv_a, v_y1);
 
  157             vector 
unsigned char v_uyvy_2 = vec_mergeh(v_uv_b, v_y2);
 
  158             vector 
unsigned char v_uyvy_3 = vec_mergel(v_uv_b, v_y2);
 
  159             vec_st(v_uyvy_0, (i << 1), dst);
 
  160             vec_st(v_uyvy_1, (i << 1) + 16, dst);
 
  161             vec_st(v_uyvy_2, (i << 1) + 32, dst);
 
  162             vec_st(v_uyvy_3, (i << 1) + 48, dst);
 
  165             const unsigned int j          = i >> 1;
 
  166             vector 
unsigned char v_y1     = vec_ld(i, ysrc);
 
  167             vector 
unsigned char v_u      = vec_ld(j, usrc);
 
  168             vector 
unsigned char v_v      = vec_ld(j, vsrc);
 
  169             vector 
unsigned char v_uv_a   = vec_mergeh(v_u, v_v);
 
  170             vector 
unsigned char v_uyvy_0 = vec_mergeh(v_uv_a, v_y1);
 
  171             vector 
unsigned char v_uyvy_1 = vec_mergel(v_uv_a, v_y1);
 
  172             vec_st(v_uyvy_0, (i << 1), dst);
 
  173             vec_st(v_uyvy_1, (i << 1) + 16, dst);
 
  175         if ((y & (vertLumPerChroma - 1)) == vertLumPerChroma - 1) {
 
  199             c->
swscale = yv12toyuy2_unscaled_altivec;
 
  201             c->
swscale = yv12touyvy_unscaled_altivec;
 
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1 
 
#define AV_CPU_FLAG_ALTIVEC
standard 
 
Macro definitions for various function/variable attributes. 
 
enum AVPixelFormat dstFormat
Destination pixel format. 
 
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr 
 
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU. 
 
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) 
 
enum AVPixelFormat srcFormat
Source pixel format. 
 
SwsFunc swscale
Note that src, dst, srcStride, dstStride will be copied in the sws_scale() wrapper so they can be fre...
 
av_cold void ff_get_unscaled_swscale_ppc(SwsContext *c)
 
int srcW
Width of source luma/alpha planes. 
 
int flags
Flags passed by the user to select scaler algorithm, optimizations, subsampling, etc... 
 
AVPixelFormat
Pixel format.