Browse Source

swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*()

This avoids out of array accesses
Should fix Ticket3451

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4388e78a0f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3.6
Michael Niedermayer 11 years ago
parent
commit
dca70c5931
1 changed files with 10 additions and 0 deletions
  1. +10
    -0
      libswscale/x86/rgb2rgb_template.c

+ 10
- 0
libswscale/x86/rgb2rgb_template.c View File

@@ -1634,6 +1634,16 @@ static inline void RENAME(rgb24toyv12)(const uint8_t *src, uint8_t *ydst, uint8_
#define BGR2V_IDX "16*4+16*34"
int y;
const x86_reg chromWidth= width>>1;

if (height > 2) {
ff_rgb24toyv12_c(src, ydst, udst, vdst, width, 2, lumStride, chromStride, srcStride, rgb2yuv);
src += 2*srcStride;
ydst += 2*lumStride;
udst += chromStride;
vdst += chromStride;
height -= 2;
}

for (y=0; y<height-2; y+=2) {
int i;
for (i=0; i<2; i++) {


Loading…
Cancel
Save