libavcodec/xsubenc.c: Fix bounding box coordinates

Fix coordinates of the lower right corner of the text area.
Note that the coordinates are redundant as the size and
position of the text area are known.
Many decoders (including Sony Playstation 3, VLC and FFmpeg)
ignore the redundant coordinates.
Some hardware decoders need them for correct playback.

Verified on Philips DVD player models HTS7201 and DVP3380.

Fixes ticket #3031

Signed-off-by: Erik Olofsson <eaj.olofsson@gmail.com>
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/48/head
Erik Olofsson 11 years ago committed by Michael Niedermayer
parent 355cea8ddc
commit 3b1dcdec7d
  1. 4
      libavcodec/xsubenc.c

@ -166,8 +166,8 @@ static int xsub_encode(AVCodecContext *avctx, unsigned char *buf,
bytestream_put_le16(&hdr, height); bytestream_put_le16(&hdr, height);
bytestream_put_le16(&hdr, h->rects[0]->x); bytestream_put_le16(&hdr, h->rects[0]->x);
bytestream_put_le16(&hdr, h->rects[0]->y); bytestream_put_le16(&hdr, h->rects[0]->y);
bytestream_put_le16(&hdr, h->rects[0]->x + width); bytestream_put_le16(&hdr, h->rects[0]->x + width -1);
bytestream_put_le16(&hdr, h->rects[0]->y + height); bytestream_put_le16(&hdr, h->rects[0]->y + height -1);
rlelenptr = hdr; // Will store length of first field here later. rlelenptr = hdr; // Will store length of first field here later.
hdr+=2; hdr+=2;

Loading…
Cancel
Save