diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-09-29 16:17:56 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-10-02 12:22:05 +0200 |
commit | 0c1103d4dc4c6af56b09df6d4ecb252606666d7b (patch) | |
tree | b31903adb0f6cd1be8b9893ac87025bc8657de39 /libavfilter/edge_common.c | |
parent | 9e531370b3da27aa72703b9bb40cdd697e88607e (diff) | |
download | ffmpeg-0c1103d4dc4c6af56b09df6d4ecb252606666d7b.tar.gz |
avformat/matroskaenc: Don't create wrong packet durations
We have to write an explicit BlockDuration element (and use
a BlockGroup instead of a SimpleBlock) in case the Track
has a DefaultDuration that is inconsistent with the duration
of the packet.
The matroska-h264-remux test uses a file with coded fields
where the duration of a Block is the duration of a field,
not of a frame, therefore this patch writes said BlockDuration
elements.
(When using a BlockGroup, one has to add ReferenceBlock elements
to distinguish keyframes from non-keyframes. Unfortunately,
the AV1 codec mapping [1] requires us to reference all references
and to really use the real references, which requires a lot of
effort for basically no gain. When BlockGroups are used with AV1,
the created files are most likely invalid, both before and after
this patch, but this patch makes this more likely to happen.)
[1]: https://github.com/ietf-wg-cellar/matroska-specification/blob/master/codec/av1.md
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavfilter/edge_common.c')
0 files changed, 0 insertions, 0 deletions