Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e70aa31c2d | ||
|
|
6586ad1cf1 | ||
|
|
b353027ffa | ||
|
|
7b8cdc8ecf | ||
|
|
ca6b0f142c | ||
|
|
e128a90e62 | ||
|
|
f1b4023d99 | ||
|
|
2727f1a5bd | ||
|
|
cb1d476932 |
@@ -256,7 +256,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data,
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (!encoding && c->palette_size && c->bpp <= 8) {
|
||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||
} else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8)) {
|
||||
} else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8) && c->format != CHUNKY) {
|
||||
if (c->palette_size != (1 << (c->bpp - 1)))
|
||||
return AVERROR_INVALIDDATA;
|
||||
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
||||
|
||||
@@ -306,6 +306,8 @@ static int mv_read_header(AVFormatContext *avctx)
|
||||
uint32_t pos = avio_rb32(pb);
|
||||
uint32_t asize = avio_rb32(pb);
|
||||
uint32_t vsize = avio_rb32(pb);
|
||||
if (avio_feof(pb))
|
||||
return AVERROR_INVALIDDATA;
|
||||
avio_skip(pb, 8);
|
||||
av_add_index_entry(ast, pos, timestamp, asize, 0, AVINDEX_KEYFRAME);
|
||||
av_add_index_entry(vst, pos + asize, i, vsize, 0, AVINDEX_KEYFRAME);
|
||||
|
||||
@@ -256,7 +256,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data,
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (!encoding && c->palette_size && c->bpp <= 8) {
|
||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||
} else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8)) {
|
||||
} else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8) && c->format != CHUNKY) {
|
||||
if (c->palette_size != (1 << (c->bpp - 1)))
|
||||
return AVERROR_INVALIDDATA;
|
||||
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
||||
|
||||
@@ -142,7 +142,7 @@ static int decode_frame(AVCodecContext *avctx,
|
||||
|
||||
if (av_image_check_size(s->width, s->height, 0, avctx) < 0)
|
||||
return -1;
|
||||
if (s->width != avctx->width && s->height != avctx->height) {
|
||||
if (s->width != avctx->width || s->height != avctx->height) {
|
||||
ret = ff_set_dimensions(avctx, s->width, s->height);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@@ -695,7 +695,8 @@ static int parse_video_info(AVIOContext *pb, AVStream *st)
|
||||
st->codec->codec_tag = tag;
|
||||
st->codec->codec_id = ff_codec_get_id(ff_codec_bmp_tags, tag);
|
||||
|
||||
if (size > BMP_HEADER_SIZE) {
|
||||
if (size > BMP_HEADER_SIZE &&
|
||||
size < INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) {
|
||||
int ret;
|
||||
st->codec->extradata_size = size - BMP_HEADER_SIZE;
|
||||
if (!(st->codec->extradata = av_malloc(st->codec->extradata_size +
|
||||
|
||||
@@ -514,6 +514,11 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
uint8_t *data = NULL;
|
||||
int flags = -1, flags_size, ret;
|
||||
|
||||
if (enc->codec_type == AVMEDIA_TYPE_AUDIO && !pkt->size) {
|
||||
av_log(s, AV_LOG_WARNING, "Empty audio Packet\n");
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
if (enc->codec_id == AV_CODEC_ID_VP6F || enc->codec_id == AV_CODEC_ID_VP6A ||
|
||||
enc->codec_id == AV_CODEC_ID_VP6 || enc->codec_id == AV_CODEC_ID_AAC)
|
||||
flags_size = 2;
|
||||
|
||||
Reference in New Issue
Block a user