"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libavcodec/vmnc.c" between
libav-11.7.tar.gz and libav-11.8.tar.gz

About: libav provides cross-platform tools ("avconv") and libraries to convert, manipulate and stream a wide range of multimedia (audio and video) formats and protocols.

vmnc.c  (libav-11.7):vmnc.c  (libav-11.8)
skipping to change at line 290 skipping to change at line 290
rects = bytestream2_get_byte(gb); rects = bytestream2_get_byte(gb);
color = !!(flags & HT_CLR); color = !!(flags & HT_CLR);
paint_rect(dst2, 0, 0, bw, bh, bg, bpp, stride); paint_rect(dst2, 0, 0, bw, bh, bg, bpp, stride);
if (bytestream2_get_bytes_left(gb) < rects * (color * bpp + 2)) { if (bytestream2_get_bytes_left(gb) < rects * (color * bpp + 2)) {
av_log(c->avctx, AV_LOG_ERROR, "Premature end of data!\n"); av_log(c->avctx, AV_LOG_ERROR, "Premature end of data!\n");
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
for (k = 0; k < rects; k++) { for (k = 0; k < rects; k++) {
int rect_x, rect_y, rect_w, rect_h;
if (color) if (color)
fg = vmnc_get_pixel(gb, bpp, c->bigendian); fg = vmnc_get_pixel(gb, bpp, c->bigendian);
xy = bytestream2_get_byte(gb); xy = bytestream2_get_byte(gb);
wh = bytestream2_get_byte(gb); wh = bytestream2_get_byte(gb);
paint_rect(dst2, xy >> 4, xy & 0xF,
(wh>>4)+1, (wh & 0xF)+1, fg, bpp, stride); rect_x = xy >> 4;
rect_y = xy & 0xF;
rect_w = (wh >> 4) + 1;
rect_h = (wh & 0xF) + 1;
if (rect_x + rect_w > bw || rect_y + rect_h > bh) {
av_log(c->avctx, AV_LOG_ERROR, "Invalid subrect\n");
return AVERROR_INVALIDDATA;
}
paint_rect(dst2, rect_x, rect_y,
rect_w, rect_h, fg, bpp, stride);
} }
} }
} }
dst += stride * 16; dst += stride * 16;
} }
return 0; return 0;
} }
static void reset_buffers(VmncContext *c) static void reset_buffers(VmncContext *c)
{ {
 End of changes. 2 change blocks. 
2 lines changed or deleted 14 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS