Beispiel #1
0
        /// <summary>
        /// Initializes static members of the <see cref="DiracBaseVideoFormat"/> class.
        /// </summary>
        static DiracBaseVideoFormat()
        {
            var formats = new DiracBaseVideoFormat[20];

            formats[(int)DiracPredefinedVideoFormats.Custom] = new DiracBaseVideoFormat()
            {
                Name = "Custom",
                Dimensions = new FrameDimensions()
                {
                    Width = 640,
                    Height = 640,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = false,
                FrameRateIndex = 1,
                FrameRate = new SampleRate(24000, 1001),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.Custom,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.QSIF525] = new DiracBaseVideoFormat()
            {
                Name = "QSIF525",
                Dimensions = new FrameDimensions()
                {
                    Width = 176,
                    Height = 120,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = false,
                FrameRateIndex = 9,
                FrameRate = new SampleRate(15000, 1001),
                PixelAspectRatioIndex = 2,
                PixelAspectRatioNumerator = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.QCIF] = new DiracBaseVideoFormat()
            {
                Name = "QCIF",
                Dimensions = new FrameDimensions()
                {
                    Width = 176,
                    Height = 144,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 10,
                FrameRate = new SampleRate(25, 2),
                PixelAspectRatioIndex = 3,
                PixelAspectRatioNumerator = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.SIF525] = new DiracBaseVideoFormat()
            {
                Name = "SIF525",
                Dimensions = new FrameDimensions()
                {
                    Width = 352,
                    Height = 249,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = false,
                FrameRateIndex = 9,
                FrameRate = new SampleRate(15000, 1001),
                PixelAspectRatioIndex = 2,
                PixelAspectRatioNumerator = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.CIF] = new DiracBaseVideoFormat()
            {
                Name = "CIF",
                Dimensions = new FrameDimensions()
                {
                    Width = 352,
                    Height = 288,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 10,
                FrameRate = new SampleRate(25, 2),
                PixelAspectRatioIndex = 3,
                PixelAspectRatioNumerator = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.X4SIF525] = new DiracBaseVideoFormat()
            {
                Name = "4SIF525",
                Dimensions = new FrameDimensions()
                {
                    Width = 704,
                    Height = 480,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = false,
                FrameRateIndex = 9,
                FrameRate = new SampleRate(15000, 1001),
                PixelAspectRatioIndex = 2,
                PixelAspectRatioNumerator = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.X4CIF] = new DiracBaseVideoFormat()
            {
                Name = "4CIF",
                Dimensions = new FrameDimensions()
                {
                    Width = 704,
                    Height = 576,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 10,
                FrameRate = new SampleRate(25, 2),
                PixelAspectRatioIndex = 3,
                PixelAspectRatioNumerator = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 1,
                LumaOffset = 0,
                LumaExcursion = 255,
                ChromaOffset = 128,
                ChromaExcursion = 255,
                ColorSpecificationIndex = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.SD480I60] = new DiracBaseVideoFormat()
            {
                Name = "SD480-60I",
                Dimensions = new FrameDimensions()
                {
                    Width = 720,
                    Height = 480,
                    CleanWidth = 704,
                    CleanHeight = 480,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = true,
                TopFieldFirst = false,
                FrameRateIndex = 4,
                FrameRate = new SampleRate(30000, 1001),
                PixelAspectRatioIndex = 2,
                PixelAspectRatioNumerator = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.SD576I50] = new DiracBaseVideoFormat()
            {
                Name = "SD576-50I",
                Dimensions = new FrameDimensions()
                {
                    Width = 720,
                    Height = 576,
                    CleanWidth = 704,
                    CleanHeight = 576,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = true,
                TopFieldFirst = true,
                FrameRateIndex = 3,
                FrameRate = new SampleRate(25, 1),
                PixelAspectRatioIndex = 3,
                PixelAspectRatioNumerator = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex = DiracColorMatrix.SDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD720P50] = new DiracBaseVideoFormat()
            {
                Name = "HD720P-60",
                Dimensions = new FrameDimensions()
                {
                    Width = 1280,
                    Height = 720,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 7,
                FrameRate = new SampleRate(60000, 1001),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD720P50] = new DiracBaseVideoFormat()
            {
                Name = "HD720P-50",
                Dimensions = new FrameDimensions()
                {
                    Width = 1280,
                    Height = 720,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 6,
                FrameRate = new SampleRate(50, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080I60] = new DiracBaseVideoFormat()
            {
                Name = "HD1080I-60",
                Dimensions = new FrameDimensions()
                {
                    Width = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = true,
                TopFieldFirst = true,
                FrameRateIndex = 4,
                FrameRate = new SampleRate(30000, 1001),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080I50] = new DiracBaseVideoFormat()
            {
                Name = "HD1080I-50",
                Dimensions = new FrameDimensions()
                {
                    Width = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = true,
                TopFieldFirst = true,
                FrameRateIndex = 3,
                FrameRate = new SampleRate(25, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080P60] = new DiracBaseVideoFormat()
            {
                Name = "HD1080P-60",
                Dimensions = new FrameDimensions()
                {
                    Width = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 7,
                FrameRate = new SampleRate(60000, 1001),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080P50] = new DiracBaseVideoFormat()
            {
                Name = "HD1080P-50",
                Dimensions = new FrameDimensions()
                {
                    Width = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 6,
                FrameRate = new SampleRate(50, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.DC2K24] = new DiracBaseVideoFormat()
            {
                Name = "DC2K",
                Dimensions = new FrameDimensions()
                {
                    Width = 2048,
                    Height = 1080,
                },
                ChromaSamplingFormat = SubsamplingMode.J444,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 2,
                FrameRate = new SampleRate(24, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 4,
                LumaOffset = 256,
                LumaExcursion = 3504,
                ChromaOffset = 2048,
                ChromaExcursion = 3584,
                ColorSpecificationIndex = DiracColorSpecification.Cinema,
                ColorPrimariesIndex = DiracColorPrimaries.Cinema,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.DC4K24] = new DiracBaseVideoFormat()
            {
                Name = "DC4K",
                Dimensions = new FrameDimensions()
                {
                    Width = 4096,
                    Height = 2160,
                },
                ChromaSamplingFormat = SubsamplingMode.J444,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 2,
                FrameRate = new SampleRate(24, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 4,
                LumaOffset = 256,
                LumaExcursion = 3504,
                ChromaOffset = 2048,
                ChromaExcursion = 3584,
                ColorSpecificationIndex = DiracColorSpecification.Cinema,
                ColorPrimariesIndex = DiracColorPrimaries.Cinema,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV4K60] = new DiracBaseVideoFormat()
            {
                Name = "UHDTV 4K-60",
                Dimensions = new FrameDimensions()
                {
                    Width = 3840,
                    Height = 2160,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 7,
                FrameRate = new SampleRate(60000, 1001),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV4K50] = new DiracBaseVideoFormat()
            {
                Name = "UHDTV 4K-50",
                Dimensions = new FrameDimensions()
                {
                    Width = 3840,
                    Height = 2160,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 6,
                FrameRate = new SampleRate(50, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV8K60] = new DiracBaseVideoFormat()
            {
                Name = "UHDTV 8K-60",
                Dimensions = new FrameDimensions()
                {
                    Width = 7680,
                    Height = 4320,
                },
                ChromaSamplingFormat = SubsamplingMode.J420,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 7,
                FrameRate = new SampleRate(60000, 1001),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV8K50] = new DiracBaseVideoFormat()
            {
                Name = "UHDTV 8K-50",
                Dimensions = new FrameDimensions()
                {
                    Width = 7680,
                    Height = 4320,
                },
                ChromaSamplingFormat = SubsamplingMode.J422,
                SourceSampling = false,
                TopFieldFirst = true,
                FrameRateIndex = 6,
                FrameRate = new SampleRate(50, 1),
                PixelAspectRatioIndex = 1,
                PixelAspectRatioNumerator = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex = 3,
                LumaOffset = 64,
                LumaExcursion = 876,
                ChromaOffset = 512,
                ChromaExcursion = 896,
                ColorSpecificationIndex = DiracColorSpecification.HDTV,
                ColorPrimariesIndex = DiracColorPrimaries.HDTV,
                ColorMatrixIndex = DiracColorMatrix.HDTV,
                TransferFunctionIndex = DiracTransferFunction.TVGamma,
            };

            DiracBaseVideoFormat.predefined = formats;
        }
        /// <summary>
        /// Initializes static members of the <see cref="DiracBaseVideoFormat"/> class.
        /// </summary>
        static DiracBaseVideoFormat()
        {
            var formats = new DiracBaseVideoFormat[20];

            formats[(int)DiracPredefinedVideoFormats.Custom] = new DiracBaseVideoFormat()
            {
                Name       = "Custom",
                Dimensions = new FrameDimensions()
                {
                    Width  = 640,
                    Height = 640,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = false,
                FrameRateIndex              = 1,
                FrameRate                   = new SampleRate(24000, 1001),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.Custom,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.QSIF525] = new DiracBaseVideoFormat()
            {
                Name       = "QSIF525",
                Dimensions = new FrameDimensions()
                {
                    Width  = 176,
                    Height = 120,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = false,
                FrameRateIndex              = 9,
                FrameRate                   = new SampleRate(15000, 1001),
                PixelAspectRatioIndex       = 2,
                PixelAspectRatioNumerator   = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.QCIF] = new DiracBaseVideoFormat()
            {
                Name       = "QCIF",
                Dimensions = new FrameDimensions()
                {
                    Width  = 176,
                    Height = 144,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 10,
                FrameRate                   = new SampleRate(25, 2),
                PixelAspectRatioIndex       = 3,
                PixelAspectRatioNumerator   = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.SIF525] = new DiracBaseVideoFormat()
            {
                Name       = "SIF525",
                Dimensions = new FrameDimensions()
                {
                    Width  = 352,
                    Height = 249,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = false,
                FrameRateIndex              = 9,
                FrameRate                   = new SampleRate(15000, 1001),
                PixelAspectRatioIndex       = 2,
                PixelAspectRatioNumerator   = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.CIF] = new DiracBaseVideoFormat()
            {
                Name       = "CIF",
                Dimensions = new FrameDimensions()
                {
                    Width  = 352,
                    Height = 288,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 10,
                FrameRate                   = new SampleRate(25, 2),
                PixelAspectRatioIndex       = 3,
                PixelAspectRatioNumerator   = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.X4SIF525] = new DiracBaseVideoFormat()
            {
                Name       = "4SIF525",
                Dimensions = new FrameDimensions()
                {
                    Width  = 704,
                    Height = 480,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = false,
                FrameRateIndex              = 9,
                FrameRate                   = new SampleRate(15000, 1001),
                PixelAspectRatioIndex       = 2,
                PixelAspectRatioNumerator   = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.X4CIF] = new DiracBaseVideoFormat()
            {
                Name       = "4CIF",
                Dimensions = new FrameDimensions()
                {
                    Width  = 704,
                    Height = 576,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 10,
                FrameRate                   = new SampleRate(25, 2),
                PixelAspectRatioIndex       = 3,
                PixelAspectRatioNumerator   = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 1,
                LumaOffset                  = 0,
                LumaExcursion               = 255,
                ChromaOffset                = 128,
                ChromaExcursion             = 255,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.SD480I60] = new DiracBaseVideoFormat()
            {
                Name       = "SD480-60I",
                Dimensions = new FrameDimensions()
                {
                    Width       = 720,
                    Height      = 480,
                    CleanWidth  = 704,
                    CleanHeight = 480,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = true,
                TopFieldFirst               = false,
                FrameRateIndex              = 4,
                FrameRate                   = new SampleRate(30000, 1001),
                PixelAspectRatioIndex       = 2,
                PixelAspectRatioNumerator   = 10,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV525,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV525,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.SD576I50] = new DiracBaseVideoFormat()
            {
                Name       = "SD576-50I",
                Dimensions = new FrameDimensions()
                {
                    Width       = 720,
                    Height      = 576,
                    CleanWidth  = 704,
                    CleanHeight = 576,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = true,
                TopFieldFirst               = true,
                FrameRateIndex              = 3,
                FrameRate                   = new SampleRate(25, 1),
                PixelAspectRatioIndex       = 3,
                PixelAspectRatioNumerator   = 12,
                PixelAspectRatioDenominator = 11,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.SDTV625,
                ColorPrimariesIndex         = DiracColorPrimaries.SDTV625,
                ColorMatrixIndex            = DiracColorMatrix.SDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD720P50] = new DiracBaseVideoFormat()
            {
                Name       = "HD720P-60",
                Dimensions = new FrameDimensions()
                {
                    Width  = 1280,
                    Height = 720,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 7,
                FrameRate                   = new SampleRate(60000, 1001),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD720P50] = new DiracBaseVideoFormat()
            {
                Name       = "HD720P-50",
                Dimensions = new FrameDimensions()
                {
                    Width  = 1280,
                    Height = 720,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 6,
                FrameRate                   = new SampleRate(50, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080I60] = new DiracBaseVideoFormat()
            {
                Name       = "HD1080I-60",
                Dimensions = new FrameDimensions()
                {
                    Width  = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = true,
                TopFieldFirst               = true,
                FrameRateIndex              = 4,
                FrameRate                   = new SampleRate(30000, 1001),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080I50] = new DiracBaseVideoFormat()
            {
                Name       = "HD1080I-50",
                Dimensions = new FrameDimensions()
                {
                    Width  = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = true,
                TopFieldFirst               = true,
                FrameRateIndex              = 3,
                FrameRate                   = new SampleRate(25, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080P60] = new DiracBaseVideoFormat()
            {
                Name       = "HD1080P-60",
                Dimensions = new FrameDimensions()
                {
                    Width  = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 7,
                FrameRate                   = new SampleRate(60000, 1001),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.HD1080P50] = new DiracBaseVideoFormat()
            {
                Name       = "HD1080P-50",
                Dimensions = new FrameDimensions()
                {
                    Width  = 1920,
                    Height = 1080,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 6,
                FrameRate                   = new SampleRate(50, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.DC2K24] = new DiracBaseVideoFormat()
            {
                Name       = "DC2K",
                Dimensions = new FrameDimensions()
                {
                    Width  = 2048,
                    Height = 1080,
                },
                ChromaSamplingFormat        = SubsamplingMode.J444,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 2,
                FrameRate                   = new SampleRate(24, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 4,
                LumaOffset                  = 256,
                LumaExcursion               = 3504,
                ChromaOffset                = 2048,
                ChromaExcursion             = 3584,
                ColorSpecificationIndex     = DiracColorSpecification.Cinema,
                ColorPrimariesIndex         = DiracColorPrimaries.Cinema,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.DC4K24] = new DiracBaseVideoFormat()
            {
                Name       = "DC4K",
                Dimensions = new FrameDimensions()
                {
                    Width  = 4096,
                    Height = 2160,
                },
                ChromaSamplingFormat        = SubsamplingMode.J444,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 2,
                FrameRate                   = new SampleRate(24, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 4,
                LumaOffset                  = 256,
                LumaExcursion               = 3504,
                ChromaOffset                = 2048,
                ChromaExcursion             = 3584,
                ColorSpecificationIndex     = DiracColorSpecification.Cinema,
                ColorPrimariesIndex         = DiracColorPrimaries.Cinema,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV4K60] = new DiracBaseVideoFormat()
            {
                Name       = "UHDTV 4K-60",
                Dimensions = new FrameDimensions()
                {
                    Width  = 3840,
                    Height = 2160,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 7,
                FrameRate                   = new SampleRate(60000, 1001),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV4K50] = new DiracBaseVideoFormat()
            {
                Name       = "UHDTV 4K-50",
                Dimensions = new FrameDimensions()
                {
                    Width  = 3840,
                    Height = 2160,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 6,
                FrameRate                   = new SampleRate(50, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV8K60] = new DiracBaseVideoFormat()
            {
                Name       = "UHDTV 8K-60",
                Dimensions = new FrameDimensions()
                {
                    Width  = 7680,
                    Height = 4320,
                },
                ChromaSamplingFormat        = SubsamplingMode.J420,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 7,
                FrameRate                   = new SampleRate(60000, 1001),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };
            formats[(int)DiracPredefinedVideoFormats.UHDTV8K50] = new DiracBaseVideoFormat()
            {
                Name       = "UHDTV 8K-50",
                Dimensions = new FrameDimensions()
                {
                    Width  = 7680,
                    Height = 4320,
                },
                ChromaSamplingFormat        = SubsamplingMode.J422,
                SourceSampling              = false,
                TopFieldFirst               = true,
                FrameRateIndex              = 6,
                FrameRate                   = new SampleRate(50, 1),
                PixelAspectRatioIndex       = 1,
                PixelAspectRatioNumerator   = 1,
                PixelAspectRatioDenominator = 1,
                SignalRangeIndex            = 3,
                LumaOffset                  = 64,
                LumaExcursion               = 876,
                ChromaOffset                = 512,
                ChromaExcursion             = 896,
                ColorSpecificationIndex     = DiracColorSpecification.HDTV,
                ColorPrimariesIndex         = DiracColorPrimaries.HDTV,
                ColorMatrixIndex            = DiracColorMatrix.HDTV,
                TransferFunctionIndex       = DiracTransferFunction.TVGamma,
            };

            DiracBaseVideoFormat.predefined = formats;
        }