Browse Source

avcodec/ffv1enc: fix use of uninitalized variable in choose_rct_params()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.2-rc1
Michael Niedermayer 12 years ago
parent
commit
2bdda9a15c
1 changed files with 7 additions and 6 deletions
  1. +7
    -6
      libavcodec/ffv1enc.c

+ 7
- 6
libavcodec/ffv1enc.c View File

@@ -1018,6 +1018,7 @@ static void choose_rct_params(FFV1Context *fs, uint8_t *src[3], const int stride

for (x = 0; x < w; x++) {
int b, g, r;
int ab, ag, ar;
if (lbd) {
unsigned v = *((uint32_t*)(src[0] + x*4 + stride[0]*y));
b = v & 0xFF;
@@ -1029,10 +1030,10 @@ static void choose_rct_params(FFV1Context *fs, uint8_t *src[3], const int stride
r = *((uint16_t*)(src[2] + x*2 + stride[2]*y));
}

ar = r - lastr;
ag = g - lastg;
ab = b - lastb;
if (x && y) {
int ar = r - lastr;
int ag = g - lastg;
int ab = b - lastb;
int bg = ag - sample[0][x];
int bb = ab - sample[1][x];
int br = ar - sample[2][x];
@@ -1044,10 +1045,10 @@ static void choose_rct_params(FFV1Context *fs, uint8_t *src[3], const int stride
stat[1] += FFABS(bg + ((br+bb)>>2));
stat[2] += FFABS(bg + ((br+bb)>>1));

sample[0][x] = ag;
sample[1][x] = ab;
sample[2][x] = ar;
}
sample[0][x] = ag;
sample[1][x] = ab;
sample[2][x] = ar;

lastr = r;
lastg = g;


Loading…
Cancel
Save