mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-03 13:53:53 +02:00
Fall back to color space information from bitstream, fill missing color space fields when passing it to Chromium's VideoDecoder, fix AV1 Sequence Header OBU parsing, fix vpcC box generation, still mux partial color space info into container (fixes #474, closes #475)
This commit is contained in:
@@ -14,7 +14,7 @@ import {
|
||||
UNDETERMINED_LANGUAGE,
|
||||
assert,
|
||||
assertNever,
|
||||
colorSpaceIsComplete,
|
||||
colorSpaceIsEmpty,
|
||||
imageMimeTypeToExtension,
|
||||
keyValueIterator,
|
||||
normalizeRotation,
|
||||
@@ -405,29 +405,31 @@ export class MatroskaMuxer extends Muxer {
|
||||
(hasNonSquarePixelAspectRatio ? { id: EBMLId.DisplayHeight, data: trackData.info.aspectRatio!.den } : null),
|
||||
(hasNonSquarePixelAspectRatio ? { id: EBMLId.DisplayUnit, data: 3 } : null), // 3 = display aspect ratio
|
||||
trackData.info.alphaMode ? { id: EBMLId.AlphaMode, data: 1 } : null,
|
||||
(colorSpaceIsComplete(colorSpace)
|
||||
? {
|
||||
(colorSpaceIsEmpty(colorSpace)
|
||||
? null
|
||||
: {
|
||||
id: EBMLId.Colour,
|
||||
data: [
|
||||
{
|
||||
id: EBMLId.MatrixCoefficients,
|
||||
data: MATRIX_COEFFICIENTS_MAP[colorSpace.matrix],
|
||||
data: colorSpace?.matrix != null ? MATRIX_COEFFICIENTS_MAP[colorSpace.matrix] : 2,
|
||||
},
|
||||
{
|
||||
id: EBMLId.TransferCharacteristics,
|
||||
data: TRANSFER_CHARACTERISTICS_MAP[colorSpace.transfer],
|
||||
data: colorSpace?.transfer != null
|
||||
? TRANSFER_CHARACTERISTICS_MAP[colorSpace.transfer]
|
||||
: 2,
|
||||
},
|
||||
{
|
||||
id: EBMLId.Primaries,
|
||||
data: COLOR_PRIMARIES_MAP[colorSpace.primaries],
|
||||
data: colorSpace?.primaries != null ? COLOR_PRIMARIES_MAP[colorSpace.primaries] : 2,
|
||||
},
|
||||
{
|
||||
id: EBMLId.Range,
|
||||
data: colorSpace.fullRange ? 2 : 1,
|
||||
data: colorSpace?.fullRange != null ? (colorSpace.fullRange ? 2 : 1) : 0,
|
||||
},
|
||||
],
|
||||
}
|
||||
: null),
|
||||
}),
|
||||
(flippedRotation
|
||||
? {
|
||||
id: EBMLId.Projection,
|
||||
|
||||
Reference in New Issue
Block a user