break; // stop
if (type == 2) {
av_log_ask_for_sample(avctx, "unknown opcode");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
continue;
}
if (s->sega_film_skip_bytes == -1) {
if (!encoded_buf_size) {
av_log_ask_for_sample(s->avctx, "encoded_buf_size is 0");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
if (encoded_buf_size != s->size && (s->size % encoded_buf_size) != 0) {
/* If the encoded frame size differs from the frame size as indicated
av_log_ask_for_sample(s->avctx, NULL);
s->picture_structure = last_pic_structure;
s->droppable = last_pic_droppable;
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
/* Take ownership of this buffer. Note that if another thread owned
bpp = bits_per_plane * s->nb_planes;
if (bits_per_plane > 8 || bpp < 1 || bpp > 32) {
av_log_ask_for_sample(s, "unsupported bit depth\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
if (bytestream2_peek_byte(&s->g) == 0xFF) {
if (bytes_per_pixel != 2) {
av_log_ask_for_sample(avctx, "Image format is not RGB15.\n");
- return -1;
+ return AVERROR_PATCHWELCOME;
}
avctx->pix_fmt = AV_PIX_FMT_RGB555;
if (s->flags & FLAG_SPRITE) {
av_log_ask_for_sample(s->avctx, "SPRITE frame found.\n");
/* FIXME header.width, height, xoffset and yoffset aren't initialized */
- return -1;
+ return AVERROR_PATCHWELCOME;
} else {
s->w = header.xsize;
s->h = header.ysize;
if (avctx->channels != 1) {
av_log_ask_for_sample(avctx, "Unsupported channel count: %d\n", avctx->channels);
- return AVERROR(EINVAL);
+ return AVERROR_PATCHWELCOME;
}
avctx->channel_layout = AV_CH_LAYOUT_MONO;
} else {
av_log_ask_for_sample(avctx, "Unsupported extradata size\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
/* generic init */
} else {
av_log_ask_for_sample(avctx, "Unknown extradata size\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
/** generic init */
if (get_bits1(&s->gb)) {
av_log_ask_for_sample(s->avctx,
"unsupported channel transform bit\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
for (s->num_chgroups = 0; remaining_channels &&
/** no idea for what the following bit is used */
if (get_bits1(&s->gb)) {
av_log_ask_for_sample(s->avctx, "reserved bit set\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
avio_skip(pb, 4); /* magic number */
if (avio_rl16(pb) != MAX_PAGES) {
av_log_ask_for_sample(s, "max_pages != " AV_STRINGIFY(MAX_PAGES) "\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
anm->nb_pages = avio_rl16(pb);
invalid:
av_log_ask_for_sample(s, NULL);
- ret = AVERROR_INVALIDDATA;
+ ret = AVERROR_PATCHWELCOME;
fail:
return ret;
if (!av_get_bits_per_sample(codec)) {
av_log_ask_for_sample(s, "could not determine bits per sample\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
if (channels == 0 || channels > 64) {
st->nb_frames = avio_rb32(pb);
if (avio_rb16(pb) != 0) {
av_log_ask_for_sample(s, "unsupported packing method\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
avio_skip(pb, 2);
if (audio_subsegments == 0) {
av_log_ask_for_sample(s, "MTV files without audio are not supported\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
mtv->full_segment_size =
bps = av_get_bits_per_sample(codec);
if (!bps) {
av_log_ask_for_sample(s, "could not determine bits per sample\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
/* now we are ready: build format streams */
case SMJPEG_SND:
if (ast) {
av_log_ask_for_sample(s, "multiple audio streams not supported\n");
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
hlength = avio_rb32(pb);
if (hlength < 8)
* distribute the TrueHD frames in the MAT frame */
av_log(s, AV_LOG_ERROR, "TrueHD frame too big, %d bytes\n", pkt->size);
av_log_ask_for_sample(s, NULL);
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
memcpy(&ctx->hd_buf[ctx->hd_buf_count * TRUEHD_FRAME_OFFSET - BURST_HEADER_SIZE + mat_code_length],