summaryrefslogtreecommitdiffstats
path: root/TOOLS/matroska.py
diff options
context:
space:
mode:
Diffstat (limited to 'TOOLS/matroska.py')
-rwxr-xr-xTOOLS/matroska.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/TOOLS/matroska.py b/TOOLS/matroska.py
index 0e447bc5ea..61a33ffb84 100755
--- a/TOOLS/matroska.py
+++ b/TOOLS/matroska.py
@@ -21,8 +21,6 @@ Can also be used to directly parse Matroska files and display their contents.
# License along with mpv. If not, see <http://www.gnu.org/licenses/>.
#
-# for compatibility with Python 2.x
-from __future__ import print_function
elements_ebml = (
'EBML, 1a45dfa3, sub', (
@@ -94,6 +92,7 @@ elements_matroska = (
'MaxBlockAdditionID, 55ee, uint',
'Name, 536e, str',
'Language, 22b59c, str',
+ 'LanguageBCP47, 22b59d, str',
'CodecID, 86, str',
'CodecPrivate, 63a2, binary',
'CodecName, 258688, str',
@@ -107,6 +106,10 @@ elements_matroska = (
'DisplayWidth, 54b0, uint',
'DisplayHeight, 54ba, uint',
'DisplayUnit, 54b2, uint',
+ 'PixelCropTop, 54bb, uint',
+ 'PixelCropLeft, 54cc, uint',
+ 'PixelCropRight, 54dd, uint',
+ 'PixelCropBottom, 54aa, uint',
'FrameRate, 2383e3, float',
'ColourSpace, 2eb524, binary',
'StereoMode, 53b8, uint',
@@ -204,6 +207,7 @@ elements_matroska = (
'ChapterDisplay*, 80, sub', (
'ChapString, 85, str',
'ChapLanguage*, 437c, str',
+ 'ChapLanguageBCP47*, 437d, str',
'ChapCountry*, 437e, str',
),
),
@@ -222,6 +226,7 @@ elements_matroska = (
'SimpleTag*, 67c8, sub', (
'TagName, 45a3, str',
'TagLanguage, 447a, str',
+ 'TagLanguageBCP47, 447b, str',
'TagString, 4487, str',
'TagDefault, 4484, uint',
),
@@ -276,7 +281,7 @@ class MatroskaElement(object):
def add_subelements(self, subelements):
self.subelements = subelements
- self.subids = set(x[0].elid for x in subelements)
+ self.subids = {x[0].elid for x in subelements}
elementd = {}
elementlist = []
@@ -300,8 +305,8 @@ parse_elems(elements_ebml, 'EBML')
parse_elems(elements_matroska, 'MATROSKA')
def printf(out, *args):
- out.write(u' '.join([str(x) for x in args]))
- out.write(u'\n')
+ out.write(' '.join(str(x) for x in args))
+ out.write('\n')
def generate_C_header(out):
printf(out, '// Generated by TOOLS/matroska.py, do not edit manually')
@@ -462,12 +467,10 @@ if __name__ == "__main__":
parse_one(s, 0, None, 1 << 63)
if sys.argv[1] == '--generate-header':
- generate_C_header(sys.stdout)
+ generate_C_header(open(sys.argv[2], "w"))
elif sys.argv[1] == '--generate-definitions':
- generate_C_definitions(sys.stdout)
+ generate_C_definitions(open(sys.argv[2], "w"))
else:
- if sys.version_info.major < 3:
- raise Exception("Dumping requires Python 3.")
s = open(sys.argv[1], "rb")
while 1:
start = s.tell()