|
|
|
@ -1963,16 +1963,16 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, |
|
|
|
|
if (ret < 0) { |
|
|
|
|
*got_sub_ptr = 0; |
|
|
|
|
} else { |
|
|
|
|
avctx->pkt = &pkt_recoded; |
|
|
|
|
|
|
|
|
|
if (avctx->pkt_timebase.den && avpkt->pts != AV_NOPTS_VALUE) |
|
|
|
|
sub->pts = av_rescale_q(avpkt->pts, |
|
|
|
|
avctx->pkt_timebase, AV_TIME_BASE_Q); |
|
|
|
|
ret = avctx->codec->decode(avctx, sub, got_sub_ptr, &pkt_recoded); |
|
|
|
|
if (tmp.data != pkt_recoded.data) |
|
|
|
|
av_free(pkt_recoded.data); |
|
|
|
|
sub->format = !(avctx->codec_descriptor->props & AV_CODEC_PROP_BITMAP_SUB); |
|
|
|
|
avctx->pkt = NULL; |
|
|
|
|
avctx->pkt = &pkt_recoded; |
|
|
|
|
|
|
|
|
|
if (avctx->pkt_timebase.den && avpkt->pts != AV_NOPTS_VALUE) |
|
|
|
|
sub->pts = av_rescale_q(avpkt->pts, |
|
|
|
|
avctx->pkt_timebase, AV_TIME_BASE_Q); |
|
|
|
|
ret = avctx->codec->decode(avctx, sub, got_sub_ptr, &pkt_recoded); |
|
|
|
|
if (tmp.data != pkt_recoded.data) |
|
|
|
|
av_free(pkt_recoded.data); |
|
|
|
|
sub->format = !(avctx->codec_descriptor->props & AV_CODEC_PROP_BITMAP_SUB); |
|
|
|
|
avctx->pkt = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (did_split) { |
|
|
|
|