Browse Source

avcodec/dvdsubenc: accept forced flag

Reviewed-by: Anshul <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Oliver Fromme Michael Niedermayer 12 years ago
parent
commit
ab6228316a
1 changed files with 8 additions and 1 deletions
  1. +8
    -1
      libavcodec/dvdsubenc.c

+ 8
- 1
libavcodec/dvdsubenc.c View File

@@ -259,6 +259,7 @@ static int encode_dvd_subtitles(AVCodecContext *avctx,
AVSubtitleRect vrect;
uint8_t *vrect_data = NULL;
int x2, y2;
int forced = 0;

if (rects == 0 || h->rects == NULL)
return AVERROR(EINVAL);
@@ -267,6 +268,12 @@ static int encode_dvd_subtitles(AVCodecContext *avctx,
av_log(avctx, AV_LOG_ERROR, "Bitmap subtitle required\n");
return AVERROR(EINVAL);
}
/* Mark this subtitle forced if any of the rectangles is forced. */
for (i = 0; i < rects; i++)
if ((h->rects[i]->flags & AV_SUBTITLE_FLAG_FORCED) != 0) {
forced = 1;
break;
}
vrect = *h->rects[0];

if (rects > 1) {
@@ -371,7 +378,7 @@ static int encode_dvd_subtitles(AVCodecContext *avctx,
bytestream_put_be16(&q, offset1);
bytestream_put_be16(&q, offset2);

*q++ = 0x01; // start command
*q++ = forced ? 0x00 : 0x01; // start command
*q++ = 0xff; // terminating command

// send stop display command last


Loading…
Cancel
Save