mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/dvbsubdec: DVB subtitles decoder: support of 5 bytes extradata format
Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
ef5d32b9c5
commit
36a6297953
@ -367,11 +367,15 @@ static av_cold int dvbsub_init_decoder(AVCodecContext *avctx)
|
||||
int i, r, g, b, a = 0;
|
||||
DVBSubContext *ctx = avctx->priv_data;
|
||||
|
||||
if (!avctx->extradata || avctx->extradata_size != 4) {
|
||||
av_log(avctx, AV_LOG_WARNING, "Invalid extradata, subtitle streams may be combined!\n");
|
||||
if (!avctx->extradata || (avctx->extradata_size < 4) || ((avctx->extradata_size % 5 != 0) && (avctx->extradata_size != 4))) {
|
||||
av_log(avctx, AV_LOG_WARNING, "Invalid DVB subtitles stream extradata!\n");
|
||||
ctx->composition_id = -1;
|
||||
ctx->ancillary_id = -1;
|
||||
} else {
|
||||
if (avctx->extradata_size > 5) {
|
||||
av_log(avctx, AV_LOG_WARNING, "Decoding first DVB subtitles sub-stream\n");
|
||||
}
|
||||
|
||||
ctx->composition_id = AV_RB16(avctx->extradata);
|
||||
ctx->ancillary_id = AV_RB16(avctx->extradata + 2);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user