mirror of https://git.ffmpeg.org/ffmpeg.git
lavc/mjpeg2jpeg: Accept more mjpeg streams as input.
Fixes ticket #5151.
This commit is contained in:
parent
9ca64c31d2
commit
d3fe2e0dc9
|
@ -32,6 +32,7 @@
|
|||
|
||||
#include "avcodec.h"
|
||||
#include "jpegtables.h"
|
||||
#include "mjpeg.h"
|
||||
|
||||
static const uint8_t jpeg_header[] = {
|
||||
0xff, 0xd8, // SOI
|
||||
|
@ -93,11 +94,11 @@ static int mjpeg2jpeg_filter(AVBitStreamFilterContext *bsfc,
|
|||
av_log(avctx, AV_LOG_ERROR, "input is not MJPEG\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
if (memcmp("AVI1", buf + 6, 4)) {
|
||||
av_log(avctx, AV_LOG_ERROR, "input is not MJPEG/AVI1\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (buf[2] == 0xff && buf[3] == APP0) {
|
||||
input_skip = (buf[4] << 8) + buf[5] + 4;
|
||||
} else {
|
||||
input_skip = 2;
|
||||
}
|
||||
input_skip = (buf[4] << 8) + buf[5] + 4;
|
||||
if (buf_size < input_skip) {
|
||||
av_log(avctx, AV_LOG_ERROR, "input is truncated\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
|
Loading…
Reference in New Issue