mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 03:59:43 +00:00
lavc/v210dec: Skip Canopus C210 extradata.
Unbreaks files with unknown extradata, the Canopus decoder accepts both files with and without this extradata (24 byte "INFO", 16 byte "RDRT", rest "FIEL"). Reported-by: Peter Bubestinger Tested-by: Piotr Bandurski
This commit is contained in:
parent
cb944fc7f1
commit
380ca1bc0c
@ -27,6 +27,7 @@
|
||||
#include "libavutil/bswap.h"
|
||||
#include "libavutil/internal.h"
|
||||
#include "libavutil/mem.h"
|
||||
#include "libavutil/intreadwrite.h"
|
||||
|
||||
#define READ_PIXELS(a, b, c) \
|
||||
do { \
|
||||
@ -92,6 +93,11 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
}
|
||||
if ( avctx->codec_tag == MKTAG('C', '2', '1', '0')
|
||||
&& avpkt->size > 64
|
||||
&& AV_RN32(psrc) == AV_RN32("INFO")
|
||||
&& avpkt->size - 64 >= stride * avctx->height)
|
||||
psrc += 64;
|
||||
|
||||
aligned_input = !((uintptr_t)psrc & 0xf) && !(stride & 0xf);
|
||||
if (aligned_input != s->aligned_input) {
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||
#define LIBAVCODEC_VERSION_MINOR 19
|
||||
#define LIBAVCODEC_VERSION_MICRO 101
|
||||
#define LIBAVCODEC_VERSION_MICRO 102
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user