[FFmpeg-devel] [PATCH] Exposing forced flag for DVD and PGS subtitles

Erik Miranda erikmiranda at gmail.com
Tue Apr 17 10:53:57 CEST 2012

On Apr 16 21:44:48 CEST 2012, Reimar Döffinger<Reimar.Doeffinger at gmx.de>  wrote:
>On 16 Apr 2012, at 12:45, Joakim Plate<elupus at ecce.se  <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel>>  wrote:
>>/  Erik Miranda<erikmiranda<at>  gmail.com>  writes:
/>>>/  This patch adds a "forced" member to the AVSubtitleRect structure and
/>>>/  implements setting this flag in the DVD and PGS subtitle decoders, since
/>>>/  these are the formats I'm aware of that include such a function. Since
/>>>/  this patch changes AVSubtitleRect, it leads to a public API change. As
/>>>/  far as I can tell, this is the best method to allow access to this
/>>>/  information. Please advise me if otherwise, or if further changes are
/>>>/  required as part of changing AVSubtitleRect. I think the libavcodec
/>>>/  version would need a bump, correct?
/>>/  There is already a content dispostion type for forced. That is stream
/>>/  global thou. So one option would be to duplicate forced subs into a
/>>/  secondary subtitle stream.
>  What would be the point? What would someone do with that information except drop all non-forced ones?
>  I guess it might be relevant if you want to preserve the info when reencoding.
>  It should be possible to avoid the API/ABI breakage by adding an extra array to AVSubtitle instead of putting it into the AVSubtitleRect.
>  Though we might consider changing the whole API so extending the rect is possible without changing the API in the future.

In addition to reencoding, if I were to write, for example, a program which allows one to open and
analyze or edit subtitles, it would be useful to decode all subtitles while having access to the forced
flag. I'm sure there are other use cases as well. I find having to duplicate the stream and compare which
subtitles are present in both the forced-only stream and the all subtitles stream a very hackish
approach to access a piece of information that is so readily available. I chose AVSubtitleRect because
it seemed the most logical location to look for such a piece of information. I don't quite understand
how one would add an array to AVSubtitle without encountering similar breakage.

More information about the ffmpeg-devel mailing list