diff options
author | Oliver Fromme <oliver@fromme.com> | 2014-05-18 15:29:28 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-05-20 00:08:08 +0200 |
commit | ab6228316a595ecc1ee462a34a4f19e1ffeb9062 (patch) | |
tree | e414cdd4ff1ee27a5dc2463c2335c702824263e4 | |
parent | d43c303038e9bd9c7d1856234d81e6fc5b410c3f (diff) | |
download | ffmpeg-ab6228316a595ecc1ee462a34a4f19e1ffeb9062.tar.gz |
avcodec/dvdsubenc: accept forced flag
Reviewed-by: Anshul <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/dvdsubenc.c | 9 |
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 |