mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/dvbsubdec: replace data_size with got_sub_ptr for better readability
Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
8ea4efffdb
commit
157873623f
|
@ -1610,7 +1610,7 @@ static int dvbsub_display_end_segment(AVCodecContext *avctx, const uint8_t *buf,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dvbsub_decode(AVCodecContext *avctx,
|
static int dvbsub_decode(AVCodecContext *avctx,
|
||||||
void *data, int *data_size,
|
void *data, int *got_sub_ptr,
|
||||||
AVPacket *avpkt)
|
AVPacket *avpkt)
|
||||||
{
|
{
|
||||||
const uint8_t *buf = avpkt->data;
|
const uint8_t *buf = avpkt->data;
|
||||||
|
@ -1668,7 +1668,7 @@ static int dvbsub_decode(AVCodecContext *avctx,
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
switch (segment_type) {
|
switch (segment_type) {
|
||||||
case DVBSUB_PAGE_SEGMENT:
|
case DVBSUB_PAGE_SEGMENT:
|
||||||
ret = dvbsub_parse_page_segment(avctx, p, segment_length, sub, data_size);
|
ret = dvbsub_parse_page_segment(avctx, p, segment_length, sub, got_sub_ptr);
|
||||||
got_segment |= 1;
|
got_segment |= 1;
|
||||||
break;
|
break;
|
||||||
case DVBSUB_REGION_SEGMENT:
|
case DVBSUB_REGION_SEGMENT:
|
||||||
|
@ -1690,7 +1690,7 @@ static int dvbsub_decode(AVCodecContext *avctx,
|
||||||
got_dds = 1;
|
got_dds = 1;
|
||||||
break;
|
break;
|
||||||
case DVBSUB_DISPLAY_SEGMENT:
|
case DVBSUB_DISPLAY_SEGMENT:
|
||||||
ret = dvbsub_display_end_segment(avctx, p, segment_length, sub, data_size);
|
ret = dvbsub_display_end_segment(avctx, p, segment_length, sub, got_sub_ptr);
|
||||||
if (got_segment == 15 && !got_dds && !avctx->width && !avctx->height) {
|
if (got_segment == 15 && !got_dds && !avctx->width && !avctx->height) {
|
||||||
// Default from ETSI EN 300 743 V1.3.1 (7.2.1)
|
// Default from ETSI EN 300 743 V1.3.1 (7.2.1)
|
||||||
avctx->width = 720;
|
avctx->width = 720;
|
||||||
|
@ -1713,12 +1713,12 @@ static int dvbsub_decode(AVCodecContext *avctx,
|
||||||
// segments then we need no further data.
|
// segments then we need no further data.
|
||||||
if (got_segment == 15) {
|
if (got_segment == 15) {
|
||||||
av_log(avctx, AV_LOG_DEBUG, "Missing display_end_segment, emulating\n");
|
av_log(avctx, AV_LOG_DEBUG, "Missing display_end_segment, emulating\n");
|
||||||
dvbsub_display_end_segment(avctx, p, 0, sub, data_size);
|
dvbsub_display_end_segment(avctx, p, 0, sub, got_sub_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
end:
|
end:
|
||||||
if(ret < 0) {
|
if(ret < 0) {
|
||||||
*data_size = 0;
|
*got_sub_ptr = 0;
|
||||||
avsubtitle_free(sub);
|
avsubtitle_free(sub);
|
||||||
return ret;
|
return ret;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue