git.videolan.org
/
ffmpeg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0dba982
)
swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*()
author
Michael Niedermayer
<michaelni@gmx.at>
Wed, 19 Nov 2014 23:43:45 +0000
(
00:43
+0100)
committer
Michael Niedermayer
<michaelni@gmx.at>
Thu, 20 Nov 2014 00:20:31 +0000
(
01:20
+0100)
This avoids out of array accesses
Should fix Ticket3451
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libswscale/x86/rgb2rgb_template.c
patch
|
blob
|
history
diff --git
a/libswscale/x86/rgb2rgb_template.c
b/libswscale/x86/rgb2rgb_template.c
index
3899d0a
..
7796d38
100644
(file)
--- a/
libswscale/x86/rgb2rgb_template.c
+++ b/
libswscale/x86/rgb2rgb_template.c
@@
-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++) {