New submission from Varga Bence <[email protected]>:
In a webm stream ffmpeg puts the following Timecode in the first cluster:
E7 81 00
| | +- Unspecified EBML-encoded integer (zero?)
| +---- Element size: 1 bytes
+------- Element ID: Timecode
AFAIK 00 is not a valid encoding for zero. Zero can be encodedon 1 byte as
0x80.
>From the RFC:
UINT = *8BYTE
Unsigned integer, sizes from 0-8 bytes. A zero byte integer
represents the integer value 0.
In my understanding when the specification talks about "zero length" or "zero
byte" it refers to a zero sized block. Using the example from above:
E7 80
| +---- Element size: 0 bytes
+------- Element ID: Timecode
... here the EBML element contains a zero length integer which is 0x00 in
value.
>From mtroska.org's specification:
[...] Since modern computers do not easily deal with data coded in sizes
greater than 64 bits, any larger Element Sizes are left undefined at the
moment.
It seems to me that an integer starting with the byte 00 is RESERVED for future
use for numbers greater than 64 bits.
----------
messages: 12257
priority: normal
status: new
substatus: new
title: Webm: error with EBML-encoded zero (in Cluster Timecode)
type: bug
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2298>
________________________________________________