#include "faxcompr.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
-#include "libavcore/imgutils.h"
+#include "libavutil/imgutils.h"
typedef struct TiffContext {
AVCodecContext *avctx;
bp = buf + count / 3 * off * 2;
off = (type_sizes[type] - 1) << 3;
for(i = 0; i < count / 3; i++){
- j = (tget(&rp, type, s->le) >> off) << 16;
+ j = 0xff << 24;
+ j |= (tget(&rp, type, s->le) >> off) << 16;
j |= (tget(&gp, type, s->le) >> off) << 8;
j |= tget(&bp, type, s->le) >> off;
pal[i] = j;
soff = tget(&s->stripdata, s->sot, s->le);
}else
soff = s->stripoff;
+ if (soff < 0) {
+ av_log(avctx, AV_LOG_ERROR, "Invalid stripoff: %d\n", soff);
+ return AVERROR(EINVAL);
+ }
if(tiff_unpack_strip(s, dst, stride, orig_buf + soff, ssize, FFMIN(s->rps, s->height - i)) < 0)
break;
dst += s->rps * stride;
return 0;
}
-AVCodec tiff_decoder = {
+AVCodec ff_tiff_decoder = {
"tiff",
AVMEDIA_TYPE_VIDEO,
CODEC_ID_TIFF,