mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-12 19:18:44 +02:00
9f7e0b37ff
This commit uses the new EbmlWriter API to write the length fields of the BlockGroup and its descendants that are themselves Master elements (namely BlockAdditions and BlockMore) on the least amount of bytes. This fixes regressions introduced when the special code for writing general subtitles was removed. Accordingly, the binsub-mksenc and matroska-zero-length-block FATE-tests have now been reverted back to their old state again; the advantages of this approach are evident with the matroska-vp8-alpha-remux test which up until now wrote all the length fields of all BlockGroups, BlockAdditions and BlockMore on eight bytes. Using the EbmlWriter API also allowed to improve locality in mkv_write_block(): E.g. both DiscardPadding as well as the BlockAdditional side-data are now directly used to add elements to the writer whereas the earlier code had to first check for whether a BlockGroup should be used and then check again (after the place where a BlockGroup would be opened if one were used) for whether there is DiscardPadding or BlockAdditional side-data to write. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 lines
444 B
Plaintext
11 lines
444 B
Plaintext
f37ba7e8a30eaa33c1fd0ef77447fb41 *tests/data/fate/matroska-zero-length-block.matroska
|
|
636 tests/data/fate/matroska-zero-length-block.matroska
|
|
#tb 0: 1/1000
|
|
#media_type 0: subtitle
|
|
#codec_id 0: subrip
|
|
0, 1000, 1000, 2000, 5, 0x05b801df
|
|
0, 3300, 3300, 3700, 16, 0x300705b2
|
|
[STREAM]
|
|
TAG:DESCRIPTION=This track uses header removal compression and has a Block of size zero before reversing it.
|
|
[/STREAM]
|