-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mkvalidator: Fix parsing of Video element and checking of cues #39
base: master
Are you sure you want to change the base?
Commits on Jan 27, 2019
-
mkvalidator: Fix parsing of Video elements
The earlier code checked the PixelCrop* elements as if they applied after the scaling to DisplayWidth/Height has been done. Furthermore some checks have been improved (the earlier code didn't check whether PixelWidth/Height is zero). Moreover a heuristic check has been added to test whether it has been forgotten to update DisplayWidth/Height in light of the PixelCrop* elements. Signed-off-by: Andreas Rheinhardt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0e6dc3e - Browse repository at this point
Copy the full SHA 0e6dc3eView commit details -
mkvalidator: Fix calculating amount of void data
Signed-off-by: Andreas Rheinhardt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e764d21 - Browse repository at this point
Copy the full SHA e764d21View commit details
Commits on Jan 28, 2019
-
mkvalidator: Accept more void data
The current level basically ensures that files produced by mkvmerge produce a warning, although they don't use an excessive amount of void data. So raise the arbitrary threshold a bit to make this warning meaningful. Signed-off-by: Andreas Rheinhardt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3079e62 - Browse repository at this point
Copy the full SHA 3079e62View commit details
Commits on Jan 30, 2019
-
libmatroska2: Improve MATROSKA_CuePosInSegment
This function seems to have been copied and pasted from MATROSKA_CueTimeCode, with only minimal modifications performed to make it do what its name suggest. This means that a variable that never stores a time is called TimeCode and that the function returns INVALID_TIMECODE_T instead of INVALID_FILEPOS_T. These things have been changed. Signed-off-by: Andreas Rheinhardt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 374b3c9 - Browse repository at this point
Copy the full SHA 374b3c9View commit details
Commits on Feb 7, 2019
-
libmatroska2: Add variant of MATROSKA_GetBlockForTimecode
The differences of MATROSKA_GetNextBlockForTimecode and the classical MATROSKA_GetBlockForTimecode are threefold: 1. The new function can return both the inner Block as well as the outer BlockGroup based upon a parameter (that is irrelevant for SimpleBlocks). 2. Consequently the return value is a pointer to an ebml_element and no longer a matroska_block*. 3. It also allows to get a matching block that is not the first matching block in a cluster. This commit is in preparation of a patch for mkvalidator. Signed-off-by: Andreas Rheinhardt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4667ef8 - Browse repository at this point
Copy the full SHA 4667ef8View commit details
Commits on Feb 8, 2019
-
mkvalidator: Fix checking of cues
The earlier code had several flaws: 1. It was very slow, because finding a matching block always started with the very first block in the first cluster and checked every block until an acceptable block (one with the right timestamp from the right track) had been found. 2. Only one CueTrackPositions (namely the first one) has been checked per CuePoint, although there can be multiple CueTrackPositions. 3. If e.g. no CueTrack element was present, one got a generic error (error code 0x200), because a mandatory element was missing; but MATROSKA_CueTrackNum returned -1 (for invalid TrackNum) and so one also received a nonsense error 0x312: "CueEntry Track #-1 and timecode xxx ms not found". 4. The CueClusterPosition and CueRelativePosition elements have not been checked at all. All four points have been corrected. (mkvmerge versions 5.9 to 6.3 (inclusive) wrote CueRelativePosition elements that (in case of BlockGroups) pointed to the inner blocks and not the outer BlockGroups. mkvalidator now detects such files as invalid.) Signed-off-by: Andreas Rheinhardt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for af66147 - Browse repository at this point
Copy the full SHA af66147View commit details