summaryrefslogtreecommitdiff
path: root/libavcodec/dvdsubenc.c
diff options
context:
space:
mode:
authorOliver Fromme <oliver@fromme.com>2014-05-18 15:29:28 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-05-20 00:08:08 +0200
commitab6228316a595ecc1ee462a34a4f19e1ffeb9062 (patch)
treee414cdd4ff1ee27a5dc2463c2335c702824263e4 /libavcodec/dvdsubenc.c
parentd43c303038e9bd9c7d1856234d81e6fc5b410c3f (diff)
avcodec/dvdsubenc: accept forced flag
Reviewed-by: Anshul <anshul.ffmpeg@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/dvdsubenc.c')
-rw-r--r--libavcodec/dvdsubenc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/dvdsubenc.c b/libavcodec/dvdsubenc.c
index 11858c7f97..d19d071bf2 100644
--- a/libavcodec/dvdsubenc.c
+++ b/libavcodec/dvdsubenc.c
@@ -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