29 #define YUV2RGB_LOOP(depth)                                          \ 
   30     h_size = (c->dstW + 7) & ~7;                                     \ 
   31     if (h_size * depth > FFABS(dstStride[0]))                        \ 
   34     vshift = c->srcFormat != AV_PIX_FMT_YUV422P;                        \ 
   36     for (y = 0; y < srcSliceH; y++) {                                \ 
   37         uint8_t *image    = dst[0] + (y + srcSliceY) * dstStride[0]; \ 
   38         const uint8_t *py = src[0] +               y * srcStride[0]; \ 
   39         const uint8_t *pu = src[1] +   (y >> vshift) * srcStride[1]; \ 
   40         const uint8_t *pv = src[2] +   (y >> vshift) * srcStride[2]; \ 
   41         x86_reg index = -h_size / 2;                                 \ 
   43 extern void RENAME(ff_yuv_420_rgb24)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   44                                      const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   45                                      const uint8_t *py_2index);
 
   46 extern void RENAME(ff_yuv_420_bgr24)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   47                                      const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   48                                      const uint8_t *py_2index);
 
   50 #if !COMPILE_TEMPLATE_MMXEXT 
   51 extern void RENAME(ff_yuv_420_rgb15)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   52                                      const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   53                                      const uint8_t *py_2index);
 
   54 extern void RENAME(ff_yuv_420_rgb16)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   55                                      const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   56                                      const uint8_t *py_2index);
 
   57 extern void RENAME(ff_yuv_420_rgb32)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   58                                      const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   59                                      const uint8_t *py_2index);
 
   60 extern void RENAME(ff_yuv_420_bgr32)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   61                                      const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   62                                      const uint8_t *py_2index);
 
   63 extern void RENAME(ff_yuva_420_rgb32)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   64                                       const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   65                                       const uint8_t *py_2index, 
const uint8_t *pa_2index);
 
   66 extern void RENAME(ff_yuva_420_bgr32)(
x86_reg index, uint8_t *image, 
const uint8_t *pu_index,
 
   67                                       const uint8_t *pv_index, 
const uint64_t *pointer_c_dither,
 
   68                                       const uint8_t *py_2index, 
const uint8_t *pa_2index);
 
   73                                        uint8_t *dst[], 
int dstStride[])
 
   75     int y, h_size, vshift;
 
   93                                        uint8_t *dst[], 
int dstStride[])
 
   95     int y, h_size, vshift;
 
  113                                        uint8_t *dst[], 
int dstStride[])
 
  115     int y, h_size, vshift;
 
  127                                        uint8_t *dst[], 
int dstStride[])
 
  129     int y, h_size, vshift;
 
  141                                        uint8_t *dst[], 
int dstStride[])
 
  143     int y, h_size, vshift;
 
  146         const uint8_t *pa = 
src[3] + y * srcStride[3];
 
  155                                         uint8_t *dst[], 
int dstStride[])
 
  157     int y, h_size, vshift;
 
  161         const uint8_t *pa = 
src[3] + y * srcStride[3];
 
  171                                        uint8_t *dst[], 
int dstStride[])
 
  173     int y, h_size, vshift;
 
  185                                         uint8_t *dst[], 
int dstStride[])
 
  187     int y, h_size, vshift;