amazonka-mediaconvert 1.6.1 → 2.0
raw patch · 653 files changed
+89183/−22970 lines, 653 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok
version bump matches the API change (PVP)
Dependencies added: case-insensitive
Dependency ranges changed: amazonka-core, amazonka-test, base
API changes (from Hackage documentation)
This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.
Files
- README.md +3/−4
- Setup.hs +0/−2
- amazonka-mediaconvert.cabal +670/−94
- fixture/AssociateCertificate.yaml +10/−0
- fixture/AssociateCertificateResponse.proto +0/−0
- fixture/DeletePolicy.yaml +10/−0
- fixture/DeletePolicyResponse.proto +0/−0
- fixture/DisassociateCertificate.yaml +10/−0
- fixture/DisassociateCertificateResponse.proto +0/−0
- fixture/GetPolicy.yaml +10/−0
- fixture/GetPolicyResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutPolicy.yaml +10/−0
- fixture/PutPolicyResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- gen/Amazonka/MediaConvert.hs +2156/−0
- gen/Amazonka/MediaConvert/AssociateCertificate.hs +156/−0
- gen/Amazonka/MediaConvert/CancelJob.hs +140/−0
- gen/Amazonka/MediaConvert/CreateJob.hs +446/−0
- gen/Amazonka/MediaConvert/CreateJobTemplate.hs +351/−0
- gen/Amazonka/MediaConvert/CreatePreset.hs +231/−0
- gen/Amazonka/MediaConvert/CreateQueue.hs +270/−0
- gen/Amazonka/MediaConvert/DeleteJobTemplate.hs +147/−0
- gen/Amazonka/MediaConvert/DeletePolicy.hs +124/−0
- gen/Amazonka/MediaConvert/DeletePreset.hs +141/−0
- gen/Amazonka/MediaConvert/DeleteQueue.hs +140/−0
- gen/Amazonka/MediaConvert/DescribeEndpoints.hs +247/−0
- gen/Amazonka/MediaConvert/DisassociateCertificate.hs +155/−0
- gen/Amazonka/MediaConvert/GetJob.hs +160/−0
- gen/Amazonka/MediaConvert/GetJobTemplate.hs +162/−0
- gen/Amazonka/MediaConvert/GetPolicy.hs +144/−0
- gen/Amazonka/MediaConvert/GetPreset.hs +161/−0
- gen/Amazonka/MediaConvert/GetQueue.hs +167/−0
- gen/Amazonka/MediaConvert/Lens.hs +1877/−0
- gen/Amazonka/MediaConvert/ListJobTemplates.hs +274/−0
- gen/Amazonka/MediaConvert/ListJobs.hs +266/−0
- gen/Amazonka/MediaConvert/ListPresets.hs +270/−0
- gen/Amazonka/MediaConvert/ListQueues.hs +254/−0
- gen/Amazonka/MediaConvert/ListTagsForResource.hs +165/−0
- gen/Amazonka/MediaConvert/PutPolicy.hs +174/−0
- gen/Amazonka/MediaConvert/TagResource.hs +168/−0
- gen/Amazonka/MediaConvert/Types.hs +3726/−0
- gen/Amazonka/MediaConvert/Types/AacAudioDescriptionBroadcasterMix.hs +81/−0
- gen/Amazonka/MediaConvert/Types/AacCodecProfile.hs +77/−0
- gen/Amazonka/MediaConvert/Types/AacCodingMode.hs +95/−0
- gen/Amazonka/MediaConvert/Types/AacRateControlMode.hs +72/−0
- gen/Amazonka/MediaConvert/Types/AacRawFormat.hs +73/−0
- gen/Amazonka/MediaConvert/Types/AacSettings.hs +302/−0
- gen/Amazonka/MediaConvert/Types/AacSpecification.hs +73/−0
- gen/Amazonka/MediaConvert/Types/AacVbrQuality.hs +82/−0
- gen/Amazonka/MediaConvert/Types/Ac3BitstreamMode.hs +104/−0
- gen/Amazonka/MediaConvert/Types/Ac3CodingMode.hs +82/−0
- gen/Amazonka/MediaConvert/Types/Ac3DynamicRangeCompressionLine.hs +99/−0
- gen/Amazonka/MediaConvert/Types/Ac3DynamicRangeCompressionProfile.hs +83/−0
- gen/Amazonka/MediaConvert/Types/Ac3DynamicRangeCompressionRf.hs +99/−0
- gen/Amazonka/MediaConvert/Types/Ac3LfeFilter.hs +73/−0
- gen/Amazonka/MediaConvert/Types/Ac3MetadataControl.hs +75/−0
- gen/Amazonka/MediaConvert/Types/Ac3Settings.hs +329/−0
- gen/Amazonka/MediaConvert/Types/AccelerationMode.hs +83/−0
- gen/Amazonka/MediaConvert/Types/AccelerationSettings.hs +81/−0
- gen/Amazonka/MediaConvert/Types/AccelerationStatus.hs +94/−0
- gen/Amazonka/MediaConvert/Types/AfdSignaling.hs +83/−0
- gen/Amazonka/MediaConvert/Types/AiffSettings.hs +116/−0
- gen/Amazonka/MediaConvert/Types/AllowedRenditionSize.hs +121/−0
- gen/Amazonka/MediaConvert/Types/AlphaBehavior.hs +77/−0
- gen/Amazonka/MediaConvert/Types/AncillaryConvert608To708.hs +76/−0
- gen/Amazonka/MediaConvert/Types/AncillarySourceSettings.hs +133/−0
- gen/Amazonka/MediaConvert/Types/AncillaryTerminateCaptions.hs +74/−0
- gen/Amazonka/MediaConvert/Types/AntiAlias.hs +74/−0
- gen/Amazonka/MediaConvert/Types/AudioChannelTag.hs +139/−0
- gen/Amazonka/MediaConvert/Types/AudioChannelTaggingSettings.hs +93/−0
- gen/Amazonka/MediaConvert/Types/AudioCodec.hs +127/−0
- gen/Amazonka/MediaConvert/Types/AudioCodecSettings.hs +299/−0
- gen/Amazonka/MediaConvert/Types/AudioDefaultSelection.hs +75/−0
- gen/Amazonka/MediaConvert/Types/AudioDescription.hs +382/−0
- gen/Amazonka/MediaConvert/Types/AudioDurationCorrection.hs +96/−0
- gen/Amazonka/MediaConvert/Types/AudioLanguageCodeControl.hs +78/−0
- gen/Amazonka/MediaConvert/Types/AudioNormalizationAlgorithm.hs +92/−0
- gen/Amazonka/MediaConvert/Types/AudioNormalizationAlgorithmControl.hs +73/−0
- gen/Amazonka/MediaConvert/Types/AudioNormalizationLoudnessLogging.hs +72/−0
- gen/Amazonka/MediaConvert/Types/AudioNormalizationPeakCalculation.hs +73/−0
- gen/Amazonka/MediaConvert/Types/AudioNormalizationSettings.hs +209/−0
- gen/Amazonka/MediaConvert/Types/AudioSelector.hs +370/−0
- gen/Amazonka/MediaConvert/Types/AudioSelectorGroup.hs +97/−0
- gen/Amazonka/MediaConvert/Types/AudioSelectorType.hs +82/−0
- gen/Amazonka/MediaConvert/Types/AudioTypeControl.hs +77/−0
- gen/Amazonka/MediaConvert/Types/AutomatedAbrRule.hs +299/−0
- gen/Amazonka/MediaConvert/Types/AutomatedAbrSettings.hs +172/−0
- gen/Amazonka/MediaConvert/Types/AutomatedEncodingSettings.hs +90/−0
- gen/Amazonka/MediaConvert/Types/Av1AdaptiveQuantization.hs +94/−0
- gen/Amazonka/MediaConvert/Types/Av1BitDepth.hs +73/−0
- gen/Amazonka/MediaConvert/Types/Av1FramerateControl.hs +84/−0
- gen/Amazonka/MediaConvert/Types/Av1FramerateConversionAlgorithm.hs +87/−0
- gen/Amazonka/MediaConvert/Types/Av1QvbrSettings.hs +152/−0
- gen/Amazonka/MediaConvert/Types/Av1RateControlMode.hs +68/−0
- gen/Amazonka/MediaConvert/Types/Av1Settings.hs +449/−0
- gen/Amazonka/MediaConvert/Types/Av1SpatialAdaptiveQuantization.hs +87/−0
- gen/Amazonka/MediaConvert/Types/AvailBlanking.hs +88/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraClass.hs +86/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraFramerateControl.hs +84/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraFramerateConversionAlgorithm.hs +87/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraInterlaceMode.hs +99/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraScanTypeConversionMode.hs +86/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraSettings.hs +450/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraSlowPal.hs +79/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraTelecine.hs +77/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraUhdQualityTuningLevel.hs +78/−0
- gen/Amazonka/MediaConvert/Types/AvcIntraUhdSettings.hs +102/−0
- gen/Amazonka/MediaConvert/Types/BillingTagsSource.hs +83/−0
- gen/Amazonka/MediaConvert/Types/BurnInSubtitleStylePassthrough.hs +80/−0
- gen/Amazonka/MediaConvert/Types/BurninDestinationSettings.hs +610/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleAlignment.hs +83/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleApplyFontColor.hs +80/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleBackgroundColor.hs +85/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleFallbackFont.hs +95/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleFontColor.hs +104/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleOutlineColor.hs +99/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleShadowColor.hs +85/−0
- gen/Amazonka/MediaConvert/Types/BurninSubtitleTeletextSpacing.hs +81/−0
- gen/Amazonka/MediaConvert/Types/CaptionDescription.hs +216/−0
- gen/Amazonka/MediaConvert/Types/CaptionDescriptionPreset.hs +191/−0
- gen/Amazonka/MediaConvert/Types/CaptionDestinationSettings.hs +407/−0
- gen/Amazonka/MediaConvert/Types/CaptionDestinationType.hs +131/−0
- gen/Amazonka/MediaConvert/Types/CaptionSelector.hs +158/−0
- gen/Amazonka/MediaConvert/Types/CaptionSourceFramerate.hs +121/−0
- gen/Amazonka/MediaConvert/Types/CaptionSourceSettings.hs +235/−0
- gen/Amazonka/MediaConvert/Types/CaptionSourceType.hs +133/−0
- gen/Amazonka/MediaConvert/Types/ChannelMapping.hs +98/−0
- gen/Amazonka/MediaConvert/Types/CmafAdditionalManifest.hs +129/−0
- gen/Amazonka/MediaConvert/Types/CmafClientCache.hs +75/−0
- gen/Amazonka/MediaConvert/Types/CmafCodecSpecification.hs +73/−0
- gen/Amazonka/MediaConvert/Types/CmafEncryptionSettings.hs +189/−0
- gen/Amazonka/MediaConvert/Types/CmafEncryptionType.hs +74/−0
- gen/Amazonka/MediaConvert/Types/CmafGroupSettings.hs +773/−0
- gen/Amazonka/MediaConvert/Types/CmafImageBasedTrickPlay.hs +95/−0
- gen/Amazonka/MediaConvert/Types/CmafImageBasedTrickPlaySettings.hs +208/−0
- gen/Amazonka/MediaConvert/Types/CmafInitializationVectorInManifest.hs +74/−0
- gen/Amazonka/MediaConvert/Types/CmafIntervalCadence.hs +76/−0
- gen/Amazonka/MediaConvert/Types/CmafKeyProviderType.hs +74/−0
- gen/Amazonka/MediaConvert/Types/CmafManifestCompression.hs +72/−0
- gen/Amazonka/MediaConvert/Types/CmafManifestDurationFormat.hs +73/−0
- gen/Amazonka/MediaConvert/Types/CmafMpdManifestBandwidthType.hs +78/−0
- gen/Amazonka/MediaConvert/Types/CmafMpdProfile.hs +78/−0
- gen/Amazonka/MediaConvert/Types/CmafPtsOffsetHandlingForBFrames.hs +81/−0
- gen/Amazonka/MediaConvert/Types/CmafSegmentControl.hs +74/−0
- gen/Amazonka/MediaConvert/Types/CmafSegmentLengthControl.hs +76/−0
- gen/Amazonka/MediaConvert/Types/CmafStreamInfResolution.hs +73/−0
- gen/Amazonka/MediaConvert/Types/CmafTargetDurationCompatibilityMode.hs +80/−0
- gen/Amazonka/MediaConvert/Types/CmafVideoCompositionOffsets.hs +79/−0
- gen/Amazonka/MediaConvert/Types/CmafWriteDASHManifest.hs +73/−0
- gen/Amazonka/MediaConvert/Types/CmafWriteHLSManifest.hs +73/−0
- gen/Amazonka/MediaConvert/Types/CmafWriteSegmentTimelineInRepresentation.hs +78/−0
- gen/Amazonka/MediaConvert/Types/CmfcAudioDuration.hs +85/−0
- gen/Amazonka/MediaConvert/Types/CmfcAudioTrackType.hs +93/−0
- gen/Amazonka/MediaConvert/Types/CmfcDescriptiveVideoServiceFlag.hs +79/−0
- gen/Amazonka/MediaConvert/Types/CmfcIFrameOnlyManifest.hs +78/−0
- gen/Amazonka/MediaConvert/Types/CmfcKlvMetadata.hs +76/−0
- gen/Amazonka/MediaConvert/Types/CmfcManifestMetadataSignaling.hs +78/−0
- gen/Amazonka/MediaConvert/Types/CmfcScte35Esam.hs +75/−0
- gen/Amazonka/MediaConvert/Types/CmfcScte35Source.hs +75/−0
- gen/Amazonka/MediaConvert/Types/CmfcSettings.hs +571/−0
- gen/Amazonka/MediaConvert/Types/CmfcTimedMetadata.hs +77/−0
- gen/Amazonka/MediaConvert/Types/CmfcTimedMetadataBoxVersion.hs +76/−0
- gen/Amazonka/MediaConvert/Types/ColorCorrector.hs +291/−0
- gen/Amazonka/MediaConvert/Types/ColorMetadata.hs +75/−0
- gen/Amazonka/MediaConvert/Types/ColorSpace.hs +109/−0
- gen/Amazonka/MediaConvert/Types/ColorSpaceConversion.hs +105/−0
- gen/Amazonka/MediaConvert/Types/ColorSpaceUsage.hs +81/−0
- gen/Amazonka/MediaConvert/Types/Commitment.hs +67/−0
- gen/Amazonka/MediaConvert/Types/ContainerSettings.hs +241/−0
- gen/Amazonka/MediaConvert/Types/ContainerType.hs +118/−0
- gen/Amazonka/MediaConvert/Types/CopyProtectionAction.hs +74/−0
- gen/Amazonka/MediaConvert/Types/DashAdditionalManifest.hs +119/−0
- gen/Amazonka/MediaConvert/Types/DashIsoEncryptionSettings.hs +125/−0
- gen/Amazonka/MediaConvert/Types/DashIsoGroupAudioChannelConfigSchemeIdUri.hs +81/−0
- gen/Amazonka/MediaConvert/Types/DashIsoGroupSettings.hs +645/−0
- gen/Amazonka/MediaConvert/Types/DashIsoHbbtvCompliance.hs +72/−0
- gen/Amazonka/MediaConvert/Types/DashIsoImageBasedTrickPlay.hs +91/−0
- gen/Amazonka/MediaConvert/Types/DashIsoImageBasedTrickPlaySettings.hs +211/−0
- gen/Amazonka/MediaConvert/Types/DashIsoIntervalCadence.hs +76/−0
- gen/Amazonka/MediaConvert/Types/DashIsoMpdManifestBandwidthType.hs +78/−0
- gen/Amazonka/MediaConvert/Types/DashIsoMpdProfile.hs +78/−0
- gen/Amazonka/MediaConvert/Types/DashIsoPlaybackDeviceCompatibility.hs +78/−0
- gen/Amazonka/MediaConvert/Types/DashIsoPtsOffsetHandlingForBFrames.hs +81/−0
- gen/Amazonka/MediaConvert/Types/DashIsoSegmentControl.hs +74/−0
- gen/Amazonka/MediaConvert/Types/DashIsoSegmentLengthControl.hs +76/−0
- gen/Amazonka/MediaConvert/Types/DashIsoVideoCompositionOffsets.hs +79/−0
- gen/Amazonka/MediaConvert/Types/DashIsoWriteSegmentTimelineInRepresentation.hs +78/−0
- gen/Amazonka/MediaConvert/Types/DecryptionMode.hs +77/−0
- gen/Amazonka/MediaConvert/Types/DeinterlaceAlgorithm.hs +87/−0
- gen/Amazonka/MediaConvert/Types/Deinterlacer.hs +160/−0
- gen/Amazonka/MediaConvert/Types/DeinterlacerControl.hs +80/−0
- gen/Amazonka/MediaConvert/Types/DeinterlacerMode.hs +81/−0
- gen/Amazonka/MediaConvert/Types/DescribeEndpointsMode.hs +75/−0
- gen/Amazonka/MediaConvert/Types/DestinationSettings.hs +77/−0
- gen/Amazonka/MediaConvert/Types/DolbyVision.hs +165/−0
- gen/Amazonka/MediaConvert/Types/DolbyVisionLevel6Metadata.hs +104/−0
- gen/Amazonka/MediaConvert/Types/DolbyVisionLevel6Mode.hs +78/−0
- gen/Amazonka/MediaConvert/Types/DolbyVisionMapping.hs +80/−0
- gen/Amazonka/MediaConvert/Types/DolbyVisionProfile.hs +76/−0
- gen/Amazonka/MediaConvert/Types/DropFrameTimecode.hs +76/−0
- gen/Amazonka/MediaConvert/Types/DvbNitSettings.hs +116/−0
- gen/Amazonka/MediaConvert/Types/DvbSdtSettings.hs +152/−0
- gen/Amazonka/MediaConvert/Types/DvbSubDestinationSettings.hs +867/−0
- gen/Amazonka/MediaConvert/Types/DvbSubSourceSettings.hs +78/−0
- gen/Amazonka/MediaConvert/Types/DvbSubSubtitleFallbackFont.hs +95/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleAlignment.hs +84/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleApplyFontColor.hs +80/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleBackgroundColor.hs +85/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleFontColor.hs +105/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleOutlineColor.hs +100/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleShadowColor.hs +86/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleStylePassthrough.hs +80/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitleTeletextSpacing.hs +82/−0
- gen/Amazonka/MediaConvert/Types/DvbSubtitlingType.hs +74/−0
- gen/Amazonka/MediaConvert/Types/DvbTdtSettings.hs +82/−0
- gen/Amazonka/MediaConvert/Types/DvbddsHandling.hs +91/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosBitstreamMode.hs +69/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosCodingMode.hs +82/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosDialogueIntelligence.hs +73/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosDownmixControl.hs +82/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosDynamicRangeCompressionLine.hs +102/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosDynamicRangeCompressionRf.hs +101/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosDynamicRangeControl.hs +82/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosMeteringMode.hs +87/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosSettings.hs +574/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosStereoDownmix.hs +86/−0
- gen/Amazonka/MediaConvert/Types/Eac3AtmosSurroundExMode.hs +78/−0
- gen/Amazonka/MediaConvert/Types/Eac3AttenuationControl.hs +73/−0
- gen/Amazonka/MediaConvert/Types/Eac3BitstreamMode.hs +89/−0
- gen/Amazonka/MediaConvert/Types/Eac3CodingMode.hs +77/−0
- gen/Amazonka/MediaConvert/Types/Eac3DcFilter.hs +72/−0
- gen/Amazonka/MediaConvert/Types/Eac3DynamicRangeCompressionLine.hs +99/−0
- gen/Amazonka/MediaConvert/Types/Eac3DynamicRangeCompressionRf.hs +99/−0
- gen/Amazonka/MediaConvert/Types/Eac3LfeControl.hs +72/−0
- gen/Amazonka/MediaConvert/Types/Eac3LfeFilter.hs +73/−0
- gen/Amazonka/MediaConvert/Types/Eac3MetadataControl.hs +75/−0
- gen/Amazonka/MediaConvert/Types/Eac3PassthroughControl.hs +76/−0
- gen/Amazonka/MediaConvert/Types/Eac3PhaseControl.hs +73/−0
- gen/Amazonka/MediaConvert/Types/Eac3Settings.hs +581/−0
- gen/Amazonka/MediaConvert/Types/Eac3StereoDownmix.hs +86/−0
- gen/Amazonka/MediaConvert/Types/Eac3SurroundExMode.hs +78/−0
- gen/Amazonka/MediaConvert/Types/Eac3SurroundMode.hs +78/−0
- gen/Amazonka/MediaConvert/Types/EmbeddedConvert608To708.hs +76/−0
- gen/Amazonka/MediaConvert/Types/EmbeddedDestinationSettings.hs +147/−0
- gen/Amazonka/MediaConvert/Types/EmbeddedSourceSettings.hs +153/−0
- gen/Amazonka/MediaConvert/Types/EmbeddedTerminateCaptions.hs +74/−0
- gen/Amazonka/MediaConvert/Types/EmbeddedTimecodeOverride.hs +77/−0
- gen/Amazonka/MediaConvert/Types/Endpoint.hs +64/−0
- gen/Amazonka/MediaConvert/Types/EsamManifestConfirmConditionNotification.hs +103/−0
- gen/Amazonka/MediaConvert/Types/EsamSettings.hs +137/−0
- gen/Amazonka/MediaConvert/Types/EsamSignalProcessingNotification.hs +118/−0
- gen/Amazonka/MediaConvert/Types/ExtendedDataServices.hs +113/−0
- gen/Amazonka/MediaConvert/Types/F4vMoovPlacement.hs +74/−0
- gen/Amazonka/MediaConvert/Types/F4vSettings.hs +84/−0
- gen/Amazonka/MediaConvert/Types/FileGroupSettings.hs +114/−0
- gen/Amazonka/MediaConvert/Types/FileSourceConvert608To708.hs +76/−0
- gen/Amazonka/MediaConvert/Types/FileSourceSettings.hs +234/−0
- gen/Amazonka/MediaConvert/Types/FileSourceTimeDeltaUnits.hs +76/−0
- gen/Amazonka/MediaConvert/Types/FontScript.hs +80/−0
- gen/Amazonka/MediaConvert/Types/ForceIncludeRenditionSize.hs +110/−0
- gen/Amazonka/MediaConvert/Types/FrameCaptureSettings.hs +153/−0
- gen/Amazonka/MediaConvert/Types/H264AdaptiveQuantization.hs +107/−0
- gen/Amazonka/MediaConvert/Types/H264CodecLevel.hs +148/−0
- gen/Amazonka/MediaConvert/Types/H264CodecProfile.hs +93/−0
- gen/Amazonka/MediaConvert/Types/H264DynamicSubGop.hs +77/−0
- gen/Amazonka/MediaConvert/Types/H264EntropyEncoding.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H264FieldEncoding.hs +81/−0
- gen/Amazonka/MediaConvert/Types/H264FlickerAdaptiveQuantization.hs +85/−0
- gen/Amazonka/MediaConvert/Types/H264FramerateControl.hs +84/−0
- gen/Amazonka/MediaConvert/Types/H264FramerateConversionAlgorithm.hs +87/−0
- gen/Amazonka/MediaConvert/Types/H264GopBReference.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H264GopSizeUnits.hs +87/−0
- gen/Amazonka/MediaConvert/Types/H264InterlaceMode.hs +99/−0
- gen/Amazonka/MediaConvert/Types/H264ParControl.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H264QualityTuningLevel.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H264QvbrSettings.hs +181/−0
- gen/Amazonka/MediaConvert/Types/H264RateControlMode.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H264RepeatPps.hs +72/−0
- gen/Amazonka/MediaConvert/Types/H264ScanTypeConversionMode.hs +86/−0
- gen/Amazonka/MediaConvert/Types/H264SceneChangeDetect.hs +82/−0
- gen/Amazonka/MediaConvert/Types/H264Settings.hs +1449/−0
- gen/Amazonka/MediaConvert/Types/H264SlowPal.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H264SpatialAdaptiveQuantization.hs +97/−0
- gen/Amazonka/MediaConvert/Types/H264Syntax.hs +72/−0
- gen/Amazonka/MediaConvert/Types/H264Telecine.hs +85/−0
- gen/Amazonka/MediaConvert/Types/H264TemporalAdaptiveQuantization.hs +95/−0
- gen/Amazonka/MediaConvert/Types/H264UnregisteredSeiTimecode.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H265AdaptiveQuantization.hs +107/−0
- gen/Amazonka/MediaConvert/Types/H265AlternateTransferFunctionSei.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H265CodecLevel.hs +132/−0
- gen/Amazonka/MediaConvert/Types/H265CodecProfile.hs +105/−0
- gen/Amazonka/MediaConvert/Types/H265DynamicSubGop.hs +77/−0
- gen/Amazonka/MediaConvert/Types/H265FlickerAdaptiveQuantization.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H265FramerateControl.hs +84/−0
- gen/Amazonka/MediaConvert/Types/H265FramerateConversionAlgorithm.hs +87/−0
- gen/Amazonka/MediaConvert/Types/H265GopBReference.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H265GopSizeUnits.hs +87/−0
- gen/Amazonka/MediaConvert/Types/H265InterlaceMode.hs +99/−0
- gen/Amazonka/MediaConvert/Types/H265ParControl.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H265QualityTuningLevel.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H265QvbrSettings.hs +181/−0
- gen/Amazonka/MediaConvert/Types/H265RateControlMode.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H265SampleAdaptiveOffsetFilterMode.hs +78/−0
- gen/Amazonka/MediaConvert/Types/H265ScanTypeConversionMode.hs +86/−0
- gen/Amazonka/MediaConvert/Types/H265SceneChangeDetect.hs +82/−0
- gen/Amazonka/MediaConvert/Types/H265Settings.hs +1373/−0
- gen/Amazonka/MediaConvert/Types/H265SlowPal.hs +79/−0
- gen/Amazonka/MediaConvert/Types/H265SpatialAdaptiveQuantization.hs +87/−0
- gen/Amazonka/MediaConvert/Types/H265Telecine.hs +83/−0
- gen/Amazonka/MediaConvert/Types/H265TemporalAdaptiveQuantization.hs +85/−0
- gen/Amazonka/MediaConvert/Types/H265TemporalIds.hs +80/−0
- gen/Amazonka/MediaConvert/Types/H265Tiles.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H265UnregisteredSeiTimecode.hs +73/−0
- gen/Amazonka/MediaConvert/Types/H265WriteMp4PackagingType.hs +83/−0
- gen/Amazonka/MediaConvert/Types/Hdr10Metadata.hs +319/−0
- gen/Amazonka/MediaConvert/Types/Hdr10Plus.hs +107/−0
- gen/Amazonka/MediaConvert/Types/HlsAdMarkers.hs +72/−0
- gen/Amazonka/MediaConvert/Types/HlsAdditionalManifest.hs +128/−0
- gen/Amazonka/MediaConvert/Types/HlsAudioOnlyContainer.hs +77/−0
- gen/Amazonka/MediaConvert/Types/HlsAudioOnlyHeader.hs +75/−0
- gen/Amazonka/MediaConvert/Types/HlsAudioTrackType.hs +93/−0
- gen/Amazonka/MediaConvert/Types/HlsCaptionLanguageMapping.hs +130/−0
- gen/Amazonka/MediaConvert/Types/HlsCaptionLanguageSetting.hs +86/−0
- gen/Amazonka/MediaConvert/Types/HlsCaptionSegmentLengthControl.hs +77/−0
- gen/Amazonka/MediaConvert/Types/HlsClientCache.hs +75/−0
- gen/Amazonka/MediaConvert/Types/HlsCodecSpecification.hs +73/−0
- gen/Amazonka/MediaConvert/Types/HlsDescriptiveVideoServiceFlag.hs +79/−0
- gen/Amazonka/MediaConvert/Types/HlsDirectoryStructure.hs +72/−0
- gen/Amazonka/MediaConvert/Types/HlsEncryptionSettings.hs +213/−0
- gen/Amazonka/MediaConvert/Types/HlsEncryptionType.hs +74/−0
- gen/Amazonka/MediaConvert/Types/HlsGroupSettings.hs +822/−0
- gen/Amazonka/MediaConvert/Types/HlsIFrameOnlyManifest.hs +78/−0
- gen/Amazonka/MediaConvert/Types/HlsImageBasedTrickPlay.hs +91/−0
- gen/Amazonka/MediaConvert/Types/HlsImageBasedTrickPlaySettings.hs +205/−0
- gen/Amazonka/MediaConvert/Types/HlsInitializationVectorInManifest.hs +75/−0
- gen/Amazonka/MediaConvert/Types/HlsIntervalCadence.hs +76/−0
- gen/Amazonka/MediaConvert/Types/HlsKeyProviderType.hs +74/−0
- gen/Amazonka/MediaConvert/Types/HlsManifestCompression.hs +72/−0
- gen/Amazonka/MediaConvert/Types/HlsManifestDurationFormat.hs +73/−0
- gen/Amazonka/MediaConvert/Types/HlsOfflineEncrypted.hs +74/−0
- gen/Amazonka/MediaConvert/Types/HlsOutputSelection.hs +73/−0
- gen/Amazonka/MediaConvert/Types/HlsProgramDateTime.hs +76/−0
- gen/Amazonka/MediaConvert/Types/HlsRenditionGroupSettings.hs +118/−0
- gen/Amazonka/MediaConvert/Types/HlsSegmentControl.hs +73/−0
- gen/Amazonka/MediaConvert/Types/HlsSegmentLengthControl.hs +76/−0
- gen/Amazonka/MediaConvert/Types/HlsSettings.hs +273/−0
- gen/Amazonka/MediaConvert/Types/HlsStreamInfResolution.hs +73/−0
- gen/Amazonka/MediaConvert/Types/HlsTargetDurationCompatibilityMode.hs +80/−0
- gen/Amazonka/MediaConvert/Types/HlsTimedMetadataId3Frame.hs +81/−0
- gen/Amazonka/MediaConvert/Types/HopDestination.hs +134/−0
- gen/Amazonka/MediaConvert/Types/Id3Insertion.hs +99/−0
- gen/Amazonka/MediaConvert/Types/ImageInserter.hs +118/−0
- gen/Amazonka/MediaConvert/Types/ImscAccessibilitySubs.hs +80/−0
- gen/Amazonka/MediaConvert/Types/ImscDestinationSettings.hs +136/−0
- gen/Amazonka/MediaConvert/Types/ImscStylePassthrough.hs +75/−0
- gen/Amazonka/MediaConvert/Types/Input.hs +686/−0
- gen/Amazonka/MediaConvert/Types/InputClipping.hs +145/−0
- gen/Amazonka/MediaConvert/Types/InputDeblockFilter.hs +74/−0
- gen/Amazonka/MediaConvert/Types/InputDecryptionSettings.hs +157/−0
- gen/Amazonka/MediaConvert/Types/InputDenoiseFilter.hs +74/−0
- gen/Amazonka/MediaConvert/Types/InputFilterEnable.hs +84/−0
- gen/Amazonka/MediaConvert/Types/InputPolicy.hs +73/−0
- gen/Amazonka/MediaConvert/Types/InputPsiControl.hs +74/−0
- gen/Amazonka/MediaConvert/Types/InputRotate.hs +96/−0
- gen/Amazonka/MediaConvert/Types/InputSampleRange.hs +85/−0
- gen/Amazonka/MediaConvert/Types/InputScanType.hs +79/−0
- gen/Amazonka/MediaConvert/Types/InputTemplate.hs +559/−0
- gen/Amazonka/MediaConvert/Types/InputTimecodeSource.hs +88/−0
- gen/Amazonka/MediaConvert/Types/InputVideoGenerator.hs +86/−0
- gen/Amazonka/MediaConvert/Types/InsertableImage.hs +287/−0
- gen/Amazonka/MediaConvert/Types/Job.hs +516/−0
- gen/Amazonka/MediaConvert/Types/JobMessages.hs +90/−0
- gen/Amazonka/MediaConvert/Types/JobPhase.hs +77/−0
- gen/Amazonka/MediaConvert/Types/JobSettings.hs +373/−0
- gen/Amazonka/MediaConvert/Types/JobStatus.hs +88/−0
- gen/Amazonka/MediaConvert/Types/JobTemplate.hs +257/−0
- gen/Amazonka/MediaConvert/Types/JobTemplateListBy.hs +79/−0
- gen/Amazonka/MediaConvert/Types/JobTemplateSettings.hs +375/−0
- gen/Amazonka/MediaConvert/Types/KantarWatermarkSettings.hs +322/−0
- gen/Amazonka/MediaConvert/Types/LanguageCode.hs +1023/−0
- gen/Amazonka/MediaConvert/Types/M2tsAudioBufferModel.hs +72/−0
- gen/Amazonka/MediaConvert/Types/M2tsAudioDuration.hs +85/−0
- gen/Amazonka/MediaConvert/Types/M2tsBufferModel.hs +75/−0
- gen/Amazonka/MediaConvert/Types/M2tsDataPtsControl.hs +76/−0
- gen/Amazonka/MediaConvert/Types/M2tsEbpAudioInterval.hs +77/−0
- gen/Amazonka/MediaConvert/Types/M2tsEbpPlacement.hs +75/−0
- gen/Amazonka/MediaConvert/Types/M2tsEsRateInPes.hs +72/−0
- gen/Amazonka/MediaConvert/Types/M2tsForceTsVideoEbpOrder.hs +74/−0
- gen/Amazonka/MediaConvert/Types/M2tsKlvMetadata.hs +76/−0
- gen/Amazonka/MediaConvert/Types/M2tsNielsenId3.hs +74/−0
- gen/Amazonka/MediaConvert/Types/M2tsPcrControl.hs +75/−0
- gen/Amazonka/MediaConvert/Types/M2tsRateMode.hs +74/−0
- gen/Amazonka/MediaConvert/Types/M2tsScte35Esam.hs +83/−0
- gen/Amazonka/MediaConvert/Types/M2tsScte35Source.hs +78/−0
- gen/Amazonka/MediaConvert/Types/M2tsSegmentationMarkers.hs +99/−0
- gen/Amazonka/MediaConvert/Types/M2tsSegmentationStyle.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M2tsSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M3u8AudioDuration.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M3u8DataPtsControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M3u8NielsenId3.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M3u8PcrControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M3u8Scte35Source.hs too large to diff
- gen/Amazonka/MediaConvert/Types/M3u8Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MinBottomRenditionSize.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MinTopRenditionSize.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MotionImageInserter.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MotionImageInsertionFramerate.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MotionImageInsertionMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MotionImageInsertionOffset.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MotionImagePlayback.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MovClapAtom.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MovCslgAtom.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MovMpeg2FourCCControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MovPaddingControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MovReference.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MovSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp2Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp3RateControlMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp3Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp4CslgAtom.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp4FreeSpaceBox.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp4MoovPlacement.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mp4Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdAccessibilityCaptionHints.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdAudioDuration.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdCaptionContainerType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdKlvMetadata.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdManifestMetadataSignaling.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdScte35Esam.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdScte35Source.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdTimedMetadata.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MpdTimedMetadataBoxVersion.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2AdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2CodecLevel.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2CodecProfile.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2DynamicSubGop.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2FramerateControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2FramerateConversionAlgorithm.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2GopSizeUnits.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2InterlaceMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2IntraDcPrecision.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2ParControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2QualityTuningLevel.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2RateControlMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2ScanTypeConversionMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2SceneChangeDetect.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2SlowPal.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2SpatialAdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2Syntax.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2Telecine.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Mpeg2TemporalAdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MsSmoothAdditionalManifest.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MsSmoothAudioDeduplication.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MsSmoothEncryptionSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MsSmoothFragmentLengthControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MsSmoothGroupSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MsSmoothManifestEncoding.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MxfAfdSignaling.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MxfProfile.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MxfSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MxfXavcDurationMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/MxfXavcProfileSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NexGuardFileMarkerSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NielsenActiveWatermarkProcessType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NielsenConfiguration.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NielsenNonLinearWatermarkSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NielsenSourceWatermarkStatusType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NielsenUniqueTicPerAudioTrackType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseFilterPostTemporalSharpening.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseFilterPostTemporalSharpeningStrength.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseReducer.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseReducerFilter.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseReducerFilterSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseReducerSpatialFilterSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/NoiseReducerTemporalFilterSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OpusSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Order.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Output.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputChannelMapping.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputDetail.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputGroup.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputGroupDetail.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputGroupSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputGroupType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputSdt.hs too large to diff
- gen/Amazonka/MediaConvert/Types/OutputSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/PadVideo.hs too large to diff
- gen/Amazonka/MediaConvert/Types/PartnerWatermarking.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Policy.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Preset.hs too large to diff
- gen/Amazonka/MediaConvert/Types/PresetListBy.hs too large to diff
- gen/Amazonka/MediaConvert/Types/PresetSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/PricingPlan.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresChromaSampling.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresCodecProfile.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresFramerateControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresFramerateConversionAlgorithm.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresInterlaceMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresParControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresScanTypeConversionMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresSlowPal.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ProresTelecine.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Queue.hs too large to diff
- gen/Amazonka/MediaConvert/Types/QueueListBy.hs too large to diff
- gen/Amazonka/MediaConvert/Types/QueueStatus.hs too large to diff
- gen/Amazonka/MediaConvert/Types/QueueTransition.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Rectangle.hs too large to diff
- gen/Amazonka/MediaConvert/Types/RemixSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/RenewalType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/RequiredFlag.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ReservationPlan.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ReservationPlanSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ReservationPlanStatus.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ResourceTags.hs too large to diff
- gen/Amazonka/MediaConvert/Types/RespondToAfd.hs too large to diff
- gen/Amazonka/MediaConvert/Types/RuleType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/S3DestinationAccessControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/S3DestinationSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/S3EncryptionSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/S3ObjectCannedAcl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/S3ServerSideEncryptionType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SampleRangeConversion.hs too large to diff
- gen/Amazonka/MediaConvert/Types/ScalingBehavior.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SccDestinationFramerate.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SccDestinationSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SimulateReservedQueue.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SpekeKeyProvider.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SpekeKeyProviderCmaf.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SrtDestinationSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/SrtStylePassthrough.hs too large to diff
- gen/Amazonka/MediaConvert/Types/StaticKeyProvider.hs too large to diff
- gen/Amazonka/MediaConvert/Types/StatusUpdateInterval.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TeletextDestinationSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TeletextPageType.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TeletextSourceSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TimecodeBurnin.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TimecodeBurninPosition.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TimecodeConfig.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TimecodeSource.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TimedMetadata.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TimedMetadataInsertion.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Timing.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TrackSourceSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TtmlDestinationSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/TtmlStylePassthrough.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Type.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3Class.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3FramerateControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3FramerateConversionAlgorithm.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3InterlaceMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3ScanTypeConversionMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3SlowPal.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vc3Telecine.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VchipAction.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoCodec.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoCodecSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoDescription.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoDetail.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoPreprocessor.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoSelector.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VideoTimecodeInsertion.hs too large to diff
- gen/Amazonka/MediaConvert/Types/VorbisSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp8FramerateControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp8FramerateConversionAlgorithm.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp8ParControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp8QualityTuningLevel.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp8RateControlMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp8Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp9FramerateControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp9FramerateConversionAlgorithm.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp9ParControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp9QualityTuningLevel.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp9RateControlMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Vp9Settings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WatermarkingStrength.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WavFormat.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WavSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WebvttAccessibilitySubs.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WebvttDestinationSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WebvttHlsSourceSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/WebvttStylePassthrough.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kIntraCbgProfileClass.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kIntraCbgProfileSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kIntraVbrProfileClass.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kIntraVbrProfileSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kProfileBitrateClass.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kProfileCodecProfile.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kProfileQualityTuningLevel.hs too large to diff
- gen/Amazonka/MediaConvert/Types/Xavc4kProfileSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcAdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcEntropyEncoding.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcFlickerAdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcFramerateControl.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcFramerateConversionAlgorithm.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcGopBReference.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcHdIntraCbgProfileClass.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcHdIntraCbgProfileSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcHdProfileBitrateClass.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcHdProfileQualityTuningLevel.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcHdProfileSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcHdProfileTelecine.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcInterlaceMode.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcProfile.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcSettings.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcSlowPal.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcSpatialAdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/Types/XavcTemporalAdaptiveQuantization.hs too large to diff
- gen/Amazonka/MediaConvert/UntagResource.hs too large to diff
- gen/Amazonka/MediaConvert/UpdateJobTemplate.hs too large to diff
- gen/Amazonka/MediaConvert/UpdatePreset.hs too large to diff
- gen/Amazonka/MediaConvert/UpdateQueue.hs too large to diff
- gen/Amazonka/MediaConvert/Waiters.hs too large to diff
- gen/Network/AWS/MediaConvert.hs too large to diff
- gen/Network/AWS/MediaConvert/CancelJob.hs too large to diff
- gen/Network/AWS/MediaConvert/CreateJob.hs too large to diff
- gen/Network/AWS/MediaConvert/CreateJobTemplate.hs too large to diff
- gen/Network/AWS/MediaConvert/CreatePreset.hs too large to diff
- gen/Network/AWS/MediaConvert/CreateQueue.hs too large to diff
- gen/Network/AWS/MediaConvert/DeleteJobTemplate.hs too large to diff
- gen/Network/AWS/MediaConvert/DeletePreset.hs too large to diff
- gen/Network/AWS/MediaConvert/DeleteQueue.hs too large to diff
- gen/Network/AWS/MediaConvert/DescribeEndpoints.hs too large to diff
- gen/Network/AWS/MediaConvert/GetJob.hs too large to diff
- gen/Network/AWS/MediaConvert/GetJobTemplate.hs too large to diff
- gen/Network/AWS/MediaConvert/GetPreset.hs too large to diff
- gen/Network/AWS/MediaConvert/GetQueue.hs too large to diff
- gen/Network/AWS/MediaConvert/ListJobTemplates.hs too large to diff
- gen/Network/AWS/MediaConvert/ListJobs.hs too large to diff
- gen/Network/AWS/MediaConvert/ListPresets.hs too large to diff
- gen/Network/AWS/MediaConvert/ListQueues.hs too large to diff
- gen/Network/AWS/MediaConvert/Types.hs too large to diff
- gen/Network/AWS/MediaConvert/Types/Product.hs too large to diff
- gen/Network/AWS/MediaConvert/Types/Sum.hs too large to diff
- gen/Network/AWS/MediaConvert/UpdateJobTemplate.hs too large to diff
- gen/Network/AWS/MediaConvert/UpdatePreset.hs too large to diff
- gen/Network/AWS/MediaConvert/UpdateQueue.hs too large to diff
- gen/Network/AWS/MediaConvert/Waiters.hs too large to diff
- test/Main.hs too large to diff
- test/Test/AWS/Gen/MediaConvert.hs too large to diff
- test/Test/AWS/MediaConvert.hs too large to diff
- test/Test/AWS/MediaConvert/Internal.hs too large to diff
- test/Test/Amazonka/Gen/MediaConvert.hs too large to diff
- test/Test/Amazonka/MediaConvert.hs too large to diff
- test/Test/Amazonka/MediaConvert/Internal.hs too large to diff
@@ -7,9 +7,8 @@ ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2017-08-29@ of the AWS service descriptions, licensed under Apache 2.0. ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.MediaConvert](http://hackage.haskell.org/package/amazonka-mediaconvert/docs/Network-AWS-MediaConvert.html)+See [Amazonka.MediaConvert](http://hackage.haskell.org/package/amazonka-mediaconvert/docs/Amazonka-MediaConvert.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
@@ -1,105 +1,681 @@-name: amazonka-mediaconvert-version: 1.6.1-synopsis: Amazon Elemental MediaConvert SDK.-homepage: https://github.com/brendanhay/amazonka-bug-reports: https://github.com/brendanhay/amazonka/issues-license: MPL-2.0-license-file: LICENSE-author: Brendan Hay-maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright: Copyright (c) 2013-2018 Brendan Hay-category: Network, AWS, Cloud, Distributed Computing-build-type: Simple-cabal-version: >= 1.10-extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version: 2.2+name: amazonka-mediaconvert+version: 2.0+synopsis: Amazon Elemental MediaConvert SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep+ description:- The types from this library are intended to be used with- <http://hackage.haskell.org/package/amazonka amazonka>, which provides- mechanisms for specifying AuthN/AuthZ information, sending requests,- and receiving responses.- .- Lenses are used for constructing and manipulating types,- due to the depth of nesting of AWS types and transparency regarding- de/serialisation into more palatable Haskell values.- The provided lenses should be compatible with any of the major lens libraries- such as <http://hackage.haskell.org/package/lens lens> or- <http://hackage.haskell.org/package/lens-family-core lens-family-core>.- .- See "Network.AWS.MediaConvert" or <https://aws.amazon.com/documentation/ the AWS documentation>- to get started.+ Derived from API version @2017-08-29@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.MediaConvert.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.MediaConvert" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started. source-repository head- type: git- location: git://github.com/brendanhay/amazonka.git- subdir: amazonka-mediaconvert+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-mediaconvert library- default-language: Haskell2010- hs-source-dirs: src gen-- ghc-options:- -Wall- -fwarn-incomplete-uni-patterns- -fwarn-incomplete-record-updates- -funbox-strict-fields-- exposed-modules:- Network.AWS.MediaConvert- , Network.AWS.MediaConvert.CancelJob- , Network.AWS.MediaConvert.CreateJob- , Network.AWS.MediaConvert.CreateJobTemplate- , Network.AWS.MediaConvert.CreatePreset- , Network.AWS.MediaConvert.CreateQueue- , Network.AWS.MediaConvert.DeleteJobTemplate- , Network.AWS.MediaConvert.DeletePreset- , Network.AWS.MediaConvert.DeleteQueue- , Network.AWS.MediaConvert.DescribeEndpoints- , Network.AWS.MediaConvert.GetJob- , Network.AWS.MediaConvert.GetJobTemplate- , Network.AWS.MediaConvert.GetPreset- , Network.AWS.MediaConvert.GetQueue- , Network.AWS.MediaConvert.ListJobTemplates- , Network.AWS.MediaConvert.ListJobs- , Network.AWS.MediaConvert.ListPresets- , Network.AWS.MediaConvert.ListQueues- , Network.AWS.MediaConvert.Types- , Network.AWS.MediaConvert.UpdateJobTemplate- , Network.AWS.MediaConvert.UpdatePreset- , Network.AWS.MediaConvert.UpdateQueue- , Network.AWS.MediaConvert.Waiters+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields - other-modules:- Network.AWS.MediaConvert.Types.Product- , Network.AWS.MediaConvert.Types.Sum+ exposed-modules:+ Amazonka.MediaConvert+ Amazonka.MediaConvert.AssociateCertificate+ Amazonka.MediaConvert.CancelJob+ Amazonka.MediaConvert.CreateJob+ Amazonka.MediaConvert.CreateJobTemplate+ Amazonka.MediaConvert.CreatePreset+ Amazonka.MediaConvert.CreateQueue+ Amazonka.MediaConvert.DeleteJobTemplate+ Amazonka.MediaConvert.DeletePolicy+ Amazonka.MediaConvert.DeletePreset+ Amazonka.MediaConvert.DeleteQueue+ Amazonka.MediaConvert.DescribeEndpoints+ Amazonka.MediaConvert.DisassociateCertificate+ Amazonka.MediaConvert.GetJob+ Amazonka.MediaConvert.GetJobTemplate+ Amazonka.MediaConvert.GetPolicy+ Amazonka.MediaConvert.GetPreset+ Amazonka.MediaConvert.GetQueue+ Amazonka.MediaConvert.Lens+ Amazonka.MediaConvert.ListJobs+ Amazonka.MediaConvert.ListJobTemplates+ Amazonka.MediaConvert.ListPresets+ Amazonka.MediaConvert.ListQueues+ Amazonka.MediaConvert.ListTagsForResource+ Amazonka.MediaConvert.PutPolicy+ Amazonka.MediaConvert.TagResource+ Amazonka.MediaConvert.Types+ Amazonka.MediaConvert.Types.AacAudioDescriptionBroadcasterMix+ Amazonka.MediaConvert.Types.AacCodecProfile+ Amazonka.MediaConvert.Types.AacCodingMode+ Amazonka.MediaConvert.Types.AacRateControlMode+ Amazonka.MediaConvert.Types.AacRawFormat+ Amazonka.MediaConvert.Types.AacSettings+ Amazonka.MediaConvert.Types.AacSpecification+ Amazonka.MediaConvert.Types.AacVbrQuality+ Amazonka.MediaConvert.Types.Ac3BitstreamMode+ Amazonka.MediaConvert.Types.Ac3CodingMode+ Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionLine+ Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionProfile+ Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionRf+ Amazonka.MediaConvert.Types.Ac3LfeFilter+ Amazonka.MediaConvert.Types.Ac3MetadataControl+ Amazonka.MediaConvert.Types.Ac3Settings+ Amazonka.MediaConvert.Types.AccelerationMode+ Amazonka.MediaConvert.Types.AccelerationSettings+ Amazonka.MediaConvert.Types.AccelerationStatus+ Amazonka.MediaConvert.Types.AfdSignaling+ Amazonka.MediaConvert.Types.AiffSettings+ Amazonka.MediaConvert.Types.AllowedRenditionSize+ Amazonka.MediaConvert.Types.AlphaBehavior+ Amazonka.MediaConvert.Types.AncillaryConvert608To708+ Amazonka.MediaConvert.Types.AncillarySourceSettings+ Amazonka.MediaConvert.Types.AncillaryTerminateCaptions+ Amazonka.MediaConvert.Types.AntiAlias+ Amazonka.MediaConvert.Types.AudioChannelTag+ Amazonka.MediaConvert.Types.AudioChannelTaggingSettings+ Amazonka.MediaConvert.Types.AudioCodec+ Amazonka.MediaConvert.Types.AudioCodecSettings+ Amazonka.MediaConvert.Types.AudioDefaultSelection+ Amazonka.MediaConvert.Types.AudioDescription+ Amazonka.MediaConvert.Types.AudioDurationCorrection+ Amazonka.MediaConvert.Types.AudioLanguageCodeControl+ Amazonka.MediaConvert.Types.AudioNormalizationAlgorithm+ Amazonka.MediaConvert.Types.AudioNormalizationAlgorithmControl+ Amazonka.MediaConvert.Types.AudioNormalizationLoudnessLogging+ Amazonka.MediaConvert.Types.AudioNormalizationPeakCalculation+ Amazonka.MediaConvert.Types.AudioNormalizationSettings+ Amazonka.MediaConvert.Types.AudioSelector+ Amazonka.MediaConvert.Types.AudioSelectorGroup+ Amazonka.MediaConvert.Types.AudioSelectorType+ Amazonka.MediaConvert.Types.AudioTypeControl+ Amazonka.MediaConvert.Types.AutomatedAbrRule+ Amazonka.MediaConvert.Types.AutomatedAbrSettings+ Amazonka.MediaConvert.Types.AutomatedEncodingSettings+ Amazonka.MediaConvert.Types.Av1AdaptiveQuantization+ Amazonka.MediaConvert.Types.Av1BitDepth+ Amazonka.MediaConvert.Types.Av1FramerateControl+ Amazonka.MediaConvert.Types.Av1FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.Av1QvbrSettings+ Amazonka.MediaConvert.Types.Av1RateControlMode+ Amazonka.MediaConvert.Types.Av1Settings+ Amazonka.MediaConvert.Types.Av1SpatialAdaptiveQuantization+ Amazonka.MediaConvert.Types.AvailBlanking+ Amazonka.MediaConvert.Types.AvcIntraClass+ Amazonka.MediaConvert.Types.AvcIntraFramerateControl+ Amazonka.MediaConvert.Types.AvcIntraFramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.AvcIntraInterlaceMode+ Amazonka.MediaConvert.Types.AvcIntraScanTypeConversionMode+ Amazonka.MediaConvert.Types.AvcIntraSettings+ Amazonka.MediaConvert.Types.AvcIntraSlowPal+ Amazonka.MediaConvert.Types.AvcIntraTelecine+ Amazonka.MediaConvert.Types.AvcIntraUhdQualityTuningLevel+ Amazonka.MediaConvert.Types.AvcIntraUhdSettings+ Amazonka.MediaConvert.Types.BillingTagsSource+ Amazonka.MediaConvert.Types.BurninDestinationSettings+ Amazonka.MediaConvert.Types.BurninSubtitleAlignment+ Amazonka.MediaConvert.Types.BurninSubtitleApplyFontColor+ Amazonka.MediaConvert.Types.BurninSubtitleBackgroundColor+ Amazonka.MediaConvert.Types.BurninSubtitleFallbackFont+ Amazonka.MediaConvert.Types.BurninSubtitleFontColor+ Amazonka.MediaConvert.Types.BurninSubtitleOutlineColor+ Amazonka.MediaConvert.Types.BurninSubtitleShadowColor+ Amazonka.MediaConvert.Types.BurnInSubtitleStylePassthrough+ Amazonka.MediaConvert.Types.BurninSubtitleTeletextSpacing+ Amazonka.MediaConvert.Types.CaptionDescription+ Amazonka.MediaConvert.Types.CaptionDescriptionPreset+ Amazonka.MediaConvert.Types.CaptionDestinationSettings+ Amazonka.MediaConvert.Types.CaptionDestinationType+ Amazonka.MediaConvert.Types.CaptionSelector+ Amazonka.MediaConvert.Types.CaptionSourceFramerate+ Amazonka.MediaConvert.Types.CaptionSourceSettings+ Amazonka.MediaConvert.Types.CaptionSourceType+ Amazonka.MediaConvert.Types.ChannelMapping+ Amazonka.MediaConvert.Types.CmafAdditionalManifest+ Amazonka.MediaConvert.Types.CmafClientCache+ Amazonka.MediaConvert.Types.CmafCodecSpecification+ Amazonka.MediaConvert.Types.CmafEncryptionSettings+ Amazonka.MediaConvert.Types.CmafEncryptionType+ Amazonka.MediaConvert.Types.CmafGroupSettings+ Amazonka.MediaConvert.Types.CmafImageBasedTrickPlay+ Amazonka.MediaConvert.Types.CmafImageBasedTrickPlaySettings+ Amazonka.MediaConvert.Types.CmafInitializationVectorInManifest+ Amazonka.MediaConvert.Types.CmafIntervalCadence+ Amazonka.MediaConvert.Types.CmafKeyProviderType+ Amazonka.MediaConvert.Types.CmafManifestCompression+ Amazonka.MediaConvert.Types.CmafManifestDurationFormat+ Amazonka.MediaConvert.Types.CmafMpdManifestBandwidthType+ Amazonka.MediaConvert.Types.CmafMpdProfile+ Amazonka.MediaConvert.Types.CmafPtsOffsetHandlingForBFrames+ Amazonka.MediaConvert.Types.CmafSegmentControl+ Amazonka.MediaConvert.Types.CmafSegmentLengthControl+ Amazonka.MediaConvert.Types.CmafStreamInfResolution+ Amazonka.MediaConvert.Types.CmafTargetDurationCompatibilityMode+ Amazonka.MediaConvert.Types.CmafVideoCompositionOffsets+ Amazonka.MediaConvert.Types.CmafWriteDASHManifest+ Amazonka.MediaConvert.Types.CmafWriteHLSManifest+ Amazonka.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation+ Amazonka.MediaConvert.Types.CmfcAudioDuration+ Amazonka.MediaConvert.Types.CmfcAudioTrackType+ Amazonka.MediaConvert.Types.CmfcDescriptiveVideoServiceFlag+ Amazonka.MediaConvert.Types.CmfcIFrameOnlyManifest+ Amazonka.MediaConvert.Types.CmfcKlvMetadata+ Amazonka.MediaConvert.Types.CmfcManifestMetadataSignaling+ Amazonka.MediaConvert.Types.CmfcScte35Esam+ Amazonka.MediaConvert.Types.CmfcScte35Source+ Amazonka.MediaConvert.Types.CmfcSettings+ Amazonka.MediaConvert.Types.CmfcTimedMetadata+ Amazonka.MediaConvert.Types.CmfcTimedMetadataBoxVersion+ Amazonka.MediaConvert.Types.ColorCorrector+ Amazonka.MediaConvert.Types.ColorMetadata+ Amazonka.MediaConvert.Types.ColorSpace+ Amazonka.MediaConvert.Types.ColorSpaceConversion+ Amazonka.MediaConvert.Types.ColorSpaceUsage+ Amazonka.MediaConvert.Types.Commitment+ Amazonka.MediaConvert.Types.ContainerSettings+ Amazonka.MediaConvert.Types.ContainerType+ Amazonka.MediaConvert.Types.CopyProtectionAction+ Amazonka.MediaConvert.Types.DashAdditionalManifest+ Amazonka.MediaConvert.Types.DashIsoEncryptionSettings+ Amazonka.MediaConvert.Types.DashIsoGroupAudioChannelConfigSchemeIdUri+ Amazonka.MediaConvert.Types.DashIsoGroupSettings+ Amazonka.MediaConvert.Types.DashIsoHbbtvCompliance+ Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlay+ Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlaySettings+ Amazonka.MediaConvert.Types.DashIsoIntervalCadence+ Amazonka.MediaConvert.Types.DashIsoMpdManifestBandwidthType+ Amazonka.MediaConvert.Types.DashIsoMpdProfile+ Amazonka.MediaConvert.Types.DashIsoPlaybackDeviceCompatibility+ Amazonka.MediaConvert.Types.DashIsoPtsOffsetHandlingForBFrames+ Amazonka.MediaConvert.Types.DashIsoSegmentControl+ Amazonka.MediaConvert.Types.DashIsoSegmentLengthControl+ Amazonka.MediaConvert.Types.DashIsoVideoCompositionOffsets+ Amazonka.MediaConvert.Types.DashIsoWriteSegmentTimelineInRepresentation+ Amazonka.MediaConvert.Types.DecryptionMode+ Amazonka.MediaConvert.Types.DeinterlaceAlgorithm+ Amazonka.MediaConvert.Types.Deinterlacer+ Amazonka.MediaConvert.Types.DeinterlacerControl+ Amazonka.MediaConvert.Types.DeinterlacerMode+ Amazonka.MediaConvert.Types.DescribeEndpointsMode+ Amazonka.MediaConvert.Types.DestinationSettings+ Amazonka.MediaConvert.Types.DolbyVision+ Amazonka.MediaConvert.Types.DolbyVisionLevel6Metadata+ Amazonka.MediaConvert.Types.DolbyVisionLevel6Mode+ Amazonka.MediaConvert.Types.DolbyVisionMapping+ Amazonka.MediaConvert.Types.DolbyVisionProfile+ Amazonka.MediaConvert.Types.DropFrameTimecode+ Amazonka.MediaConvert.Types.DvbddsHandling+ Amazonka.MediaConvert.Types.DvbNitSettings+ Amazonka.MediaConvert.Types.DvbSdtSettings+ Amazonka.MediaConvert.Types.DvbSubDestinationSettings+ Amazonka.MediaConvert.Types.DvbSubSourceSettings+ Amazonka.MediaConvert.Types.DvbSubSubtitleFallbackFont+ Amazonka.MediaConvert.Types.DvbSubtitleAlignment+ Amazonka.MediaConvert.Types.DvbSubtitleApplyFontColor+ Amazonka.MediaConvert.Types.DvbSubtitleBackgroundColor+ Amazonka.MediaConvert.Types.DvbSubtitleFontColor+ Amazonka.MediaConvert.Types.DvbSubtitleOutlineColor+ Amazonka.MediaConvert.Types.DvbSubtitleShadowColor+ Amazonka.MediaConvert.Types.DvbSubtitleStylePassthrough+ Amazonka.MediaConvert.Types.DvbSubtitleTeletextSpacing+ Amazonka.MediaConvert.Types.DvbSubtitlingType+ Amazonka.MediaConvert.Types.DvbTdtSettings+ Amazonka.MediaConvert.Types.Eac3AtmosBitstreamMode+ Amazonka.MediaConvert.Types.Eac3AtmosCodingMode+ Amazonka.MediaConvert.Types.Eac3AtmosDialogueIntelligence+ Amazonka.MediaConvert.Types.Eac3AtmosDownmixControl+ Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionLine+ Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionRf+ Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeControl+ Amazonka.MediaConvert.Types.Eac3AtmosMeteringMode+ Amazonka.MediaConvert.Types.Eac3AtmosSettings+ Amazonka.MediaConvert.Types.Eac3AtmosStereoDownmix+ Amazonka.MediaConvert.Types.Eac3AtmosSurroundExMode+ Amazonka.MediaConvert.Types.Eac3AttenuationControl+ Amazonka.MediaConvert.Types.Eac3BitstreamMode+ Amazonka.MediaConvert.Types.Eac3CodingMode+ Amazonka.MediaConvert.Types.Eac3DcFilter+ Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionLine+ Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionRf+ Amazonka.MediaConvert.Types.Eac3LfeControl+ Amazonka.MediaConvert.Types.Eac3LfeFilter+ Amazonka.MediaConvert.Types.Eac3MetadataControl+ Amazonka.MediaConvert.Types.Eac3PassthroughControl+ Amazonka.MediaConvert.Types.Eac3PhaseControl+ Amazonka.MediaConvert.Types.Eac3Settings+ Amazonka.MediaConvert.Types.Eac3StereoDownmix+ Amazonka.MediaConvert.Types.Eac3SurroundExMode+ Amazonka.MediaConvert.Types.Eac3SurroundMode+ Amazonka.MediaConvert.Types.EmbeddedConvert608To708+ Amazonka.MediaConvert.Types.EmbeddedDestinationSettings+ Amazonka.MediaConvert.Types.EmbeddedSourceSettings+ Amazonka.MediaConvert.Types.EmbeddedTerminateCaptions+ Amazonka.MediaConvert.Types.EmbeddedTimecodeOverride+ Amazonka.MediaConvert.Types.Endpoint+ Amazonka.MediaConvert.Types.EsamManifestConfirmConditionNotification+ Amazonka.MediaConvert.Types.EsamSettings+ Amazonka.MediaConvert.Types.EsamSignalProcessingNotification+ Amazonka.MediaConvert.Types.ExtendedDataServices+ Amazonka.MediaConvert.Types.F4vMoovPlacement+ Amazonka.MediaConvert.Types.F4vSettings+ Amazonka.MediaConvert.Types.FileGroupSettings+ Amazonka.MediaConvert.Types.FileSourceConvert608To708+ Amazonka.MediaConvert.Types.FileSourceSettings+ Amazonka.MediaConvert.Types.FileSourceTimeDeltaUnits+ Amazonka.MediaConvert.Types.FontScript+ Amazonka.MediaConvert.Types.ForceIncludeRenditionSize+ Amazonka.MediaConvert.Types.FrameCaptureSettings+ Amazonka.MediaConvert.Types.H264AdaptiveQuantization+ Amazonka.MediaConvert.Types.H264CodecLevel+ Amazonka.MediaConvert.Types.H264CodecProfile+ Amazonka.MediaConvert.Types.H264DynamicSubGop+ Amazonka.MediaConvert.Types.H264EntropyEncoding+ Amazonka.MediaConvert.Types.H264FieldEncoding+ Amazonka.MediaConvert.Types.H264FlickerAdaptiveQuantization+ Amazonka.MediaConvert.Types.H264FramerateControl+ Amazonka.MediaConvert.Types.H264FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.H264GopBReference+ Amazonka.MediaConvert.Types.H264GopSizeUnits+ Amazonka.MediaConvert.Types.H264InterlaceMode+ Amazonka.MediaConvert.Types.H264ParControl+ Amazonka.MediaConvert.Types.H264QualityTuningLevel+ Amazonka.MediaConvert.Types.H264QvbrSettings+ Amazonka.MediaConvert.Types.H264RateControlMode+ Amazonka.MediaConvert.Types.H264RepeatPps+ Amazonka.MediaConvert.Types.H264ScanTypeConversionMode+ Amazonka.MediaConvert.Types.H264SceneChangeDetect+ Amazonka.MediaConvert.Types.H264Settings+ Amazonka.MediaConvert.Types.H264SlowPal+ Amazonka.MediaConvert.Types.H264SpatialAdaptiveQuantization+ Amazonka.MediaConvert.Types.H264Syntax+ Amazonka.MediaConvert.Types.H264Telecine+ Amazonka.MediaConvert.Types.H264TemporalAdaptiveQuantization+ Amazonka.MediaConvert.Types.H264UnregisteredSeiTimecode+ Amazonka.MediaConvert.Types.H265AdaptiveQuantization+ Amazonka.MediaConvert.Types.H265AlternateTransferFunctionSei+ Amazonka.MediaConvert.Types.H265CodecLevel+ Amazonka.MediaConvert.Types.H265CodecProfile+ Amazonka.MediaConvert.Types.H265DynamicSubGop+ Amazonka.MediaConvert.Types.H265FlickerAdaptiveQuantization+ Amazonka.MediaConvert.Types.H265FramerateControl+ Amazonka.MediaConvert.Types.H265FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.H265GopBReference+ Amazonka.MediaConvert.Types.H265GopSizeUnits+ Amazonka.MediaConvert.Types.H265InterlaceMode+ Amazonka.MediaConvert.Types.H265ParControl+ Amazonka.MediaConvert.Types.H265QualityTuningLevel+ Amazonka.MediaConvert.Types.H265QvbrSettings+ Amazonka.MediaConvert.Types.H265RateControlMode+ Amazonka.MediaConvert.Types.H265SampleAdaptiveOffsetFilterMode+ Amazonka.MediaConvert.Types.H265ScanTypeConversionMode+ Amazonka.MediaConvert.Types.H265SceneChangeDetect+ Amazonka.MediaConvert.Types.H265Settings+ Amazonka.MediaConvert.Types.H265SlowPal+ Amazonka.MediaConvert.Types.H265SpatialAdaptiveQuantization+ Amazonka.MediaConvert.Types.H265Telecine+ Amazonka.MediaConvert.Types.H265TemporalAdaptiveQuantization+ Amazonka.MediaConvert.Types.H265TemporalIds+ Amazonka.MediaConvert.Types.H265Tiles+ Amazonka.MediaConvert.Types.H265UnregisteredSeiTimecode+ Amazonka.MediaConvert.Types.H265WriteMp4PackagingType+ Amazonka.MediaConvert.Types.Hdr10Metadata+ Amazonka.MediaConvert.Types.Hdr10Plus+ Amazonka.MediaConvert.Types.HlsAdditionalManifest+ Amazonka.MediaConvert.Types.HlsAdMarkers+ Amazonka.MediaConvert.Types.HlsAudioOnlyContainer+ Amazonka.MediaConvert.Types.HlsAudioOnlyHeader+ Amazonka.MediaConvert.Types.HlsAudioTrackType+ Amazonka.MediaConvert.Types.HlsCaptionLanguageMapping+ Amazonka.MediaConvert.Types.HlsCaptionLanguageSetting+ Amazonka.MediaConvert.Types.HlsCaptionSegmentLengthControl+ Amazonka.MediaConvert.Types.HlsClientCache+ Amazonka.MediaConvert.Types.HlsCodecSpecification+ Amazonka.MediaConvert.Types.HlsDescriptiveVideoServiceFlag+ Amazonka.MediaConvert.Types.HlsDirectoryStructure+ Amazonka.MediaConvert.Types.HlsEncryptionSettings+ Amazonka.MediaConvert.Types.HlsEncryptionType+ Amazonka.MediaConvert.Types.HlsGroupSettings+ Amazonka.MediaConvert.Types.HlsIFrameOnlyManifest+ Amazonka.MediaConvert.Types.HlsImageBasedTrickPlay+ Amazonka.MediaConvert.Types.HlsImageBasedTrickPlaySettings+ Amazonka.MediaConvert.Types.HlsInitializationVectorInManifest+ Amazonka.MediaConvert.Types.HlsIntervalCadence+ Amazonka.MediaConvert.Types.HlsKeyProviderType+ Amazonka.MediaConvert.Types.HlsManifestCompression+ Amazonka.MediaConvert.Types.HlsManifestDurationFormat+ Amazonka.MediaConvert.Types.HlsOfflineEncrypted+ Amazonka.MediaConvert.Types.HlsOutputSelection+ Amazonka.MediaConvert.Types.HlsProgramDateTime+ Amazonka.MediaConvert.Types.HlsRenditionGroupSettings+ Amazonka.MediaConvert.Types.HlsSegmentControl+ Amazonka.MediaConvert.Types.HlsSegmentLengthControl+ Amazonka.MediaConvert.Types.HlsSettings+ Amazonka.MediaConvert.Types.HlsStreamInfResolution+ Amazonka.MediaConvert.Types.HlsTargetDurationCompatibilityMode+ Amazonka.MediaConvert.Types.HlsTimedMetadataId3Frame+ Amazonka.MediaConvert.Types.HopDestination+ Amazonka.MediaConvert.Types.Id3Insertion+ Amazonka.MediaConvert.Types.ImageInserter+ Amazonka.MediaConvert.Types.ImscAccessibilitySubs+ Amazonka.MediaConvert.Types.ImscDestinationSettings+ Amazonka.MediaConvert.Types.ImscStylePassthrough+ Amazonka.MediaConvert.Types.Input+ Amazonka.MediaConvert.Types.InputClipping+ Amazonka.MediaConvert.Types.InputDeblockFilter+ Amazonka.MediaConvert.Types.InputDecryptionSettings+ Amazonka.MediaConvert.Types.InputDenoiseFilter+ Amazonka.MediaConvert.Types.InputFilterEnable+ Amazonka.MediaConvert.Types.InputPolicy+ Amazonka.MediaConvert.Types.InputPsiControl+ Amazonka.MediaConvert.Types.InputRotate+ Amazonka.MediaConvert.Types.InputSampleRange+ Amazonka.MediaConvert.Types.InputScanType+ Amazonka.MediaConvert.Types.InputTemplate+ Amazonka.MediaConvert.Types.InputTimecodeSource+ Amazonka.MediaConvert.Types.InputVideoGenerator+ Amazonka.MediaConvert.Types.InsertableImage+ Amazonka.MediaConvert.Types.Job+ Amazonka.MediaConvert.Types.JobMessages+ Amazonka.MediaConvert.Types.JobPhase+ Amazonka.MediaConvert.Types.JobSettings+ Amazonka.MediaConvert.Types.JobStatus+ Amazonka.MediaConvert.Types.JobTemplate+ Amazonka.MediaConvert.Types.JobTemplateListBy+ Amazonka.MediaConvert.Types.JobTemplateSettings+ Amazonka.MediaConvert.Types.KantarWatermarkSettings+ Amazonka.MediaConvert.Types.LanguageCode+ Amazonka.MediaConvert.Types.M2tsAudioBufferModel+ Amazonka.MediaConvert.Types.M2tsAudioDuration+ Amazonka.MediaConvert.Types.M2tsBufferModel+ Amazonka.MediaConvert.Types.M2tsDataPtsControl+ Amazonka.MediaConvert.Types.M2tsEbpAudioInterval+ Amazonka.MediaConvert.Types.M2tsEbpPlacement+ Amazonka.MediaConvert.Types.M2tsEsRateInPes+ Amazonka.MediaConvert.Types.M2tsForceTsVideoEbpOrder+ Amazonka.MediaConvert.Types.M2tsKlvMetadata+ Amazonka.MediaConvert.Types.M2tsNielsenId3+ Amazonka.MediaConvert.Types.M2tsPcrControl+ Amazonka.MediaConvert.Types.M2tsRateMode+ Amazonka.MediaConvert.Types.M2tsScte35Esam+ Amazonka.MediaConvert.Types.M2tsScte35Source+ Amazonka.MediaConvert.Types.M2tsSegmentationMarkers+ Amazonka.MediaConvert.Types.M2tsSegmentationStyle+ Amazonka.MediaConvert.Types.M2tsSettings+ Amazonka.MediaConvert.Types.M3u8AudioDuration+ Amazonka.MediaConvert.Types.M3u8DataPtsControl+ Amazonka.MediaConvert.Types.M3u8NielsenId3+ Amazonka.MediaConvert.Types.M3u8PcrControl+ Amazonka.MediaConvert.Types.M3u8Scte35Source+ Amazonka.MediaConvert.Types.M3u8Settings+ Amazonka.MediaConvert.Types.MinBottomRenditionSize+ Amazonka.MediaConvert.Types.MinTopRenditionSize+ Amazonka.MediaConvert.Types.MotionImageInserter+ Amazonka.MediaConvert.Types.MotionImageInsertionFramerate+ Amazonka.MediaConvert.Types.MotionImageInsertionMode+ Amazonka.MediaConvert.Types.MotionImageInsertionOffset+ Amazonka.MediaConvert.Types.MotionImagePlayback+ Amazonka.MediaConvert.Types.MovClapAtom+ Amazonka.MediaConvert.Types.MovCslgAtom+ Amazonka.MediaConvert.Types.MovMpeg2FourCCControl+ Amazonka.MediaConvert.Types.MovPaddingControl+ Amazonka.MediaConvert.Types.MovReference+ Amazonka.MediaConvert.Types.MovSettings+ Amazonka.MediaConvert.Types.Mp2Settings+ Amazonka.MediaConvert.Types.Mp3RateControlMode+ Amazonka.MediaConvert.Types.Mp3Settings+ Amazonka.MediaConvert.Types.Mp4CslgAtom+ Amazonka.MediaConvert.Types.Mp4FreeSpaceBox+ Amazonka.MediaConvert.Types.Mp4MoovPlacement+ Amazonka.MediaConvert.Types.Mp4Settings+ Amazonka.MediaConvert.Types.MpdAccessibilityCaptionHints+ Amazonka.MediaConvert.Types.MpdAudioDuration+ Amazonka.MediaConvert.Types.MpdCaptionContainerType+ Amazonka.MediaConvert.Types.MpdKlvMetadata+ Amazonka.MediaConvert.Types.MpdManifestMetadataSignaling+ Amazonka.MediaConvert.Types.MpdScte35Esam+ Amazonka.MediaConvert.Types.MpdScte35Source+ Amazonka.MediaConvert.Types.MpdSettings+ Amazonka.MediaConvert.Types.MpdTimedMetadata+ Amazonka.MediaConvert.Types.MpdTimedMetadataBoxVersion+ Amazonka.MediaConvert.Types.Mpeg2AdaptiveQuantization+ Amazonka.MediaConvert.Types.Mpeg2CodecLevel+ Amazonka.MediaConvert.Types.Mpeg2CodecProfile+ Amazonka.MediaConvert.Types.Mpeg2DynamicSubGop+ Amazonka.MediaConvert.Types.Mpeg2FramerateControl+ Amazonka.MediaConvert.Types.Mpeg2FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.Mpeg2GopSizeUnits+ Amazonka.MediaConvert.Types.Mpeg2InterlaceMode+ Amazonka.MediaConvert.Types.Mpeg2IntraDcPrecision+ Amazonka.MediaConvert.Types.Mpeg2ParControl+ Amazonka.MediaConvert.Types.Mpeg2QualityTuningLevel+ Amazonka.MediaConvert.Types.Mpeg2RateControlMode+ Amazonka.MediaConvert.Types.Mpeg2ScanTypeConversionMode+ Amazonka.MediaConvert.Types.Mpeg2SceneChangeDetect+ Amazonka.MediaConvert.Types.Mpeg2Settings+ Amazonka.MediaConvert.Types.Mpeg2SlowPal+ Amazonka.MediaConvert.Types.Mpeg2SpatialAdaptiveQuantization+ Amazonka.MediaConvert.Types.Mpeg2Syntax+ Amazonka.MediaConvert.Types.Mpeg2Telecine+ Amazonka.MediaConvert.Types.Mpeg2TemporalAdaptiveQuantization+ Amazonka.MediaConvert.Types.MsSmoothAdditionalManifest+ Amazonka.MediaConvert.Types.MsSmoothAudioDeduplication+ Amazonka.MediaConvert.Types.MsSmoothEncryptionSettings+ Amazonka.MediaConvert.Types.MsSmoothFragmentLengthControl+ Amazonka.MediaConvert.Types.MsSmoothGroupSettings+ Amazonka.MediaConvert.Types.MsSmoothManifestEncoding+ Amazonka.MediaConvert.Types.MxfAfdSignaling+ Amazonka.MediaConvert.Types.MxfProfile+ Amazonka.MediaConvert.Types.MxfSettings+ Amazonka.MediaConvert.Types.MxfXavcDurationMode+ Amazonka.MediaConvert.Types.MxfXavcProfileSettings+ Amazonka.MediaConvert.Types.NexGuardFileMarkerSettings+ Amazonka.MediaConvert.Types.NielsenActiveWatermarkProcessType+ Amazonka.MediaConvert.Types.NielsenConfiguration+ Amazonka.MediaConvert.Types.NielsenNonLinearWatermarkSettings+ Amazonka.MediaConvert.Types.NielsenSourceWatermarkStatusType+ Amazonka.MediaConvert.Types.NielsenUniqueTicPerAudioTrackType+ Amazonka.MediaConvert.Types.NoiseFilterPostTemporalSharpening+ Amazonka.MediaConvert.Types.NoiseFilterPostTemporalSharpeningStrength+ Amazonka.MediaConvert.Types.NoiseReducer+ Amazonka.MediaConvert.Types.NoiseReducerFilter+ Amazonka.MediaConvert.Types.NoiseReducerFilterSettings+ Amazonka.MediaConvert.Types.NoiseReducerSpatialFilterSettings+ Amazonka.MediaConvert.Types.NoiseReducerTemporalFilterSettings+ Amazonka.MediaConvert.Types.OpusSettings+ Amazonka.MediaConvert.Types.Order+ Amazonka.MediaConvert.Types.Output+ Amazonka.MediaConvert.Types.OutputChannelMapping+ Amazonka.MediaConvert.Types.OutputDetail+ Amazonka.MediaConvert.Types.OutputGroup+ Amazonka.MediaConvert.Types.OutputGroupDetail+ Amazonka.MediaConvert.Types.OutputGroupSettings+ Amazonka.MediaConvert.Types.OutputGroupType+ Amazonka.MediaConvert.Types.OutputSdt+ Amazonka.MediaConvert.Types.OutputSettings+ Amazonka.MediaConvert.Types.PadVideo+ Amazonka.MediaConvert.Types.PartnerWatermarking+ Amazonka.MediaConvert.Types.Policy+ Amazonka.MediaConvert.Types.Preset+ Amazonka.MediaConvert.Types.PresetListBy+ Amazonka.MediaConvert.Types.PresetSettings+ Amazonka.MediaConvert.Types.PricingPlan+ Amazonka.MediaConvert.Types.ProresChromaSampling+ Amazonka.MediaConvert.Types.ProresCodecProfile+ Amazonka.MediaConvert.Types.ProresFramerateControl+ Amazonka.MediaConvert.Types.ProresFramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.ProresInterlaceMode+ Amazonka.MediaConvert.Types.ProresParControl+ Amazonka.MediaConvert.Types.ProresScanTypeConversionMode+ Amazonka.MediaConvert.Types.ProresSettings+ Amazonka.MediaConvert.Types.ProresSlowPal+ Amazonka.MediaConvert.Types.ProresTelecine+ Amazonka.MediaConvert.Types.Queue+ Amazonka.MediaConvert.Types.QueueListBy+ Amazonka.MediaConvert.Types.QueueStatus+ Amazonka.MediaConvert.Types.QueueTransition+ Amazonka.MediaConvert.Types.Rectangle+ Amazonka.MediaConvert.Types.RemixSettings+ Amazonka.MediaConvert.Types.RenewalType+ Amazonka.MediaConvert.Types.RequiredFlag+ Amazonka.MediaConvert.Types.ReservationPlan+ Amazonka.MediaConvert.Types.ReservationPlanSettings+ Amazonka.MediaConvert.Types.ReservationPlanStatus+ Amazonka.MediaConvert.Types.ResourceTags+ Amazonka.MediaConvert.Types.RespondToAfd+ Amazonka.MediaConvert.Types.RuleType+ Amazonka.MediaConvert.Types.S3DestinationAccessControl+ Amazonka.MediaConvert.Types.S3DestinationSettings+ Amazonka.MediaConvert.Types.S3EncryptionSettings+ Amazonka.MediaConvert.Types.S3ObjectCannedAcl+ Amazonka.MediaConvert.Types.S3ServerSideEncryptionType+ Amazonka.MediaConvert.Types.SampleRangeConversion+ Amazonka.MediaConvert.Types.ScalingBehavior+ Amazonka.MediaConvert.Types.SccDestinationFramerate+ Amazonka.MediaConvert.Types.SccDestinationSettings+ Amazonka.MediaConvert.Types.SimulateReservedQueue+ Amazonka.MediaConvert.Types.SpekeKeyProvider+ Amazonka.MediaConvert.Types.SpekeKeyProviderCmaf+ Amazonka.MediaConvert.Types.SrtDestinationSettings+ Amazonka.MediaConvert.Types.SrtStylePassthrough+ Amazonka.MediaConvert.Types.StaticKeyProvider+ Amazonka.MediaConvert.Types.StatusUpdateInterval+ Amazonka.MediaConvert.Types.TeletextDestinationSettings+ Amazonka.MediaConvert.Types.TeletextPageType+ Amazonka.MediaConvert.Types.TeletextSourceSettings+ Amazonka.MediaConvert.Types.TimecodeBurnin+ Amazonka.MediaConvert.Types.TimecodeBurninPosition+ Amazonka.MediaConvert.Types.TimecodeConfig+ Amazonka.MediaConvert.Types.TimecodeSource+ Amazonka.MediaConvert.Types.TimedMetadata+ Amazonka.MediaConvert.Types.TimedMetadataInsertion+ Amazonka.MediaConvert.Types.Timing+ Amazonka.MediaConvert.Types.TrackSourceSettings+ Amazonka.MediaConvert.Types.TtmlDestinationSettings+ Amazonka.MediaConvert.Types.TtmlStylePassthrough+ Amazonka.MediaConvert.Types.Type+ Amazonka.MediaConvert.Types.Vc3Class+ Amazonka.MediaConvert.Types.Vc3FramerateControl+ Amazonka.MediaConvert.Types.Vc3FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.Vc3InterlaceMode+ Amazonka.MediaConvert.Types.Vc3ScanTypeConversionMode+ Amazonka.MediaConvert.Types.Vc3Settings+ Amazonka.MediaConvert.Types.Vc3SlowPal+ Amazonka.MediaConvert.Types.Vc3Telecine+ Amazonka.MediaConvert.Types.VchipAction+ Amazonka.MediaConvert.Types.VideoCodec+ Amazonka.MediaConvert.Types.VideoCodecSettings+ Amazonka.MediaConvert.Types.VideoDescription+ Amazonka.MediaConvert.Types.VideoDetail+ Amazonka.MediaConvert.Types.VideoPreprocessor+ Amazonka.MediaConvert.Types.VideoSelector+ Amazonka.MediaConvert.Types.VideoTimecodeInsertion+ Amazonka.MediaConvert.Types.VorbisSettings+ Amazonka.MediaConvert.Types.Vp8FramerateControl+ Amazonka.MediaConvert.Types.Vp8FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.Vp8ParControl+ Amazonka.MediaConvert.Types.Vp8QualityTuningLevel+ Amazonka.MediaConvert.Types.Vp8RateControlMode+ Amazonka.MediaConvert.Types.Vp8Settings+ Amazonka.MediaConvert.Types.Vp9FramerateControl+ Amazonka.MediaConvert.Types.Vp9FramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.Vp9ParControl+ Amazonka.MediaConvert.Types.Vp9QualityTuningLevel+ Amazonka.MediaConvert.Types.Vp9RateControlMode+ Amazonka.MediaConvert.Types.Vp9Settings+ Amazonka.MediaConvert.Types.WatermarkingStrength+ Amazonka.MediaConvert.Types.WavFormat+ Amazonka.MediaConvert.Types.WavSettings+ Amazonka.MediaConvert.Types.WebvttAccessibilitySubs+ Amazonka.MediaConvert.Types.WebvttDestinationSettings+ Amazonka.MediaConvert.Types.WebvttHlsSourceSettings+ Amazonka.MediaConvert.Types.WebvttStylePassthrough+ Amazonka.MediaConvert.Types.Xavc4kIntraCbgProfileClass+ Amazonka.MediaConvert.Types.Xavc4kIntraCbgProfileSettings+ Amazonka.MediaConvert.Types.Xavc4kIntraVbrProfileClass+ Amazonka.MediaConvert.Types.Xavc4kIntraVbrProfileSettings+ Amazonka.MediaConvert.Types.Xavc4kProfileBitrateClass+ Amazonka.MediaConvert.Types.Xavc4kProfileCodecProfile+ Amazonka.MediaConvert.Types.Xavc4kProfileQualityTuningLevel+ Amazonka.MediaConvert.Types.Xavc4kProfileSettings+ Amazonka.MediaConvert.Types.XavcAdaptiveQuantization+ Amazonka.MediaConvert.Types.XavcEntropyEncoding+ Amazonka.MediaConvert.Types.XavcFlickerAdaptiveQuantization+ Amazonka.MediaConvert.Types.XavcFramerateControl+ Amazonka.MediaConvert.Types.XavcFramerateConversionAlgorithm+ Amazonka.MediaConvert.Types.XavcGopBReference+ Amazonka.MediaConvert.Types.XavcHdIntraCbgProfileClass+ Amazonka.MediaConvert.Types.XavcHdIntraCbgProfileSettings+ Amazonka.MediaConvert.Types.XavcHdProfileBitrateClass+ Amazonka.MediaConvert.Types.XavcHdProfileQualityTuningLevel+ Amazonka.MediaConvert.Types.XavcHdProfileSettings+ Amazonka.MediaConvert.Types.XavcHdProfileTelecine+ Amazonka.MediaConvert.Types.XavcInterlaceMode+ Amazonka.MediaConvert.Types.XavcProfile+ Amazonka.MediaConvert.Types.XavcSettings+ Amazonka.MediaConvert.Types.XavcSlowPal+ Amazonka.MediaConvert.Types.XavcSpatialAdaptiveQuantization+ Amazonka.MediaConvert.Types.XavcTemporalAdaptiveQuantization+ Amazonka.MediaConvert.UntagResource+ Amazonka.MediaConvert.UpdateJobTemplate+ Amazonka.MediaConvert.UpdatePreset+ Amazonka.MediaConvert.UpdateQueue+ Amazonka.MediaConvert.Waiters - build-depends:- amazonka-core == 1.6.1.*- , base >= 4.7 && < 5+ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5 test-suite amazonka-mediaconvert-test- type: exitcode-stdio-1.0- default-language: Haskell2010- hs-source-dirs: test- main-is: Main.hs-- ghc-options: -Wall -threaded+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded - -- This section is encoded by the template and any modules added by- -- hand outside these namespaces will not correctly be added to the- -- distribution package.- other-modules:- Test.AWS.MediaConvert- , Test.AWS.Gen.MediaConvert- , Test.AWS.MediaConvert.Internal+ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.MediaConvert+ Test.Amazonka.MediaConvert+ Test.Amazonka.MediaConvert.Internal - build-depends:- amazonka-core == 1.6.1.*- , amazonka-test == 1.6.1.*- , amazonka-mediaconvert- , base- , bytestring- , tasty- , tasty-hunit- , text- , time- , unordered-containers+ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-mediaconvert+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconvert/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconvert.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
@@ -0,0 +1,2156 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.MediaConvert+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2017-08-29@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS Elemental MediaConvert+module Amazonka.MediaConvert+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** BadRequestException+ _BadRequestException,++ -- ** ConflictException+ _ConflictException,++ -- ** ForbiddenException+ _ForbiddenException,++ -- ** InternalServerErrorException+ _InternalServerErrorException,++ -- ** NotFoundException+ _NotFoundException,++ -- ** TooManyRequestsException+ _TooManyRequestsException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateCertificate+ AssociateCertificate (AssociateCertificate'),+ newAssociateCertificate,+ AssociateCertificateResponse (AssociateCertificateResponse'),+ newAssociateCertificateResponse,++ -- ** CancelJob+ CancelJob (CancelJob'),+ newCancelJob,+ CancelJobResponse (CancelJobResponse'),+ newCancelJobResponse,++ -- ** CreateJob+ CreateJob (CreateJob'),+ newCreateJob,+ CreateJobResponse (CreateJobResponse'),+ newCreateJobResponse,++ -- ** CreateJobTemplate+ CreateJobTemplate (CreateJobTemplate'),+ newCreateJobTemplate,+ CreateJobTemplateResponse (CreateJobTemplateResponse'),+ newCreateJobTemplateResponse,++ -- ** CreatePreset+ CreatePreset (CreatePreset'),+ newCreatePreset,+ CreatePresetResponse (CreatePresetResponse'),+ newCreatePresetResponse,++ -- ** CreateQueue+ CreateQueue (CreateQueue'),+ newCreateQueue,+ CreateQueueResponse (CreateQueueResponse'),+ newCreateQueueResponse,++ -- ** DeleteJobTemplate+ DeleteJobTemplate (DeleteJobTemplate'),+ newDeleteJobTemplate,+ DeleteJobTemplateResponse (DeleteJobTemplateResponse'),+ newDeleteJobTemplateResponse,++ -- ** DeletePolicy+ DeletePolicy (DeletePolicy'),+ newDeletePolicy,+ DeletePolicyResponse (DeletePolicyResponse'),+ newDeletePolicyResponse,++ -- ** DeletePreset+ DeletePreset (DeletePreset'),+ newDeletePreset,+ DeletePresetResponse (DeletePresetResponse'),+ newDeletePresetResponse,++ -- ** DeleteQueue+ DeleteQueue (DeleteQueue'),+ newDeleteQueue,+ DeleteQueueResponse (DeleteQueueResponse'),+ newDeleteQueueResponse,++ -- ** DescribeEndpoints (Paginated)+ DescribeEndpoints (DescribeEndpoints'),+ newDescribeEndpoints,+ DescribeEndpointsResponse (DescribeEndpointsResponse'),+ newDescribeEndpointsResponse,++ -- ** DisassociateCertificate+ DisassociateCertificate (DisassociateCertificate'),+ newDisassociateCertificate,+ DisassociateCertificateResponse (DisassociateCertificateResponse'),+ newDisassociateCertificateResponse,++ -- ** GetJob+ GetJob (GetJob'),+ newGetJob,+ GetJobResponse (GetJobResponse'),+ newGetJobResponse,++ -- ** GetJobTemplate+ GetJobTemplate (GetJobTemplate'),+ newGetJobTemplate,+ GetJobTemplateResponse (GetJobTemplateResponse'),+ newGetJobTemplateResponse,++ -- ** GetPolicy+ GetPolicy (GetPolicy'),+ newGetPolicy,+ GetPolicyResponse (GetPolicyResponse'),+ newGetPolicyResponse,++ -- ** GetPreset+ GetPreset (GetPreset'),+ newGetPreset,+ GetPresetResponse (GetPresetResponse'),+ newGetPresetResponse,++ -- ** GetQueue+ GetQueue (GetQueue'),+ newGetQueue,+ GetQueueResponse (GetQueueResponse'),+ newGetQueueResponse,++ -- ** ListJobTemplates (Paginated)+ ListJobTemplates (ListJobTemplates'),+ newListJobTemplates,+ ListJobTemplatesResponse (ListJobTemplatesResponse'),+ newListJobTemplatesResponse,++ -- ** ListJobs (Paginated)+ ListJobs (ListJobs'),+ newListJobs,+ ListJobsResponse (ListJobsResponse'),+ newListJobsResponse,++ -- ** ListPresets (Paginated)+ ListPresets (ListPresets'),+ newListPresets,+ ListPresetsResponse (ListPresetsResponse'),+ newListPresetsResponse,++ -- ** ListQueues (Paginated)+ ListQueues (ListQueues'),+ newListQueues,+ ListQueuesResponse (ListQueuesResponse'),+ newListQueuesResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutPolicy+ PutPolicy (PutPolicy'),+ newPutPolicy,+ PutPolicyResponse (PutPolicyResponse'),+ newPutPolicyResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateJobTemplate+ UpdateJobTemplate (UpdateJobTemplate'),+ newUpdateJobTemplate,+ UpdateJobTemplateResponse (UpdateJobTemplateResponse'),+ newUpdateJobTemplateResponse,++ -- ** UpdatePreset+ UpdatePreset (UpdatePreset'),+ newUpdatePreset,+ UpdatePresetResponse (UpdatePresetResponse'),+ newUpdatePresetResponse,++ -- ** UpdateQueue+ UpdateQueue (UpdateQueue'),+ newUpdateQueue,+ UpdateQueueResponse (UpdateQueueResponse'),+ newUpdateQueueResponse,++ -- * Types++ -- ** AacAudioDescriptionBroadcasterMix+ AacAudioDescriptionBroadcasterMix (..),++ -- ** AacCodecProfile+ AacCodecProfile (..),++ -- ** AacCodingMode+ AacCodingMode (..),++ -- ** AacRateControlMode+ AacRateControlMode (..),++ -- ** AacRawFormat+ AacRawFormat (..),++ -- ** AacSpecification+ AacSpecification (..),++ -- ** AacVbrQuality+ AacVbrQuality (..),++ -- ** Ac3BitstreamMode+ Ac3BitstreamMode (..),++ -- ** Ac3CodingMode+ Ac3CodingMode (..),++ -- ** Ac3DynamicRangeCompressionLine+ Ac3DynamicRangeCompressionLine (..),++ -- ** Ac3DynamicRangeCompressionProfile+ Ac3DynamicRangeCompressionProfile (..),++ -- ** Ac3DynamicRangeCompressionRf+ Ac3DynamicRangeCompressionRf (..),++ -- ** Ac3LfeFilter+ Ac3LfeFilter (..),++ -- ** Ac3MetadataControl+ Ac3MetadataControl (..),++ -- ** AccelerationMode+ AccelerationMode (..),++ -- ** AccelerationStatus+ AccelerationStatus (..),++ -- ** AfdSignaling+ AfdSignaling (..),++ -- ** AlphaBehavior+ AlphaBehavior (..),++ -- ** AncillaryConvert608To708+ AncillaryConvert608To708 (..),++ -- ** AncillaryTerminateCaptions+ AncillaryTerminateCaptions (..),++ -- ** AntiAlias+ AntiAlias (..),++ -- ** AudioChannelTag+ AudioChannelTag (..),++ -- ** AudioCodec+ AudioCodec (..),++ -- ** AudioDefaultSelection+ AudioDefaultSelection (..),++ -- ** AudioDurationCorrection+ AudioDurationCorrection (..),++ -- ** AudioLanguageCodeControl+ AudioLanguageCodeControl (..),++ -- ** AudioNormalizationAlgorithm+ AudioNormalizationAlgorithm (..),++ -- ** AudioNormalizationAlgorithmControl+ AudioNormalizationAlgorithmControl (..),++ -- ** AudioNormalizationLoudnessLogging+ AudioNormalizationLoudnessLogging (..),++ -- ** AudioNormalizationPeakCalculation+ AudioNormalizationPeakCalculation (..),++ -- ** AudioSelectorType+ AudioSelectorType (..),++ -- ** AudioTypeControl+ AudioTypeControl (..),++ -- ** Av1AdaptiveQuantization+ Av1AdaptiveQuantization (..),++ -- ** Av1BitDepth+ Av1BitDepth (..),++ -- ** Av1FramerateControl+ Av1FramerateControl (..),++ -- ** Av1FramerateConversionAlgorithm+ Av1FramerateConversionAlgorithm (..),++ -- ** Av1RateControlMode+ Av1RateControlMode (..),++ -- ** Av1SpatialAdaptiveQuantization+ Av1SpatialAdaptiveQuantization (..),++ -- ** AvcIntraClass+ AvcIntraClass (..),++ -- ** AvcIntraFramerateControl+ AvcIntraFramerateControl (..),++ -- ** AvcIntraFramerateConversionAlgorithm+ AvcIntraFramerateConversionAlgorithm (..),++ -- ** AvcIntraInterlaceMode+ AvcIntraInterlaceMode (..),++ -- ** AvcIntraScanTypeConversionMode+ AvcIntraScanTypeConversionMode (..),++ -- ** AvcIntraSlowPal+ AvcIntraSlowPal (..),++ -- ** AvcIntraTelecine+ AvcIntraTelecine (..),++ -- ** AvcIntraUhdQualityTuningLevel+ AvcIntraUhdQualityTuningLevel (..),++ -- ** BillingTagsSource+ BillingTagsSource (..),++ -- ** BurnInSubtitleStylePassthrough+ BurnInSubtitleStylePassthrough (..),++ -- ** BurninSubtitleAlignment+ BurninSubtitleAlignment (..),++ -- ** BurninSubtitleApplyFontColor+ BurninSubtitleApplyFontColor (..),++ -- ** BurninSubtitleBackgroundColor+ BurninSubtitleBackgroundColor (..),++ -- ** BurninSubtitleFallbackFont+ BurninSubtitleFallbackFont (..),++ -- ** BurninSubtitleFontColor+ BurninSubtitleFontColor (..),++ -- ** BurninSubtitleOutlineColor+ BurninSubtitleOutlineColor (..),++ -- ** BurninSubtitleShadowColor+ BurninSubtitleShadowColor (..),++ -- ** BurninSubtitleTeletextSpacing+ BurninSubtitleTeletextSpacing (..),++ -- ** CaptionDestinationType+ CaptionDestinationType (..),++ -- ** CaptionSourceType+ CaptionSourceType (..),++ -- ** CmafClientCache+ CmafClientCache (..),++ -- ** CmafCodecSpecification+ CmafCodecSpecification (..),++ -- ** CmafEncryptionType+ CmafEncryptionType (..),++ -- ** CmafImageBasedTrickPlay+ CmafImageBasedTrickPlay (..),++ -- ** CmafInitializationVectorInManifest+ CmafInitializationVectorInManifest (..),++ -- ** CmafIntervalCadence+ CmafIntervalCadence (..),++ -- ** CmafKeyProviderType+ CmafKeyProviderType (..),++ -- ** CmafManifestCompression+ CmafManifestCompression (..),++ -- ** CmafManifestDurationFormat+ CmafManifestDurationFormat (..),++ -- ** CmafMpdManifestBandwidthType+ CmafMpdManifestBandwidthType (..),++ -- ** CmafMpdProfile+ CmafMpdProfile (..),++ -- ** CmafPtsOffsetHandlingForBFrames+ CmafPtsOffsetHandlingForBFrames (..),++ -- ** CmafSegmentControl+ CmafSegmentControl (..),++ -- ** CmafSegmentLengthControl+ CmafSegmentLengthControl (..),++ -- ** CmafStreamInfResolution+ CmafStreamInfResolution (..),++ -- ** CmafTargetDurationCompatibilityMode+ CmafTargetDurationCompatibilityMode (..),++ -- ** CmafVideoCompositionOffsets+ CmafVideoCompositionOffsets (..),++ -- ** CmafWriteDASHManifest+ CmafWriteDASHManifest (..),++ -- ** CmafWriteHLSManifest+ CmafWriteHLSManifest (..),++ -- ** CmafWriteSegmentTimelineInRepresentation+ CmafWriteSegmentTimelineInRepresentation (..),++ -- ** CmfcAudioDuration+ CmfcAudioDuration (..),++ -- ** CmfcAudioTrackType+ CmfcAudioTrackType (..),++ -- ** CmfcDescriptiveVideoServiceFlag+ CmfcDescriptiveVideoServiceFlag (..),++ -- ** CmfcIFrameOnlyManifest+ CmfcIFrameOnlyManifest (..),++ -- ** CmfcKlvMetadata+ CmfcKlvMetadata (..),++ -- ** CmfcManifestMetadataSignaling+ CmfcManifestMetadataSignaling (..),++ -- ** CmfcScte35Esam+ CmfcScte35Esam (..),++ -- ** CmfcScte35Source+ CmfcScte35Source (..),++ -- ** CmfcTimedMetadata+ CmfcTimedMetadata (..),++ -- ** CmfcTimedMetadataBoxVersion+ CmfcTimedMetadataBoxVersion (..),++ -- ** ColorMetadata+ ColorMetadata (..),++ -- ** ColorSpace+ ColorSpace (..),++ -- ** ColorSpaceConversion+ ColorSpaceConversion (..),++ -- ** ColorSpaceUsage+ ColorSpaceUsage (..),++ -- ** Commitment+ Commitment (..),++ -- ** ContainerType+ ContainerType (..),++ -- ** CopyProtectionAction+ CopyProtectionAction (..),++ -- ** DashIsoGroupAudioChannelConfigSchemeIdUri+ DashIsoGroupAudioChannelConfigSchemeIdUri (..),++ -- ** DashIsoHbbtvCompliance+ DashIsoHbbtvCompliance (..),++ -- ** DashIsoImageBasedTrickPlay+ DashIsoImageBasedTrickPlay (..),++ -- ** DashIsoIntervalCadence+ DashIsoIntervalCadence (..),++ -- ** DashIsoMpdManifestBandwidthType+ DashIsoMpdManifestBandwidthType (..),++ -- ** DashIsoMpdProfile+ DashIsoMpdProfile (..),++ -- ** DashIsoPlaybackDeviceCompatibility+ DashIsoPlaybackDeviceCompatibility (..),++ -- ** DashIsoPtsOffsetHandlingForBFrames+ DashIsoPtsOffsetHandlingForBFrames (..),++ -- ** DashIsoSegmentControl+ DashIsoSegmentControl (..),++ -- ** DashIsoSegmentLengthControl+ DashIsoSegmentLengthControl (..),++ -- ** DashIsoVideoCompositionOffsets+ DashIsoVideoCompositionOffsets (..),++ -- ** DashIsoWriteSegmentTimelineInRepresentation+ DashIsoWriteSegmentTimelineInRepresentation (..),++ -- ** DecryptionMode+ DecryptionMode (..),++ -- ** DeinterlaceAlgorithm+ DeinterlaceAlgorithm (..),++ -- ** DeinterlacerControl+ DeinterlacerControl (..),++ -- ** DeinterlacerMode+ DeinterlacerMode (..),++ -- ** DescribeEndpointsMode+ DescribeEndpointsMode (..),++ -- ** DolbyVisionLevel6Mode+ DolbyVisionLevel6Mode (..),++ -- ** DolbyVisionMapping+ DolbyVisionMapping (..),++ -- ** DolbyVisionProfile+ DolbyVisionProfile (..),++ -- ** DropFrameTimecode+ DropFrameTimecode (..),++ -- ** DvbSubSubtitleFallbackFont+ DvbSubSubtitleFallbackFont (..),++ -- ** DvbSubtitleAlignment+ DvbSubtitleAlignment (..),++ -- ** DvbSubtitleApplyFontColor+ DvbSubtitleApplyFontColor (..),++ -- ** DvbSubtitleBackgroundColor+ DvbSubtitleBackgroundColor (..),++ -- ** DvbSubtitleFontColor+ DvbSubtitleFontColor (..),++ -- ** DvbSubtitleOutlineColor+ DvbSubtitleOutlineColor (..),++ -- ** DvbSubtitleShadowColor+ DvbSubtitleShadowColor (..),++ -- ** DvbSubtitleStylePassthrough+ DvbSubtitleStylePassthrough (..),++ -- ** DvbSubtitleTeletextSpacing+ DvbSubtitleTeletextSpacing (..),++ -- ** DvbSubtitlingType+ DvbSubtitlingType (..),++ -- ** DvbddsHandling+ DvbddsHandling (..),++ -- ** Eac3AtmosBitstreamMode+ Eac3AtmosBitstreamMode (..),++ -- ** Eac3AtmosCodingMode+ Eac3AtmosCodingMode (..),++ -- ** Eac3AtmosDialogueIntelligence+ Eac3AtmosDialogueIntelligence (..),++ -- ** Eac3AtmosDownmixControl+ Eac3AtmosDownmixControl (..),++ -- ** Eac3AtmosDynamicRangeCompressionLine+ Eac3AtmosDynamicRangeCompressionLine (..),++ -- ** Eac3AtmosDynamicRangeCompressionRf+ Eac3AtmosDynamicRangeCompressionRf (..),++ -- ** Eac3AtmosDynamicRangeControl+ Eac3AtmosDynamicRangeControl (..),++ -- ** Eac3AtmosMeteringMode+ Eac3AtmosMeteringMode (..),++ -- ** Eac3AtmosStereoDownmix+ Eac3AtmosStereoDownmix (..),++ -- ** Eac3AtmosSurroundExMode+ Eac3AtmosSurroundExMode (..),++ -- ** Eac3AttenuationControl+ Eac3AttenuationControl (..),++ -- ** Eac3BitstreamMode+ Eac3BitstreamMode (..),++ -- ** Eac3CodingMode+ Eac3CodingMode (..),++ -- ** Eac3DcFilter+ Eac3DcFilter (..),++ -- ** Eac3DynamicRangeCompressionLine+ Eac3DynamicRangeCompressionLine (..),++ -- ** Eac3DynamicRangeCompressionRf+ Eac3DynamicRangeCompressionRf (..),++ -- ** Eac3LfeControl+ Eac3LfeControl (..),++ -- ** Eac3LfeFilter+ Eac3LfeFilter (..),++ -- ** Eac3MetadataControl+ Eac3MetadataControl (..),++ -- ** Eac3PassthroughControl+ Eac3PassthroughControl (..),++ -- ** Eac3PhaseControl+ Eac3PhaseControl (..),++ -- ** Eac3StereoDownmix+ Eac3StereoDownmix (..),++ -- ** Eac3SurroundExMode+ Eac3SurroundExMode (..),++ -- ** Eac3SurroundMode+ Eac3SurroundMode (..),++ -- ** EmbeddedConvert608To708+ EmbeddedConvert608To708 (..),++ -- ** EmbeddedTerminateCaptions+ EmbeddedTerminateCaptions (..),++ -- ** EmbeddedTimecodeOverride+ EmbeddedTimecodeOverride (..),++ -- ** F4vMoovPlacement+ F4vMoovPlacement (..),++ -- ** FileSourceConvert608To708+ FileSourceConvert608To708 (..),++ -- ** FileSourceTimeDeltaUnits+ FileSourceTimeDeltaUnits (..),++ -- ** FontScript+ FontScript (..),++ -- ** H264AdaptiveQuantization+ H264AdaptiveQuantization (..),++ -- ** H264CodecLevel+ H264CodecLevel (..),++ -- ** H264CodecProfile+ H264CodecProfile (..),++ -- ** H264DynamicSubGop+ H264DynamicSubGop (..),++ -- ** H264EntropyEncoding+ H264EntropyEncoding (..),++ -- ** H264FieldEncoding+ H264FieldEncoding (..),++ -- ** H264FlickerAdaptiveQuantization+ H264FlickerAdaptiveQuantization (..),++ -- ** H264FramerateControl+ H264FramerateControl (..),++ -- ** H264FramerateConversionAlgorithm+ H264FramerateConversionAlgorithm (..),++ -- ** H264GopBReference+ H264GopBReference (..),++ -- ** H264GopSizeUnits+ H264GopSizeUnits (..),++ -- ** H264InterlaceMode+ H264InterlaceMode (..),++ -- ** H264ParControl+ H264ParControl (..),++ -- ** H264QualityTuningLevel+ H264QualityTuningLevel (..),++ -- ** H264RateControlMode+ H264RateControlMode (..),++ -- ** H264RepeatPps+ H264RepeatPps (..),++ -- ** H264ScanTypeConversionMode+ H264ScanTypeConversionMode (..),++ -- ** H264SceneChangeDetect+ H264SceneChangeDetect (..),++ -- ** H264SlowPal+ H264SlowPal (..),++ -- ** H264SpatialAdaptiveQuantization+ H264SpatialAdaptiveQuantization (..),++ -- ** H264Syntax+ H264Syntax (..),++ -- ** H264Telecine+ H264Telecine (..),++ -- ** H264TemporalAdaptiveQuantization+ H264TemporalAdaptiveQuantization (..),++ -- ** H264UnregisteredSeiTimecode+ H264UnregisteredSeiTimecode (..),++ -- ** H265AdaptiveQuantization+ H265AdaptiveQuantization (..),++ -- ** H265AlternateTransferFunctionSei+ H265AlternateTransferFunctionSei (..),++ -- ** H265CodecLevel+ H265CodecLevel (..),++ -- ** H265CodecProfile+ H265CodecProfile (..),++ -- ** H265DynamicSubGop+ H265DynamicSubGop (..),++ -- ** H265FlickerAdaptiveQuantization+ H265FlickerAdaptiveQuantization (..),++ -- ** H265FramerateControl+ H265FramerateControl (..),++ -- ** H265FramerateConversionAlgorithm+ H265FramerateConversionAlgorithm (..),++ -- ** H265GopBReference+ H265GopBReference (..),++ -- ** H265GopSizeUnits+ H265GopSizeUnits (..),++ -- ** H265InterlaceMode+ H265InterlaceMode (..),++ -- ** H265ParControl+ H265ParControl (..),++ -- ** H265QualityTuningLevel+ H265QualityTuningLevel (..),++ -- ** H265RateControlMode+ H265RateControlMode (..),++ -- ** H265SampleAdaptiveOffsetFilterMode+ H265SampleAdaptiveOffsetFilterMode (..),++ -- ** H265ScanTypeConversionMode+ H265ScanTypeConversionMode (..),++ -- ** H265SceneChangeDetect+ H265SceneChangeDetect (..),++ -- ** H265SlowPal+ H265SlowPal (..),++ -- ** H265SpatialAdaptiveQuantization+ H265SpatialAdaptiveQuantization (..),++ -- ** H265Telecine+ H265Telecine (..),++ -- ** H265TemporalAdaptiveQuantization+ H265TemporalAdaptiveQuantization (..),++ -- ** H265TemporalIds+ H265TemporalIds (..),++ -- ** H265Tiles+ H265Tiles (..),++ -- ** H265UnregisteredSeiTimecode+ H265UnregisteredSeiTimecode (..),++ -- ** H265WriteMp4PackagingType+ H265WriteMp4PackagingType (..),++ -- ** HlsAdMarkers+ HlsAdMarkers (..),++ -- ** HlsAudioOnlyContainer+ HlsAudioOnlyContainer (..),++ -- ** HlsAudioOnlyHeader+ HlsAudioOnlyHeader (..),++ -- ** HlsAudioTrackType+ HlsAudioTrackType (..),++ -- ** HlsCaptionLanguageSetting+ HlsCaptionLanguageSetting (..),++ -- ** HlsCaptionSegmentLengthControl+ HlsCaptionSegmentLengthControl (..),++ -- ** HlsClientCache+ HlsClientCache (..),++ -- ** HlsCodecSpecification+ HlsCodecSpecification (..),++ -- ** HlsDescriptiveVideoServiceFlag+ HlsDescriptiveVideoServiceFlag (..),++ -- ** HlsDirectoryStructure+ HlsDirectoryStructure (..),++ -- ** HlsEncryptionType+ HlsEncryptionType (..),++ -- ** HlsIFrameOnlyManifest+ HlsIFrameOnlyManifest (..),++ -- ** HlsImageBasedTrickPlay+ HlsImageBasedTrickPlay (..),++ -- ** HlsInitializationVectorInManifest+ HlsInitializationVectorInManifest (..),++ -- ** HlsIntervalCadence+ HlsIntervalCadence (..),++ -- ** HlsKeyProviderType+ HlsKeyProviderType (..),++ -- ** HlsManifestCompression+ HlsManifestCompression (..),++ -- ** HlsManifestDurationFormat+ HlsManifestDurationFormat (..),++ -- ** HlsOfflineEncrypted+ HlsOfflineEncrypted (..),++ -- ** HlsOutputSelection+ HlsOutputSelection (..),++ -- ** HlsProgramDateTime+ HlsProgramDateTime (..),++ -- ** HlsSegmentControl+ HlsSegmentControl (..),++ -- ** HlsSegmentLengthControl+ HlsSegmentLengthControl (..),++ -- ** HlsStreamInfResolution+ HlsStreamInfResolution (..),++ -- ** HlsTargetDurationCompatibilityMode+ HlsTargetDurationCompatibilityMode (..),++ -- ** HlsTimedMetadataId3Frame+ HlsTimedMetadataId3Frame (..),++ -- ** ImscAccessibilitySubs+ ImscAccessibilitySubs (..),++ -- ** ImscStylePassthrough+ ImscStylePassthrough (..),++ -- ** InputDeblockFilter+ InputDeblockFilter (..),++ -- ** InputDenoiseFilter+ InputDenoiseFilter (..),++ -- ** InputFilterEnable+ InputFilterEnable (..),++ -- ** InputPolicy+ InputPolicy (..),++ -- ** InputPsiControl+ InputPsiControl (..),++ -- ** InputRotate+ InputRotate (..),++ -- ** InputSampleRange+ InputSampleRange (..),++ -- ** InputScanType+ InputScanType (..),++ -- ** InputTimecodeSource+ InputTimecodeSource (..),++ -- ** JobPhase+ JobPhase (..),++ -- ** JobStatus+ JobStatus (..),++ -- ** JobTemplateListBy+ JobTemplateListBy (..),++ -- ** LanguageCode+ LanguageCode (..),++ -- ** M2tsAudioBufferModel+ M2tsAudioBufferModel (..),++ -- ** M2tsAudioDuration+ M2tsAudioDuration (..),++ -- ** M2tsBufferModel+ M2tsBufferModel (..),++ -- ** M2tsDataPtsControl+ M2tsDataPtsControl (..),++ -- ** M2tsEbpAudioInterval+ M2tsEbpAudioInterval (..),++ -- ** M2tsEbpPlacement+ M2tsEbpPlacement (..),++ -- ** M2tsEsRateInPes+ M2tsEsRateInPes (..),++ -- ** M2tsForceTsVideoEbpOrder+ M2tsForceTsVideoEbpOrder (..),++ -- ** M2tsKlvMetadata+ M2tsKlvMetadata (..),++ -- ** M2tsNielsenId3+ M2tsNielsenId3 (..),++ -- ** M2tsPcrControl+ M2tsPcrControl (..),++ -- ** M2tsRateMode+ M2tsRateMode (..),++ -- ** M2tsScte35Source+ M2tsScte35Source (..),++ -- ** M2tsSegmentationMarkers+ M2tsSegmentationMarkers (..),++ -- ** M2tsSegmentationStyle+ M2tsSegmentationStyle (..),++ -- ** M3u8AudioDuration+ M3u8AudioDuration (..),++ -- ** M3u8DataPtsControl+ M3u8DataPtsControl (..),++ -- ** M3u8NielsenId3+ M3u8NielsenId3 (..),++ -- ** M3u8PcrControl+ M3u8PcrControl (..),++ -- ** M3u8Scte35Source+ M3u8Scte35Source (..),++ -- ** MotionImageInsertionMode+ MotionImageInsertionMode (..),++ -- ** MotionImagePlayback+ MotionImagePlayback (..),++ -- ** MovClapAtom+ MovClapAtom (..),++ -- ** MovCslgAtom+ MovCslgAtom (..),++ -- ** MovMpeg2FourCCControl+ MovMpeg2FourCCControl (..),++ -- ** MovPaddingControl+ MovPaddingControl (..),++ -- ** MovReference+ MovReference (..),++ -- ** Mp3RateControlMode+ Mp3RateControlMode (..),++ -- ** Mp4CslgAtom+ Mp4CslgAtom (..),++ -- ** Mp4FreeSpaceBox+ Mp4FreeSpaceBox (..),++ -- ** Mp4MoovPlacement+ Mp4MoovPlacement (..),++ -- ** MpdAccessibilityCaptionHints+ MpdAccessibilityCaptionHints (..),++ -- ** MpdAudioDuration+ MpdAudioDuration (..),++ -- ** MpdCaptionContainerType+ MpdCaptionContainerType (..),++ -- ** MpdKlvMetadata+ MpdKlvMetadata (..),++ -- ** MpdManifestMetadataSignaling+ MpdManifestMetadataSignaling (..),++ -- ** MpdScte35Esam+ MpdScte35Esam (..),++ -- ** MpdScte35Source+ MpdScte35Source (..),++ -- ** MpdTimedMetadata+ MpdTimedMetadata (..),++ -- ** MpdTimedMetadataBoxVersion+ MpdTimedMetadataBoxVersion (..),++ -- ** Mpeg2AdaptiveQuantization+ Mpeg2AdaptiveQuantization (..),++ -- ** Mpeg2CodecLevel+ Mpeg2CodecLevel (..),++ -- ** Mpeg2CodecProfile+ Mpeg2CodecProfile (..),++ -- ** Mpeg2DynamicSubGop+ Mpeg2DynamicSubGop (..),++ -- ** Mpeg2FramerateControl+ Mpeg2FramerateControl (..),++ -- ** Mpeg2FramerateConversionAlgorithm+ Mpeg2FramerateConversionAlgorithm (..),++ -- ** Mpeg2GopSizeUnits+ Mpeg2GopSizeUnits (..),++ -- ** Mpeg2InterlaceMode+ Mpeg2InterlaceMode (..),++ -- ** Mpeg2IntraDcPrecision+ Mpeg2IntraDcPrecision (..),++ -- ** Mpeg2ParControl+ Mpeg2ParControl (..),++ -- ** Mpeg2QualityTuningLevel+ Mpeg2QualityTuningLevel (..),++ -- ** Mpeg2RateControlMode+ Mpeg2RateControlMode (..),++ -- ** Mpeg2ScanTypeConversionMode+ Mpeg2ScanTypeConversionMode (..),++ -- ** Mpeg2SceneChangeDetect+ Mpeg2SceneChangeDetect (..),++ -- ** Mpeg2SlowPal+ Mpeg2SlowPal (..),++ -- ** Mpeg2SpatialAdaptiveQuantization+ Mpeg2SpatialAdaptiveQuantization (..),++ -- ** Mpeg2Syntax+ Mpeg2Syntax (..),++ -- ** Mpeg2Telecine+ Mpeg2Telecine (..),++ -- ** Mpeg2TemporalAdaptiveQuantization+ Mpeg2TemporalAdaptiveQuantization (..),++ -- ** MsSmoothAudioDeduplication+ MsSmoothAudioDeduplication (..),++ -- ** MsSmoothFragmentLengthControl+ MsSmoothFragmentLengthControl (..),++ -- ** MsSmoothManifestEncoding+ MsSmoothManifestEncoding (..),++ -- ** MxfAfdSignaling+ MxfAfdSignaling (..),++ -- ** MxfProfile+ MxfProfile (..),++ -- ** MxfXavcDurationMode+ MxfXavcDurationMode (..),++ -- ** NielsenActiveWatermarkProcessType+ NielsenActiveWatermarkProcessType (..),++ -- ** NielsenSourceWatermarkStatusType+ NielsenSourceWatermarkStatusType (..),++ -- ** NielsenUniqueTicPerAudioTrackType+ NielsenUniqueTicPerAudioTrackType (..),++ -- ** NoiseFilterPostTemporalSharpening+ NoiseFilterPostTemporalSharpening (..),++ -- ** NoiseFilterPostTemporalSharpeningStrength+ NoiseFilterPostTemporalSharpeningStrength (..),++ -- ** NoiseReducerFilter+ NoiseReducerFilter (..),++ -- ** Order+ Order (..),++ -- ** OutputGroupType+ OutputGroupType (..),++ -- ** OutputSdt+ OutputSdt (..),++ -- ** PadVideo+ PadVideo (..),++ -- ** PresetListBy+ PresetListBy (..),++ -- ** PricingPlan+ PricingPlan (..),++ -- ** ProresChromaSampling+ ProresChromaSampling (..),++ -- ** ProresCodecProfile+ ProresCodecProfile (..),++ -- ** ProresFramerateControl+ ProresFramerateControl (..),++ -- ** ProresFramerateConversionAlgorithm+ ProresFramerateConversionAlgorithm (..),++ -- ** ProresInterlaceMode+ ProresInterlaceMode (..),++ -- ** ProresParControl+ ProresParControl (..),++ -- ** ProresScanTypeConversionMode+ ProresScanTypeConversionMode (..),++ -- ** ProresSlowPal+ ProresSlowPal (..),++ -- ** ProresTelecine+ ProresTelecine (..),++ -- ** QueueListBy+ QueueListBy (..),++ -- ** QueueStatus+ QueueStatus (..),++ -- ** RenewalType+ RenewalType (..),++ -- ** RequiredFlag+ RequiredFlag (..),++ -- ** ReservationPlanStatus+ ReservationPlanStatus (..),++ -- ** RespondToAfd+ RespondToAfd (..),++ -- ** RuleType+ RuleType (..),++ -- ** S3ObjectCannedAcl+ S3ObjectCannedAcl (..),++ -- ** S3ServerSideEncryptionType+ S3ServerSideEncryptionType (..),++ -- ** SampleRangeConversion+ SampleRangeConversion (..),++ -- ** ScalingBehavior+ ScalingBehavior (..),++ -- ** SccDestinationFramerate+ SccDestinationFramerate (..),++ -- ** SimulateReservedQueue+ SimulateReservedQueue (..),++ -- ** SrtStylePassthrough+ SrtStylePassthrough (..),++ -- ** StatusUpdateInterval+ StatusUpdateInterval (..),++ -- ** TeletextPageType+ TeletextPageType (..),++ -- ** TimecodeBurninPosition+ TimecodeBurninPosition (..),++ -- ** TimecodeSource+ TimecodeSource (..),++ -- ** TimedMetadata+ TimedMetadata (..),++ -- ** TtmlStylePassthrough+ TtmlStylePassthrough (..),++ -- ** Type+ Type (..),++ -- ** Vc3Class+ Vc3Class (..),++ -- ** Vc3FramerateControl+ Vc3FramerateControl (..),++ -- ** Vc3FramerateConversionAlgorithm+ Vc3FramerateConversionAlgorithm (..),++ -- ** Vc3InterlaceMode+ Vc3InterlaceMode (..),++ -- ** Vc3ScanTypeConversionMode+ Vc3ScanTypeConversionMode (..),++ -- ** Vc3SlowPal+ Vc3SlowPal (..),++ -- ** Vc3Telecine+ Vc3Telecine (..),++ -- ** VchipAction+ VchipAction (..),++ -- ** VideoCodec+ VideoCodec (..),++ -- ** VideoTimecodeInsertion+ VideoTimecodeInsertion (..),++ -- ** Vp8FramerateControl+ Vp8FramerateControl (..),++ -- ** Vp8FramerateConversionAlgorithm+ Vp8FramerateConversionAlgorithm (..),++ -- ** Vp8ParControl+ Vp8ParControl (..),++ -- ** Vp8QualityTuningLevel+ Vp8QualityTuningLevel (..),++ -- ** Vp8RateControlMode+ Vp8RateControlMode (..),++ -- ** Vp9FramerateControl+ Vp9FramerateControl (..),++ -- ** Vp9FramerateConversionAlgorithm+ Vp9FramerateConversionAlgorithm (..),++ -- ** Vp9ParControl+ Vp9ParControl (..),++ -- ** Vp9QualityTuningLevel+ Vp9QualityTuningLevel (..),++ -- ** Vp9RateControlMode+ Vp9RateControlMode (..),++ -- ** WatermarkingStrength+ WatermarkingStrength (..),++ -- ** WavFormat+ WavFormat (..),++ -- ** WebvttAccessibilitySubs+ WebvttAccessibilitySubs (..),++ -- ** WebvttStylePassthrough+ WebvttStylePassthrough (..),++ -- ** Xavc4kIntraCbgProfileClass+ Xavc4kIntraCbgProfileClass (..),++ -- ** Xavc4kIntraVbrProfileClass+ Xavc4kIntraVbrProfileClass (..),++ -- ** Xavc4kProfileBitrateClass+ Xavc4kProfileBitrateClass (..),++ -- ** Xavc4kProfileCodecProfile+ Xavc4kProfileCodecProfile (..),++ -- ** Xavc4kProfileQualityTuningLevel+ Xavc4kProfileQualityTuningLevel (..),++ -- ** XavcAdaptiveQuantization+ XavcAdaptiveQuantization (..),++ -- ** XavcEntropyEncoding+ XavcEntropyEncoding (..),++ -- ** XavcFlickerAdaptiveQuantization+ XavcFlickerAdaptiveQuantization (..),++ -- ** XavcFramerateControl+ XavcFramerateControl (..),++ -- ** XavcFramerateConversionAlgorithm+ XavcFramerateConversionAlgorithm (..),++ -- ** XavcGopBReference+ XavcGopBReference (..),++ -- ** XavcHdIntraCbgProfileClass+ XavcHdIntraCbgProfileClass (..),++ -- ** XavcHdProfileBitrateClass+ XavcHdProfileBitrateClass (..),++ -- ** XavcHdProfileQualityTuningLevel+ XavcHdProfileQualityTuningLevel (..),++ -- ** XavcHdProfileTelecine+ XavcHdProfileTelecine (..),++ -- ** XavcInterlaceMode+ XavcInterlaceMode (..),++ -- ** XavcProfile+ XavcProfile (..),++ -- ** XavcSlowPal+ XavcSlowPal (..),++ -- ** XavcSpatialAdaptiveQuantization+ XavcSpatialAdaptiveQuantization (..),++ -- ** XavcTemporalAdaptiveQuantization+ XavcTemporalAdaptiveQuantization (..),++ -- ** AacSettings+ AacSettings (AacSettings'),+ newAacSettings,++ -- ** Ac3Settings+ Ac3Settings (Ac3Settings'),+ newAc3Settings,++ -- ** AccelerationSettings+ AccelerationSettings (AccelerationSettings'),+ newAccelerationSettings,++ -- ** AiffSettings+ AiffSettings (AiffSettings'),+ newAiffSettings,++ -- ** AllowedRenditionSize+ AllowedRenditionSize (AllowedRenditionSize'),+ newAllowedRenditionSize,++ -- ** AncillarySourceSettings+ AncillarySourceSettings (AncillarySourceSettings'),+ newAncillarySourceSettings,++ -- ** AudioChannelTaggingSettings+ AudioChannelTaggingSettings (AudioChannelTaggingSettings'),+ newAudioChannelTaggingSettings,++ -- ** AudioCodecSettings+ AudioCodecSettings (AudioCodecSettings'),+ newAudioCodecSettings,++ -- ** AudioDescription+ AudioDescription (AudioDescription'),+ newAudioDescription,++ -- ** AudioNormalizationSettings+ AudioNormalizationSettings (AudioNormalizationSettings'),+ newAudioNormalizationSettings,++ -- ** AudioSelector+ AudioSelector (AudioSelector'),+ newAudioSelector,++ -- ** AudioSelectorGroup+ AudioSelectorGroup (AudioSelectorGroup'),+ newAudioSelectorGroup,++ -- ** AutomatedAbrRule+ AutomatedAbrRule (AutomatedAbrRule'),+ newAutomatedAbrRule,++ -- ** AutomatedAbrSettings+ AutomatedAbrSettings (AutomatedAbrSettings'),+ newAutomatedAbrSettings,++ -- ** AutomatedEncodingSettings+ AutomatedEncodingSettings (AutomatedEncodingSettings'),+ newAutomatedEncodingSettings,++ -- ** Av1QvbrSettings+ Av1QvbrSettings (Av1QvbrSettings'),+ newAv1QvbrSettings,++ -- ** Av1Settings+ Av1Settings (Av1Settings'),+ newAv1Settings,++ -- ** AvailBlanking+ AvailBlanking (AvailBlanking'),+ newAvailBlanking,++ -- ** AvcIntraSettings+ AvcIntraSettings (AvcIntraSettings'),+ newAvcIntraSettings,++ -- ** AvcIntraUhdSettings+ AvcIntraUhdSettings (AvcIntraUhdSettings'),+ newAvcIntraUhdSettings,++ -- ** BurninDestinationSettings+ BurninDestinationSettings (BurninDestinationSettings'),+ newBurninDestinationSettings,++ -- ** CaptionDescription+ CaptionDescription (CaptionDescription'),+ newCaptionDescription,++ -- ** CaptionDescriptionPreset+ CaptionDescriptionPreset (CaptionDescriptionPreset'),+ newCaptionDescriptionPreset,++ -- ** CaptionDestinationSettings+ CaptionDestinationSettings (CaptionDestinationSettings'),+ newCaptionDestinationSettings,++ -- ** CaptionSelector+ CaptionSelector (CaptionSelector'),+ newCaptionSelector,++ -- ** CaptionSourceFramerate+ CaptionSourceFramerate (CaptionSourceFramerate'),+ newCaptionSourceFramerate,++ -- ** CaptionSourceSettings+ CaptionSourceSettings (CaptionSourceSettings'),+ newCaptionSourceSettings,++ -- ** ChannelMapping+ ChannelMapping (ChannelMapping'),+ newChannelMapping,++ -- ** CmafAdditionalManifest+ CmafAdditionalManifest (CmafAdditionalManifest'),+ newCmafAdditionalManifest,++ -- ** CmafEncryptionSettings+ CmafEncryptionSettings (CmafEncryptionSettings'),+ newCmafEncryptionSettings,++ -- ** CmafGroupSettings+ CmafGroupSettings (CmafGroupSettings'),+ newCmafGroupSettings,++ -- ** CmafImageBasedTrickPlaySettings+ CmafImageBasedTrickPlaySettings (CmafImageBasedTrickPlaySettings'),+ newCmafImageBasedTrickPlaySettings,++ -- ** CmfcSettings+ CmfcSettings (CmfcSettings'),+ newCmfcSettings,++ -- ** ColorCorrector+ ColorCorrector (ColorCorrector'),+ newColorCorrector,++ -- ** ContainerSettings+ ContainerSettings (ContainerSettings'),+ newContainerSettings,++ -- ** DashAdditionalManifest+ DashAdditionalManifest (DashAdditionalManifest'),+ newDashAdditionalManifest,++ -- ** DashIsoEncryptionSettings+ DashIsoEncryptionSettings (DashIsoEncryptionSettings'),+ newDashIsoEncryptionSettings,++ -- ** DashIsoGroupSettings+ DashIsoGroupSettings (DashIsoGroupSettings'),+ newDashIsoGroupSettings,++ -- ** DashIsoImageBasedTrickPlaySettings+ DashIsoImageBasedTrickPlaySettings (DashIsoImageBasedTrickPlaySettings'),+ newDashIsoImageBasedTrickPlaySettings,++ -- ** Deinterlacer+ Deinterlacer (Deinterlacer'),+ newDeinterlacer,++ -- ** DestinationSettings+ DestinationSettings (DestinationSettings'),+ newDestinationSettings,++ -- ** DolbyVision+ DolbyVision (DolbyVision'),+ newDolbyVision,++ -- ** DolbyVisionLevel6Metadata+ DolbyVisionLevel6Metadata (DolbyVisionLevel6Metadata'),+ newDolbyVisionLevel6Metadata,++ -- ** DvbNitSettings+ DvbNitSettings (DvbNitSettings'),+ newDvbNitSettings,++ -- ** DvbSdtSettings+ DvbSdtSettings (DvbSdtSettings'),+ newDvbSdtSettings,++ -- ** DvbSubDestinationSettings+ DvbSubDestinationSettings (DvbSubDestinationSettings'),+ newDvbSubDestinationSettings,++ -- ** DvbSubSourceSettings+ DvbSubSourceSettings (DvbSubSourceSettings'),+ newDvbSubSourceSettings,++ -- ** DvbTdtSettings+ DvbTdtSettings (DvbTdtSettings'),+ newDvbTdtSettings,++ -- ** Eac3AtmosSettings+ Eac3AtmosSettings (Eac3AtmosSettings'),+ newEac3AtmosSettings,++ -- ** Eac3Settings+ Eac3Settings (Eac3Settings'),+ newEac3Settings,++ -- ** EmbeddedDestinationSettings+ EmbeddedDestinationSettings (EmbeddedDestinationSettings'),+ newEmbeddedDestinationSettings,++ -- ** EmbeddedSourceSettings+ EmbeddedSourceSettings (EmbeddedSourceSettings'),+ newEmbeddedSourceSettings,++ -- ** Endpoint+ Endpoint (Endpoint'),+ newEndpoint,++ -- ** EsamManifestConfirmConditionNotification+ EsamManifestConfirmConditionNotification (EsamManifestConfirmConditionNotification'),+ newEsamManifestConfirmConditionNotification,++ -- ** EsamSettings+ EsamSettings (EsamSettings'),+ newEsamSettings,++ -- ** EsamSignalProcessingNotification+ EsamSignalProcessingNotification (EsamSignalProcessingNotification'),+ newEsamSignalProcessingNotification,++ -- ** ExtendedDataServices+ ExtendedDataServices (ExtendedDataServices'),+ newExtendedDataServices,++ -- ** F4vSettings+ F4vSettings (F4vSettings'),+ newF4vSettings,++ -- ** FileGroupSettings+ FileGroupSettings (FileGroupSettings'),+ newFileGroupSettings,++ -- ** FileSourceSettings+ FileSourceSettings (FileSourceSettings'),+ newFileSourceSettings,++ -- ** ForceIncludeRenditionSize+ ForceIncludeRenditionSize (ForceIncludeRenditionSize'),+ newForceIncludeRenditionSize,++ -- ** FrameCaptureSettings+ FrameCaptureSettings (FrameCaptureSettings'),+ newFrameCaptureSettings,++ -- ** H264QvbrSettings+ H264QvbrSettings (H264QvbrSettings'),+ newH264QvbrSettings,++ -- ** H264Settings+ H264Settings (H264Settings'),+ newH264Settings,++ -- ** H265QvbrSettings+ H265QvbrSettings (H265QvbrSettings'),+ newH265QvbrSettings,++ -- ** H265Settings+ H265Settings (H265Settings'),+ newH265Settings,++ -- ** Hdr10Metadata+ Hdr10Metadata (Hdr10Metadata'),+ newHdr10Metadata,++ -- ** Hdr10Plus+ Hdr10Plus (Hdr10Plus'),+ newHdr10Plus,++ -- ** HlsAdditionalManifest+ HlsAdditionalManifest (HlsAdditionalManifest'),+ newHlsAdditionalManifest,++ -- ** HlsCaptionLanguageMapping+ HlsCaptionLanguageMapping (HlsCaptionLanguageMapping'),+ newHlsCaptionLanguageMapping,++ -- ** HlsEncryptionSettings+ HlsEncryptionSettings (HlsEncryptionSettings'),+ newHlsEncryptionSettings,++ -- ** HlsGroupSettings+ HlsGroupSettings (HlsGroupSettings'),+ newHlsGroupSettings,++ -- ** HlsImageBasedTrickPlaySettings+ HlsImageBasedTrickPlaySettings (HlsImageBasedTrickPlaySettings'),+ newHlsImageBasedTrickPlaySettings,++ -- ** HlsRenditionGroupSettings+ HlsRenditionGroupSettings (HlsRenditionGroupSettings'),+ newHlsRenditionGroupSettings,++ -- ** HlsSettings+ HlsSettings (HlsSettings'),+ newHlsSettings,++ -- ** HopDestination+ HopDestination (HopDestination'),+ newHopDestination,++ -- ** Id3Insertion+ Id3Insertion (Id3Insertion'),+ newId3Insertion,++ -- ** ImageInserter+ ImageInserter (ImageInserter'),+ newImageInserter,++ -- ** ImscDestinationSettings+ ImscDestinationSettings (ImscDestinationSettings'),+ newImscDestinationSettings,++ -- ** Input+ Input (Input'),+ newInput,++ -- ** InputClipping+ InputClipping (InputClipping'),+ newInputClipping,++ -- ** InputDecryptionSettings+ InputDecryptionSettings (InputDecryptionSettings'),+ newInputDecryptionSettings,++ -- ** InputTemplate+ InputTemplate (InputTemplate'),+ newInputTemplate,++ -- ** InputVideoGenerator+ InputVideoGenerator (InputVideoGenerator'),+ newInputVideoGenerator,++ -- ** InsertableImage+ InsertableImage (InsertableImage'),+ newInsertableImage,++ -- ** Job+ Job (Job'),+ newJob,++ -- ** JobMessages+ JobMessages (JobMessages'),+ newJobMessages,++ -- ** JobSettings+ JobSettings (JobSettings'),+ newJobSettings,++ -- ** JobTemplate+ JobTemplate (JobTemplate'),+ newJobTemplate,++ -- ** JobTemplateSettings+ JobTemplateSettings (JobTemplateSettings'),+ newJobTemplateSettings,++ -- ** KantarWatermarkSettings+ KantarWatermarkSettings (KantarWatermarkSettings'),+ newKantarWatermarkSettings,++ -- ** M2tsScte35Esam+ M2tsScte35Esam (M2tsScte35Esam'),+ newM2tsScte35Esam,++ -- ** M2tsSettings+ M2tsSettings (M2tsSettings'),+ newM2tsSettings,++ -- ** M3u8Settings+ M3u8Settings (M3u8Settings'),+ newM3u8Settings,++ -- ** MinBottomRenditionSize+ MinBottomRenditionSize (MinBottomRenditionSize'),+ newMinBottomRenditionSize,++ -- ** MinTopRenditionSize+ MinTopRenditionSize (MinTopRenditionSize'),+ newMinTopRenditionSize,++ -- ** MotionImageInserter+ MotionImageInserter (MotionImageInserter'),+ newMotionImageInserter,++ -- ** MotionImageInsertionFramerate+ MotionImageInsertionFramerate (MotionImageInsertionFramerate'),+ newMotionImageInsertionFramerate,++ -- ** MotionImageInsertionOffset+ MotionImageInsertionOffset (MotionImageInsertionOffset'),+ newMotionImageInsertionOffset,++ -- ** MovSettings+ MovSettings (MovSettings'),+ newMovSettings,++ -- ** Mp2Settings+ Mp2Settings (Mp2Settings'),+ newMp2Settings,++ -- ** Mp3Settings+ Mp3Settings (Mp3Settings'),+ newMp3Settings,++ -- ** Mp4Settings+ Mp4Settings (Mp4Settings'),+ newMp4Settings,++ -- ** MpdSettings+ MpdSettings (MpdSettings'),+ newMpdSettings,++ -- ** Mpeg2Settings+ Mpeg2Settings (Mpeg2Settings'),+ newMpeg2Settings,++ -- ** MsSmoothAdditionalManifest+ MsSmoothAdditionalManifest (MsSmoothAdditionalManifest'),+ newMsSmoothAdditionalManifest,++ -- ** MsSmoothEncryptionSettings+ MsSmoothEncryptionSettings (MsSmoothEncryptionSettings'),+ newMsSmoothEncryptionSettings,++ -- ** MsSmoothGroupSettings+ MsSmoothGroupSettings (MsSmoothGroupSettings'),+ newMsSmoothGroupSettings,++ -- ** MxfSettings+ MxfSettings (MxfSettings'),+ newMxfSettings,++ -- ** MxfXavcProfileSettings+ MxfXavcProfileSettings (MxfXavcProfileSettings'),+ newMxfXavcProfileSettings,++ -- ** NexGuardFileMarkerSettings+ NexGuardFileMarkerSettings (NexGuardFileMarkerSettings'),+ newNexGuardFileMarkerSettings,++ -- ** NielsenConfiguration+ NielsenConfiguration (NielsenConfiguration'),+ newNielsenConfiguration,++ -- ** NielsenNonLinearWatermarkSettings+ NielsenNonLinearWatermarkSettings (NielsenNonLinearWatermarkSettings'),+ newNielsenNonLinearWatermarkSettings,++ -- ** NoiseReducer+ NoiseReducer (NoiseReducer'),+ newNoiseReducer,++ -- ** NoiseReducerFilterSettings+ NoiseReducerFilterSettings (NoiseReducerFilterSettings'),+ newNoiseReducerFilterSettings,++ -- ** NoiseReducerSpatialFilterSettings+ NoiseReducerSpatialFilterSettings (NoiseReducerSpatialFilterSettings'),+ newNoiseReducerSpatialFilterSettings,++ -- ** NoiseReducerTemporalFilterSettings+ NoiseReducerTemporalFilterSettings (NoiseReducerTemporalFilterSettings'),+ newNoiseReducerTemporalFilterSettings,++ -- ** OpusSettings+ OpusSettings (OpusSettings'),+ newOpusSettings,++ -- ** Output+ Output (Output'),+ newOutput,++ -- ** OutputChannelMapping+ OutputChannelMapping (OutputChannelMapping'),+ newOutputChannelMapping,++ -- ** OutputDetail+ OutputDetail (OutputDetail'),+ newOutputDetail,++ -- ** OutputGroup+ OutputGroup (OutputGroup'),+ newOutputGroup,++ -- ** OutputGroupDetail+ OutputGroupDetail (OutputGroupDetail'),+ newOutputGroupDetail,++ -- ** OutputGroupSettings+ OutputGroupSettings (OutputGroupSettings'),+ newOutputGroupSettings,++ -- ** OutputSettings+ OutputSettings (OutputSettings'),+ newOutputSettings,++ -- ** PartnerWatermarking+ PartnerWatermarking (PartnerWatermarking'),+ newPartnerWatermarking,++ -- ** Policy+ Policy (Policy'),+ newPolicy,++ -- ** Preset+ Preset (Preset'),+ newPreset,++ -- ** PresetSettings+ PresetSettings (PresetSettings'),+ newPresetSettings,++ -- ** ProresSettings+ ProresSettings (ProresSettings'),+ newProresSettings,++ -- ** Queue+ Queue (Queue'),+ newQueue,++ -- ** QueueTransition+ QueueTransition (QueueTransition'),+ newQueueTransition,++ -- ** Rectangle+ Rectangle (Rectangle'),+ newRectangle,++ -- ** RemixSettings+ RemixSettings (RemixSettings'),+ newRemixSettings,++ -- ** ReservationPlan+ ReservationPlan (ReservationPlan'),+ newReservationPlan,++ -- ** ReservationPlanSettings+ ReservationPlanSettings (ReservationPlanSettings'),+ newReservationPlanSettings,++ -- ** ResourceTags+ ResourceTags (ResourceTags'),+ newResourceTags,++ -- ** S3DestinationAccessControl+ S3DestinationAccessControl (S3DestinationAccessControl'),+ newS3DestinationAccessControl,++ -- ** S3DestinationSettings+ S3DestinationSettings (S3DestinationSettings'),+ newS3DestinationSettings,++ -- ** S3EncryptionSettings+ S3EncryptionSettings (S3EncryptionSettings'),+ newS3EncryptionSettings,++ -- ** SccDestinationSettings+ SccDestinationSettings (SccDestinationSettings'),+ newSccDestinationSettings,++ -- ** SpekeKeyProvider+ SpekeKeyProvider (SpekeKeyProvider'),+ newSpekeKeyProvider,++ -- ** SpekeKeyProviderCmaf+ SpekeKeyProviderCmaf (SpekeKeyProviderCmaf'),+ newSpekeKeyProviderCmaf,++ -- ** SrtDestinationSettings+ SrtDestinationSettings (SrtDestinationSettings'),+ newSrtDestinationSettings,++ -- ** StaticKeyProvider+ StaticKeyProvider (StaticKeyProvider'),+ newStaticKeyProvider,++ -- ** TeletextDestinationSettings+ TeletextDestinationSettings (TeletextDestinationSettings'),+ newTeletextDestinationSettings,++ -- ** TeletextSourceSettings+ TeletextSourceSettings (TeletextSourceSettings'),+ newTeletextSourceSettings,++ -- ** TimecodeBurnin+ TimecodeBurnin (TimecodeBurnin'),+ newTimecodeBurnin,++ -- ** TimecodeConfig+ TimecodeConfig (TimecodeConfig'),+ newTimecodeConfig,++ -- ** TimedMetadataInsertion+ TimedMetadataInsertion (TimedMetadataInsertion'),+ newTimedMetadataInsertion,++ -- ** Timing+ Timing (Timing'),+ newTiming,++ -- ** TrackSourceSettings+ TrackSourceSettings (TrackSourceSettings'),+ newTrackSourceSettings,++ -- ** TtmlDestinationSettings+ TtmlDestinationSettings (TtmlDestinationSettings'),+ newTtmlDestinationSettings,++ -- ** Vc3Settings+ Vc3Settings (Vc3Settings'),+ newVc3Settings,++ -- ** VideoCodecSettings+ VideoCodecSettings (VideoCodecSettings'),+ newVideoCodecSettings,++ -- ** VideoDescription+ VideoDescription (VideoDescription'),+ newVideoDescription,++ -- ** VideoDetail+ VideoDetail (VideoDetail'),+ newVideoDetail,++ -- ** VideoPreprocessor+ VideoPreprocessor (VideoPreprocessor'),+ newVideoPreprocessor,++ -- ** VideoSelector+ VideoSelector (VideoSelector'),+ newVideoSelector,++ -- ** VorbisSettings+ VorbisSettings (VorbisSettings'),+ newVorbisSettings,++ -- ** Vp8Settings+ Vp8Settings (Vp8Settings'),+ newVp8Settings,++ -- ** Vp9Settings+ Vp9Settings (Vp9Settings'),+ newVp9Settings,++ -- ** WavSettings+ WavSettings (WavSettings'),+ newWavSettings,++ -- ** WebvttDestinationSettings+ WebvttDestinationSettings (WebvttDestinationSettings'),+ newWebvttDestinationSettings,++ -- ** WebvttHlsSourceSettings+ WebvttHlsSourceSettings (WebvttHlsSourceSettings'),+ newWebvttHlsSourceSettings,++ -- ** Xavc4kIntraCbgProfileSettings+ Xavc4kIntraCbgProfileSettings (Xavc4kIntraCbgProfileSettings'),+ newXavc4kIntraCbgProfileSettings,++ -- ** Xavc4kIntraVbrProfileSettings+ Xavc4kIntraVbrProfileSettings (Xavc4kIntraVbrProfileSettings'),+ newXavc4kIntraVbrProfileSettings,++ -- ** Xavc4kProfileSettings+ Xavc4kProfileSettings (Xavc4kProfileSettings'),+ newXavc4kProfileSettings,++ -- ** XavcHdIntraCbgProfileSettings+ XavcHdIntraCbgProfileSettings (XavcHdIntraCbgProfileSettings'),+ newXavcHdIntraCbgProfileSettings,++ -- ** XavcHdProfileSettings+ XavcHdProfileSettings (XavcHdProfileSettings'),+ newXavcHdProfileSettings,++ -- ** XavcSettings+ XavcSettings (XavcSettings'),+ newXavcSettings,+ )+where++import Amazonka.MediaConvert.AssociateCertificate+import Amazonka.MediaConvert.CancelJob+import Amazonka.MediaConvert.CreateJob+import Amazonka.MediaConvert.CreateJobTemplate+import Amazonka.MediaConvert.CreatePreset+import Amazonka.MediaConvert.CreateQueue+import Amazonka.MediaConvert.DeleteJobTemplate+import Amazonka.MediaConvert.DeletePolicy+import Amazonka.MediaConvert.DeletePreset+import Amazonka.MediaConvert.DeleteQueue+import Amazonka.MediaConvert.DescribeEndpoints+import Amazonka.MediaConvert.DisassociateCertificate+import Amazonka.MediaConvert.GetJob+import Amazonka.MediaConvert.GetJobTemplate+import Amazonka.MediaConvert.GetPolicy+import Amazonka.MediaConvert.GetPreset+import Amazonka.MediaConvert.GetQueue+import Amazonka.MediaConvert.Lens+import Amazonka.MediaConvert.ListJobTemplates+import Amazonka.MediaConvert.ListJobs+import Amazonka.MediaConvert.ListPresets+import Amazonka.MediaConvert.ListQueues+import Amazonka.MediaConvert.ListTagsForResource+import Amazonka.MediaConvert.PutPolicy+import Amazonka.MediaConvert.TagResource+import Amazonka.MediaConvert.Types+import Amazonka.MediaConvert.UntagResource+import Amazonka.MediaConvert.UpdateJobTemplate+import Amazonka.MediaConvert.UpdatePreset+import Amazonka.MediaConvert.UpdateQueue+import Amazonka.MediaConvert.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'MediaConvert'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.AssociateCertificate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates an AWS Certificate Manager (ACM) Amazon Resource Name (ARN)+-- with AWS Elemental MediaConvert.+module Amazonka.MediaConvert.AssociateCertificate+ ( -- * Creating a Request+ AssociateCertificate (..),+ newAssociateCertificate,++ -- * Request Lenses+ associateCertificate_arn,++ -- * Destructuring the Response+ AssociateCertificateResponse (..),+ newAssociateCertificateResponse,++ -- * Response Lenses+ associateCertificateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateCertificate' smart constructor.+data AssociateCertificate = AssociateCertificate'+ { -- | The ARN of the ACM certificate that you want to associate with your+ -- MediaConvert resource.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateCertificate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'associateCertificate_arn' - The ARN of the ACM certificate that you want to associate with your+-- MediaConvert resource.+newAssociateCertificate ::+ -- | 'arn'+ Prelude.Text ->+ AssociateCertificate+newAssociateCertificate pArn_ =+ AssociateCertificate' {arn = pArn_}++-- | The ARN of the ACM certificate that you want to associate with your+-- MediaConvert resource.+associateCertificate_arn :: Lens.Lens' AssociateCertificate Prelude.Text+associateCertificate_arn = Lens.lens (\AssociateCertificate' {arn} -> arn) (\s@AssociateCertificate' {} a -> s {arn = a} :: AssociateCertificate)++instance Core.AWSRequest AssociateCertificate where+ type+ AWSResponse AssociateCertificate =+ AssociateCertificateResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ AssociateCertificateResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateCertificate where+ hashWithSalt _salt AssociateCertificate' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData AssociateCertificate where+ rnf AssociateCertificate' {..} = Prelude.rnf arn++instance Data.ToHeaders AssociateCertificate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateCertificate where+ toJSON AssociateCertificate' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("arn" Data..= arn)]+ )++instance Data.ToPath AssociateCertificate where+ toPath = Prelude.const "/2017-08-29/certificates"++instance Data.ToQuery AssociateCertificate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateCertificateResponse' smart constructor.+data AssociateCertificateResponse = AssociateCertificateResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateCertificateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'associateCertificateResponse_httpStatus' - The response's http status code.+newAssociateCertificateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateCertificateResponse+newAssociateCertificateResponse pHttpStatus_ =+ AssociateCertificateResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+associateCertificateResponse_httpStatus :: Lens.Lens' AssociateCertificateResponse Prelude.Int+associateCertificateResponse_httpStatus = Lens.lens (\AssociateCertificateResponse' {httpStatus} -> httpStatus) (\s@AssociateCertificateResponse' {} a -> s {httpStatus = a} :: AssociateCertificateResponse)++instance Prelude.NFData AssociateCertificateResponse where+ rnf AssociateCertificateResponse' {..} =+ Prelude.rnf httpStatus
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.CancelJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently cancel a job. Once you have canceled a job, you can\'t start+-- it again.+module Amazonka.MediaConvert.CancelJob+ ( -- * Creating a Request+ CancelJob (..),+ newCancelJob,++ -- * Request Lenses+ cancelJob_id,++ -- * Destructuring the Response+ CancelJobResponse (..),+ newCancelJobResponse,++ -- * Response Lenses+ cancelJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCancelJob' smart constructor.+data CancelJob = CancelJob'+ { -- | The Job ID of the job to be cancelled.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'cancelJob_id' - The Job ID of the job to be cancelled.+newCancelJob ::+ -- | 'id'+ Prelude.Text ->+ CancelJob+newCancelJob pId_ = CancelJob' {id = pId_}++-- | The Job ID of the job to be cancelled.+cancelJob_id :: Lens.Lens' CancelJob Prelude.Text+cancelJob_id = Lens.lens (\CancelJob' {id} -> id) (\s@CancelJob' {} a -> s {id = a} :: CancelJob)++instance Core.AWSRequest CancelJob where+ type AWSResponse CancelJob = CancelJobResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CancelJobResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CancelJob where+ hashWithSalt _salt CancelJob' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData CancelJob where+ rnf CancelJob' {..} = Prelude.rnf id++instance Data.ToHeaders CancelJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath CancelJob where+ toPath CancelJob' {..} =+ Prelude.mconcat ["/2017-08-29/jobs/", Data.toBS id]++instance Data.ToQuery CancelJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelJobResponse' smart constructor.+data CancelJobResponse = CancelJobResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'cancelJobResponse_httpStatus' - The response's http status code.+newCancelJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CancelJobResponse+newCancelJobResponse pHttpStatus_ =+ CancelJobResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+cancelJobResponse_httpStatus :: Lens.Lens' CancelJobResponse Prelude.Int+cancelJobResponse_httpStatus = Lens.lens (\CancelJobResponse' {httpStatus} -> httpStatus) (\s@CancelJobResponse' {} a -> s {httpStatus = a} :: CancelJobResponse)++instance Prelude.NFData CancelJobResponse where+ rnf CancelJobResponse' {..} = Prelude.rnf httpStatus
@@ -0,0 +1,446 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.CreateJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new transcoding job. For information about jobs and job+-- settings, see the User Guide at+-- http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+module Amazonka.MediaConvert.CreateJob+ ( -- * Creating a Request+ CreateJob (..),+ newCreateJob,++ -- * Request Lenses+ createJob_accelerationSettings,+ createJob_billingTagsSource,+ createJob_clientRequestToken,+ createJob_hopDestinations,+ createJob_jobTemplate,+ createJob_priority,+ createJob_queue,+ createJob_simulateReservedQueue,+ createJob_statusUpdateInterval,+ createJob_tags,+ createJob_userMetadata,+ createJob_role,+ createJob_settings,++ -- * Destructuring the Response+ CreateJobResponse (..),+ newCreateJobResponse,++ -- * Response Lenses+ createJobResponse_job,+ createJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateJob' smart constructor.+data CreateJob = CreateJob'+ { -- | Optional. Accelerated transcoding can significantly speed up jobs with+ -- long, visually complex content. Outputs that use this feature incur+ -- pro-tier pricing. For information about feature limitations, see the AWS+ -- Elemental MediaConvert User Guide.+ accelerationSettings :: Prelude.Maybe AccelerationSettings,+ -- | Optional. Choose a tag type that AWS Billing and Cost Management will+ -- use to sort your AWS Elemental MediaConvert costs on any billing report+ -- that you set up. Any transcoding outputs that don\'t have an associated+ -- tag will appear in your billing report unsorted. If you don\'t choose a+ -- valid value for this field, your job outputs will appear on the billing+ -- report unsorted.+ billingTagsSource :: Prelude.Maybe BillingTagsSource,+ -- | Optional. Idempotency token for CreateJob operation.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Optional. Use queue hopping to avoid overly long waits in the backlog of+ -- the queue that you submit your job to. Specify an alternate queue and+ -- the maximum time that your job will wait in the initial queue before+ -- hopping. For more information about this feature, see the AWS Elemental+ -- MediaConvert User Guide.+ hopDestinations :: Prelude.Maybe [HopDestination],+ -- | Optional. When you create a job, you can either specify a job template+ -- or specify the transcoding settings individually.+ jobTemplate :: Prelude.Maybe Prelude.Text,+ -- | Optional. Specify the relative priority for this job. In any given+ -- queue, the service begins processing the job with the highest value+ -- first. When more than one job has the same priority, the service begins+ -- processing the job that you submitted first. If you don\'t specify a+ -- priority, the service uses the default value 0.+ priority :: Prelude.Maybe Prelude.Int,+ -- | Optional. When you create a job, you can specify a queue to send it to.+ -- If you don\'t specify, the job will go to the default queue. For more+ -- about queues, see the User Guide topic at+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html.+ queue :: Prelude.Maybe Prelude.Text,+ -- | Optional. Enable this setting when you run a test job to estimate how+ -- many reserved transcoding slots (RTS) you need. When this is enabled,+ -- MediaConvert runs your job from an on-demand queue with similar+ -- performance to what you will see with one RTS in a reserved queue. This+ -- setting is disabled by default.+ simulateReservedQueue :: Prelude.Maybe SimulateReservedQueue,+ -- | Optional. Specify how often MediaConvert sends STATUS_UPDATE events to+ -- Amazon CloudWatch Events. Set the interval, in seconds, between status+ -- updates. MediaConvert sends an update at this interval from the time the+ -- service begins processing your job to the time it completes the+ -- transcode or encounters an error.+ statusUpdateInterval :: Prelude.Maybe StatusUpdateInterval,+ -- | Optional. The tags that you want to add to the resource. You can tag+ -- resources with a key-value pair or with only a key. Use standard AWS+ -- tags on your job for automatic integration with AWS services and for+ -- custom integrations and workflows.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Optional. User-defined metadata that you want to associate with an+ -- MediaConvert job. You specify metadata in key\/value pairs. Use only for+ -- existing integrations or workflows that rely on job metadata tags.+ -- Otherwise, we recommend that you use standard AWS tags.+ userMetadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Required. The IAM role you use for creating this job. For details about+ -- permissions, see the User Guide topic at the User Guide at+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+ role' :: Prelude.Text,+ -- | JobSettings contains all the transcode settings for a job.+ settings :: JobSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accelerationSettings', 'createJob_accelerationSettings' - Optional. Accelerated transcoding can significantly speed up jobs with+-- long, visually complex content. Outputs that use this feature incur+-- pro-tier pricing. For information about feature limitations, see the AWS+-- Elemental MediaConvert User Guide.+--+-- 'billingTagsSource', 'createJob_billingTagsSource' - Optional. Choose a tag type that AWS Billing and Cost Management will+-- use to sort your AWS Elemental MediaConvert costs on any billing report+-- that you set up. Any transcoding outputs that don\'t have an associated+-- tag will appear in your billing report unsorted. If you don\'t choose a+-- valid value for this field, your job outputs will appear on the billing+-- report unsorted.+--+-- 'clientRequestToken', 'createJob_clientRequestToken' - Optional. Idempotency token for CreateJob operation.+--+-- 'hopDestinations', 'createJob_hopDestinations' - Optional. Use queue hopping to avoid overly long waits in the backlog of+-- the queue that you submit your job to. Specify an alternate queue and+-- the maximum time that your job will wait in the initial queue before+-- hopping. For more information about this feature, see the AWS Elemental+-- MediaConvert User Guide.+--+-- 'jobTemplate', 'createJob_jobTemplate' - Optional. When you create a job, you can either specify a job template+-- or specify the transcoding settings individually.+--+-- 'priority', 'createJob_priority' - Optional. Specify the relative priority for this job. In any given+-- queue, the service begins processing the job with the highest value+-- first. When more than one job has the same priority, the service begins+-- processing the job that you submitted first. If you don\'t specify a+-- priority, the service uses the default value 0.+--+-- 'queue', 'createJob_queue' - Optional. When you create a job, you can specify a queue to send it to.+-- If you don\'t specify, the job will go to the default queue. For more+-- about queues, see the User Guide topic at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html.+--+-- 'simulateReservedQueue', 'createJob_simulateReservedQueue' - Optional. Enable this setting when you run a test job to estimate how+-- many reserved transcoding slots (RTS) you need. When this is enabled,+-- MediaConvert runs your job from an on-demand queue with similar+-- performance to what you will see with one RTS in a reserved queue. This+-- setting is disabled by default.+--+-- 'statusUpdateInterval', 'createJob_statusUpdateInterval' - Optional. Specify how often MediaConvert sends STATUS_UPDATE events to+-- Amazon CloudWatch Events. Set the interval, in seconds, between status+-- updates. MediaConvert sends an update at this interval from the time the+-- service begins processing your job to the time it completes the+-- transcode or encounters an error.+--+-- 'tags', 'createJob_tags' - Optional. The tags that you want to add to the resource. You can tag+-- resources with a key-value pair or with only a key. Use standard AWS+-- tags on your job for automatic integration with AWS services and for+-- custom integrations and workflows.+--+-- 'userMetadata', 'createJob_userMetadata' - Optional. User-defined metadata that you want to associate with an+-- MediaConvert job. You specify metadata in key\/value pairs. Use only for+-- existing integrations or workflows that rely on job metadata tags.+-- Otherwise, we recommend that you use standard AWS tags.+--+-- 'role'', 'createJob_role' - Required. The IAM role you use for creating this job. For details about+-- permissions, see the User Guide topic at the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+--+-- 'settings', 'createJob_settings' - JobSettings contains all the transcode settings for a job.+newCreateJob ::+ -- | 'role''+ Prelude.Text ->+ -- | 'settings'+ JobSettings ->+ CreateJob+newCreateJob pRole_ pSettings_ =+ CreateJob'+ { accelerationSettings = Prelude.Nothing,+ billingTagsSource = Prelude.Nothing,+ clientRequestToken = Prelude.Nothing,+ hopDestinations = Prelude.Nothing,+ jobTemplate = Prelude.Nothing,+ priority = Prelude.Nothing,+ queue = Prelude.Nothing,+ simulateReservedQueue = Prelude.Nothing,+ statusUpdateInterval = Prelude.Nothing,+ tags = Prelude.Nothing,+ userMetadata = Prelude.Nothing,+ role' = pRole_,+ settings = pSettings_+ }++-- | Optional. Accelerated transcoding can significantly speed up jobs with+-- long, visually complex content. Outputs that use this feature incur+-- pro-tier pricing. For information about feature limitations, see the AWS+-- Elemental MediaConvert User Guide.+createJob_accelerationSettings :: Lens.Lens' CreateJob (Prelude.Maybe AccelerationSettings)+createJob_accelerationSettings = Lens.lens (\CreateJob' {accelerationSettings} -> accelerationSettings) (\s@CreateJob' {} a -> s {accelerationSettings = a} :: CreateJob)++-- | Optional. Choose a tag type that AWS Billing and Cost Management will+-- use to sort your AWS Elemental MediaConvert costs on any billing report+-- that you set up. Any transcoding outputs that don\'t have an associated+-- tag will appear in your billing report unsorted. If you don\'t choose a+-- valid value for this field, your job outputs will appear on the billing+-- report unsorted.+createJob_billingTagsSource :: Lens.Lens' CreateJob (Prelude.Maybe BillingTagsSource)+createJob_billingTagsSource = Lens.lens (\CreateJob' {billingTagsSource} -> billingTagsSource) (\s@CreateJob' {} a -> s {billingTagsSource = a} :: CreateJob)++-- | Optional. Idempotency token for CreateJob operation.+createJob_clientRequestToken :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Text)+createJob_clientRequestToken = Lens.lens (\CreateJob' {clientRequestToken} -> clientRequestToken) (\s@CreateJob' {} a -> s {clientRequestToken = a} :: CreateJob)++-- | Optional. Use queue hopping to avoid overly long waits in the backlog of+-- the queue that you submit your job to. Specify an alternate queue and+-- the maximum time that your job will wait in the initial queue before+-- hopping. For more information about this feature, see the AWS Elemental+-- MediaConvert User Guide.+createJob_hopDestinations :: Lens.Lens' CreateJob (Prelude.Maybe [HopDestination])+createJob_hopDestinations = Lens.lens (\CreateJob' {hopDestinations} -> hopDestinations) (\s@CreateJob' {} a -> s {hopDestinations = a} :: CreateJob) Prelude.. Lens.mapping Lens.coerced++-- | Optional. When you create a job, you can either specify a job template+-- or specify the transcoding settings individually.+createJob_jobTemplate :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Text)+createJob_jobTemplate = Lens.lens (\CreateJob' {jobTemplate} -> jobTemplate) (\s@CreateJob' {} a -> s {jobTemplate = a} :: CreateJob)++-- | Optional. Specify the relative priority for this job. In any given+-- queue, the service begins processing the job with the highest value+-- first. When more than one job has the same priority, the service begins+-- processing the job that you submitted first. If you don\'t specify a+-- priority, the service uses the default value 0.+createJob_priority :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Int)+createJob_priority = Lens.lens (\CreateJob' {priority} -> priority) (\s@CreateJob' {} a -> s {priority = a} :: CreateJob)++-- | Optional. When you create a job, you can specify a queue to send it to.+-- If you don\'t specify, the job will go to the default queue. For more+-- about queues, see the User Guide topic at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html.+createJob_queue :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Text)+createJob_queue = Lens.lens (\CreateJob' {queue} -> queue) (\s@CreateJob' {} a -> s {queue = a} :: CreateJob)++-- | Optional. Enable this setting when you run a test job to estimate how+-- many reserved transcoding slots (RTS) you need. When this is enabled,+-- MediaConvert runs your job from an on-demand queue with similar+-- performance to what you will see with one RTS in a reserved queue. This+-- setting is disabled by default.+createJob_simulateReservedQueue :: Lens.Lens' CreateJob (Prelude.Maybe SimulateReservedQueue)+createJob_simulateReservedQueue = Lens.lens (\CreateJob' {simulateReservedQueue} -> simulateReservedQueue) (\s@CreateJob' {} a -> s {simulateReservedQueue = a} :: CreateJob)++-- | Optional. Specify how often MediaConvert sends STATUS_UPDATE events to+-- Amazon CloudWatch Events. Set the interval, in seconds, between status+-- updates. MediaConvert sends an update at this interval from the time the+-- service begins processing your job to the time it completes the+-- transcode or encounters an error.+createJob_statusUpdateInterval :: Lens.Lens' CreateJob (Prelude.Maybe StatusUpdateInterval)+createJob_statusUpdateInterval = Lens.lens (\CreateJob' {statusUpdateInterval} -> statusUpdateInterval) (\s@CreateJob' {} a -> s {statusUpdateInterval = a} :: CreateJob)++-- | Optional. The tags that you want to add to the resource. You can tag+-- resources with a key-value pair or with only a key. Use standard AWS+-- tags on your job for automatic integration with AWS services and for+-- custom integrations and workflows.+createJob_tags :: Lens.Lens' CreateJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createJob_tags = Lens.lens (\CreateJob' {tags} -> tags) (\s@CreateJob' {} a -> s {tags = a} :: CreateJob) Prelude.. Lens.mapping Lens.coerced++-- | Optional. User-defined metadata that you want to associate with an+-- MediaConvert job. You specify metadata in key\/value pairs. Use only for+-- existing integrations or workflows that rely on job metadata tags.+-- Otherwise, we recommend that you use standard AWS tags.+createJob_userMetadata :: Lens.Lens' CreateJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createJob_userMetadata = Lens.lens (\CreateJob' {userMetadata} -> userMetadata) (\s@CreateJob' {} a -> s {userMetadata = a} :: CreateJob) Prelude.. Lens.mapping Lens.coerced++-- | Required. The IAM role you use for creating this job. For details about+-- permissions, see the User Guide topic at the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+createJob_role :: Lens.Lens' CreateJob Prelude.Text+createJob_role = Lens.lens (\CreateJob' {role'} -> role') (\s@CreateJob' {} a -> s {role' = a} :: CreateJob)++-- | JobSettings contains all the transcode settings for a job.+createJob_settings :: Lens.Lens' CreateJob JobSettings+createJob_settings = Lens.lens (\CreateJob' {settings} -> settings) (\s@CreateJob' {} a -> s {settings = a} :: CreateJob)++instance Core.AWSRequest CreateJob where+ type AWSResponse CreateJob = CreateJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateJobResponse'+ Prelude.<$> (x Data..?> "job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateJob where+ hashWithSalt _salt CreateJob' {..} =+ _salt+ `Prelude.hashWithSalt` accelerationSettings+ `Prelude.hashWithSalt` billingTagsSource+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` hopDestinations+ `Prelude.hashWithSalt` jobTemplate+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` queue+ `Prelude.hashWithSalt` simulateReservedQueue+ `Prelude.hashWithSalt` statusUpdateInterval+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` userMetadata+ `Prelude.hashWithSalt` role'+ `Prelude.hashWithSalt` settings++instance Prelude.NFData CreateJob where+ rnf CreateJob' {..} =+ Prelude.rnf accelerationSettings+ `Prelude.seq` Prelude.rnf billingTagsSource+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf hopDestinations+ `Prelude.seq` Prelude.rnf jobTemplate+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf queue+ `Prelude.seq` Prelude.rnf simulateReservedQueue+ `Prelude.seq` Prelude.rnf statusUpdateInterval+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf userMetadata+ `Prelude.seq` Prelude.rnf role'+ `Prelude.seq` Prelude.rnf settings++instance Data.ToHeaders CreateJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateJob where+ toJSON CreateJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("accelerationSettings" Data..=)+ Prelude.<$> accelerationSettings,+ ("billingTagsSource" Data..=)+ Prelude.<$> billingTagsSource,+ ("clientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("hopDestinations" Data..=)+ Prelude.<$> hopDestinations,+ ("jobTemplate" Data..=) Prelude.<$> jobTemplate,+ ("priority" Data..=) Prelude.<$> priority,+ ("queue" Data..=) Prelude.<$> queue,+ ("simulateReservedQueue" Data..=)+ Prelude.<$> simulateReservedQueue,+ ("statusUpdateInterval" Data..=)+ Prelude.<$> statusUpdateInterval,+ ("tags" Data..=) Prelude.<$> tags,+ ("userMetadata" Data..=) Prelude.<$> userMetadata,+ Prelude.Just ("role" Data..= role'),+ Prelude.Just ("settings" Data..= settings)+ ]+ )++instance Data.ToPath CreateJob where+ toPath = Prelude.const "/2017-08-29/jobs"++instance Data.ToQuery CreateJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateJobResponse' smart constructor.+data CreateJobResponse = CreateJobResponse'+ { -- | Each job converts an input file into an output file or files. For more+ -- information, see the User Guide at+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+ job :: Prelude.Maybe Job,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'createJobResponse_job' - Each job converts an input file into an output file or files. For more+-- information, see the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+--+-- 'httpStatus', 'createJobResponse_httpStatus' - The response's http status code.+newCreateJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateJobResponse+newCreateJobResponse pHttpStatus_ =+ CreateJobResponse'+ { job = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Each job converts an input file into an output file or files. For more+-- information, see the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+createJobResponse_job :: Lens.Lens' CreateJobResponse (Prelude.Maybe Job)+createJobResponse_job = Lens.lens (\CreateJobResponse' {job} -> job) (\s@CreateJobResponse' {} a -> s {job = a} :: CreateJobResponse)++-- | The response's http status code.+createJobResponse_httpStatus :: Lens.Lens' CreateJobResponse Prelude.Int+createJobResponse_httpStatus = Lens.lens (\CreateJobResponse' {httpStatus} -> httpStatus) (\s@CreateJobResponse' {} a -> s {httpStatus = a} :: CreateJobResponse)++instance Prelude.NFData CreateJobResponse where+ rnf CreateJobResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,351 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.CreateJobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new job template. For information about job templates see the+-- User Guide at+-- http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+module Amazonka.MediaConvert.CreateJobTemplate+ ( -- * Creating a Request+ CreateJobTemplate (..),+ newCreateJobTemplate,++ -- * Request Lenses+ createJobTemplate_accelerationSettings,+ createJobTemplate_category,+ createJobTemplate_description,+ createJobTemplate_hopDestinations,+ createJobTemplate_priority,+ createJobTemplate_queue,+ createJobTemplate_statusUpdateInterval,+ createJobTemplate_tags,+ createJobTemplate_settings,+ createJobTemplate_name,++ -- * Destructuring the Response+ CreateJobTemplateResponse (..),+ newCreateJobTemplateResponse,++ -- * Response Lenses+ createJobTemplateResponse_jobTemplate,+ createJobTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateJobTemplate' smart constructor.+data CreateJobTemplate = CreateJobTemplate'+ { -- | Accelerated transcoding can significantly speed up jobs with long,+ -- visually complex content. Outputs that use this feature incur pro-tier+ -- pricing. For information about feature limitations, see the AWS+ -- Elemental MediaConvert User Guide.+ accelerationSettings :: Prelude.Maybe AccelerationSettings,+ -- | Optional. A category for the job template you are creating+ category :: Prelude.Maybe Prelude.Text,+ -- | Optional. A description of the job template you are creating.+ description :: Prelude.Maybe Prelude.Text,+ -- | Optional. Use queue hopping to avoid overly long waits in the backlog of+ -- the queue that you submit your job to. Specify an alternate queue and+ -- the maximum time that your job will wait in the initial queue before+ -- hopping. For more information about this feature, see the AWS Elemental+ -- MediaConvert User Guide.+ hopDestinations :: Prelude.Maybe [HopDestination],+ -- | Specify the relative priority for this job. In any given queue, the+ -- service begins processing the job with the highest value first. When+ -- more than one job has the same priority, the service begins processing+ -- the job that you submitted first. If you don\'t specify a priority, the+ -- service uses the default value 0.+ priority :: Prelude.Maybe Prelude.Int,+ -- | Optional. The queue that jobs created from this template are assigned+ -- to. If you don\'t specify this, jobs will go to the default queue.+ queue :: Prelude.Maybe Prelude.Text,+ -- | Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+ -- CloudWatch Events. Set the interval, in seconds, between status updates.+ -- MediaConvert sends an update at this interval from the time the service+ -- begins processing your job to the time it completes the transcode or+ -- encounters an error.+ statusUpdateInterval :: Prelude.Maybe StatusUpdateInterval,+ -- | The tags that you want to add to the resource. You can tag resources+ -- with a key-value pair or with only a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | JobTemplateSettings contains all the transcode settings saved in the+ -- template that will be applied to jobs created from it.+ settings :: JobTemplateSettings,+ -- | The name of the job template you are creating.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accelerationSettings', 'createJobTemplate_accelerationSettings' - Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content. Outputs that use this feature incur pro-tier+-- pricing. For information about feature limitations, see the AWS+-- Elemental MediaConvert User Guide.+--+-- 'category', 'createJobTemplate_category' - Optional. A category for the job template you are creating+--+-- 'description', 'createJobTemplate_description' - Optional. A description of the job template you are creating.+--+-- 'hopDestinations', 'createJobTemplate_hopDestinations' - Optional. Use queue hopping to avoid overly long waits in the backlog of+-- the queue that you submit your job to. Specify an alternate queue and+-- the maximum time that your job will wait in the initial queue before+-- hopping. For more information about this feature, see the AWS Elemental+-- MediaConvert User Guide.+--+-- 'priority', 'createJobTemplate_priority' - Specify the relative priority for this job. In any given queue, the+-- service begins processing the job with the highest value first. When+-- more than one job has the same priority, the service begins processing+-- the job that you submitted first. If you don\'t specify a priority, the+-- service uses the default value 0.+--+-- 'queue', 'createJobTemplate_queue' - Optional. The queue that jobs created from this template are assigned+-- to. If you don\'t specify this, jobs will go to the default queue.+--+-- 'statusUpdateInterval', 'createJobTemplate_statusUpdateInterval' - Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+-- CloudWatch Events. Set the interval, in seconds, between status updates.+-- MediaConvert sends an update at this interval from the time the service+-- begins processing your job to the time it completes the transcode or+-- encounters an error.+--+-- 'tags', 'createJobTemplate_tags' - The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+--+-- 'settings', 'createJobTemplate_settings' - JobTemplateSettings contains all the transcode settings saved in the+-- template that will be applied to jobs created from it.+--+-- 'name', 'createJobTemplate_name' - The name of the job template you are creating.+newCreateJobTemplate ::+ -- | 'settings'+ JobTemplateSettings ->+ -- | 'name'+ Prelude.Text ->+ CreateJobTemplate+newCreateJobTemplate pSettings_ pName_ =+ CreateJobTemplate'+ { accelerationSettings =+ Prelude.Nothing,+ category = Prelude.Nothing,+ description = Prelude.Nothing,+ hopDestinations = Prelude.Nothing,+ priority = Prelude.Nothing,+ queue = Prelude.Nothing,+ statusUpdateInterval = Prelude.Nothing,+ tags = Prelude.Nothing,+ settings = pSettings_,+ name = pName_+ }++-- | Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content. Outputs that use this feature incur pro-tier+-- pricing. For information about feature limitations, see the AWS+-- Elemental MediaConvert User Guide.+createJobTemplate_accelerationSettings :: Lens.Lens' CreateJobTemplate (Prelude.Maybe AccelerationSettings)+createJobTemplate_accelerationSettings = Lens.lens (\CreateJobTemplate' {accelerationSettings} -> accelerationSettings) (\s@CreateJobTemplate' {} a -> s {accelerationSettings = a} :: CreateJobTemplate)++-- | Optional. A category for the job template you are creating+createJobTemplate_category :: Lens.Lens' CreateJobTemplate (Prelude.Maybe Prelude.Text)+createJobTemplate_category = Lens.lens (\CreateJobTemplate' {category} -> category) (\s@CreateJobTemplate' {} a -> s {category = a} :: CreateJobTemplate)++-- | Optional. A description of the job template you are creating.+createJobTemplate_description :: Lens.Lens' CreateJobTemplate (Prelude.Maybe Prelude.Text)+createJobTemplate_description = Lens.lens (\CreateJobTemplate' {description} -> description) (\s@CreateJobTemplate' {} a -> s {description = a} :: CreateJobTemplate)++-- | Optional. Use queue hopping to avoid overly long waits in the backlog of+-- the queue that you submit your job to. Specify an alternate queue and+-- the maximum time that your job will wait in the initial queue before+-- hopping. For more information about this feature, see the AWS Elemental+-- MediaConvert User Guide.+createJobTemplate_hopDestinations :: Lens.Lens' CreateJobTemplate (Prelude.Maybe [HopDestination])+createJobTemplate_hopDestinations = Lens.lens (\CreateJobTemplate' {hopDestinations} -> hopDestinations) (\s@CreateJobTemplate' {} a -> s {hopDestinations = a} :: CreateJobTemplate) Prelude.. Lens.mapping Lens.coerced++-- | Specify the relative priority for this job. In any given queue, the+-- service begins processing the job with the highest value first. When+-- more than one job has the same priority, the service begins processing+-- the job that you submitted first. If you don\'t specify a priority, the+-- service uses the default value 0.+createJobTemplate_priority :: Lens.Lens' CreateJobTemplate (Prelude.Maybe Prelude.Int)+createJobTemplate_priority = Lens.lens (\CreateJobTemplate' {priority} -> priority) (\s@CreateJobTemplate' {} a -> s {priority = a} :: CreateJobTemplate)++-- | Optional. The queue that jobs created from this template are assigned+-- to. If you don\'t specify this, jobs will go to the default queue.+createJobTemplate_queue :: Lens.Lens' CreateJobTemplate (Prelude.Maybe Prelude.Text)+createJobTemplate_queue = Lens.lens (\CreateJobTemplate' {queue} -> queue) (\s@CreateJobTemplate' {} a -> s {queue = a} :: CreateJobTemplate)++-- | Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+-- CloudWatch Events. Set the interval, in seconds, between status updates.+-- MediaConvert sends an update at this interval from the time the service+-- begins processing your job to the time it completes the transcode or+-- encounters an error.+createJobTemplate_statusUpdateInterval :: Lens.Lens' CreateJobTemplate (Prelude.Maybe StatusUpdateInterval)+createJobTemplate_statusUpdateInterval = Lens.lens (\CreateJobTemplate' {statusUpdateInterval} -> statusUpdateInterval) (\s@CreateJobTemplate' {} a -> s {statusUpdateInterval = a} :: CreateJobTemplate)++-- | The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+createJobTemplate_tags :: Lens.Lens' CreateJobTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createJobTemplate_tags = Lens.lens (\CreateJobTemplate' {tags} -> tags) (\s@CreateJobTemplate' {} a -> s {tags = a} :: CreateJobTemplate) Prelude.. Lens.mapping Lens.coerced++-- | JobTemplateSettings contains all the transcode settings saved in the+-- template that will be applied to jobs created from it.+createJobTemplate_settings :: Lens.Lens' CreateJobTemplate JobTemplateSettings+createJobTemplate_settings = Lens.lens (\CreateJobTemplate' {settings} -> settings) (\s@CreateJobTemplate' {} a -> s {settings = a} :: CreateJobTemplate)++-- | The name of the job template you are creating.+createJobTemplate_name :: Lens.Lens' CreateJobTemplate Prelude.Text+createJobTemplate_name = Lens.lens (\CreateJobTemplate' {name} -> name) (\s@CreateJobTemplate' {} a -> s {name = a} :: CreateJobTemplate)++instance Core.AWSRequest CreateJobTemplate where+ type+ AWSResponse CreateJobTemplate =+ CreateJobTemplateResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateJobTemplateResponse'+ Prelude.<$> (x Data..?> "jobTemplate")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateJobTemplate where+ hashWithSalt _salt CreateJobTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` accelerationSettings+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` hopDestinations+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` queue+ `Prelude.hashWithSalt` statusUpdateInterval+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` settings+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateJobTemplate where+ rnf CreateJobTemplate' {..} =+ Prelude.rnf accelerationSettings+ `Prelude.seq` Prelude.rnf category+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf hopDestinations+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf queue+ `Prelude.seq` Prelude.rnf statusUpdateInterval+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf settings+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateJobTemplate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateJobTemplate where+ toJSON CreateJobTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("accelerationSettings" Data..=)+ Prelude.<$> accelerationSettings,+ ("category" Data..=) Prelude.<$> category,+ ("description" Data..=) Prelude.<$> description,+ ("hopDestinations" Data..=)+ Prelude.<$> hopDestinations,+ ("priority" Data..=) Prelude.<$> priority,+ ("queue" Data..=) Prelude.<$> queue,+ ("statusUpdateInterval" Data..=)+ Prelude.<$> statusUpdateInterval,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("settings" Data..= settings),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateJobTemplate where+ toPath = Prelude.const "/2017-08-29/jobTemplates"++instance Data.ToQuery CreateJobTemplate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateJobTemplateResponse' smart constructor.+data CreateJobTemplateResponse = CreateJobTemplateResponse'+ { -- | A job template is a pre-made set of encoding instructions that you can+ -- use to quickly create a job.+ jobTemplate :: Prelude.Maybe JobTemplate,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJobTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTemplate', 'createJobTemplateResponse_jobTemplate' - A job template is a pre-made set of encoding instructions that you can+-- use to quickly create a job.+--+-- 'httpStatus', 'createJobTemplateResponse_httpStatus' - The response's http status code.+newCreateJobTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateJobTemplateResponse+newCreateJobTemplateResponse pHttpStatus_ =+ CreateJobTemplateResponse'+ { jobTemplate =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A job template is a pre-made set of encoding instructions that you can+-- use to quickly create a job.+createJobTemplateResponse_jobTemplate :: Lens.Lens' CreateJobTemplateResponse (Prelude.Maybe JobTemplate)+createJobTemplateResponse_jobTemplate = Lens.lens (\CreateJobTemplateResponse' {jobTemplate} -> jobTemplate) (\s@CreateJobTemplateResponse' {} a -> s {jobTemplate = a} :: CreateJobTemplateResponse)++-- | The response's http status code.+createJobTemplateResponse_httpStatus :: Lens.Lens' CreateJobTemplateResponse Prelude.Int+createJobTemplateResponse_httpStatus = Lens.lens (\CreateJobTemplateResponse' {httpStatus} -> httpStatus) (\s@CreateJobTemplateResponse' {} a -> s {httpStatus = a} :: CreateJobTemplateResponse)++instance Prelude.NFData CreateJobTemplateResponse where+ rnf CreateJobTemplateResponse' {..} =+ Prelude.rnf jobTemplate+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.CreatePreset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new preset. For information about job templates see the User+-- Guide at+-- http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+module Amazonka.MediaConvert.CreatePreset+ ( -- * Creating a Request+ CreatePreset (..),+ newCreatePreset,++ -- * Request Lenses+ createPreset_category,+ createPreset_description,+ createPreset_tags,+ createPreset_settings,+ createPreset_name,++ -- * Destructuring the Response+ CreatePresetResponse (..),+ newCreatePresetResponse,++ -- * Response Lenses+ createPresetResponse_preset,+ createPresetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePreset' smart constructor.+data CreatePreset = CreatePreset'+ { -- | Optional. A category for the preset you are creating.+ category :: Prelude.Maybe Prelude.Text,+ -- | Optional. A description of the preset you are creating.+ description :: Prelude.Maybe Prelude.Text,+ -- | The tags that you want to add to the resource. You can tag resources+ -- with a key-value pair or with only a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Settings for preset+ settings :: PresetSettings,+ -- | The name of the preset you are creating.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePreset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'createPreset_category' - Optional. A category for the preset you are creating.+--+-- 'description', 'createPreset_description' - Optional. A description of the preset you are creating.+--+-- 'tags', 'createPreset_tags' - The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+--+-- 'settings', 'createPreset_settings' - Settings for preset+--+-- 'name', 'createPreset_name' - The name of the preset you are creating.+newCreatePreset ::+ -- | 'settings'+ PresetSettings ->+ -- | 'name'+ Prelude.Text ->+ CreatePreset+newCreatePreset pSettings_ pName_ =+ CreatePreset'+ { category = Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ settings = pSettings_,+ name = pName_+ }++-- | Optional. A category for the preset you are creating.+createPreset_category :: Lens.Lens' CreatePreset (Prelude.Maybe Prelude.Text)+createPreset_category = Lens.lens (\CreatePreset' {category} -> category) (\s@CreatePreset' {} a -> s {category = a} :: CreatePreset)++-- | Optional. A description of the preset you are creating.+createPreset_description :: Lens.Lens' CreatePreset (Prelude.Maybe Prelude.Text)+createPreset_description = Lens.lens (\CreatePreset' {description} -> description) (\s@CreatePreset' {} a -> s {description = a} :: CreatePreset)++-- | The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+createPreset_tags :: Lens.Lens' CreatePreset (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPreset_tags = Lens.lens (\CreatePreset' {tags} -> tags) (\s@CreatePreset' {} a -> s {tags = a} :: CreatePreset) Prelude.. Lens.mapping Lens.coerced++-- | Settings for preset+createPreset_settings :: Lens.Lens' CreatePreset PresetSettings+createPreset_settings = Lens.lens (\CreatePreset' {settings} -> settings) (\s@CreatePreset' {} a -> s {settings = a} :: CreatePreset)++-- | The name of the preset you are creating.+createPreset_name :: Lens.Lens' CreatePreset Prelude.Text+createPreset_name = Lens.lens (\CreatePreset' {name} -> name) (\s@CreatePreset' {} a -> s {name = a} :: CreatePreset)++instance Core.AWSRequest CreatePreset where+ type AWSResponse CreatePreset = CreatePresetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePresetResponse'+ Prelude.<$> (x Data..?> "preset")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreatePreset where+ hashWithSalt _salt CreatePreset' {..} =+ _salt+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` settings+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreatePreset where+ rnf CreatePreset' {..} =+ Prelude.rnf category+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf settings+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreatePreset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreatePreset where+ toJSON CreatePreset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("category" Data..=) Prelude.<$> category,+ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("settings" Data..= settings),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreatePreset where+ toPath = Prelude.const "/2017-08-29/presets"++instance Data.ToQuery CreatePreset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePresetResponse' smart constructor.+data CreatePresetResponse = CreatePresetResponse'+ { -- | A preset is a collection of preconfigured media conversion settings that+ -- you want MediaConvert to apply to the output during the conversion+ -- process.+ preset :: Prelude.Maybe Preset,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePresetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'preset', 'createPresetResponse_preset' - A preset is a collection of preconfigured media conversion settings that+-- you want MediaConvert to apply to the output during the conversion+-- process.+--+-- 'httpStatus', 'createPresetResponse_httpStatus' - The response's http status code.+newCreatePresetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreatePresetResponse+newCreatePresetResponse pHttpStatus_ =+ CreatePresetResponse'+ { preset = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A preset is a collection of preconfigured media conversion settings that+-- you want MediaConvert to apply to the output during the conversion+-- process.+createPresetResponse_preset :: Lens.Lens' CreatePresetResponse (Prelude.Maybe Preset)+createPresetResponse_preset = Lens.lens (\CreatePresetResponse' {preset} -> preset) (\s@CreatePresetResponse' {} a -> s {preset = a} :: CreatePresetResponse)++-- | The response's http status code.+createPresetResponse_httpStatus :: Lens.Lens' CreatePresetResponse Prelude.Int+createPresetResponse_httpStatus = Lens.lens (\CreatePresetResponse' {httpStatus} -> httpStatus) (\s@CreatePresetResponse' {} a -> s {httpStatus = a} :: CreatePresetResponse)++instance Prelude.NFData CreatePresetResponse where+ rnf CreatePresetResponse' {..} =+ Prelude.rnf preset+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,270 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.CreateQueue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new transcoding queue. For information about queues, see+-- Working With Queues in the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html+module Amazonka.MediaConvert.CreateQueue+ ( -- * Creating a Request+ CreateQueue (..),+ newCreateQueue,++ -- * Request Lenses+ createQueue_description,+ createQueue_pricingPlan,+ createQueue_reservationPlanSettings,+ createQueue_status,+ createQueue_tags,+ createQueue_name,++ -- * Destructuring the Response+ CreateQueueResponse (..),+ newCreateQueueResponse,++ -- * Response Lenses+ createQueueResponse_queue,+ createQueueResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateQueue' smart constructor.+data CreateQueue = CreateQueue'+ { -- | Optional. A description of the queue that you are creating.+ description :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the pricing plan for the queue is on-demand or+ -- reserved. For on-demand, you pay per minute, billed in increments of .01+ -- minute. For reserved, you pay for the transcoding capacity of the entire+ -- queue, regardless of how much or how little you use it. Reserved pricing+ -- requires a 12-month commitment. When you use the API to create a queue,+ -- the default is on-demand.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Details about the pricing plan for your reserved queue. Required for+ -- reserved queues and not applicable to on-demand queues.+ reservationPlanSettings :: Prelude.Maybe ReservationPlanSettings,+ -- | Initial state of the queue. If you create a paused queue, then jobs in+ -- that queue won\'t begin.+ status :: Prelude.Maybe QueueStatus,+ -- | The tags that you want to add to the resource. You can tag resources+ -- with a key-value pair or with only a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the queue that you are creating.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateQueue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createQueue_description' - Optional. A description of the queue that you are creating.+--+-- 'pricingPlan', 'createQueue_pricingPlan' - Specifies whether the pricing plan for the queue is on-demand or+-- reserved. For on-demand, you pay per minute, billed in increments of .01+-- minute. For reserved, you pay for the transcoding capacity of the entire+-- queue, regardless of how much or how little you use it. Reserved pricing+-- requires a 12-month commitment. When you use the API to create a queue,+-- the default is on-demand.+--+-- 'reservationPlanSettings', 'createQueue_reservationPlanSettings' - Details about the pricing plan for your reserved queue. Required for+-- reserved queues and not applicable to on-demand queues.+--+-- 'status', 'createQueue_status' - Initial state of the queue. If you create a paused queue, then jobs in+-- that queue won\'t begin.+--+-- 'tags', 'createQueue_tags' - The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+--+-- 'name', 'createQueue_name' - The name of the queue that you are creating.+newCreateQueue ::+ -- | 'name'+ Prelude.Text ->+ CreateQueue+newCreateQueue pName_ =+ CreateQueue'+ { description = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ reservationPlanSettings = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_+ }++-- | Optional. A description of the queue that you are creating.+createQueue_description :: Lens.Lens' CreateQueue (Prelude.Maybe Prelude.Text)+createQueue_description = Lens.lens (\CreateQueue' {description} -> description) (\s@CreateQueue' {} a -> s {description = a} :: CreateQueue)++-- | Specifies whether the pricing plan for the queue is on-demand or+-- reserved. For on-demand, you pay per minute, billed in increments of .01+-- minute. For reserved, you pay for the transcoding capacity of the entire+-- queue, regardless of how much or how little you use it. Reserved pricing+-- requires a 12-month commitment. When you use the API to create a queue,+-- the default is on-demand.+createQueue_pricingPlan :: Lens.Lens' CreateQueue (Prelude.Maybe PricingPlan)+createQueue_pricingPlan = Lens.lens (\CreateQueue' {pricingPlan} -> pricingPlan) (\s@CreateQueue' {} a -> s {pricingPlan = a} :: CreateQueue)++-- | Details about the pricing plan for your reserved queue. Required for+-- reserved queues and not applicable to on-demand queues.+createQueue_reservationPlanSettings :: Lens.Lens' CreateQueue (Prelude.Maybe ReservationPlanSettings)+createQueue_reservationPlanSettings = Lens.lens (\CreateQueue' {reservationPlanSettings} -> reservationPlanSettings) (\s@CreateQueue' {} a -> s {reservationPlanSettings = a} :: CreateQueue)++-- | Initial state of the queue. If you create a paused queue, then jobs in+-- that queue won\'t begin.+createQueue_status :: Lens.Lens' CreateQueue (Prelude.Maybe QueueStatus)+createQueue_status = Lens.lens (\CreateQueue' {status} -> status) (\s@CreateQueue' {} a -> s {status = a} :: CreateQueue)++-- | The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+createQueue_tags :: Lens.Lens' CreateQueue (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createQueue_tags = Lens.lens (\CreateQueue' {tags} -> tags) (\s@CreateQueue' {} a -> s {tags = a} :: CreateQueue) Prelude.. Lens.mapping Lens.coerced++-- | The name of the queue that you are creating.+createQueue_name :: Lens.Lens' CreateQueue Prelude.Text+createQueue_name = Lens.lens (\CreateQueue' {name} -> name) (\s@CreateQueue' {} a -> s {name = a} :: CreateQueue)++instance Core.AWSRequest CreateQueue where+ type AWSResponse CreateQueue = CreateQueueResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateQueueResponse'+ Prelude.<$> (x Data..?> "queue")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateQueue where+ hashWithSalt _salt CreateQueue' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` reservationPlanSettings+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateQueue where+ rnf CreateQueue' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf reservationPlanSettings+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateQueue where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateQueue where+ toJSON CreateQueue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("pricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("reservationPlanSettings" Data..=)+ Prelude.<$> reservationPlanSettings,+ ("status" Data..=) Prelude.<$> status,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateQueue where+ toPath = Prelude.const "/2017-08-29/queues"++instance Data.ToQuery CreateQueue where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateQueueResponse' smart constructor.+data CreateQueueResponse = CreateQueueResponse'+ { -- | You can use queues to manage the resources that are available to your+ -- AWS account for running multiple transcoding jobs at the same time. If+ -- you don\'t specify a queue, the service sends all jobs through the+ -- default queue. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html.+ queue :: Prelude.Maybe Queue,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateQueueResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'queue', 'createQueueResponse_queue' - You can use queues to manage the resources that are available to your+-- AWS account for running multiple transcoding jobs at the same time. If+-- you don\'t specify a queue, the service sends all jobs through the+-- default queue. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html.+--+-- 'httpStatus', 'createQueueResponse_httpStatus' - The response's http status code.+newCreateQueueResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateQueueResponse+newCreateQueueResponse pHttpStatus_ =+ CreateQueueResponse'+ { queue = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | You can use queues to manage the resources that are available to your+-- AWS account for running multiple transcoding jobs at the same time. If+-- you don\'t specify a queue, the service sends all jobs through the+-- default queue. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html.+createQueueResponse_queue :: Lens.Lens' CreateQueueResponse (Prelude.Maybe Queue)+createQueueResponse_queue = Lens.lens (\CreateQueueResponse' {queue} -> queue) (\s@CreateQueueResponse' {} a -> s {queue = a} :: CreateQueueResponse)++-- | The response's http status code.+createQueueResponse_httpStatus :: Lens.Lens' CreateQueueResponse Prelude.Int+createQueueResponse_httpStatus = Lens.lens (\CreateQueueResponse' {httpStatus} -> httpStatus) (\s@CreateQueueResponse' {} a -> s {httpStatus = a} :: CreateQueueResponse)++instance Prelude.NFData CreateQueueResponse where+ rnf CreateQueueResponse' {..} =+ Prelude.rnf queue+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.DeleteJobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently delete a job template you have created.+module Amazonka.MediaConvert.DeleteJobTemplate+ ( -- * Creating a Request+ DeleteJobTemplate (..),+ newDeleteJobTemplate,++ -- * Request Lenses+ deleteJobTemplate_name,++ -- * Destructuring the Response+ DeleteJobTemplateResponse (..),+ newDeleteJobTemplateResponse,++ -- * Response Lenses+ deleteJobTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteJobTemplate' smart constructor.+data DeleteJobTemplate = DeleteJobTemplate'+ { -- | The name of the job template to be deleted.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteJobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deleteJobTemplate_name' - The name of the job template to be deleted.+newDeleteJobTemplate ::+ -- | 'name'+ Prelude.Text ->+ DeleteJobTemplate+newDeleteJobTemplate pName_ =+ DeleteJobTemplate' {name = pName_}++-- | The name of the job template to be deleted.+deleteJobTemplate_name :: Lens.Lens' DeleteJobTemplate Prelude.Text+deleteJobTemplate_name = Lens.lens (\DeleteJobTemplate' {name} -> name) (\s@DeleteJobTemplate' {} a -> s {name = a} :: DeleteJobTemplate)++instance Core.AWSRequest DeleteJobTemplate where+ type+ AWSResponse DeleteJobTemplate =+ DeleteJobTemplateResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteJobTemplateResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteJobTemplate where+ hashWithSalt _salt DeleteJobTemplate' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteJobTemplate where+ rnf DeleteJobTemplate' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteJobTemplate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteJobTemplate where+ toPath DeleteJobTemplate' {..} =+ Prelude.mconcat+ ["/2017-08-29/jobTemplates/", Data.toBS name]++instance Data.ToQuery DeleteJobTemplate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteJobTemplateResponse' smart constructor.+data DeleteJobTemplateResponse = DeleteJobTemplateResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteJobTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteJobTemplateResponse_httpStatus' - The response's http status code.+newDeleteJobTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteJobTemplateResponse+newDeleteJobTemplateResponse pHttpStatus_ =+ DeleteJobTemplateResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteJobTemplateResponse_httpStatus :: Lens.Lens' DeleteJobTemplateResponse Prelude.Int+deleteJobTemplateResponse_httpStatus = Lens.lens (\DeleteJobTemplateResponse' {httpStatus} -> httpStatus) (\s@DeleteJobTemplateResponse' {} a -> s {httpStatus = a} :: DeleteJobTemplateResponse)++instance Prelude.NFData DeleteJobTemplateResponse where+ rnf DeleteJobTemplateResponse' {..} =+ Prelude.rnf httpStatus
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.DeletePolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently delete a policy that you created.+module Amazonka.MediaConvert.DeletePolicy+ ( -- * Creating a Request+ DeletePolicy (..),+ newDeletePolicy,++ -- * Destructuring the Response+ DeletePolicyResponse (..),+ newDeletePolicyResponse,++ -- * Response Lenses+ deletePolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePolicy' smart constructor.+data DeletePolicy = DeletePolicy'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeletePolicy ::+ DeletePolicy+newDeletePolicy = DeletePolicy'++instance Core.AWSRequest DeletePolicy where+ type AWSResponse DeletePolicy = DeletePolicyResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeletePolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePolicy where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DeletePolicy where+ rnf _ = ()++instance Data.ToHeaders DeletePolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePolicy where+ toPath = Prelude.const "/2017-08-29/policy"++instance Data.ToQuery DeletePolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePolicyResponse' smart constructor.+data DeletePolicyResponse = DeletePolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deletePolicyResponse_httpStatus' - The response's http status code.+newDeletePolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePolicyResponse+newDeletePolicyResponse pHttpStatus_ =+ DeletePolicyResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deletePolicyResponse_httpStatus :: Lens.Lens' DeletePolicyResponse Prelude.Int+deletePolicyResponse_httpStatus = Lens.lens (\DeletePolicyResponse' {httpStatus} -> httpStatus) (\s@DeletePolicyResponse' {} a -> s {httpStatus = a} :: DeletePolicyResponse)++instance Prelude.NFData DeletePolicyResponse where+ rnf DeletePolicyResponse' {..} =+ Prelude.rnf httpStatus
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.DeletePreset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently delete a preset you have created.+module Amazonka.MediaConvert.DeletePreset+ ( -- * Creating a Request+ DeletePreset (..),+ newDeletePreset,++ -- * Request Lenses+ deletePreset_name,++ -- * Destructuring the Response+ DeletePresetResponse (..),+ newDeletePresetResponse,++ -- * Response Lenses+ deletePresetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePreset' smart constructor.+data DeletePreset = DeletePreset'+ { -- | The name of the preset to be deleted.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePreset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deletePreset_name' - The name of the preset to be deleted.+newDeletePreset ::+ -- | 'name'+ Prelude.Text ->+ DeletePreset+newDeletePreset pName_ = DeletePreset' {name = pName_}++-- | The name of the preset to be deleted.+deletePreset_name :: Lens.Lens' DeletePreset Prelude.Text+deletePreset_name = Lens.lens (\DeletePreset' {name} -> name) (\s@DeletePreset' {} a -> s {name = a} :: DeletePreset)++instance Core.AWSRequest DeletePreset where+ type AWSResponse DeletePreset = DeletePresetResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeletePresetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePreset where+ hashWithSalt _salt DeletePreset' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeletePreset where+ rnf DeletePreset' {..} = Prelude.rnf name++instance Data.ToHeaders DeletePreset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePreset where+ toPath DeletePreset' {..} =+ Prelude.mconcat+ ["/2017-08-29/presets/", Data.toBS name]++instance Data.ToQuery DeletePreset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePresetResponse' smart constructor.+data DeletePresetResponse = DeletePresetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePresetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deletePresetResponse_httpStatus' - The response's http status code.+newDeletePresetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePresetResponse+newDeletePresetResponse pHttpStatus_ =+ DeletePresetResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deletePresetResponse_httpStatus :: Lens.Lens' DeletePresetResponse Prelude.Int+deletePresetResponse_httpStatus = Lens.lens (\DeletePresetResponse' {httpStatus} -> httpStatus) (\s@DeletePresetResponse' {} a -> s {httpStatus = a} :: DeletePresetResponse)++instance Prelude.NFData DeletePresetResponse where+ rnf DeletePresetResponse' {..} =+ Prelude.rnf httpStatus
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.DeleteQueue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently delete a queue you have created.+module Amazonka.MediaConvert.DeleteQueue+ ( -- * Creating a Request+ DeleteQueue (..),+ newDeleteQueue,++ -- * Request Lenses+ deleteQueue_name,++ -- * Destructuring the Response+ DeleteQueueResponse (..),+ newDeleteQueueResponse,++ -- * Response Lenses+ deleteQueueResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteQueue' smart constructor.+data DeleteQueue = DeleteQueue'+ { -- | The name of the queue that you want to delete.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteQueue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deleteQueue_name' - The name of the queue that you want to delete.+newDeleteQueue ::+ -- | 'name'+ Prelude.Text ->+ DeleteQueue+newDeleteQueue pName_ = DeleteQueue' {name = pName_}++-- | The name of the queue that you want to delete.+deleteQueue_name :: Lens.Lens' DeleteQueue Prelude.Text+deleteQueue_name = Lens.lens (\DeleteQueue' {name} -> name) (\s@DeleteQueue' {} a -> s {name = a} :: DeleteQueue)++instance Core.AWSRequest DeleteQueue where+ type AWSResponse DeleteQueue = DeleteQueueResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteQueueResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteQueue where+ hashWithSalt _salt DeleteQueue' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteQueue where+ rnf DeleteQueue' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteQueue where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteQueue where+ toPath DeleteQueue' {..} =+ Prelude.mconcat+ ["/2017-08-29/queues/", Data.toBS name]++instance Data.ToQuery DeleteQueue where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteQueueResponse' smart constructor.+data DeleteQueueResponse = DeleteQueueResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteQueueResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteQueueResponse_httpStatus' - The response's http status code.+newDeleteQueueResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteQueueResponse+newDeleteQueueResponse pHttpStatus_ =+ DeleteQueueResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteQueueResponse_httpStatus :: Lens.Lens' DeleteQueueResponse Prelude.Int+deleteQueueResponse_httpStatus = Lens.lens (\DeleteQueueResponse' {httpStatus} -> httpStatus) (\s@DeleteQueueResponse' {} a -> s {httpStatus = a} :: DeleteQueueResponse)++instance Prelude.NFData DeleteQueueResponse where+ rnf DeleteQueueResponse' {..} = Prelude.rnf httpStatus
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.DescribeEndpoints+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Send an request with an empty body to the regional API endpoint to get+-- your account API endpoint.+--+-- This operation returns paginated results.+module Amazonka.MediaConvert.DescribeEndpoints+ ( -- * Creating a Request+ DescribeEndpoints (..),+ newDescribeEndpoints,++ -- * Request Lenses+ describeEndpoints_maxResults,+ describeEndpoints_mode,+ describeEndpoints_nextToken,++ -- * Destructuring the Response+ DescribeEndpointsResponse (..),+ newDescribeEndpointsResponse,++ -- * Response Lenses+ describeEndpointsResponse_endpoints,+ describeEndpointsResponse_nextToken,+ describeEndpointsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeEndpointsRequest+--+-- /See:/ 'newDescribeEndpoints' smart constructor.+data DescribeEndpoints = DescribeEndpoints'+ { -- | Optional. Max number of endpoints, up to twenty, that will be returned+ -- at one time.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | Optional field, defaults to DEFAULT. Specify DEFAULT for this operation+ -- to return your endpoints if any exist, or to create an endpoint for you+ -- and return it if one doesn\'t already exist. Specify GET_ONLY to return+ -- your endpoints if any exist, or an empty list if none exist.+ mode :: Prelude.Maybe DescribeEndpointsMode,+ -- | Use this string, provided with the response to a previous request, to+ -- request the next batch of endpoints.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeEndpoints_maxResults' - Optional. Max number of endpoints, up to twenty, that will be returned+-- at one time.+--+-- 'mode', 'describeEndpoints_mode' - Optional field, defaults to DEFAULT. Specify DEFAULT for this operation+-- to return your endpoints if any exist, or to create an endpoint for you+-- and return it if one doesn\'t already exist. Specify GET_ONLY to return+-- your endpoints if any exist, or an empty list if none exist.+--+-- 'nextToken', 'describeEndpoints_nextToken' - Use this string, provided with the response to a previous request, to+-- request the next batch of endpoints.+newDescribeEndpoints ::+ DescribeEndpoints+newDescribeEndpoints =+ DescribeEndpoints'+ { maxResults = Prelude.Nothing,+ mode = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Optional. Max number of endpoints, up to twenty, that will be returned+-- at one time.+describeEndpoints_maxResults :: Lens.Lens' DescribeEndpoints (Prelude.Maybe Prelude.Int)+describeEndpoints_maxResults = Lens.lens (\DescribeEndpoints' {maxResults} -> maxResults) (\s@DescribeEndpoints' {} a -> s {maxResults = a} :: DescribeEndpoints)++-- | Optional field, defaults to DEFAULT. Specify DEFAULT for this operation+-- to return your endpoints if any exist, or to create an endpoint for you+-- and return it if one doesn\'t already exist. Specify GET_ONLY to return+-- your endpoints if any exist, or an empty list if none exist.+describeEndpoints_mode :: Lens.Lens' DescribeEndpoints (Prelude.Maybe DescribeEndpointsMode)+describeEndpoints_mode = Lens.lens (\DescribeEndpoints' {mode} -> mode) (\s@DescribeEndpoints' {} a -> s {mode = a} :: DescribeEndpoints)++-- | Use this string, provided with the response to a previous request, to+-- request the next batch of endpoints.+describeEndpoints_nextToken :: Lens.Lens' DescribeEndpoints (Prelude.Maybe Prelude.Text)+describeEndpoints_nextToken = Lens.lens (\DescribeEndpoints' {nextToken} -> nextToken) (\s@DescribeEndpoints' {} a -> s {nextToken = a} :: DescribeEndpoints)++instance Core.AWSPager DescribeEndpoints where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeEndpointsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeEndpointsResponse_endpoints+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeEndpoints_nextToken+ Lens..~ rs+ Lens.^? describeEndpointsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeEndpoints where+ type+ AWSResponse DescribeEndpoints =+ DescribeEndpointsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeEndpointsResponse'+ Prelude.<$> (x Data..?> "endpoints" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeEndpoints where+ hashWithSalt _salt DescribeEndpoints' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` mode+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeEndpoints where+ rnf DescribeEndpoints' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf mode+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeEndpoints where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeEndpoints where+ toJSON DescribeEndpoints' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("mode" Data..=) Prelude.<$> mode,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeEndpoints where+ toPath = Prelude.const "/2017-08-29/endpoints"++instance Data.ToQuery DescribeEndpoints where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeEndpointsResponse' smart constructor.+data DescribeEndpointsResponse = DescribeEndpointsResponse'+ { -- | List of endpoints+ endpoints :: Prelude.Maybe [Endpoint],+ -- | Use this string to request the next batch of endpoints.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEndpointsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpoints', 'describeEndpointsResponse_endpoints' - List of endpoints+--+-- 'nextToken', 'describeEndpointsResponse_nextToken' - Use this string to request the next batch of endpoints.+--+-- 'httpStatus', 'describeEndpointsResponse_httpStatus' - The response's http status code.+newDescribeEndpointsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeEndpointsResponse+newDescribeEndpointsResponse pHttpStatus_ =+ DescribeEndpointsResponse'+ { endpoints =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | List of endpoints+describeEndpointsResponse_endpoints :: Lens.Lens' DescribeEndpointsResponse (Prelude.Maybe [Endpoint])+describeEndpointsResponse_endpoints = Lens.lens (\DescribeEndpointsResponse' {endpoints} -> endpoints) (\s@DescribeEndpointsResponse' {} a -> s {endpoints = a} :: DescribeEndpointsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Use this string to request the next batch of endpoints.+describeEndpointsResponse_nextToken :: Lens.Lens' DescribeEndpointsResponse (Prelude.Maybe Prelude.Text)+describeEndpointsResponse_nextToken = Lens.lens (\DescribeEndpointsResponse' {nextToken} -> nextToken) (\s@DescribeEndpointsResponse' {} a -> s {nextToken = a} :: DescribeEndpointsResponse)++-- | The response's http status code.+describeEndpointsResponse_httpStatus :: Lens.Lens' DescribeEndpointsResponse Prelude.Int+describeEndpointsResponse_httpStatus = Lens.lens (\DescribeEndpointsResponse' {httpStatus} -> httpStatus) (\s@DescribeEndpointsResponse' {} a -> s {httpStatus = a} :: DescribeEndpointsResponse)++instance Prelude.NFData DescribeEndpointsResponse where+ rnf DescribeEndpointsResponse' {..} =+ Prelude.rnf endpoints+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.DisassociateCertificate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes an association between the Amazon Resource Name (ARN) of an AWS+-- Certificate Manager (ACM) certificate and an AWS Elemental MediaConvert+-- resource.+module Amazonka.MediaConvert.DisassociateCertificate+ ( -- * Creating a Request+ DisassociateCertificate (..),+ newDisassociateCertificate,++ -- * Request Lenses+ disassociateCertificate_arn,++ -- * Destructuring the Response+ DisassociateCertificateResponse (..),+ newDisassociateCertificateResponse,++ -- * Response Lenses+ disassociateCertificateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateCertificate' smart constructor.+data DisassociateCertificate = DisassociateCertificate'+ { -- | The ARN of the ACM certificate that you want to disassociate from your+ -- MediaConvert resource.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateCertificate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'disassociateCertificate_arn' - The ARN of the ACM certificate that you want to disassociate from your+-- MediaConvert resource.+newDisassociateCertificate ::+ -- | 'arn'+ Prelude.Text ->+ DisassociateCertificate+newDisassociateCertificate pArn_ =+ DisassociateCertificate' {arn = pArn_}++-- | The ARN of the ACM certificate that you want to disassociate from your+-- MediaConvert resource.+disassociateCertificate_arn :: Lens.Lens' DisassociateCertificate Prelude.Text+disassociateCertificate_arn = Lens.lens (\DisassociateCertificate' {arn} -> arn) (\s@DisassociateCertificate' {} a -> s {arn = a} :: DisassociateCertificate)++instance Core.AWSRequest DisassociateCertificate where+ type+ AWSResponse DisassociateCertificate =+ DisassociateCertificateResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateCertificateResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociateCertificate where+ hashWithSalt _salt DisassociateCertificate' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DisassociateCertificate where+ rnf DisassociateCertificate' {..} = Prelude.rnf arn++instance Data.ToHeaders DisassociateCertificate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DisassociateCertificate where+ toPath DisassociateCertificate' {..} =+ Prelude.mconcat+ ["/2017-08-29/certificates/", Data.toBS arn]++instance Data.ToQuery DisassociateCertificate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateCertificateResponse' smart constructor.+data DisassociateCertificateResponse = DisassociateCertificateResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateCertificateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'disassociateCertificateResponse_httpStatus' - The response's http status code.+newDisassociateCertificateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateCertificateResponse+newDisassociateCertificateResponse pHttpStatus_ =+ DisassociateCertificateResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateCertificateResponse_httpStatus :: Lens.Lens' DisassociateCertificateResponse Prelude.Int+disassociateCertificateResponse_httpStatus = Lens.lens (\DisassociateCertificateResponse' {httpStatus} -> httpStatus) (\s@DisassociateCertificateResponse' {} a -> s {httpStatus = a} :: DisassociateCertificateResponse)++instance+ Prelude.NFData+ DisassociateCertificateResponse+ where+ rnf DisassociateCertificateResponse' {..} =+ Prelude.rnf httpStatus
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.GetJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the JSON for a specific completed transcoding job.+module Amazonka.MediaConvert.GetJob+ ( -- * Creating a Request+ GetJob (..),+ newGetJob,++ -- * Request Lenses+ getJob_id,++ -- * Destructuring the Response+ GetJobResponse (..),+ newGetJobResponse,++ -- * Response Lenses+ getJobResponse_job,+ getJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetJob' smart constructor.+data GetJob = GetJob'+ { -- | the job ID of the job.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getJob_id' - the job ID of the job.+newGetJob ::+ -- | 'id'+ Prelude.Text ->+ GetJob+newGetJob pId_ = GetJob' {id = pId_}++-- | the job ID of the job.+getJob_id :: Lens.Lens' GetJob Prelude.Text+getJob_id = Lens.lens (\GetJob' {id} -> id) (\s@GetJob' {} a -> s {id = a} :: GetJob)++instance Core.AWSRequest GetJob where+ type AWSResponse GetJob = GetJobResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetJobResponse'+ Prelude.<$> (x Data..?> "job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetJob where+ hashWithSalt _salt GetJob' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetJob where+ rnf GetJob' {..} = Prelude.rnf id++instance Data.ToHeaders GetJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetJob where+ toPath GetJob' {..} =+ Prelude.mconcat ["/2017-08-29/jobs/", Data.toBS id]++instance Data.ToQuery GetJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetJobResponse' smart constructor.+data GetJobResponse = GetJobResponse'+ { -- | Each job converts an input file into an output file or files. For more+ -- information, see the User Guide at+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+ job :: Prelude.Maybe Job,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'getJobResponse_job' - Each job converts an input file into an output file or files. For more+-- information, see the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+--+-- 'httpStatus', 'getJobResponse_httpStatus' - The response's http status code.+newGetJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetJobResponse+newGetJobResponse pHttpStatus_ =+ GetJobResponse'+ { job = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Each job converts an input file into an output file or files. For more+-- information, see the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+getJobResponse_job :: Lens.Lens' GetJobResponse (Prelude.Maybe Job)+getJobResponse_job = Lens.lens (\GetJobResponse' {job} -> job) (\s@GetJobResponse' {} a -> s {job = a} :: GetJobResponse)++-- | The response's http status code.+getJobResponse_httpStatus :: Lens.Lens' GetJobResponse Prelude.Int+getJobResponse_httpStatus = Lens.lens (\GetJobResponse' {httpStatus} -> httpStatus) (\s@GetJobResponse' {} a -> s {httpStatus = a} :: GetJobResponse)++instance Prelude.NFData GetJobResponse where+ rnf GetJobResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.GetJobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the JSON for a specific job template.+module Amazonka.MediaConvert.GetJobTemplate+ ( -- * Creating a Request+ GetJobTemplate (..),+ newGetJobTemplate,++ -- * Request Lenses+ getJobTemplate_name,++ -- * Destructuring the Response+ GetJobTemplateResponse (..),+ newGetJobTemplateResponse,++ -- * Response Lenses+ getJobTemplateResponse_jobTemplate,+ getJobTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetJobTemplate' smart constructor.+data GetJobTemplate = GetJobTemplate'+ { -- | The name of the job template.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetJobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getJobTemplate_name' - The name of the job template.+newGetJobTemplate ::+ -- | 'name'+ Prelude.Text ->+ GetJobTemplate+newGetJobTemplate pName_ =+ GetJobTemplate' {name = pName_}++-- | The name of the job template.+getJobTemplate_name :: Lens.Lens' GetJobTemplate Prelude.Text+getJobTemplate_name = Lens.lens (\GetJobTemplate' {name} -> name) (\s@GetJobTemplate' {} a -> s {name = a} :: GetJobTemplate)++instance Core.AWSRequest GetJobTemplate where+ type+ AWSResponse GetJobTemplate =+ GetJobTemplateResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetJobTemplateResponse'+ Prelude.<$> (x Data..?> "jobTemplate")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetJobTemplate where+ hashWithSalt _salt GetJobTemplate' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetJobTemplate where+ rnf GetJobTemplate' {..} = Prelude.rnf name++instance Data.ToHeaders GetJobTemplate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetJobTemplate where+ toPath GetJobTemplate' {..} =+ Prelude.mconcat+ ["/2017-08-29/jobTemplates/", Data.toBS name]++instance Data.ToQuery GetJobTemplate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetJobTemplateResponse' smart constructor.+data GetJobTemplateResponse = GetJobTemplateResponse'+ { -- | A job template is a pre-made set of encoding instructions that you can+ -- use to quickly create a job.+ jobTemplate :: Prelude.Maybe JobTemplate,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetJobTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTemplate', 'getJobTemplateResponse_jobTemplate' - A job template is a pre-made set of encoding instructions that you can+-- use to quickly create a job.+--+-- 'httpStatus', 'getJobTemplateResponse_httpStatus' - The response's http status code.+newGetJobTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetJobTemplateResponse+newGetJobTemplateResponse pHttpStatus_ =+ GetJobTemplateResponse'+ { jobTemplate =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A job template is a pre-made set of encoding instructions that you can+-- use to quickly create a job.+getJobTemplateResponse_jobTemplate :: Lens.Lens' GetJobTemplateResponse (Prelude.Maybe JobTemplate)+getJobTemplateResponse_jobTemplate = Lens.lens (\GetJobTemplateResponse' {jobTemplate} -> jobTemplate) (\s@GetJobTemplateResponse' {} a -> s {jobTemplate = a} :: GetJobTemplateResponse)++-- | The response's http status code.+getJobTemplateResponse_httpStatus :: Lens.Lens' GetJobTemplateResponse Prelude.Int+getJobTemplateResponse_httpStatus = Lens.lens (\GetJobTemplateResponse' {httpStatus} -> httpStatus) (\s@GetJobTemplateResponse' {} a -> s {httpStatus = a} :: GetJobTemplateResponse)++instance Prelude.NFData GetJobTemplateResponse where+ rnf GetJobTemplateResponse' {..} =+ Prelude.rnf jobTemplate+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.GetPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the JSON for your policy.+module Amazonka.MediaConvert.GetPolicy+ ( -- * Creating a Request+ GetPolicy (..),+ newGetPolicy,++ -- * Destructuring the Response+ GetPolicyResponse (..),+ newGetPolicyResponse,++ -- * Response Lenses+ getPolicyResponse_policy,+ getPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPolicy' smart constructor.+data GetPolicy = GetPolicy'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetPolicy ::+ GetPolicy+newGetPolicy = GetPolicy'++instance Core.AWSRequest GetPolicy where+ type AWSResponse GetPolicy = GetPolicyResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPolicyResponse'+ Prelude.<$> (x Data..?> "policy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPolicy where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetPolicy where+ rnf _ = ()++instance Data.ToHeaders GetPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetPolicy where+ toPath = Prelude.const "/2017-08-29/policy"++instance Data.ToQuery GetPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPolicyResponse' smart constructor.+data GetPolicyResponse = GetPolicyResponse'+ { -- | A policy configures behavior that you allow or disallow for your+ -- account. For information about MediaConvert policies, see the user guide+ -- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+ policy :: Prelude.Maybe Policy,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getPolicyResponse_policy' - A policy configures behavior that you allow or disallow for your+-- account. For information about MediaConvert policies, see the user guide+-- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+--+-- 'httpStatus', 'getPolicyResponse_httpStatus' - The response's http status code.+newGetPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPolicyResponse+newGetPolicyResponse pHttpStatus_ =+ GetPolicyResponse'+ { policy = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A policy configures behavior that you allow or disallow for your+-- account. For information about MediaConvert policies, see the user guide+-- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+getPolicyResponse_policy :: Lens.Lens' GetPolicyResponse (Prelude.Maybe Policy)+getPolicyResponse_policy = Lens.lens (\GetPolicyResponse' {policy} -> policy) (\s@GetPolicyResponse' {} a -> s {policy = a} :: GetPolicyResponse)++-- | The response's http status code.+getPolicyResponse_httpStatus :: Lens.Lens' GetPolicyResponse Prelude.Int+getPolicyResponse_httpStatus = Lens.lens (\GetPolicyResponse' {httpStatus} -> httpStatus) (\s@GetPolicyResponse' {} a -> s {httpStatus = a} :: GetPolicyResponse)++instance Prelude.NFData GetPolicyResponse where+ rnf GetPolicyResponse' {..} =+ Prelude.rnf policy+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.GetPreset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the JSON for a specific preset.+module Amazonka.MediaConvert.GetPreset+ ( -- * Creating a Request+ GetPreset (..),+ newGetPreset,++ -- * Request Lenses+ getPreset_name,++ -- * Destructuring the Response+ GetPresetResponse (..),+ newGetPresetResponse,++ -- * Response Lenses+ getPresetResponse_preset,+ getPresetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPreset' smart constructor.+data GetPreset = GetPreset'+ { -- | The name of the preset.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPreset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getPreset_name' - The name of the preset.+newGetPreset ::+ -- | 'name'+ Prelude.Text ->+ GetPreset+newGetPreset pName_ = GetPreset' {name = pName_}++-- | The name of the preset.+getPreset_name :: Lens.Lens' GetPreset Prelude.Text+getPreset_name = Lens.lens (\GetPreset' {name} -> name) (\s@GetPreset' {} a -> s {name = a} :: GetPreset)++instance Core.AWSRequest GetPreset where+ type AWSResponse GetPreset = GetPresetResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPresetResponse'+ Prelude.<$> (x Data..?> "preset")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPreset where+ hashWithSalt _salt GetPreset' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetPreset where+ rnf GetPreset' {..} = Prelude.rnf name++instance Data.ToHeaders GetPreset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetPreset where+ toPath GetPreset' {..} =+ Prelude.mconcat+ ["/2017-08-29/presets/", Data.toBS name]++instance Data.ToQuery GetPreset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPresetResponse' smart constructor.+data GetPresetResponse = GetPresetResponse'+ { -- | A preset is a collection of preconfigured media conversion settings that+ -- you want MediaConvert to apply to the output during the conversion+ -- process.+ preset :: Prelude.Maybe Preset,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPresetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'preset', 'getPresetResponse_preset' - A preset is a collection of preconfigured media conversion settings that+-- you want MediaConvert to apply to the output during the conversion+-- process.+--+-- 'httpStatus', 'getPresetResponse_httpStatus' - The response's http status code.+newGetPresetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPresetResponse+newGetPresetResponse pHttpStatus_ =+ GetPresetResponse'+ { preset = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A preset is a collection of preconfigured media conversion settings that+-- you want MediaConvert to apply to the output during the conversion+-- process.+getPresetResponse_preset :: Lens.Lens' GetPresetResponse (Prelude.Maybe Preset)+getPresetResponse_preset = Lens.lens (\GetPresetResponse' {preset} -> preset) (\s@GetPresetResponse' {} a -> s {preset = a} :: GetPresetResponse)++-- | The response's http status code.+getPresetResponse_httpStatus :: Lens.Lens' GetPresetResponse Prelude.Int+getPresetResponse_httpStatus = Lens.lens (\GetPresetResponse' {httpStatus} -> httpStatus) (\s@GetPresetResponse' {} a -> s {httpStatus = a} :: GetPresetResponse)++instance Prelude.NFData GetPresetResponse where+ rnf GetPresetResponse' {..} =+ Prelude.rnf preset+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.GetQueue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the JSON for a specific queue.+module Amazonka.MediaConvert.GetQueue+ ( -- * Creating a Request+ GetQueue (..),+ newGetQueue,++ -- * Request Lenses+ getQueue_name,++ -- * Destructuring the Response+ GetQueueResponse (..),+ newGetQueueResponse,++ -- * Response Lenses+ getQueueResponse_queue,+ getQueueResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetQueue' smart constructor.+data GetQueue = GetQueue'+ { -- | The name of the queue that you want information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetQueue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getQueue_name' - The name of the queue that you want information about.+newGetQueue ::+ -- | 'name'+ Prelude.Text ->+ GetQueue+newGetQueue pName_ = GetQueue' {name = pName_}++-- | The name of the queue that you want information about.+getQueue_name :: Lens.Lens' GetQueue Prelude.Text+getQueue_name = Lens.lens (\GetQueue' {name} -> name) (\s@GetQueue' {} a -> s {name = a} :: GetQueue)++instance Core.AWSRequest GetQueue where+ type AWSResponse GetQueue = GetQueueResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetQueueResponse'+ Prelude.<$> (x Data..?> "queue")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetQueue where+ hashWithSalt _salt GetQueue' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetQueue where+ rnf GetQueue' {..} = Prelude.rnf name++instance Data.ToHeaders GetQueue where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetQueue where+ toPath GetQueue' {..} =+ Prelude.mconcat+ ["/2017-08-29/queues/", Data.toBS name]++instance Data.ToQuery GetQueue where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetQueueResponse' smart constructor.+data GetQueueResponse = GetQueueResponse'+ { -- | You can use queues to manage the resources that are available to your+ -- AWS account for running multiple transcoding jobs at the same time. If+ -- you don\'t specify a queue, the service sends all jobs through the+ -- default queue. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html.+ queue :: Prelude.Maybe Queue,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetQueueResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'queue', 'getQueueResponse_queue' - You can use queues to manage the resources that are available to your+-- AWS account for running multiple transcoding jobs at the same time. If+-- you don\'t specify a queue, the service sends all jobs through the+-- default queue. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html.+--+-- 'httpStatus', 'getQueueResponse_httpStatus' - The response's http status code.+newGetQueueResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetQueueResponse+newGetQueueResponse pHttpStatus_ =+ GetQueueResponse'+ { queue = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | You can use queues to manage the resources that are available to your+-- AWS account for running multiple transcoding jobs at the same time. If+-- you don\'t specify a queue, the service sends all jobs through the+-- default queue. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/working-with-queues.html.+getQueueResponse_queue :: Lens.Lens' GetQueueResponse (Prelude.Maybe Queue)+getQueueResponse_queue = Lens.lens (\GetQueueResponse' {queue} -> queue) (\s@GetQueueResponse' {} a -> s {queue = a} :: GetQueueResponse)++-- | The response's http status code.+getQueueResponse_httpStatus :: Lens.Lens' GetQueueResponse Prelude.Int+getQueueResponse_httpStatus = Lens.lens (\GetQueueResponse' {httpStatus} -> httpStatus) (\s@GetQueueResponse' {} a -> s {httpStatus = a} :: GetQueueResponse)++instance Prelude.NFData GetQueueResponse where+ rnf GetQueueResponse' {..} =+ Prelude.rnf queue+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,1877 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Lens+ ( -- * Operations++ -- ** AssociateCertificate+ associateCertificate_arn,+ associateCertificateResponse_httpStatus,++ -- ** CancelJob+ cancelJob_id,+ cancelJobResponse_httpStatus,++ -- ** CreateJob+ createJob_accelerationSettings,+ createJob_billingTagsSource,+ createJob_clientRequestToken,+ createJob_hopDestinations,+ createJob_jobTemplate,+ createJob_priority,+ createJob_queue,+ createJob_simulateReservedQueue,+ createJob_statusUpdateInterval,+ createJob_tags,+ createJob_userMetadata,+ createJob_role,+ createJob_settings,+ createJobResponse_job,+ createJobResponse_httpStatus,++ -- ** CreateJobTemplate+ createJobTemplate_accelerationSettings,+ createJobTemplate_category,+ createJobTemplate_description,+ createJobTemplate_hopDestinations,+ createJobTemplate_priority,+ createJobTemplate_queue,+ createJobTemplate_statusUpdateInterval,+ createJobTemplate_tags,+ createJobTemplate_settings,+ createJobTemplate_name,+ createJobTemplateResponse_jobTemplate,+ createJobTemplateResponse_httpStatus,++ -- ** CreatePreset+ createPreset_category,+ createPreset_description,+ createPreset_tags,+ createPreset_settings,+ createPreset_name,+ createPresetResponse_preset,+ createPresetResponse_httpStatus,++ -- ** CreateQueue+ createQueue_description,+ createQueue_pricingPlan,+ createQueue_reservationPlanSettings,+ createQueue_status,+ createQueue_tags,+ createQueue_name,+ createQueueResponse_queue,+ createQueueResponse_httpStatus,++ -- ** DeleteJobTemplate+ deleteJobTemplate_name,+ deleteJobTemplateResponse_httpStatus,++ -- ** DeletePolicy+ deletePolicyResponse_httpStatus,++ -- ** DeletePreset+ deletePreset_name,+ deletePresetResponse_httpStatus,++ -- ** DeleteQueue+ deleteQueue_name,+ deleteQueueResponse_httpStatus,++ -- ** DescribeEndpoints+ describeEndpoints_maxResults,+ describeEndpoints_mode,+ describeEndpoints_nextToken,+ describeEndpointsResponse_endpoints,+ describeEndpointsResponse_nextToken,+ describeEndpointsResponse_httpStatus,++ -- ** DisassociateCertificate+ disassociateCertificate_arn,+ disassociateCertificateResponse_httpStatus,++ -- ** GetJob+ getJob_id,+ getJobResponse_job,+ getJobResponse_httpStatus,++ -- ** GetJobTemplate+ getJobTemplate_name,+ getJobTemplateResponse_jobTemplate,+ getJobTemplateResponse_httpStatus,++ -- ** GetPolicy+ getPolicyResponse_policy,+ getPolicyResponse_httpStatus,++ -- ** GetPreset+ getPreset_name,+ getPresetResponse_preset,+ getPresetResponse_httpStatus,++ -- ** GetQueue+ getQueue_name,+ getQueueResponse_queue,+ getQueueResponse_httpStatus,++ -- ** ListJobTemplates+ listJobTemplates_category,+ listJobTemplates_listBy,+ listJobTemplates_maxResults,+ listJobTemplates_nextToken,+ listJobTemplates_order,+ listJobTemplatesResponse_jobTemplates,+ listJobTemplatesResponse_nextToken,+ listJobTemplatesResponse_httpStatus,++ -- ** ListJobs+ listJobs_maxResults,+ listJobs_nextToken,+ listJobs_order,+ listJobs_queue,+ listJobs_status,+ listJobsResponse_jobs,+ listJobsResponse_nextToken,+ listJobsResponse_httpStatus,++ -- ** ListPresets+ listPresets_category,+ listPresets_listBy,+ listPresets_maxResults,+ listPresets_nextToken,+ listPresets_order,+ listPresetsResponse_nextToken,+ listPresetsResponse_presets,+ listPresetsResponse_httpStatus,++ -- ** ListQueues+ listQueues_listBy,+ listQueues_maxResults,+ listQueues_nextToken,+ listQueues_order,+ listQueuesResponse_nextToken,+ listQueuesResponse_queues,+ listQueuesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_arn,+ listTagsForResourceResponse_resourceTags,+ listTagsForResourceResponse_httpStatus,++ -- ** PutPolicy+ putPolicy_policy,+ putPolicyResponse_policy,+ putPolicyResponse_httpStatus,++ -- ** TagResource+ tagResource_arn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_tagKeys,+ untagResource_arn,+ untagResourceResponse_httpStatus,++ -- ** UpdateJobTemplate+ updateJobTemplate_accelerationSettings,+ updateJobTemplate_category,+ updateJobTemplate_description,+ updateJobTemplate_hopDestinations,+ updateJobTemplate_priority,+ updateJobTemplate_queue,+ updateJobTemplate_settings,+ updateJobTemplate_statusUpdateInterval,+ updateJobTemplate_name,+ updateJobTemplateResponse_jobTemplate,+ updateJobTemplateResponse_httpStatus,++ -- ** UpdatePreset+ updatePreset_category,+ updatePreset_description,+ updatePreset_settings,+ updatePreset_name,+ updatePresetResponse_preset,+ updatePresetResponse_httpStatus,++ -- ** UpdateQueue+ updateQueue_description,+ updateQueue_reservationPlanSettings,+ updateQueue_status,+ updateQueue_name,+ updateQueueResponse_queue,+ updateQueueResponse_httpStatus,++ -- * Types++ -- ** AacSettings+ aacSettings_audioDescriptionBroadcasterMix,+ aacSettings_bitrate,+ aacSettings_codecProfile,+ aacSettings_codingMode,+ aacSettings_rateControlMode,+ aacSettings_rawFormat,+ aacSettings_sampleRate,+ aacSettings_specification,+ aacSettings_vbrQuality,++ -- ** Ac3Settings+ ac3Settings_bitrate,+ ac3Settings_bitstreamMode,+ ac3Settings_codingMode,+ ac3Settings_dialnorm,+ ac3Settings_dynamicRangeCompressionLine,+ ac3Settings_dynamicRangeCompressionProfile,+ ac3Settings_dynamicRangeCompressionRf,+ ac3Settings_lfeFilter,+ ac3Settings_metadataControl,+ ac3Settings_sampleRate,++ -- ** AccelerationSettings+ accelerationSettings_mode,++ -- ** AiffSettings+ aiffSettings_bitDepth,+ aiffSettings_channels,+ aiffSettings_sampleRate,++ -- ** AllowedRenditionSize+ allowedRenditionSize_height,+ allowedRenditionSize_required,+ allowedRenditionSize_width,++ -- ** AncillarySourceSettings+ ancillarySourceSettings_convert608To708,+ ancillarySourceSettings_sourceAncillaryChannelNumber,+ ancillarySourceSettings_terminateCaptions,++ -- ** AudioChannelTaggingSettings+ audioChannelTaggingSettings_channelTag,++ -- ** AudioCodecSettings+ audioCodecSettings_aacSettings,+ audioCodecSettings_ac3Settings,+ audioCodecSettings_aiffSettings,+ audioCodecSettings_codec,+ audioCodecSettings_eac3AtmosSettings,+ audioCodecSettings_eac3Settings,+ audioCodecSettings_mp2Settings,+ audioCodecSettings_mp3Settings,+ audioCodecSettings_opusSettings,+ audioCodecSettings_vorbisSettings,+ audioCodecSettings_wavSettings,++ -- ** AudioDescription+ audioDescription_audioChannelTaggingSettings,+ audioDescription_audioNormalizationSettings,+ audioDescription_audioSourceName,+ audioDescription_audioType,+ audioDescription_audioTypeControl,+ audioDescription_codecSettings,+ audioDescription_customLanguageCode,+ audioDescription_languageCode,+ audioDescription_languageCodeControl,+ audioDescription_remixSettings,+ audioDescription_streamName,++ -- ** AudioNormalizationSettings+ audioNormalizationSettings_algorithm,+ audioNormalizationSettings_algorithmControl,+ audioNormalizationSettings_correctionGateLevel,+ audioNormalizationSettings_loudnessLogging,+ audioNormalizationSettings_peakCalculation,+ audioNormalizationSettings_targetLkfs,++ -- ** AudioSelector+ audioSelector_audioDurationCorrection,+ audioSelector_customLanguageCode,+ audioSelector_defaultSelection,+ audioSelector_externalAudioFileInput,+ audioSelector_hlsRenditionGroupSettings,+ audioSelector_languageCode,+ audioSelector_offset,+ audioSelector_pids,+ audioSelector_programSelection,+ audioSelector_remixSettings,+ audioSelector_selectorType,+ audioSelector_tracks,++ -- ** AudioSelectorGroup+ audioSelectorGroup_audioSelectorNames,++ -- ** AutomatedAbrRule+ automatedAbrRule_allowedRenditions,+ automatedAbrRule_forceIncludeRenditions,+ automatedAbrRule_minBottomRenditionSize,+ automatedAbrRule_minTopRenditionSize,+ automatedAbrRule_type,++ -- ** AutomatedAbrSettings+ automatedAbrSettings_maxAbrBitrate,+ automatedAbrSettings_maxRenditions,+ automatedAbrSettings_minAbrBitrate,+ automatedAbrSettings_rules,++ -- ** AutomatedEncodingSettings+ automatedEncodingSettings_abrSettings,++ -- ** Av1QvbrSettings+ av1QvbrSettings_qvbrQualityLevel,+ av1QvbrSettings_qvbrQualityLevelFineTune,++ -- ** Av1Settings+ av1Settings_adaptiveQuantization,+ av1Settings_bitDepth,+ av1Settings_framerateControl,+ av1Settings_framerateConversionAlgorithm,+ av1Settings_framerateDenominator,+ av1Settings_framerateNumerator,+ av1Settings_gopSize,+ av1Settings_maxBitrate,+ av1Settings_numberBFramesBetweenReferenceFrames,+ av1Settings_qvbrSettings,+ av1Settings_rateControlMode,+ av1Settings_slices,+ av1Settings_spatialAdaptiveQuantization,++ -- ** AvailBlanking+ availBlanking_availBlankingImage,++ -- ** AvcIntraSettings+ avcIntraSettings_avcIntraClass,+ avcIntraSettings_avcIntraUhdSettings,+ avcIntraSettings_framerateControl,+ avcIntraSettings_framerateConversionAlgorithm,+ avcIntraSettings_framerateDenominator,+ avcIntraSettings_framerateNumerator,+ avcIntraSettings_interlaceMode,+ avcIntraSettings_scanTypeConversionMode,+ avcIntraSettings_slowPal,+ avcIntraSettings_telecine,++ -- ** AvcIntraUhdSettings+ avcIntraUhdSettings_qualityTuningLevel,++ -- ** BurninDestinationSettings+ burninDestinationSettings_alignment,+ burninDestinationSettings_applyFontColor,+ burninDestinationSettings_backgroundColor,+ burninDestinationSettings_backgroundOpacity,+ burninDestinationSettings_fallbackFont,+ burninDestinationSettings_fontColor,+ burninDestinationSettings_fontOpacity,+ burninDestinationSettings_fontResolution,+ burninDestinationSettings_fontScript,+ burninDestinationSettings_fontSize,+ burninDestinationSettings_hexFontColor,+ burninDestinationSettings_outlineColor,+ burninDestinationSettings_outlineSize,+ burninDestinationSettings_shadowColor,+ burninDestinationSettings_shadowOpacity,+ burninDestinationSettings_shadowXOffset,+ burninDestinationSettings_shadowYOffset,+ burninDestinationSettings_stylePassthrough,+ burninDestinationSettings_teletextSpacing,+ burninDestinationSettings_xPosition,+ burninDestinationSettings_yPosition,++ -- ** CaptionDescription+ captionDescription_captionSelectorName,+ captionDescription_customLanguageCode,+ captionDescription_destinationSettings,+ captionDescription_languageCode,+ captionDescription_languageDescription,++ -- ** CaptionDescriptionPreset+ captionDescriptionPreset_customLanguageCode,+ captionDescriptionPreset_destinationSettings,+ captionDescriptionPreset_languageCode,+ captionDescriptionPreset_languageDescription,++ -- ** CaptionDestinationSettings+ captionDestinationSettings_burninDestinationSettings,+ captionDestinationSettings_destinationType,+ captionDestinationSettings_dvbSubDestinationSettings,+ captionDestinationSettings_embeddedDestinationSettings,+ captionDestinationSettings_imscDestinationSettings,+ captionDestinationSettings_sccDestinationSettings,+ captionDestinationSettings_srtDestinationSettings,+ captionDestinationSettings_teletextDestinationSettings,+ captionDestinationSettings_ttmlDestinationSettings,+ captionDestinationSettings_webvttDestinationSettings,++ -- ** CaptionSelector+ captionSelector_customLanguageCode,+ captionSelector_languageCode,+ captionSelector_sourceSettings,++ -- ** CaptionSourceFramerate+ captionSourceFramerate_framerateDenominator,+ captionSourceFramerate_framerateNumerator,++ -- ** CaptionSourceSettings+ captionSourceSettings_ancillarySourceSettings,+ captionSourceSettings_dvbSubSourceSettings,+ captionSourceSettings_embeddedSourceSettings,+ captionSourceSettings_fileSourceSettings,+ captionSourceSettings_sourceType,+ captionSourceSettings_teletextSourceSettings,+ captionSourceSettings_trackSourceSettings,+ captionSourceSettings_webvttHlsSourceSettings,++ -- ** ChannelMapping+ channelMapping_outputChannels,++ -- ** CmafAdditionalManifest+ cmafAdditionalManifest_manifestNameModifier,+ cmafAdditionalManifest_selectedOutputs,++ -- ** CmafEncryptionSettings+ cmafEncryptionSettings_constantInitializationVector,+ cmafEncryptionSettings_encryptionMethod,+ cmafEncryptionSettings_initializationVectorInManifest,+ cmafEncryptionSettings_spekeKeyProvider,+ cmafEncryptionSettings_staticKeyProvider,+ cmafEncryptionSettings_type,++ -- ** CmafGroupSettings+ cmafGroupSettings_additionalManifests,+ cmafGroupSettings_baseUrl,+ cmafGroupSettings_clientCache,+ cmafGroupSettings_codecSpecification,+ cmafGroupSettings_destination,+ cmafGroupSettings_destinationSettings,+ cmafGroupSettings_encryption,+ cmafGroupSettings_fragmentLength,+ cmafGroupSettings_imageBasedTrickPlay,+ cmafGroupSettings_imageBasedTrickPlaySettings,+ cmafGroupSettings_manifestCompression,+ cmafGroupSettings_manifestDurationFormat,+ cmafGroupSettings_minBufferTime,+ cmafGroupSettings_minFinalSegmentLength,+ cmafGroupSettings_mpdManifestBandwidthType,+ cmafGroupSettings_mpdProfile,+ cmafGroupSettings_ptsOffsetHandlingForBFrames,+ cmafGroupSettings_segmentControl,+ cmafGroupSettings_segmentLength,+ cmafGroupSettings_segmentLengthControl,+ cmafGroupSettings_streamInfResolution,+ cmafGroupSettings_targetDurationCompatibilityMode,+ cmafGroupSettings_videoCompositionOffsets,+ cmafGroupSettings_writeDashManifest,+ cmafGroupSettings_writeHlsManifest,+ cmafGroupSettings_writeSegmentTimelineInRepresentation,++ -- ** CmafImageBasedTrickPlaySettings+ cmafImageBasedTrickPlaySettings_intervalCadence,+ cmafImageBasedTrickPlaySettings_thumbnailHeight,+ cmafImageBasedTrickPlaySettings_thumbnailInterval,+ cmafImageBasedTrickPlaySettings_thumbnailWidth,+ cmafImageBasedTrickPlaySettings_tileHeight,+ cmafImageBasedTrickPlaySettings_tileWidth,++ -- ** CmfcSettings+ cmfcSettings_audioDuration,+ cmfcSettings_audioGroupId,+ cmfcSettings_audioRenditionSets,+ cmfcSettings_audioTrackType,+ cmfcSettings_descriptiveVideoServiceFlag,+ cmfcSettings_iFrameOnlyManifest,+ cmfcSettings_klvMetadata,+ cmfcSettings_manifestMetadataSignaling,+ cmfcSettings_scte35Esam,+ cmfcSettings_scte35Source,+ cmfcSettings_timedMetadata,+ cmfcSettings_timedMetadataBoxVersion,+ cmfcSettings_timedMetadataSchemeIdUri,+ cmfcSettings_timedMetadataValue,++ -- ** ColorCorrector+ colorCorrector_brightness,+ colorCorrector_colorSpaceConversion,+ colorCorrector_contrast,+ colorCorrector_hdr10Metadata,+ colorCorrector_hue,+ colorCorrector_sampleRangeConversion,+ colorCorrector_saturation,+ colorCorrector_sdrReferenceWhiteLevel,++ -- ** ContainerSettings+ containerSettings_cmfcSettings,+ containerSettings_container,+ containerSettings_f4vSettings,+ containerSettings_m2tsSettings,+ containerSettings_m3u8Settings,+ containerSettings_movSettings,+ containerSettings_mp4Settings,+ containerSettings_mpdSettings,+ containerSettings_mxfSettings,++ -- ** DashAdditionalManifest+ dashAdditionalManifest_manifestNameModifier,+ dashAdditionalManifest_selectedOutputs,++ -- ** DashIsoEncryptionSettings+ dashIsoEncryptionSettings_playbackDeviceCompatibility,+ dashIsoEncryptionSettings_spekeKeyProvider,++ -- ** DashIsoGroupSettings+ dashIsoGroupSettings_additionalManifests,+ dashIsoGroupSettings_audioChannelConfigSchemeIdUri,+ dashIsoGroupSettings_baseUrl,+ dashIsoGroupSettings_destination,+ dashIsoGroupSettings_destinationSettings,+ dashIsoGroupSettings_encryption,+ dashIsoGroupSettings_fragmentLength,+ dashIsoGroupSettings_hbbtvCompliance,+ dashIsoGroupSettings_imageBasedTrickPlay,+ dashIsoGroupSettings_imageBasedTrickPlaySettings,+ dashIsoGroupSettings_minBufferTime,+ dashIsoGroupSettings_minFinalSegmentLength,+ dashIsoGroupSettings_mpdManifestBandwidthType,+ dashIsoGroupSettings_mpdProfile,+ dashIsoGroupSettings_ptsOffsetHandlingForBFrames,+ dashIsoGroupSettings_segmentControl,+ dashIsoGroupSettings_segmentLength,+ dashIsoGroupSettings_segmentLengthControl,+ dashIsoGroupSettings_videoCompositionOffsets,+ dashIsoGroupSettings_writeSegmentTimelineInRepresentation,++ -- ** DashIsoImageBasedTrickPlaySettings+ dashIsoImageBasedTrickPlaySettings_intervalCadence,+ dashIsoImageBasedTrickPlaySettings_thumbnailHeight,+ dashIsoImageBasedTrickPlaySettings_thumbnailInterval,+ dashIsoImageBasedTrickPlaySettings_thumbnailWidth,+ dashIsoImageBasedTrickPlaySettings_tileHeight,+ dashIsoImageBasedTrickPlaySettings_tileWidth,++ -- ** Deinterlacer+ deinterlacer_algorithm,+ deinterlacer_control,+ deinterlacer_mode,++ -- ** DestinationSettings+ destinationSettings_s3Settings,++ -- ** DolbyVision+ dolbyVision_l6Metadata,+ dolbyVision_l6Mode,+ dolbyVision_mapping,+ dolbyVision_profile,++ -- ** DolbyVisionLevel6Metadata+ dolbyVisionLevel6Metadata_maxCll,+ dolbyVisionLevel6Metadata_maxFall,++ -- ** DvbNitSettings+ dvbNitSettings_networkId,+ dvbNitSettings_networkName,+ dvbNitSettings_nitInterval,++ -- ** DvbSdtSettings+ dvbSdtSettings_outputSdt,+ dvbSdtSettings_sdtInterval,+ dvbSdtSettings_serviceName,+ dvbSdtSettings_serviceProviderName,++ -- ** DvbSubDestinationSettings+ dvbSubDestinationSettings_alignment,+ dvbSubDestinationSettings_applyFontColor,+ dvbSubDestinationSettings_backgroundColor,+ dvbSubDestinationSettings_backgroundOpacity,+ dvbSubDestinationSettings_ddsHandling,+ dvbSubDestinationSettings_ddsXCoordinate,+ dvbSubDestinationSettings_ddsYCoordinate,+ dvbSubDestinationSettings_fallbackFont,+ dvbSubDestinationSettings_fontColor,+ dvbSubDestinationSettings_fontOpacity,+ dvbSubDestinationSettings_fontResolution,+ dvbSubDestinationSettings_fontScript,+ dvbSubDestinationSettings_fontSize,+ dvbSubDestinationSettings_height,+ dvbSubDestinationSettings_hexFontColor,+ dvbSubDestinationSettings_outlineColor,+ dvbSubDestinationSettings_outlineSize,+ dvbSubDestinationSettings_shadowColor,+ dvbSubDestinationSettings_shadowOpacity,+ dvbSubDestinationSettings_shadowXOffset,+ dvbSubDestinationSettings_shadowYOffset,+ dvbSubDestinationSettings_stylePassthrough,+ dvbSubDestinationSettings_subtitlingType,+ dvbSubDestinationSettings_teletextSpacing,+ dvbSubDestinationSettings_width,+ dvbSubDestinationSettings_xPosition,+ dvbSubDestinationSettings_yPosition,++ -- ** DvbSubSourceSettings+ dvbSubSourceSettings_pid,++ -- ** DvbTdtSettings+ dvbTdtSettings_tdtInterval,++ -- ** Eac3AtmosSettings+ eac3AtmosSettings_bitrate,+ eac3AtmosSettings_bitstreamMode,+ eac3AtmosSettings_codingMode,+ eac3AtmosSettings_dialogueIntelligence,+ eac3AtmosSettings_downmixControl,+ eac3AtmosSettings_dynamicRangeCompressionLine,+ eac3AtmosSettings_dynamicRangeCompressionRf,+ eac3AtmosSettings_dynamicRangeControl,+ eac3AtmosSettings_loRoCenterMixLevel,+ eac3AtmosSettings_loRoSurroundMixLevel,+ eac3AtmosSettings_ltRtCenterMixLevel,+ eac3AtmosSettings_ltRtSurroundMixLevel,+ eac3AtmosSettings_meteringMode,+ eac3AtmosSettings_sampleRate,+ eac3AtmosSettings_speechThreshold,+ eac3AtmosSettings_stereoDownmix,+ eac3AtmosSettings_surroundExMode,++ -- ** Eac3Settings+ eac3Settings_attenuationControl,+ eac3Settings_bitrate,+ eac3Settings_bitstreamMode,+ eac3Settings_codingMode,+ eac3Settings_dcFilter,+ eac3Settings_dialnorm,+ eac3Settings_dynamicRangeCompressionLine,+ eac3Settings_dynamicRangeCompressionRf,+ eac3Settings_lfeControl,+ eac3Settings_lfeFilter,+ eac3Settings_loRoCenterMixLevel,+ eac3Settings_loRoSurroundMixLevel,+ eac3Settings_ltRtCenterMixLevel,+ eac3Settings_ltRtSurroundMixLevel,+ eac3Settings_metadataControl,+ eac3Settings_passthroughControl,+ eac3Settings_phaseControl,+ eac3Settings_sampleRate,+ eac3Settings_stereoDownmix,+ eac3Settings_surroundExMode,+ eac3Settings_surroundMode,++ -- ** EmbeddedDestinationSettings+ embeddedDestinationSettings_destination608ChannelNumber,+ embeddedDestinationSettings_destination708ServiceNumber,++ -- ** EmbeddedSourceSettings+ embeddedSourceSettings_convert608To708,+ embeddedSourceSettings_source608ChannelNumber,+ embeddedSourceSettings_source608TrackNumber,+ embeddedSourceSettings_terminateCaptions,++ -- ** Endpoint+ endpoint_url,++ -- ** EsamManifestConfirmConditionNotification+ esamManifestConfirmConditionNotification_mccXml,++ -- ** EsamSettings+ esamSettings_manifestConfirmConditionNotification,+ esamSettings_responseSignalPreroll,+ esamSettings_signalProcessingNotification,++ -- ** EsamSignalProcessingNotification+ esamSignalProcessingNotification_sccXml,++ -- ** ExtendedDataServices+ extendedDataServices_copyProtectionAction,+ extendedDataServices_vchipAction,++ -- ** F4vSettings+ f4vSettings_moovPlacement,++ -- ** FileGroupSettings+ fileGroupSettings_destination,+ fileGroupSettings_destinationSettings,++ -- ** FileSourceSettings+ fileSourceSettings_convert608To708,+ fileSourceSettings_framerate,+ fileSourceSettings_sourceFile,+ fileSourceSettings_timeDelta,+ fileSourceSettings_timeDeltaUnits,++ -- ** ForceIncludeRenditionSize+ forceIncludeRenditionSize_height,+ forceIncludeRenditionSize_width,++ -- ** FrameCaptureSettings+ frameCaptureSettings_framerateDenominator,+ frameCaptureSettings_framerateNumerator,+ frameCaptureSettings_maxCaptures,+ frameCaptureSettings_quality,++ -- ** H264QvbrSettings+ h264QvbrSettings_maxAverageBitrate,+ h264QvbrSettings_qvbrQualityLevel,+ h264QvbrSettings_qvbrQualityLevelFineTune,++ -- ** H264Settings+ h264Settings_adaptiveQuantization,+ h264Settings_bitrate,+ h264Settings_codecLevel,+ h264Settings_codecProfile,+ h264Settings_dynamicSubGop,+ h264Settings_entropyEncoding,+ h264Settings_fieldEncoding,+ h264Settings_flickerAdaptiveQuantization,+ h264Settings_framerateControl,+ h264Settings_framerateConversionAlgorithm,+ h264Settings_framerateDenominator,+ h264Settings_framerateNumerator,+ h264Settings_gopBReference,+ h264Settings_gopClosedCadence,+ h264Settings_gopSize,+ h264Settings_gopSizeUnits,+ h264Settings_hrdBufferFinalFillPercentage,+ h264Settings_hrdBufferInitialFillPercentage,+ h264Settings_hrdBufferSize,+ h264Settings_interlaceMode,+ h264Settings_maxBitrate,+ h264Settings_minIInterval,+ h264Settings_numberBFramesBetweenReferenceFrames,+ h264Settings_numberReferenceFrames,+ h264Settings_parControl,+ h264Settings_parDenominator,+ h264Settings_parNumerator,+ h264Settings_qualityTuningLevel,+ h264Settings_qvbrSettings,+ h264Settings_rateControlMode,+ h264Settings_repeatPps,+ h264Settings_scanTypeConversionMode,+ h264Settings_sceneChangeDetect,+ h264Settings_slices,+ h264Settings_slowPal,+ h264Settings_softness,+ h264Settings_spatialAdaptiveQuantization,+ h264Settings_syntax,+ h264Settings_telecine,+ h264Settings_temporalAdaptiveQuantization,+ h264Settings_unregisteredSeiTimecode,++ -- ** H265QvbrSettings+ h265QvbrSettings_maxAverageBitrate,+ h265QvbrSettings_qvbrQualityLevel,+ h265QvbrSettings_qvbrQualityLevelFineTune,++ -- ** H265Settings+ h265Settings_adaptiveQuantization,+ h265Settings_alternateTransferFunctionSei,+ h265Settings_bitrate,+ h265Settings_codecLevel,+ h265Settings_codecProfile,+ h265Settings_dynamicSubGop,+ h265Settings_flickerAdaptiveQuantization,+ h265Settings_framerateControl,+ h265Settings_framerateConversionAlgorithm,+ h265Settings_framerateDenominator,+ h265Settings_framerateNumerator,+ h265Settings_gopBReference,+ h265Settings_gopClosedCadence,+ h265Settings_gopSize,+ h265Settings_gopSizeUnits,+ h265Settings_hrdBufferFinalFillPercentage,+ h265Settings_hrdBufferInitialFillPercentage,+ h265Settings_hrdBufferSize,+ h265Settings_interlaceMode,+ h265Settings_maxBitrate,+ h265Settings_minIInterval,+ h265Settings_numberBFramesBetweenReferenceFrames,+ h265Settings_numberReferenceFrames,+ h265Settings_parControl,+ h265Settings_parDenominator,+ h265Settings_parNumerator,+ h265Settings_qualityTuningLevel,+ h265Settings_qvbrSettings,+ h265Settings_rateControlMode,+ h265Settings_sampleAdaptiveOffsetFilterMode,+ h265Settings_scanTypeConversionMode,+ h265Settings_sceneChangeDetect,+ h265Settings_slices,+ h265Settings_slowPal,+ h265Settings_spatialAdaptiveQuantization,+ h265Settings_telecine,+ h265Settings_temporalAdaptiveQuantization,+ h265Settings_temporalIds,+ h265Settings_tiles,+ h265Settings_unregisteredSeiTimecode,+ h265Settings_writeMp4PackagingType,++ -- ** Hdr10Metadata+ hdr10Metadata_bluePrimaryX,+ hdr10Metadata_bluePrimaryY,+ hdr10Metadata_greenPrimaryX,+ hdr10Metadata_greenPrimaryY,+ hdr10Metadata_maxContentLightLevel,+ hdr10Metadata_maxFrameAverageLightLevel,+ hdr10Metadata_maxLuminance,+ hdr10Metadata_minLuminance,+ hdr10Metadata_redPrimaryX,+ hdr10Metadata_redPrimaryY,+ hdr10Metadata_whitePointX,+ hdr10Metadata_whitePointY,++ -- ** Hdr10Plus+ hdr10Plus_masteringMonitorNits,+ hdr10Plus_targetMonitorNits,++ -- ** HlsAdditionalManifest+ hlsAdditionalManifest_manifestNameModifier,+ hlsAdditionalManifest_selectedOutputs,++ -- ** HlsCaptionLanguageMapping+ hlsCaptionLanguageMapping_captionChannel,+ hlsCaptionLanguageMapping_customLanguageCode,+ hlsCaptionLanguageMapping_languageCode,+ hlsCaptionLanguageMapping_languageDescription,++ -- ** HlsEncryptionSettings+ hlsEncryptionSettings_constantInitializationVector,+ hlsEncryptionSettings_encryptionMethod,+ hlsEncryptionSettings_initializationVectorInManifest,+ hlsEncryptionSettings_offlineEncrypted,+ hlsEncryptionSettings_spekeKeyProvider,+ hlsEncryptionSettings_staticKeyProvider,+ hlsEncryptionSettings_type,++ -- ** HlsGroupSettings+ hlsGroupSettings_adMarkers,+ hlsGroupSettings_additionalManifests,+ hlsGroupSettings_audioOnlyHeader,+ hlsGroupSettings_baseUrl,+ hlsGroupSettings_captionLanguageMappings,+ hlsGroupSettings_captionLanguageSetting,+ hlsGroupSettings_captionSegmentLengthControl,+ hlsGroupSettings_clientCache,+ hlsGroupSettings_codecSpecification,+ hlsGroupSettings_destination,+ hlsGroupSettings_destinationSettings,+ hlsGroupSettings_directoryStructure,+ hlsGroupSettings_encryption,+ hlsGroupSettings_imageBasedTrickPlay,+ hlsGroupSettings_imageBasedTrickPlaySettings,+ hlsGroupSettings_manifestCompression,+ hlsGroupSettings_manifestDurationFormat,+ hlsGroupSettings_minFinalSegmentLength,+ hlsGroupSettings_minSegmentLength,+ hlsGroupSettings_outputSelection,+ hlsGroupSettings_programDateTime,+ hlsGroupSettings_programDateTimePeriod,+ hlsGroupSettings_segmentControl,+ hlsGroupSettings_segmentLength,+ hlsGroupSettings_segmentLengthControl,+ hlsGroupSettings_segmentsPerSubdirectory,+ hlsGroupSettings_streamInfResolution,+ hlsGroupSettings_targetDurationCompatibilityMode,+ hlsGroupSettings_timedMetadataId3Frame,+ hlsGroupSettings_timedMetadataId3Period,+ hlsGroupSettings_timestampDeltaMilliseconds,++ -- ** HlsImageBasedTrickPlaySettings+ hlsImageBasedTrickPlaySettings_intervalCadence,+ hlsImageBasedTrickPlaySettings_thumbnailHeight,+ hlsImageBasedTrickPlaySettings_thumbnailInterval,+ hlsImageBasedTrickPlaySettings_thumbnailWidth,+ hlsImageBasedTrickPlaySettings_tileHeight,+ hlsImageBasedTrickPlaySettings_tileWidth,++ -- ** HlsRenditionGroupSettings+ hlsRenditionGroupSettings_renditionGroupId,+ hlsRenditionGroupSettings_renditionLanguageCode,+ hlsRenditionGroupSettings_renditionName,++ -- ** HlsSettings+ hlsSettings_audioGroupId,+ hlsSettings_audioOnlyContainer,+ hlsSettings_audioRenditionSets,+ hlsSettings_audioTrackType,+ hlsSettings_descriptiveVideoServiceFlag,+ hlsSettings_iFrameOnlyManifest,+ hlsSettings_segmentModifier,++ -- ** HopDestination+ hopDestination_priority,+ hopDestination_queue,+ hopDestination_waitMinutes,++ -- ** Id3Insertion+ id3Insertion_id3,+ id3Insertion_timecode,++ -- ** ImageInserter+ imageInserter_insertableImages,+ imageInserter_sdrReferenceWhiteLevel,++ -- ** ImscDestinationSettings+ imscDestinationSettings_accessibility,+ imscDestinationSettings_stylePassthrough,++ -- ** Input+ input_audioSelectorGroups,+ input_audioSelectors,+ input_captionSelectors,+ input_crop,+ input_deblockFilter,+ input_decryptionSettings,+ input_denoiseFilter,+ input_dolbyVisionMetadataXml,+ input_fileInput,+ input_filterEnable,+ input_filterStrength,+ input_imageInserter,+ input_inputClippings,+ input_inputScanType,+ input_position,+ input_programNumber,+ input_psiControl,+ input_supplementalImps,+ input_timecodeSource,+ input_timecodeStart,+ input_videoGenerator,+ input_videoSelector,++ -- ** InputClipping+ inputClipping_endTimecode,+ inputClipping_startTimecode,++ -- ** InputDecryptionSettings+ inputDecryptionSettings_decryptionMode,+ inputDecryptionSettings_encryptedDecryptionKey,+ inputDecryptionSettings_initializationVector,+ inputDecryptionSettings_kmsKeyRegion,++ -- ** InputTemplate+ inputTemplate_audioSelectorGroups,+ inputTemplate_audioSelectors,+ inputTemplate_captionSelectors,+ inputTemplate_crop,+ inputTemplate_deblockFilter,+ inputTemplate_denoiseFilter,+ inputTemplate_dolbyVisionMetadataXml,+ inputTemplate_filterEnable,+ inputTemplate_filterStrength,+ inputTemplate_imageInserter,+ inputTemplate_inputClippings,+ inputTemplate_inputScanType,+ inputTemplate_position,+ inputTemplate_programNumber,+ inputTemplate_psiControl,+ inputTemplate_timecodeSource,+ inputTemplate_timecodeStart,+ inputTemplate_videoSelector,++ -- ** InputVideoGenerator+ inputVideoGenerator_duration,++ -- ** InsertableImage+ insertableImage_duration,+ insertableImage_fadeIn,+ insertableImage_fadeOut,+ insertableImage_height,+ insertableImage_imageInserterInput,+ insertableImage_imageX,+ insertableImage_imageY,+ insertableImage_layer,+ insertableImage_opacity,+ insertableImage_startTime,+ insertableImage_width,++ -- ** Job+ job_accelerationSettings,+ job_accelerationStatus,+ job_arn,+ job_billingTagsSource,+ job_createdAt,+ job_currentPhase,+ job_errorCode,+ job_errorMessage,+ job_hopDestinations,+ job_id,+ job_jobPercentComplete,+ job_jobTemplate,+ job_messages,+ job_outputGroupDetails,+ job_priority,+ job_queue,+ job_queueTransitions,+ job_retryCount,+ job_simulateReservedQueue,+ job_status,+ job_statusUpdateInterval,+ job_timing,+ job_userMetadata,+ job_role,+ job_settings,++ -- ** JobMessages+ jobMessages_info,+ jobMessages_warning,++ -- ** JobSettings+ jobSettings_adAvailOffset,+ jobSettings_availBlanking,+ jobSettings_esam,+ jobSettings_extendedDataServices,+ jobSettings_inputs,+ jobSettings_kantarWatermark,+ jobSettings_motionImageInserter,+ jobSettings_nielsenConfiguration,+ jobSettings_nielsenNonLinearWatermark,+ jobSettings_outputGroups,+ jobSettings_timecodeConfig,+ jobSettings_timedMetadataInsertion,++ -- ** JobTemplate+ jobTemplate_accelerationSettings,+ jobTemplate_arn,+ jobTemplate_category,+ jobTemplate_createdAt,+ jobTemplate_description,+ jobTemplate_hopDestinations,+ jobTemplate_lastUpdated,+ jobTemplate_priority,+ jobTemplate_queue,+ jobTemplate_statusUpdateInterval,+ jobTemplate_type,+ jobTemplate_settings,+ jobTemplate_name,++ -- ** JobTemplateSettings+ jobTemplateSettings_adAvailOffset,+ jobTemplateSettings_availBlanking,+ jobTemplateSettings_esam,+ jobTemplateSettings_extendedDataServices,+ jobTemplateSettings_inputs,+ jobTemplateSettings_kantarWatermark,+ jobTemplateSettings_motionImageInserter,+ jobTemplateSettings_nielsenConfiguration,+ jobTemplateSettings_nielsenNonLinearWatermark,+ jobTemplateSettings_outputGroups,+ jobTemplateSettings_timecodeConfig,+ jobTemplateSettings_timedMetadataInsertion,++ -- ** KantarWatermarkSettings+ kantarWatermarkSettings_channelName,+ kantarWatermarkSettings_contentReference,+ kantarWatermarkSettings_credentialsSecretName,+ kantarWatermarkSettings_fileOffset,+ kantarWatermarkSettings_kantarLicenseId,+ kantarWatermarkSettings_kantarServerUrl,+ kantarWatermarkSettings_logDestination,+ kantarWatermarkSettings_metadata3,+ kantarWatermarkSettings_metadata4,+ kantarWatermarkSettings_metadata5,+ kantarWatermarkSettings_metadata6,+ kantarWatermarkSettings_metadata7,+ kantarWatermarkSettings_metadata8,++ -- ** M2tsScte35Esam+ m2tsScte35Esam_scte35EsamPid,++ -- ** M2tsSettings+ m2tsSettings_audioBufferModel,+ m2tsSettings_audioDuration,+ m2tsSettings_audioFramesPerPes,+ m2tsSettings_audioPids,+ m2tsSettings_bitrate,+ m2tsSettings_bufferModel,+ m2tsSettings_dataPTSControl,+ m2tsSettings_dvbNitSettings,+ m2tsSettings_dvbSdtSettings,+ m2tsSettings_dvbSubPids,+ m2tsSettings_dvbTdtSettings,+ m2tsSettings_dvbTeletextPid,+ m2tsSettings_ebpAudioInterval,+ m2tsSettings_ebpPlacement,+ m2tsSettings_esRateInPes,+ m2tsSettings_forceTsVideoEbpOrder,+ m2tsSettings_fragmentTime,+ m2tsSettings_klvMetadata,+ m2tsSettings_maxPcrInterval,+ m2tsSettings_minEbpInterval,+ m2tsSettings_nielsenId3,+ m2tsSettings_nullPacketBitrate,+ m2tsSettings_patInterval,+ m2tsSettings_pcrControl,+ m2tsSettings_pcrPid,+ m2tsSettings_pmtInterval,+ m2tsSettings_pmtPid,+ m2tsSettings_privateMetadataPid,+ m2tsSettings_programNumber,+ m2tsSettings_rateMode,+ m2tsSettings_scte35Esam,+ m2tsSettings_scte35Pid,+ m2tsSettings_scte35Source,+ m2tsSettings_segmentationMarkers,+ m2tsSettings_segmentationStyle,+ m2tsSettings_segmentationTime,+ m2tsSettings_timedMetadataPid,+ m2tsSettings_transportStreamId,+ m2tsSettings_videoPid,++ -- ** M3u8Settings+ m3u8Settings_audioDuration,+ m3u8Settings_audioFramesPerPes,+ m3u8Settings_audioPids,+ m3u8Settings_dataPTSControl,+ m3u8Settings_maxPcrInterval,+ m3u8Settings_nielsenId3,+ m3u8Settings_patInterval,+ m3u8Settings_pcrControl,+ m3u8Settings_pcrPid,+ m3u8Settings_pmtInterval,+ m3u8Settings_pmtPid,+ m3u8Settings_privateMetadataPid,+ m3u8Settings_programNumber,+ m3u8Settings_scte35Pid,+ m3u8Settings_scte35Source,+ m3u8Settings_timedMetadata,+ m3u8Settings_timedMetadataPid,+ m3u8Settings_transportStreamId,+ m3u8Settings_videoPid,++ -- ** MinBottomRenditionSize+ minBottomRenditionSize_height,+ minBottomRenditionSize_width,++ -- ** MinTopRenditionSize+ minTopRenditionSize_height,+ minTopRenditionSize_width,++ -- ** MotionImageInserter+ motionImageInserter_framerate,+ motionImageInserter_input,+ motionImageInserter_insertionMode,+ motionImageInserter_offset,+ motionImageInserter_playback,+ motionImageInserter_startTime,++ -- ** MotionImageInsertionFramerate+ motionImageInsertionFramerate_framerateDenominator,+ motionImageInsertionFramerate_framerateNumerator,++ -- ** MotionImageInsertionOffset+ motionImageInsertionOffset_imageX,+ motionImageInsertionOffset_imageY,++ -- ** MovSettings+ movSettings_clapAtom,+ movSettings_cslgAtom,+ movSettings_mpeg2FourCCControl,+ movSettings_paddingControl,+ movSettings_reference,++ -- ** Mp2Settings+ mp2Settings_bitrate,+ mp2Settings_channels,+ mp2Settings_sampleRate,++ -- ** Mp3Settings+ mp3Settings_bitrate,+ mp3Settings_channels,+ mp3Settings_rateControlMode,+ mp3Settings_sampleRate,+ mp3Settings_vbrQuality,++ -- ** Mp4Settings+ mp4Settings_audioDuration,+ mp4Settings_cslgAtom,+ mp4Settings_cttsVersion,+ mp4Settings_freeSpaceBox,+ mp4Settings_moovPlacement,+ mp4Settings_mp4MajorBrand,++ -- ** MpdSettings+ mpdSettings_accessibilityCaptionHints,+ mpdSettings_audioDuration,+ mpdSettings_captionContainerType,+ mpdSettings_klvMetadata,+ mpdSettings_manifestMetadataSignaling,+ mpdSettings_scte35Esam,+ mpdSettings_scte35Source,+ mpdSettings_timedMetadata,+ mpdSettings_timedMetadataBoxVersion,+ mpdSettings_timedMetadataSchemeIdUri,+ mpdSettings_timedMetadataValue,++ -- ** Mpeg2Settings+ mpeg2Settings_adaptiveQuantization,+ mpeg2Settings_bitrate,+ mpeg2Settings_codecLevel,+ mpeg2Settings_codecProfile,+ mpeg2Settings_dynamicSubGop,+ mpeg2Settings_framerateControl,+ mpeg2Settings_framerateConversionAlgorithm,+ mpeg2Settings_framerateDenominator,+ mpeg2Settings_framerateNumerator,+ mpeg2Settings_gopClosedCadence,+ mpeg2Settings_gopSize,+ mpeg2Settings_gopSizeUnits,+ mpeg2Settings_hrdBufferFinalFillPercentage,+ mpeg2Settings_hrdBufferInitialFillPercentage,+ mpeg2Settings_hrdBufferSize,+ mpeg2Settings_interlaceMode,+ mpeg2Settings_intraDcPrecision,+ mpeg2Settings_maxBitrate,+ mpeg2Settings_minIInterval,+ mpeg2Settings_numberBFramesBetweenReferenceFrames,+ mpeg2Settings_parControl,+ mpeg2Settings_parDenominator,+ mpeg2Settings_parNumerator,+ mpeg2Settings_qualityTuningLevel,+ mpeg2Settings_rateControlMode,+ mpeg2Settings_scanTypeConversionMode,+ mpeg2Settings_sceneChangeDetect,+ mpeg2Settings_slowPal,+ mpeg2Settings_softness,+ mpeg2Settings_spatialAdaptiveQuantization,+ mpeg2Settings_syntax,+ mpeg2Settings_telecine,+ mpeg2Settings_temporalAdaptiveQuantization,++ -- ** MsSmoothAdditionalManifest+ msSmoothAdditionalManifest_manifestNameModifier,+ msSmoothAdditionalManifest_selectedOutputs,++ -- ** MsSmoothEncryptionSettings+ msSmoothEncryptionSettings_spekeKeyProvider,++ -- ** MsSmoothGroupSettings+ msSmoothGroupSettings_additionalManifests,+ msSmoothGroupSettings_audioDeduplication,+ msSmoothGroupSettings_destination,+ msSmoothGroupSettings_destinationSettings,+ msSmoothGroupSettings_encryption,+ msSmoothGroupSettings_fragmentLength,+ msSmoothGroupSettings_fragmentLengthControl,+ msSmoothGroupSettings_manifestEncoding,++ -- ** MxfSettings+ mxfSettings_afdSignaling,+ mxfSettings_profile,+ mxfSettings_xavcProfileSettings,++ -- ** MxfXavcProfileSettings+ mxfXavcProfileSettings_durationMode,+ mxfXavcProfileSettings_maxAncDataSize,++ -- ** NexGuardFileMarkerSettings+ nexGuardFileMarkerSettings_license,+ nexGuardFileMarkerSettings_payload,+ nexGuardFileMarkerSettings_preset,+ nexGuardFileMarkerSettings_strength,++ -- ** NielsenConfiguration+ nielsenConfiguration_breakoutCode,+ nielsenConfiguration_distributorId,++ -- ** NielsenNonLinearWatermarkSettings+ nielsenNonLinearWatermarkSettings_activeWatermarkProcess,+ nielsenNonLinearWatermarkSettings_adiFilename,+ nielsenNonLinearWatermarkSettings_assetId,+ nielsenNonLinearWatermarkSettings_assetName,+ nielsenNonLinearWatermarkSettings_cbetSourceId,+ nielsenNonLinearWatermarkSettings_episodeId,+ nielsenNonLinearWatermarkSettings_metadataDestination,+ nielsenNonLinearWatermarkSettings_sourceId,+ nielsenNonLinearWatermarkSettings_sourceWatermarkStatus,+ nielsenNonLinearWatermarkSettings_ticServerUrl,+ nielsenNonLinearWatermarkSettings_uniqueTicPerAudioTrack,++ -- ** NoiseReducer+ noiseReducer_filter,+ noiseReducer_filterSettings,+ noiseReducer_spatialFilterSettings,+ noiseReducer_temporalFilterSettings,++ -- ** NoiseReducerFilterSettings+ noiseReducerFilterSettings_strength,++ -- ** NoiseReducerSpatialFilterSettings+ noiseReducerSpatialFilterSettings_postFilterSharpenStrength,+ noiseReducerSpatialFilterSettings_speed,+ noiseReducerSpatialFilterSettings_strength,++ -- ** NoiseReducerTemporalFilterSettings+ noiseReducerTemporalFilterSettings_aggressiveMode,+ noiseReducerTemporalFilterSettings_postTemporalSharpening,+ noiseReducerTemporalFilterSettings_postTemporalSharpeningStrength,+ noiseReducerTemporalFilterSettings_speed,+ noiseReducerTemporalFilterSettings_strength,++ -- ** OpusSettings+ opusSettings_bitrate,+ opusSettings_channels,+ opusSettings_sampleRate,++ -- ** Output+ output_audioDescriptions,+ output_captionDescriptions,+ output_containerSettings,+ output_extension,+ output_nameModifier,+ output_outputSettings,+ output_preset,+ output_videoDescription,++ -- ** OutputChannelMapping+ outputChannelMapping_inputChannels,+ outputChannelMapping_inputChannelsFineTune,++ -- ** OutputDetail+ outputDetail_durationInMs,+ outputDetail_videoDetails,++ -- ** OutputGroup+ outputGroup_automatedEncodingSettings,+ outputGroup_customName,+ outputGroup_name,+ outputGroup_outputGroupSettings,+ outputGroup_outputs,++ -- ** OutputGroupDetail+ outputGroupDetail_outputDetails,++ -- ** OutputGroupSettings+ outputGroupSettings_cmafGroupSettings,+ outputGroupSettings_dashIsoGroupSettings,+ outputGroupSettings_fileGroupSettings,+ outputGroupSettings_hlsGroupSettings,+ outputGroupSettings_msSmoothGroupSettings,+ outputGroupSettings_type,++ -- ** OutputSettings+ outputSettings_hlsSettings,++ -- ** PartnerWatermarking+ partnerWatermarking_nexguardFileMarkerSettings,++ -- ** Policy+ policy_httpInputs,+ policy_httpsInputs,+ policy_s3Inputs,++ -- ** Preset+ preset_arn,+ preset_category,+ preset_createdAt,+ preset_description,+ preset_lastUpdated,+ preset_type,+ preset_settings,+ preset_name,++ -- ** PresetSettings+ presetSettings_audioDescriptions,+ presetSettings_captionDescriptions,+ presetSettings_containerSettings,+ presetSettings_videoDescription,++ -- ** ProresSettings+ proresSettings_chromaSampling,+ proresSettings_codecProfile,+ proresSettings_framerateControl,+ proresSettings_framerateConversionAlgorithm,+ proresSettings_framerateDenominator,+ proresSettings_framerateNumerator,+ proresSettings_interlaceMode,+ proresSettings_parControl,+ proresSettings_parDenominator,+ proresSettings_parNumerator,+ proresSettings_scanTypeConversionMode,+ proresSettings_slowPal,+ proresSettings_telecine,++ -- ** Queue+ queue_arn,+ queue_createdAt,+ queue_description,+ queue_lastUpdated,+ queue_pricingPlan,+ queue_progressingJobsCount,+ queue_reservationPlan,+ queue_status,+ queue_submittedJobsCount,+ queue_type,+ queue_name,++ -- ** QueueTransition+ queueTransition_destinationQueue,+ queueTransition_sourceQueue,+ queueTransition_timestamp,++ -- ** Rectangle+ rectangle_height,+ rectangle_width,+ rectangle_x,+ rectangle_y,++ -- ** RemixSettings+ remixSettings_channelMapping,+ remixSettings_channelsIn,+ remixSettings_channelsOut,++ -- ** ReservationPlan+ reservationPlan_commitment,+ reservationPlan_expiresAt,+ reservationPlan_purchasedAt,+ reservationPlan_renewalType,+ reservationPlan_reservedSlots,+ reservationPlan_status,++ -- ** ReservationPlanSettings+ reservationPlanSettings_commitment,+ reservationPlanSettings_reservedSlots,+ reservationPlanSettings_renewalType,++ -- ** ResourceTags+ resourceTags_arn,+ resourceTags_tags,++ -- ** S3DestinationAccessControl+ s3DestinationAccessControl_cannedAcl,++ -- ** S3DestinationSettings+ s3DestinationSettings_accessControl,+ s3DestinationSettings_encryption,++ -- ** S3EncryptionSettings+ s3EncryptionSettings_encryptionType,+ s3EncryptionSettings_kmsEncryptionContext,+ s3EncryptionSettings_kmsKeyArn,++ -- ** SccDestinationSettings+ sccDestinationSettings_framerate,++ -- ** SpekeKeyProvider+ spekeKeyProvider_certificateArn,+ spekeKeyProvider_resourceId,+ spekeKeyProvider_systemIds,+ spekeKeyProvider_url,++ -- ** SpekeKeyProviderCmaf+ spekeKeyProviderCmaf_certificateArn,+ spekeKeyProviderCmaf_dashSignaledSystemIds,+ spekeKeyProviderCmaf_hlsSignaledSystemIds,+ spekeKeyProviderCmaf_resourceId,+ spekeKeyProviderCmaf_url,++ -- ** SrtDestinationSettings+ srtDestinationSettings_stylePassthrough,++ -- ** StaticKeyProvider+ staticKeyProvider_keyFormat,+ staticKeyProvider_keyFormatVersions,+ staticKeyProvider_staticKeyValue,+ staticKeyProvider_url,++ -- ** TeletextDestinationSettings+ teletextDestinationSettings_pageNumber,+ teletextDestinationSettings_pageTypes,++ -- ** TeletextSourceSettings+ teletextSourceSettings_pageNumber,++ -- ** TimecodeBurnin+ timecodeBurnin_fontSize,+ timecodeBurnin_position,+ timecodeBurnin_prefix,++ -- ** TimecodeConfig+ timecodeConfig_anchor,+ timecodeConfig_source,+ timecodeConfig_start,+ timecodeConfig_timestampOffset,++ -- ** TimedMetadataInsertion+ timedMetadataInsertion_id3Insertions,++ -- ** Timing+ timing_finishTime,+ timing_startTime,+ timing_submitTime,++ -- ** TrackSourceSettings+ trackSourceSettings_trackNumber,++ -- ** TtmlDestinationSettings+ ttmlDestinationSettings_stylePassthrough,++ -- ** Vc3Settings+ vc3Settings_framerateControl,+ vc3Settings_framerateConversionAlgorithm,+ vc3Settings_framerateDenominator,+ vc3Settings_framerateNumerator,+ vc3Settings_interlaceMode,+ vc3Settings_scanTypeConversionMode,+ vc3Settings_slowPal,+ vc3Settings_telecine,+ vc3Settings_vc3Class,++ -- ** VideoCodecSettings+ videoCodecSettings_av1Settings,+ videoCodecSettings_avcIntraSettings,+ videoCodecSettings_codec,+ videoCodecSettings_frameCaptureSettings,+ videoCodecSettings_h264Settings,+ videoCodecSettings_h265Settings,+ videoCodecSettings_mpeg2Settings,+ videoCodecSettings_proresSettings,+ videoCodecSettings_vc3Settings,+ videoCodecSettings_vp8Settings,+ videoCodecSettings_vp9Settings,+ videoCodecSettings_xavcSettings,++ -- ** VideoDescription+ videoDescription_afdSignaling,+ videoDescription_antiAlias,+ videoDescription_codecSettings,+ videoDescription_colorMetadata,+ videoDescription_crop,+ videoDescription_dropFrameTimecode,+ videoDescription_fixedAfd,+ videoDescription_height,+ videoDescription_position,+ videoDescription_respondToAfd,+ videoDescription_scalingBehavior,+ videoDescription_sharpness,+ videoDescription_timecodeInsertion,+ videoDescription_videoPreprocessors,+ videoDescription_width,++ -- ** VideoDetail+ videoDetail_heightInPx,+ videoDetail_widthInPx,++ -- ** VideoPreprocessor+ videoPreprocessor_colorCorrector,+ videoPreprocessor_deinterlacer,+ videoPreprocessor_dolbyVision,+ videoPreprocessor_hdr10Plus,+ videoPreprocessor_imageInserter,+ videoPreprocessor_noiseReducer,+ videoPreprocessor_partnerWatermarking,+ videoPreprocessor_timecodeBurnin,++ -- ** VideoSelector+ videoSelector_alphaBehavior,+ videoSelector_colorSpace,+ videoSelector_colorSpaceUsage,+ videoSelector_embeddedTimecodeOverride,+ videoSelector_hdr10Metadata,+ videoSelector_padVideo,+ videoSelector_pid,+ videoSelector_programNumber,+ videoSelector_rotate,+ videoSelector_sampleRange,++ -- ** VorbisSettings+ vorbisSettings_channels,+ vorbisSettings_sampleRate,+ vorbisSettings_vbrQuality,++ -- ** Vp8Settings+ vp8Settings_bitrate,+ vp8Settings_framerateControl,+ vp8Settings_framerateConversionAlgorithm,+ vp8Settings_framerateDenominator,+ vp8Settings_framerateNumerator,+ vp8Settings_gopSize,+ vp8Settings_hrdBufferSize,+ vp8Settings_maxBitrate,+ vp8Settings_parControl,+ vp8Settings_parDenominator,+ vp8Settings_parNumerator,+ vp8Settings_qualityTuningLevel,+ vp8Settings_rateControlMode,++ -- ** Vp9Settings+ vp9Settings_bitrate,+ vp9Settings_framerateControl,+ vp9Settings_framerateConversionAlgorithm,+ vp9Settings_framerateDenominator,+ vp9Settings_framerateNumerator,+ vp9Settings_gopSize,+ vp9Settings_hrdBufferSize,+ vp9Settings_maxBitrate,+ vp9Settings_parControl,+ vp9Settings_parDenominator,+ vp9Settings_parNumerator,+ vp9Settings_qualityTuningLevel,+ vp9Settings_rateControlMode,++ -- ** WavSettings+ wavSettings_bitDepth,+ wavSettings_channels,+ wavSettings_format,+ wavSettings_sampleRate,++ -- ** WebvttDestinationSettings+ webvttDestinationSettings_accessibility,+ webvttDestinationSettings_stylePassthrough,++ -- ** WebvttHlsSourceSettings+ webvttHlsSourceSettings_renditionGroupId,+ webvttHlsSourceSettings_renditionLanguageCode,+ webvttHlsSourceSettings_renditionName,++ -- ** Xavc4kIntraCbgProfileSettings+ xavc4kIntraCbgProfileSettings_xavcClass,++ -- ** Xavc4kIntraVbrProfileSettings+ xavc4kIntraVbrProfileSettings_xavcClass,++ -- ** Xavc4kProfileSettings+ xavc4kProfileSettings_bitrateClass,+ xavc4kProfileSettings_codecProfile,+ xavc4kProfileSettings_flickerAdaptiveQuantization,+ xavc4kProfileSettings_gopBReference,+ xavc4kProfileSettings_gopClosedCadence,+ xavc4kProfileSettings_hrdBufferSize,+ xavc4kProfileSettings_qualityTuningLevel,+ xavc4kProfileSettings_slices,++ -- ** XavcHdIntraCbgProfileSettings+ xavcHdIntraCbgProfileSettings_xavcClass,++ -- ** XavcHdProfileSettings+ xavcHdProfileSettings_bitrateClass,+ xavcHdProfileSettings_flickerAdaptiveQuantization,+ xavcHdProfileSettings_gopBReference,+ xavcHdProfileSettings_gopClosedCadence,+ xavcHdProfileSettings_hrdBufferSize,+ xavcHdProfileSettings_interlaceMode,+ xavcHdProfileSettings_qualityTuningLevel,+ xavcHdProfileSettings_slices,+ xavcHdProfileSettings_telecine,++ -- ** XavcSettings+ xavcSettings_adaptiveQuantization,+ xavcSettings_entropyEncoding,+ xavcSettings_framerateControl,+ xavcSettings_framerateConversionAlgorithm,+ xavcSettings_framerateDenominator,+ xavcSettings_framerateNumerator,+ xavcSettings_profile,+ xavcSettings_slowPal,+ xavcSettings_softness,+ xavcSettings_spatialAdaptiveQuantization,+ xavcSettings_temporalAdaptiveQuantization,+ xavcSettings_xavc4kIntraCbgProfileSettings,+ xavcSettings_xavc4kIntraVbrProfileSettings,+ xavcSettings_xavc4kProfileSettings,+ xavcSettings_xavcHdIntraCbgProfileSettings,+ xavcSettings_xavcHdProfileSettings,+ )+where++import Amazonka.MediaConvert.AssociateCertificate+import Amazonka.MediaConvert.CancelJob+import Amazonka.MediaConvert.CreateJob+import Amazonka.MediaConvert.CreateJobTemplate+import Amazonka.MediaConvert.CreatePreset+import Amazonka.MediaConvert.CreateQueue+import Amazonka.MediaConvert.DeleteJobTemplate+import Amazonka.MediaConvert.DeletePolicy+import Amazonka.MediaConvert.DeletePreset+import Amazonka.MediaConvert.DeleteQueue+import Amazonka.MediaConvert.DescribeEndpoints+import Amazonka.MediaConvert.DisassociateCertificate+import Amazonka.MediaConvert.GetJob+import Amazonka.MediaConvert.GetJobTemplate+import Amazonka.MediaConvert.GetPolicy+import Amazonka.MediaConvert.GetPreset+import Amazonka.MediaConvert.GetQueue+import Amazonka.MediaConvert.ListJobTemplates+import Amazonka.MediaConvert.ListJobs+import Amazonka.MediaConvert.ListPresets+import Amazonka.MediaConvert.ListQueues+import Amazonka.MediaConvert.ListTagsForResource+import Amazonka.MediaConvert.PutPolicy+import Amazonka.MediaConvert.TagResource+import Amazonka.MediaConvert.Types.AacSettings+import Amazonka.MediaConvert.Types.Ac3Settings+import Amazonka.MediaConvert.Types.AccelerationSettings+import Amazonka.MediaConvert.Types.AiffSettings+import Amazonka.MediaConvert.Types.AllowedRenditionSize+import Amazonka.MediaConvert.Types.AncillarySourceSettings+import Amazonka.MediaConvert.Types.AudioChannelTaggingSettings+import Amazonka.MediaConvert.Types.AudioCodecSettings+import Amazonka.MediaConvert.Types.AudioDescription+import Amazonka.MediaConvert.Types.AudioNormalizationSettings+import Amazonka.MediaConvert.Types.AudioSelector+import Amazonka.MediaConvert.Types.AudioSelectorGroup+import Amazonka.MediaConvert.Types.AutomatedAbrRule+import Amazonka.MediaConvert.Types.AutomatedAbrSettings+import Amazonka.MediaConvert.Types.AutomatedEncodingSettings+import Amazonka.MediaConvert.Types.Av1QvbrSettings+import Amazonka.MediaConvert.Types.Av1Settings+import Amazonka.MediaConvert.Types.AvailBlanking+import Amazonka.MediaConvert.Types.AvcIntraSettings+import Amazonka.MediaConvert.Types.AvcIntraUhdSettings+import Amazonka.MediaConvert.Types.BurninDestinationSettings+import Amazonka.MediaConvert.Types.CaptionDescription+import Amazonka.MediaConvert.Types.CaptionDescriptionPreset+import Amazonka.MediaConvert.Types.CaptionDestinationSettings+import Amazonka.MediaConvert.Types.CaptionSelector+import Amazonka.MediaConvert.Types.CaptionSourceFramerate+import Amazonka.MediaConvert.Types.CaptionSourceSettings+import Amazonka.MediaConvert.Types.ChannelMapping+import Amazonka.MediaConvert.Types.CmafAdditionalManifest+import Amazonka.MediaConvert.Types.CmafEncryptionSettings+import Amazonka.MediaConvert.Types.CmafGroupSettings+import Amazonka.MediaConvert.Types.CmafImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.CmfcSettings+import Amazonka.MediaConvert.Types.ColorCorrector+import Amazonka.MediaConvert.Types.ContainerSettings+import Amazonka.MediaConvert.Types.DashAdditionalManifest+import Amazonka.MediaConvert.Types.DashIsoEncryptionSettings+import Amazonka.MediaConvert.Types.DashIsoGroupSettings+import Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.Deinterlacer+import Amazonka.MediaConvert.Types.DestinationSettings+import Amazonka.MediaConvert.Types.DolbyVision+import Amazonka.MediaConvert.Types.DolbyVisionLevel6Metadata+import Amazonka.MediaConvert.Types.DvbNitSettings+import Amazonka.MediaConvert.Types.DvbSdtSettings+import Amazonka.MediaConvert.Types.DvbSubDestinationSettings+import Amazonka.MediaConvert.Types.DvbSubSourceSettings+import Amazonka.MediaConvert.Types.DvbTdtSettings+import Amazonka.MediaConvert.Types.Eac3AtmosSettings+import Amazonka.MediaConvert.Types.Eac3Settings+import Amazonka.MediaConvert.Types.EmbeddedDestinationSettings+import Amazonka.MediaConvert.Types.EmbeddedSourceSettings+import Amazonka.MediaConvert.Types.Endpoint+import Amazonka.MediaConvert.Types.EsamManifestConfirmConditionNotification+import Amazonka.MediaConvert.Types.EsamSettings+import Amazonka.MediaConvert.Types.EsamSignalProcessingNotification+import Amazonka.MediaConvert.Types.ExtendedDataServices+import Amazonka.MediaConvert.Types.F4vSettings+import Amazonka.MediaConvert.Types.FileGroupSettings+import Amazonka.MediaConvert.Types.FileSourceSettings+import Amazonka.MediaConvert.Types.ForceIncludeRenditionSize+import Amazonka.MediaConvert.Types.FrameCaptureSettings+import Amazonka.MediaConvert.Types.H264QvbrSettings+import Amazonka.MediaConvert.Types.H264Settings+import Amazonka.MediaConvert.Types.H265QvbrSettings+import Amazonka.MediaConvert.Types.H265Settings+import Amazonka.MediaConvert.Types.Hdr10Metadata+import Amazonka.MediaConvert.Types.Hdr10Plus+import Amazonka.MediaConvert.Types.HlsAdditionalManifest+import Amazonka.MediaConvert.Types.HlsCaptionLanguageMapping+import Amazonka.MediaConvert.Types.HlsEncryptionSettings+import Amazonka.MediaConvert.Types.HlsGroupSettings+import Amazonka.MediaConvert.Types.HlsImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.HlsRenditionGroupSettings+import Amazonka.MediaConvert.Types.HlsSettings+import Amazonka.MediaConvert.Types.HopDestination+import Amazonka.MediaConvert.Types.Id3Insertion+import Amazonka.MediaConvert.Types.ImageInserter+import Amazonka.MediaConvert.Types.ImscDestinationSettings+import Amazonka.MediaConvert.Types.Input+import Amazonka.MediaConvert.Types.InputClipping+import Amazonka.MediaConvert.Types.InputDecryptionSettings+import Amazonka.MediaConvert.Types.InputTemplate+import Amazonka.MediaConvert.Types.InputVideoGenerator+import Amazonka.MediaConvert.Types.InsertableImage+import Amazonka.MediaConvert.Types.Job+import Amazonka.MediaConvert.Types.JobMessages+import Amazonka.MediaConvert.Types.JobSettings+import Amazonka.MediaConvert.Types.JobTemplate+import Amazonka.MediaConvert.Types.JobTemplateSettings+import Amazonka.MediaConvert.Types.KantarWatermarkSettings+import Amazonka.MediaConvert.Types.M2tsScte35Esam+import Amazonka.MediaConvert.Types.M2tsSettings+import Amazonka.MediaConvert.Types.M3u8Settings+import Amazonka.MediaConvert.Types.MinBottomRenditionSize+import Amazonka.MediaConvert.Types.MinTopRenditionSize+import Amazonka.MediaConvert.Types.MotionImageInserter+import Amazonka.MediaConvert.Types.MotionImageInsertionFramerate+import Amazonka.MediaConvert.Types.MotionImageInsertionOffset+import Amazonka.MediaConvert.Types.MovSettings+import Amazonka.MediaConvert.Types.Mp2Settings+import Amazonka.MediaConvert.Types.Mp3Settings+import Amazonka.MediaConvert.Types.Mp4Settings+import Amazonka.MediaConvert.Types.MpdSettings+import Amazonka.MediaConvert.Types.Mpeg2Settings+import Amazonka.MediaConvert.Types.MsSmoothAdditionalManifest+import Amazonka.MediaConvert.Types.MsSmoothEncryptionSettings+import Amazonka.MediaConvert.Types.MsSmoothGroupSettings+import Amazonka.MediaConvert.Types.MxfSettings+import Amazonka.MediaConvert.Types.MxfXavcProfileSettings+import Amazonka.MediaConvert.Types.NexGuardFileMarkerSettings+import Amazonka.MediaConvert.Types.NielsenConfiguration+import Amazonka.MediaConvert.Types.NielsenNonLinearWatermarkSettings+import Amazonka.MediaConvert.Types.NoiseReducer+import Amazonka.MediaConvert.Types.NoiseReducerFilterSettings+import Amazonka.MediaConvert.Types.NoiseReducerSpatialFilterSettings+import Amazonka.MediaConvert.Types.NoiseReducerTemporalFilterSettings+import Amazonka.MediaConvert.Types.OpusSettings+import Amazonka.MediaConvert.Types.Output+import Amazonka.MediaConvert.Types.OutputChannelMapping+import Amazonka.MediaConvert.Types.OutputDetail+import Amazonka.MediaConvert.Types.OutputGroup+import Amazonka.MediaConvert.Types.OutputGroupDetail+import Amazonka.MediaConvert.Types.OutputGroupSettings+import Amazonka.MediaConvert.Types.OutputSettings+import Amazonka.MediaConvert.Types.PartnerWatermarking+import Amazonka.MediaConvert.Types.Policy+import Amazonka.MediaConvert.Types.Preset+import Amazonka.MediaConvert.Types.PresetSettings+import Amazonka.MediaConvert.Types.ProresSettings+import Amazonka.MediaConvert.Types.Queue+import Amazonka.MediaConvert.Types.QueueTransition+import Amazonka.MediaConvert.Types.Rectangle+import Amazonka.MediaConvert.Types.RemixSettings+import Amazonka.MediaConvert.Types.ReservationPlan+import Amazonka.MediaConvert.Types.ReservationPlanSettings+import Amazonka.MediaConvert.Types.ResourceTags+import Amazonka.MediaConvert.Types.S3DestinationAccessControl+import Amazonka.MediaConvert.Types.S3DestinationSettings+import Amazonka.MediaConvert.Types.S3EncryptionSettings+import Amazonka.MediaConvert.Types.SccDestinationSettings+import Amazonka.MediaConvert.Types.SpekeKeyProvider+import Amazonka.MediaConvert.Types.SpekeKeyProviderCmaf+import Amazonka.MediaConvert.Types.SrtDestinationSettings+import Amazonka.MediaConvert.Types.StaticKeyProvider+import Amazonka.MediaConvert.Types.TeletextDestinationSettings+import Amazonka.MediaConvert.Types.TeletextSourceSettings+import Amazonka.MediaConvert.Types.TimecodeBurnin+import Amazonka.MediaConvert.Types.TimecodeConfig+import Amazonka.MediaConvert.Types.TimedMetadataInsertion+import Amazonka.MediaConvert.Types.Timing+import Amazonka.MediaConvert.Types.TrackSourceSettings+import Amazonka.MediaConvert.Types.TtmlDestinationSettings+import Amazonka.MediaConvert.Types.Vc3Settings+import Amazonka.MediaConvert.Types.VideoCodecSettings+import Amazonka.MediaConvert.Types.VideoDescription+import Amazonka.MediaConvert.Types.VideoDetail+import Amazonka.MediaConvert.Types.VideoPreprocessor+import Amazonka.MediaConvert.Types.VideoSelector+import Amazonka.MediaConvert.Types.VorbisSettings+import Amazonka.MediaConvert.Types.Vp8Settings+import Amazonka.MediaConvert.Types.Vp9Settings+import Amazonka.MediaConvert.Types.WavSettings+import Amazonka.MediaConvert.Types.WebvttDestinationSettings+import Amazonka.MediaConvert.Types.WebvttHlsSourceSettings+import Amazonka.MediaConvert.Types.Xavc4kIntraCbgProfileSettings+import Amazonka.MediaConvert.Types.Xavc4kIntraVbrProfileSettings+import Amazonka.MediaConvert.Types.Xavc4kProfileSettings+import Amazonka.MediaConvert.Types.XavcHdIntraCbgProfileSettings+import Amazonka.MediaConvert.Types.XavcHdProfileSettings+import Amazonka.MediaConvert.Types.XavcSettings+import Amazonka.MediaConvert.UntagResource+import Amazonka.MediaConvert.UpdateJobTemplate+import Amazonka.MediaConvert.UpdatePreset+import Amazonka.MediaConvert.UpdateQueue
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.ListJobTemplates+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a JSON array of up to twenty of your job templates. This will+-- return the templates themselves, not just a list of them. To retrieve+-- the next twenty templates, use the nextToken string returned with the+-- array+--+-- This operation returns paginated results.+module Amazonka.MediaConvert.ListJobTemplates+ ( -- * Creating a Request+ ListJobTemplates (..),+ newListJobTemplates,++ -- * Request Lenses+ listJobTemplates_category,+ listJobTemplates_listBy,+ listJobTemplates_maxResults,+ listJobTemplates_nextToken,+ listJobTemplates_order,++ -- * Destructuring the Response+ ListJobTemplatesResponse (..),+ newListJobTemplatesResponse,++ -- * Response Lenses+ listJobTemplatesResponse_jobTemplates,+ listJobTemplatesResponse_nextToken,+ listJobTemplatesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListJobTemplates' smart constructor.+data ListJobTemplates = ListJobTemplates'+ { -- | Optionally, specify a job template category to limit responses to only+ -- job templates from that category.+ category :: Prelude.Maybe Prelude.Text,+ -- | Optional. When you request a list of job templates, you can choose to+ -- list them alphabetically by NAME or chronologically by CREATION_DATE. If+ -- you don\'t specify, the service will list them by name.+ listBy :: Prelude.Maybe JobTemplateListBy,+ -- | Optional. Number of job templates, up to twenty, that will be returned+ -- at one time.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Use this string, provided with the response to a previous request, to+ -- request the next batch of job templates.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Optional. When you request lists of resources, you can specify whether+ -- they are sorted in ASCENDING or DESCENDING order. Default varies by+ -- resource.+ order :: Prelude.Maybe Order+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobTemplates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'listJobTemplates_category' - Optionally, specify a job template category to limit responses to only+-- job templates from that category.+--+-- 'listBy', 'listJobTemplates_listBy' - Optional. When you request a list of job templates, you can choose to+-- list them alphabetically by NAME or chronologically by CREATION_DATE. If+-- you don\'t specify, the service will list them by name.+--+-- 'maxResults', 'listJobTemplates_maxResults' - Optional. Number of job templates, up to twenty, that will be returned+-- at one time.+--+-- 'nextToken', 'listJobTemplates_nextToken' - Use this string, provided with the response to a previous request, to+-- request the next batch of job templates.+--+-- 'order', 'listJobTemplates_order' - Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+newListJobTemplates ::+ ListJobTemplates+newListJobTemplates =+ ListJobTemplates'+ { category = Prelude.Nothing,+ listBy = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ order = Prelude.Nothing+ }++-- | Optionally, specify a job template category to limit responses to only+-- job templates from that category.+listJobTemplates_category :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.Text)+listJobTemplates_category = Lens.lens (\ListJobTemplates' {category} -> category) (\s@ListJobTemplates' {} a -> s {category = a} :: ListJobTemplates)++-- | Optional. When you request a list of job templates, you can choose to+-- list them alphabetically by NAME or chronologically by CREATION_DATE. If+-- you don\'t specify, the service will list them by name.+listJobTemplates_listBy :: Lens.Lens' ListJobTemplates (Prelude.Maybe JobTemplateListBy)+listJobTemplates_listBy = Lens.lens (\ListJobTemplates' {listBy} -> listBy) (\s@ListJobTemplates' {} a -> s {listBy = a} :: ListJobTemplates)++-- | Optional. Number of job templates, up to twenty, that will be returned+-- at one time.+listJobTemplates_maxResults :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.Natural)+listJobTemplates_maxResults = Lens.lens (\ListJobTemplates' {maxResults} -> maxResults) (\s@ListJobTemplates' {} a -> s {maxResults = a} :: ListJobTemplates)++-- | Use this string, provided with the response to a previous request, to+-- request the next batch of job templates.+listJobTemplates_nextToken :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.Text)+listJobTemplates_nextToken = Lens.lens (\ListJobTemplates' {nextToken} -> nextToken) (\s@ListJobTemplates' {} a -> s {nextToken = a} :: ListJobTemplates)++-- | Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+listJobTemplates_order :: Lens.Lens' ListJobTemplates (Prelude.Maybe Order)+listJobTemplates_order = Lens.lens (\ListJobTemplates' {order} -> order) (\s@ListJobTemplates' {} a -> s {order = a} :: ListJobTemplates)++instance Core.AWSPager ListJobTemplates where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listJobTemplatesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listJobTemplatesResponse_jobTemplates+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listJobTemplates_nextToken+ Lens..~ rs+ Lens.^? listJobTemplatesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListJobTemplates where+ type+ AWSResponse ListJobTemplates =+ ListJobTemplatesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListJobTemplatesResponse'+ Prelude.<$> (x Data..?> "jobTemplates" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListJobTemplates where+ hashWithSalt _salt ListJobTemplates' {..} =+ _salt+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` listBy+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` order++instance Prelude.NFData ListJobTemplates where+ rnf ListJobTemplates' {..} =+ Prelude.rnf category+ `Prelude.seq` Prelude.rnf listBy+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf order++instance Data.ToHeaders ListJobTemplates where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListJobTemplates where+ toPath = Prelude.const "/2017-08-29/jobTemplates"++instance Data.ToQuery ListJobTemplates where+ toQuery ListJobTemplates' {..} =+ Prelude.mconcat+ [ "category" Data.=: category,+ "listBy" Data.=: listBy,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "order" Data.=: order+ ]++-- | /See:/ 'newListJobTemplatesResponse' smart constructor.+data ListJobTemplatesResponse = ListJobTemplatesResponse'+ { -- | List of Job templates.+ jobTemplates :: Prelude.Maybe [JobTemplate],+ -- | Use this string to request the next batch of job templates.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobTemplatesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTemplates', 'listJobTemplatesResponse_jobTemplates' - List of Job templates.+--+-- 'nextToken', 'listJobTemplatesResponse_nextToken' - Use this string to request the next batch of job templates.+--+-- 'httpStatus', 'listJobTemplatesResponse_httpStatus' - The response's http status code.+newListJobTemplatesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListJobTemplatesResponse+newListJobTemplatesResponse pHttpStatus_ =+ ListJobTemplatesResponse'+ { jobTemplates =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | List of Job templates.+listJobTemplatesResponse_jobTemplates :: Lens.Lens' ListJobTemplatesResponse (Prelude.Maybe [JobTemplate])+listJobTemplatesResponse_jobTemplates = Lens.lens (\ListJobTemplatesResponse' {jobTemplates} -> jobTemplates) (\s@ListJobTemplatesResponse' {} a -> s {jobTemplates = a} :: ListJobTemplatesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Use this string to request the next batch of job templates.+listJobTemplatesResponse_nextToken :: Lens.Lens' ListJobTemplatesResponse (Prelude.Maybe Prelude.Text)+listJobTemplatesResponse_nextToken = Lens.lens (\ListJobTemplatesResponse' {nextToken} -> nextToken) (\s@ListJobTemplatesResponse' {} a -> s {nextToken = a} :: ListJobTemplatesResponse)++-- | The response's http status code.+listJobTemplatesResponse_httpStatus :: Lens.Lens' ListJobTemplatesResponse Prelude.Int+listJobTemplatesResponse_httpStatus = Lens.lens (\ListJobTemplatesResponse' {httpStatus} -> httpStatus) (\s@ListJobTemplatesResponse' {} a -> s {httpStatus = a} :: ListJobTemplatesResponse)++instance Prelude.NFData ListJobTemplatesResponse where+ rnf ListJobTemplatesResponse' {..} =+ Prelude.rnf jobTemplates+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,266 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.ListJobs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a JSON array of up to twenty of your most recently created+-- jobs. This array includes in-process, completed, and errored jobs. This+-- will return the jobs themselves, not just a list of the jobs. To+-- retrieve the twenty next most recent jobs, use the nextToken string+-- returned with the array.+--+-- This operation returns paginated results.+module Amazonka.MediaConvert.ListJobs+ ( -- * Creating a Request+ ListJobs (..),+ newListJobs,++ -- * Request Lenses+ listJobs_maxResults,+ listJobs_nextToken,+ listJobs_order,+ listJobs_queue,+ listJobs_status,++ -- * Destructuring the Response+ ListJobsResponse (..),+ newListJobsResponse,++ -- * Response Lenses+ listJobsResponse_jobs,+ listJobsResponse_nextToken,+ listJobsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListJobs' smart constructor.+data ListJobs = ListJobs'+ { -- | Optional. Number of jobs, up to twenty, that will be returned at one+ -- time.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Use this string, provided with the response to a previous+ -- request, to request the next batch of jobs.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Optional. When you request lists of resources, you can specify whether+ -- they are sorted in ASCENDING or DESCENDING order. Default varies by+ -- resource.+ order :: Prelude.Maybe Order,+ -- | Optional. Provide a queue name to get back only jobs from that queue.+ queue :: Prelude.Maybe Prelude.Text,+ -- | Optional. A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE,+ -- CANCELED, or ERROR.+ status :: Prelude.Maybe JobStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listJobs_maxResults' - Optional. Number of jobs, up to twenty, that will be returned at one+-- time.+--+-- 'nextToken', 'listJobs_nextToken' - Optional. Use this string, provided with the response to a previous+-- request, to request the next batch of jobs.+--+-- 'order', 'listJobs_order' - Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+--+-- 'queue', 'listJobs_queue' - Optional. Provide a queue name to get back only jobs from that queue.+--+-- 'status', 'listJobs_status' - Optional. A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE,+-- CANCELED, or ERROR.+newListJobs ::+ ListJobs+newListJobs =+ ListJobs'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ order = Prelude.Nothing,+ queue = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | Optional. Number of jobs, up to twenty, that will be returned at one+-- time.+listJobs_maxResults :: Lens.Lens' ListJobs (Prelude.Maybe Prelude.Natural)+listJobs_maxResults = Lens.lens (\ListJobs' {maxResults} -> maxResults) (\s@ListJobs' {} a -> s {maxResults = a} :: ListJobs)++-- | Optional. Use this string, provided with the response to a previous+-- request, to request the next batch of jobs.+listJobs_nextToken :: Lens.Lens' ListJobs (Prelude.Maybe Prelude.Text)+listJobs_nextToken = Lens.lens (\ListJobs' {nextToken} -> nextToken) (\s@ListJobs' {} a -> s {nextToken = a} :: ListJobs)++-- | Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+listJobs_order :: Lens.Lens' ListJobs (Prelude.Maybe Order)+listJobs_order = Lens.lens (\ListJobs' {order} -> order) (\s@ListJobs' {} a -> s {order = a} :: ListJobs)++-- | Optional. Provide a queue name to get back only jobs from that queue.+listJobs_queue :: Lens.Lens' ListJobs (Prelude.Maybe Prelude.Text)+listJobs_queue = Lens.lens (\ListJobs' {queue} -> queue) (\s@ListJobs' {} a -> s {queue = a} :: ListJobs)++-- | Optional. A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE,+-- CANCELED, or ERROR.+listJobs_status :: Lens.Lens' ListJobs (Prelude.Maybe JobStatus)+listJobs_status = Lens.lens (\ListJobs' {status} -> status) (\s@ListJobs' {} a -> s {status = a} :: ListJobs)++instance Core.AWSPager ListJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listJobsResponse_jobs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listJobs_nextToken+ Lens..~ rs+ Lens.^? listJobsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListJobs where+ type AWSResponse ListJobs = ListJobsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListJobsResponse'+ Prelude.<$> (x Data..?> "jobs" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListJobs where+ hashWithSalt _salt ListJobs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` order+ `Prelude.hashWithSalt` queue+ `Prelude.hashWithSalt` status++instance Prelude.NFData ListJobs where+ rnf ListJobs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf order+ `Prelude.seq` Prelude.rnf queue+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders ListJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListJobs where+ toPath = Prelude.const "/2017-08-29/jobs"++instance Data.ToQuery ListJobs where+ toQuery ListJobs' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "order" Data.=: order,+ "queue" Data.=: queue,+ "status" Data.=: status+ ]++-- | /See:/ 'newListJobsResponse' smart constructor.+data ListJobsResponse = ListJobsResponse'+ { -- | List of jobs+ jobs :: Prelude.Maybe [Job],+ -- | Use this string to request the next batch of jobs.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobs', 'listJobsResponse_jobs' - List of jobs+--+-- 'nextToken', 'listJobsResponse_nextToken' - Use this string to request the next batch of jobs.+--+-- 'httpStatus', 'listJobsResponse_httpStatus' - The response's http status code.+newListJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListJobsResponse+newListJobsResponse pHttpStatus_ =+ ListJobsResponse'+ { jobs = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | List of jobs+listJobsResponse_jobs :: Lens.Lens' ListJobsResponse (Prelude.Maybe [Job])+listJobsResponse_jobs = Lens.lens (\ListJobsResponse' {jobs} -> jobs) (\s@ListJobsResponse' {} a -> s {jobs = a} :: ListJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Use this string to request the next batch of jobs.+listJobsResponse_nextToken :: Lens.Lens' ListJobsResponse (Prelude.Maybe Prelude.Text)+listJobsResponse_nextToken = Lens.lens (\ListJobsResponse' {nextToken} -> nextToken) (\s@ListJobsResponse' {} a -> s {nextToken = a} :: ListJobsResponse)++-- | The response's http status code.+listJobsResponse_httpStatus :: Lens.Lens' ListJobsResponse Prelude.Int+listJobsResponse_httpStatus = Lens.lens (\ListJobsResponse' {httpStatus} -> httpStatus) (\s@ListJobsResponse' {} a -> s {httpStatus = a} :: ListJobsResponse)++instance Prelude.NFData ListJobsResponse where+ rnf ListJobsResponse' {..} =+ Prelude.rnf jobs+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,270 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.ListPresets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a JSON array of up to twenty of your presets. This will return+-- the presets themselves, not just a list of them. To retrieve the next+-- twenty presets, use the nextToken string returned with the array.+--+-- This operation returns paginated results.+module Amazonka.MediaConvert.ListPresets+ ( -- * Creating a Request+ ListPresets (..),+ newListPresets,++ -- * Request Lenses+ listPresets_category,+ listPresets_listBy,+ listPresets_maxResults,+ listPresets_nextToken,+ listPresets_order,++ -- * Destructuring the Response+ ListPresetsResponse (..),+ newListPresetsResponse,++ -- * Response Lenses+ listPresetsResponse_nextToken,+ listPresetsResponse_presets,+ listPresetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPresets' smart constructor.+data ListPresets = ListPresets'+ { -- | Optionally, specify a preset category to limit responses to only presets+ -- from that category.+ category :: Prelude.Maybe Prelude.Text,+ -- | Optional. When you request a list of presets, you can choose to list+ -- them alphabetically by NAME or chronologically by CREATION_DATE. If you+ -- don\'t specify, the service will list them by name.+ listBy :: Prelude.Maybe PresetListBy,+ -- | Optional. Number of presets, up to twenty, that will be returned at one+ -- time+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Use this string, provided with the response to a previous request, to+ -- request the next batch of presets.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Optional. When you request lists of resources, you can specify whether+ -- they are sorted in ASCENDING or DESCENDING order. Default varies by+ -- resource.+ order :: Prelude.Maybe Order+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPresets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'listPresets_category' - Optionally, specify a preset category to limit responses to only presets+-- from that category.+--+-- 'listBy', 'listPresets_listBy' - Optional. When you request a list of presets, you can choose to list+-- them alphabetically by NAME or chronologically by CREATION_DATE. If you+-- don\'t specify, the service will list them by name.+--+-- 'maxResults', 'listPresets_maxResults' - Optional. Number of presets, up to twenty, that will be returned at one+-- time+--+-- 'nextToken', 'listPresets_nextToken' - Use this string, provided with the response to a previous request, to+-- request the next batch of presets.+--+-- 'order', 'listPresets_order' - Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+newListPresets ::+ ListPresets+newListPresets =+ ListPresets'+ { category = Prelude.Nothing,+ listBy = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ order = Prelude.Nothing+ }++-- | Optionally, specify a preset category to limit responses to only presets+-- from that category.+listPresets_category :: Lens.Lens' ListPresets (Prelude.Maybe Prelude.Text)+listPresets_category = Lens.lens (\ListPresets' {category} -> category) (\s@ListPresets' {} a -> s {category = a} :: ListPresets)++-- | Optional. When you request a list of presets, you can choose to list+-- them alphabetically by NAME or chronologically by CREATION_DATE. If you+-- don\'t specify, the service will list them by name.+listPresets_listBy :: Lens.Lens' ListPresets (Prelude.Maybe PresetListBy)+listPresets_listBy = Lens.lens (\ListPresets' {listBy} -> listBy) (\s@ListPresets' {} a -> s {listBy = a} :: ListPresets)++-- | Optional. Number of presets, up to twenty, that will be returned at one+-- time+listPresets_maxResults :: Lens.Lens' ListPresets (Prelude.Maybe Prelude.Natural)+listPresets_maxResults = Lens.lens (\ListPresets' {maxResults} -> maxResults) (\s@ListPresets' {} a -> s {maxResults = a} :: ListPresets)++-- | Use this string, provided with the response to a previous request, to+-- request the next batch of presets.+listPresets_nextToken :: Lens.Lens' ListPresets (Prelude.Maybe Prelude.Text)+listPresets_nextToken = Lens.lens (\ListPresets' {nextToken} -> nextToken) (\s@ListPresets' {} a -> s {nextToken = a} :: ListPresets)++-- | Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+listPresets_order :: Lens.Lens' ListPresets (Prelude.Maybe Order)+listPresets_order = Lens.lens (\ListPresets' {order} -> order) (\s@ListPresets' {} a -> s {order = a} :: ListPresets)++instance Core.AWSPager ListPresets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPresetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPresetsResponse_presets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPresets_nextToken+ Lens..~ rs+ Lens.^? listPresetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPresets where+ type AWSResponse ListPresets = ListPresetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPresetsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "presets" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPresets where+ hashWithSalt _salt ListPresets' {..} =+ _salt+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` listBy+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` order++instance Prelude.NFData ListPresets where+ rnf ListPresets' {..} =+ Prelude.rnf category+ `Prelude.seq` Prelude.rnf listBy+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf order++instance Data.ToHeaders ListPresets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListPresets where+ toPath = Prelude.const "/2017-08-29/presets"++instance Data.ToQuery ListPresets where+ toQuery ListPresets' {..} =+ Prelude.mconcat+ [ "category" Data.=: category,+ "listBy" Data.=: listBy,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "order" Data.=: order+ ]++-- | /See:/ 'newListPresetsResponse' smart constructor.+data ListPresetsResponse = ListPresetsResponse'+ { -- | Use this string to request the next batch of presets.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | List of presets+ presets :: Prelude.Maybe [Preset],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPresetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPresetsResponse_nextToken' - Use this string to request the next batch of presets.+--+-- 'presets', 'listPresetsResponse_presets' - List of presets+--+-- 'httpStatus', 'listPresetsResponse_httpStatus' - The response's http status code.+newListPresetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPresetsResponse+newListPresetsResponse pHttpStatus_ =+ ListPresetsResponse'+ { nextToken = Prelude.Nothing,+ presets = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Use this string to request the next batch of presets.+listPresetsResponse_nextToken :: Lens.Lens' ListPresetsResponse (Prelude.Maybe Prelude.Text)+listPresetsResponse_nextToken = Lens.lens (\ListPresetsResponse' {nextToken} -> nextToken) (\s@ListPresetsResponse' {} a -> s {nextToken = a} :: ListPresetsResponse)++-- | List of presets+listPresetsResponse_presets :: Lens.Lens' ListPresetsResponse (Prelude.Maybe [Preset])+listPresetsResponse_presets = Lens.lens (\ListPresetsResponse' {presets} -> presets) (\s@ListPresetsResponse' {} a -> s {presets = a} :: ListPresetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPresetsResponse_httpStatus :: Lens.Lens' ListPresetsResponse Prelude.Int+listPresetsResponse_httpStatus = Lens.lens (\ListPresetsResponse' {httpStatus} -> httpStatus) (\s@ListPresetsResponse' {} a -> s {httpStatus = a} :: ListPresetsResponse)++instance Prelude.NFData ListPresetsResponse where+ rnf ListPresetsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf presets+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,254 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.ListQueues+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a JSON array of up to twenty of your queues. This will return+-- the queues themselves, not just a list of them. To retrieve the next+-- twenty queues, use the nextToken string returned with the array.+--+-- This operation returns paginated results.+module Amazonka.MediaConvert.ListQueues+ ( -- * Creating a Request+ ListQueues (..),+ newListQueues,++ -- * Request Lenses+ listQueues_listBy,+ listQueues_maxResults,+ listQueues_nextToken,+ listQueues_order,++ -- * Destructuring the Response+ ListQueuesResponse (..),+ newListQueuesResponse,++ -- * Response Lenses+ listQueuesResponse_nextToken,+ listQueuesResponse_queues,+ listQueuesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListQueues' smart constructor.+data ListQueues = ListQueues'+ { -- | Optional. When you request a list of queues, you can choose to list them+ -- alphabetically by NAME or chronologically by CREATION_DATE. If you+ -- don\'t specify, the service will list them by creation date.+ listBy :: Prelude.Maybe QueueListBy,+ -- | Optional. Number of queues, up to twenty, that will be returned at one+ -- time.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Use this string, provided with the response to a previous request, to+ -- request the next batch of queues.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Optional. When you request lists of resources, you can specify whether+ -- they are sorted in ASCENDING or DESCENDING order. Default varies by+ -- resource.+ order :: Prelude.Maybe Order+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListQueues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'listBy', 'listQueues_listBy' - Optional. When you request a list of queues, you can choose to list them+-- alphabetically by NAME or chronologically by CREATION_DATE. If you+-- don\'t specify, the service will list them by creation date.+--+-- 'maxResults', 'listQueues_maxResults' - Optional. Number of queues, up to twenty, that will be returned at one+-- time.+--+-- 'nextToken', 'listQueues_nextToken' - Use this string, provided with the response to a previous request, to+-- request the next batch of queues.+--+-- 'order', 'listQueues_order' - Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+newListQueues ::+ ListQueues+newListQueues =+ ListQueues'+ { listBy = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ order = Prelude.Nothing+ }++-- | Optional. When you request a list of queues, you can choose to list them+-- alphabetically by NAME or chronologically by CREATION_DATE. If you+-- don\'t specify, the service will list them by creation date.+listQueues_listBy :: Lens.Lens' ListQueues (Prelude.Maybe QueueListBy)+listQueues_listBy = Lens.lens (\ListQueues' {listBy} -> listBy) (\s@ListQueues' {} a -> s {listBy = a} :: ListQueues)++-- | Optional. Number of queues, up to twenty, that will be returned at one+-- time.+listQueues_maxResults :: Lens.Lens' ListQueues (Prelude.Maybe Prelude.Natural)+listQueues_maxResults = Lens.lens (\ListQueues' {maxResults} -> maxResults) (\s@ListQueues' {} a -> s {maxResults = a} :: ListQueues)++-- | Use this string, provided with the response to a previous request, to+-- request the next batch of queues.+listQueues_nextToken :: Lens.Lens' ListQueues (Prelude.Maybe Prelude.Text)+listQueues_nextToken = Lens.lens (\ListQueues' {nextToken} -> nextToken) (\s@ListQueues' {} a -> s {nextToken = a} :: ListQueues)++-- | Optional. When you request lists of resources, you can specify whether+-- they are sorted in ASCENDING or DESCENDING order. Default varies by+-- resource.+listQueues_order :: Lens.Lens' ListQueues (Prelude.Maybe Order)+listQueues_order = Lens.lens (\ListQueues' {order} -> order) (\s@ListQueues' {} a -> s {order = a} :: ListQueues)++instance Core.AWSPager ListQueues where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listQueuesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listQueuesResponse_queues+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listQueues_nextToken+ Lens..~ rs+ Lens.^? listQueuesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListQueues where+ type AWSResponse ListQueues = ListQueuesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListQueuesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "queues" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListQueues where+ hashWithSalt _salt ListQueues' {..} =+ _salt+ `Prelude.hashWithSalt` listBy+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` order++instance Prelude.NFData ListQueues where+ rnf ListQueues' {..} =+ Prelude.rnf listBy+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf order++instance Data.ToHeaders ListQueues where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListQueues where+ toPath = Prelude.const "/2017-08-29/queues"++instance Data.ToQuery ListQueues where+ toQuery ListQueues' {..} =+ Prelude.mconcat+ [ "listBy" Data.=: listBy,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "order" Data.=: order+ ]++-- | /See:/ 'newListQueuesResponse' smart constructor.+data ListQueuesResponse = ListQueuesResponse'+ { -- | Use this string to request the next batch of queues.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | List of queues.+ queues :: Prelude.Maybe [Queue],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListQueuesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listQueuesResponse_nextToken' - Use this string to request the next batch of queues.+--+-- 'queues', 'listQueuesResponse_queues' - List of queues.+--+-- 'httpStatus', 'listQueuesResponse_httpStatus' - The response's http status code.+newListQueuesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListQueuesResponse+newListQueuesResponse pHttpStatus_ =+ ListQueuesResponse'+ { nextToken = Prelude.Nothing,+ queues = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Use this string to request the next batch of queues.+listQueuesResponse_nextToken :: Lens.Lens' ListQueuesResponse (Prelude.Maybe Prelude.Text)+listQueuesResponse_nextToken = Lens.lens (\ListQueuesResponse' {nextToken} -> nextToken) (\s@ListQueuesResponse' {} a -> s {nextToken = a} :: ListQueuesResponse)++-- | List of queues.+listQueuesResponse_queues :: Lens.Lens' ListQueuesResponse (Prelude.Maybe [Queue])+listQueuesResponse_queues = Lens.lens (\ListQueuesResponse' {queues} -> queues) (\s@ListQueuesResponse' {} a -> s {queues = a} :: ListQueuesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listQueuesResponse_httpStatus :: Lens.Lens' ListQueuesResponse Prelude.Int+listQueuesResponse_httpStatus = Lens.lens (\ListQueuesResponse' {httpStatus} -> httpStatus) (\s@ListQueuesResponse' {} a -> s {httpStatus = a} :: ListQueuesResponse)++instance Prelude.NFData ListQueuesResponse where+ rnf ListQueuesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf queues+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the tags for a MediaConvert resource.+module Amazonka.MediaConvert.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_arn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_resourceTags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the resource that you want to list+ -- tags for. To get the ARN, send a GET request with the resource name.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'listTagsForResource_arn' - The Amazon Resource Name (ARN) of the resource that you want to list+-- tags for. To get the ARN, send a GET request with the resource name.+newListTagsForResource ::+ -- | 'arn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pArn_ =+ ListTagsForResource' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the resource that you want to list+-- tags for. To get the ARN, send a GET request with the resource name.+listTagsForResource_arn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_arn = Lens.lens (\ListTagsForResource' {arn} -> arn) (\s@ListTagsForResource' {} a -> s {arn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "resourceTags")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} = Prelude.rnf arn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat+ ["/2017-08-29/tags/", Data.toBS arn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The Amazon Resource Name (ARN) and tags for an AWS Elemental+ -- MediaConvert resource.+ resourceTags :: Prelude.Maybe ResourceTags,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceTags', 'listTagsForResourceResponse_resourceTags' - The Amazon Resource Name (ARN) and tags for an AWS Elemental+-- MediaConvert resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { resourceTags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) and tags for an AWS Elemental+-- MediaConvert resource.+listTagsForResourceResponse_resourceTags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe ResourceTags)+listTagsForResourceResponse_resourceTags = Lens.lens (\ListTagsForResourceResponse' {resourceTags} -> resourceTags) (\s@ListTagsForResourceResponse' {} a -> s {resourceTags = a} :: ListTagsForResourceResponse)++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf resourceTags+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.PutPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create or change your policy. For more information about policies, see+-- the user guide at+-- http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+module Amazonka.MediaConvert.PutPolicy+ ( -- * Creating a Request+ PutPolicy (..),+ newPutPolicy,++ -- * Request Lenses+ putPolicy_policy,++ -- * Destructuring the Response+ PutPolicyResponse (..),+ newPutPolicyResponse,++ -- * Response Lenses+ putPolicyResponse_policy,+ putPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutPolicy' smart constructor.+data PutPolicy = PutPolicy'+ { -- | A policy configures behavior that you allow or disallow for your+ -- account. For information about MediaConvert policies, see the user guide+ -- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+ policy :: Policy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putPolicy_policy' - A policy configures behavior that you allow or disallow for your+-- account. For information about MediaConvert policies, see the user guide+-- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+newPutPolicy ::+ -- | 'policy'+ Policy ->+ PutPolicy+newPutPolicy pPolicy_ = PutPolicy' {policy = pPolicy_}++-- | A policy configures behavior that you allow or disallow for your+-- account. For information about MediaConvert policies, see the user guide+-- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+putPolicy_policy :: Lens.Lens' PutPolicy Policy+putPolicy_policy = Lens.lens (\PutPolicy' {policy} -> policy) (\s@PutPolicy' {} a -> s {policy = a} :: PutPolicy)++instance Core.AWSRequest PutPolicy where+ type AWSResponse PutPolicy = PutPolicyResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutPolicyResponse'+ Prelude.<$> (x Data..?> "policy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutPolicy where+ hashWithSalt _salt PutPolicy' {..} =+ _salt `Prelude.hashWithSalt` policy++instance Prelude.NFData PutPolicy where+ rnf PutPolicy' {..} = Prelude.rnf policy++instance Data.ToHeaders PutPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutPolicy where+ toJSON PutPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("policy" Data..= policy)]+ )++instance Data.ToPath PutPolicy where+ toPath = Prelude.const "/2017-08-29/policy"++instance Data.ToQuery PutPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutPolicyResponse' smart constructor.+data PutPolicyResponse = PutPolicyResponse'+ { -- | A policy configures behavior that you allow or disallow for your+ -- account. For information about MediaConvert policies, see the user guide+ -- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+ policy :: Prelude.Maybe Policy,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putPolicyResponse_policy' - A policy configures behavior that you allow or disallow for your+-- account. For information about MediaConvert policies, see the user guide+-- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+--+-- 'httpStatus', 'putPolicyResponse_httpStatus' - The response's http status code.+newPutPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutPolicyResponse+newPutPolicyResponse pHttpStatus_ =+ PutPolicyResponse'+ { policy = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A policy configures behavior that you allow or disallow for your+-- account. For information about MediaConvert policies, see the user guide+-- at http:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+putPolicyResponse_policy :: Lens.Lens' PutPolicyResponse (Prelude.Maybe Policy)+putPolicyResponse_policy = Lens.lens (\PutPolicyResponse' {policy} -> policy) (\s@PutPolicyResponse' {} a -> s {policy = a} :: PutPolicyResponse)++-- | The response's http status code.+putPolicyResponse_httpStatus :: Lens.Lens' PutPolicyResponse Prelude.Int+putPolicyResponse_httpStatus = Lens.lens (\PutPolicyResponse' {httpStatus} -> httpStatus) (\s@PutPolicyResponse' {} a -> s {httpStatus = a} :: PutPolicyResponse)++instance Prelude.NFData PutPolicyResponse where+ rnf PutPolicyResponse' {..} =+ Prelude.rnf policy+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add tags to a MediaConvert queue, preset, or job template. For+-- information about tagging, see the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/tagging-resources.html+module Amazonka.MediaConvert.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_arn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the resource that you want to tag. To+ -- get the ARN, send a GET request with the resource name.+ arn :: Prelude.Text,+ -- | The tags that you want to add to the resource. You can tag resources+ -- with a key-value pair or with only a key.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'tagResource_arn' - The Amazon Resource Name (ARN) of the resource that you want to tag. To+-- get the ARN, send a GET request with the resource name.+--+-- 'tags', 'tagResource_tags' - The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+newTagResource ::+ -- | 'arn'+ Prelude.Text ->+ TagResource+newTagResource pArn_ =+ TagResource' {arn = pArn_, tags = Prelude.mempty}++-- | The Amazon Resource Name (ARN) of the resource that you want to tag. To+-- get the ARN, send a GET request with the resource name.+tagResource_arn :: Lens.Lens' TagResource Prelude.Text+tagResource_arn = Lens.lens (\TagResource' {arn} -> arn) (\s@TagResource' {} a -> s {arn = a} :: TagResource)++-- | The tags that you want to add to the resource. You can tag resources+-- with a key-value pair or with only a key.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf arn `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("arn" Data..= arn),+ Prelude.Just ("tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/2017-08-29/tags"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
@@ -0,0 +1,3726 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _BadRequestException,+ _ConflictException,+ _ForbiddenException,+ _InternalServerErrorException,+ _NotFoundException,+ _TooManyRequestsException,++ -- * AacAudioDescriptionBroadcasterMix+ AacAudioDescriptionBroadcasterMix (..),++ -- * AacCodecProfile+ AacCodecProfile (..),++ -- * AacCodingMode+ AacCodingMode (..),++ -- * AacRateControlMode+ AacRateControlMode (..),++ -- * AacRawFormat+ AacRawFormat (..),++ -- * AacSpecification+ AacSpecification (..),++ -- * AacVbrQuality+ AacVbrQuality (..),++ -- * Ac3BitstreamMode+ Ac3BitstreamMode (..),++ -- * Ac3CodingMode+ Ac3CodingMode (..),++ -- * Ac3DynamicRangeCompressionLine+ Ac3DynamicRangeCompressionLine (..),++ -- * Ac3DynamicRangeCompressionProfile+ Ac3DynamicRangeCompressionProfile (..),++ -- * Ac3DynamicRangeCompressionRf+ Ac3DynamicRangeCompressionRf (..),++ -- * Ac3LfeFilter+ Ac3LfeFilter (..),++ -- * Ac3MetadataControl+ Ac3MetadataControl (..),++ -- * AccelerationMode+ AccelerationMode (..),++ -- * AccelerationStatus+ AccelerationStatus (..),++ -- * AfdSignaling+ AfdSignaling (..),++ -- * AlphaBehavior+ AlphaBehavior (..),++ -- * AncillaryConvert608To708+ AncillaryConvert608To708 (..),++ -- * AncillaryTerminateCaptions+ AncillaryTerminateCaptions (..),++ -- * AntiAlias+ AntiAlias (..),++ -- * AudioChannelTag+ AudioChannelTag (..),++ -- * AudioCodec+ AudioCodec (..),++ -- * AudioDefaultSelection+ AudioDefaultSelection (..),++ -- * AudioDurationCorrection+ AudioDurationCorrection (..),++ -- * AudioLanguageCodeControl+ AudioLanguageCodeControl (..),++ -- * AudioNormalizationAlgorithm+ AudioNormalizationAlgorithm (..),++ -- * AudioNormalizationAlgorithmControl+ AudioNormalizationAlgorithmControl (..),++ -- * AudioNormalizationLoudnessLogging+ AudioNormalizationLoudnessLogging (..),++ -- * AudioNormalizationPeakCalculation+ AudioNormalizationPeakCalculation (..),++ -- * AudioSelectorType+ AudioSelectorType (..),++ -- * AudioTypeControl+ AudioTypeControl (..),++ -- * Av1AdaptiveQuantization+ Av1AdaptiveQuantization (..),++ -- * Av1BitDepth+ Av1BitDepth (..),++ -- * Av1FramerateControl+ Av1FramerateControl (..),++ -- * Av1FramerateConversionAlgorithm+ Av1FramerateConversionAlgorithm (..),++ -- * Av1RateControlMode+ Av1RateControlMode (..),++ -- * Av1SpatialAdaptiveQuantization+ Av1SpatialAdaptiveQuantization (..),++ -- * AvcIntraClass+ AvcIntraClass (..),++ -- * AvcIntraFramerateControl+ AvcIntraFramerateControl (..),++ -- * AvcIntraFramerateConversionAlgorithm+ AvcIntraFramerateConversionAlgorithm (..),++ -- * AvcIntraInterlaceMode+ AvcIntraInterlaceMode (..),++ -- * AvcIntraScanTypeConversionMode+ AvcIntraScanTypeConversionMode (..),++ -- * AvcIntraSlowPal+ AvcIntraSlowPal (..),++ -- * AvcIntraTelecine+ AvcIntraTelecine (..),++ -- * AvcIntraUhdQualityTuningLevel+ AvcIntraUhdQualityTuningLevel (..),++ -- * BillingTagsSource+ BillingTagsSource (..),++ -- * BurnInSubtitleStylePassthrough+ BurnInSubtitleStylePassthrough (..),++ -- * BurninSubtitleAlignment+ BurninSubtitleAlignment (..),++ -- * BurninSubtitleApplyFontColor+ BurninSubtitleApplyFontColor (..),++ -- * BurninSubtitleBackgroundColor+ BurninSubtitleBackgroundColor (..),++ -- * BurninSubtitleFallbackFont+ BurninSubtitleFallbackFont (..),++ -- * BurninSubtitleFontColor+ BurninSubtitleFontColor (..),++ -- * BurninSubtitleOutlineColor+ BurninSubtitleOutlineColor (..),++ -- * BurninSubtitleShadowColor+ BurninSubtitleShadowColor (..),++ -- * BurninSubtitleTeletextSpacing+ BurninSubtitleTeletextSpacing (..),++ -- * CaptionDestinationType+ CaptionDestinationType (..),++ -- * CaptionSourceType+ CaptionSourceType (..),++ -- * CmafClientCache+ CmafClientCache (..),++ -- * CmafCodecSpecification+ CmafCodecSpecification (..),++ -- * CmafEncryptionType+ CmafEncryptionType (..),++ -- * CmafImageBasedTrickPlay+ CmafImageBasedTrickPlay (..),++ -- * CmafInitializationVectorInManifest+ CmafInitializationVectorInManifest (..),++ -- * CmafIntervalCadence+ CmafIntervalCadence (..),++ -- * CmafKeyProviderType+ CmafKeyProviderType (..),++ -- * CmafManifestCompression+ CmafManifestCompression (..),++ -- * CmafManifestDurationFormat+ CmafManifestDurationFormat (..),++ -- * CmafMpdManifestBandwidthType+ CmafMpdManifestBandwidthType (..),++ -- * CmafMpdProfile+ CmafMpdProfile (..),++ -- * CmafPtsOffsetHandlingForBFrames+ CmafPtsOffsetHandlingForBFrames (..),++ -- * CmafSegmentControl+ CmafSegmentControl (..),++ -- * CmafSegmentLengthControl+ CmafSegmentLengthControl (..),++ -- * CmafStreamInfResolution+ CmafStreamInfResolution (..),++ -- * CmafTargetDurationCompatibilityMode+ CmafTargetDurationCompatibilityMode (..),++ -- * CmafVideoCompositionOffsets+ CmafVideoCompositionOffsets (..),++ -- * CmafWriteDASHManifest+ CmafWriteDASHManifest (..),++ -- * CmafWriteHLSManifest+ CmafWriteHLSManifest (..),++ -- * CmafWriteSegmentTimelineInRepresentation+ CmafWriteSegmentTimelineInRepresentation (..),++ -- * CmfcAudioDuration+ CmfcAudioDuration (..),++ -- * CmfcAudioTrackType+ CmfcAudioTrackType (..),++ -- * CmfcDescriptiveVideoServiceFlag+ CmfcDescriptiveVideoServiceFlag (..),++ -- * CmfcIFrameOnlyManifest+ CmfcIFrameOnlyManifest (..),++ -- * CmfcKlvMetadata+ CmfcKlvMetadata (..),++ -- * CmfcManifestMetadataSignaling+ CmfcManifestMetadataSignaling (..),++ -- * CmfcScte35Esam+ CmfcScte35Esam (..),++ -- * CmfcScte35Source+ CmfcScte35Source (..),++ -- * CmfcTimedMetadata+ CmfcTimedMetadata (..),++ -- * CmfcTimedMetadataBoxVersion+ CmfcTimedMetadataBoxVersion (..),++ -- * ColorMetadata+ ColorMetadata (..),++ -- * ColorSpace+ ColorSpace (..),++ -- * ColorSpaceConversion+ ColorSpaceConversion (..),++ -- * ColorSpaceUsage+ ColorSpaceUsage (..),++ -- * Commitment+ Commitment (..),++ -- * ContainerType+ ContainerType (..),++ -- * CopyProtectionAction+ CopyProtectionAction (..),++ -- * DashIsoGroupAudioChannelConfigSchemeIdUri+ DashIsoGroupAudioChannelConfigSchemeIdUri (..),++ -- * DashIsoHbbtvCompliance+ DashIsoHbbtvCompliance (..),++ -- * DashIsoImageBasedTrickPlay+ DashIsoImageBasedTrickPlay (..),++ -- * DashIsoIntervalCadence+ DashIsoIntervalCadence (..),++ -- * DashIsoMpdManifestBandwidthType+ DashIsoMpdManifestBandwidthType (..),++ -- * DashIsoMpdProfile+ DashIsoMpdProfile (..),++ -- * DashIsoPlaybackDeviceCompatibility+ DashIsoPlaybackDeviceCompatibility (..),++ -- * DashIsoPtsOffsetHandlingForBFrames+ DashIsoPtsOffsetHandlingForBFrames (..),++ -- * DashIsoSegmentControl+ DashIsoSegmentControl (..),++ -- * DashIsoSegmentLengthControl+ DashIsoSegmentLengthControl (..),++ -- * DashIsoVideoCompositionOffsets+ DashIsoVideoCompositionOffsets (..),++ -- * DashIsoWriteSegmentTimelineInRepresentation+ DashIsoWriteSegmentTimelineInRepresentation (..),++ -- * DecryptionMode+ DecryptionMode (..),++ -- * DeinterlaceAlgorithm+ DeinterlaceAlgorithm (..),++ -- * DeinterlacerControl+ DeinterlacerControl (..),++ -- * DeinterlacerMode+ DeinterlacerMode (..),++ -- * DescribeEndpointsMode+ DescribeEndpointsMode (..),++ -- * DolbyVisionLevel6Mode+ DolbyVisionLevel6Mode (..),++ -- * DolbyVisionMapping+ DolbyVisionMapping (..),++ -- * DolbyVisionProfile+ DolbyVisionProfile (..),++ -- * DropFrameTimecode+ DropFrameTimecode (..),++ -- * DvbSubSubtitleFallbackFont+ DvbSubSubtitleFallbackFont (..),++ -- * DvbSubtitleAlignment+ DvbSubtitleAlignment (..),++ -- * DvbSubtitleApplyFontColor+ DvbSubtitleApplyFontColor (..),++ -- * DvbSubtitleBackgroundColor+ DvbSubtitleBackgroundColor (..),++ -- * DvbSubtitleFontColor+ DvbSubtitleFontColor (..),++ -- * DvbSubtitleOutlineColor+ DvbSubtitleOutlineColor (..),++ -- * DvbSubtitleShadowColor+ DvbSubtitleShadowColor (..),++ -- * DvbSubtitleStylePassthrough+ DvbSubtitleStylePassthrough (..),++ -- * DvbSubtitleTeletextSpacing+ DvbSubtitleTeletextSpacing (..),++ -- * DvbSubtitlingType+ DvbSubtitlingType (..),++ -- * DvbddsHandling+ DvbddsHandling (..),++ -- * Eac3AtmosBitstreamMode+ Eac3AtmosBitstreamMode (..),++ -- * Eac3AtmosCodingMode+ Eac3AtmosCodingMode (..),++ -- * Eac3AtmosDialogueIntelligence+ Eac3AtmosDialogueIntelligence (..),++ -- * Eac3AtmosDownmixControl+ Eac3AtmosDownmixControl (..),++ -- * Eac3AtmosDynamicRangeCompressionLine+ Eac3AtmosDynamicRangeCompressionLine (..),++ -- * Eac3AtmosDynamicRangeCompressionRf+ Eac3AtmosDynamicRangeCompressionRf (..),++ -- * Eac3AtmosDynamicRangeControl+ Eac3AtmosDynamicRangeControl (..),++ -- * Eac3AtmosMeteringMode+ Eac3AtmosMeteringMode (..),++ -- * Eac3AtmosStereoDownmix+ Eac3AtmosStereoDownmix (..),++ -- * Eac3AtmosSurroundExMode+ Eac3AtmosSurroundExMode (..),++ -- * Eac3AttenuationControl+ Eac3AttenuationControl (..),++ -- * Eac3BitstreamMode+ Eac3BitstreamMode (..),++ -- * Eac3CodingMode+ Eac3CodingMode (..),++ -- * Eac3DcFilter+ Eac3DcFilter (..),++ -- * Eac3DynamicRangeCompressionLine+ Eac3DynamicRangeCompressionLine (..),++ -- * Eac3DynamicRangeCompressionRf+ Eac3DynamicRangeCompressionRf (..),++ -- * Eac3LfeControl+ Eac3LfeControl (..),++ -- * Eac3LfeFilter+ Eac3LfeFilter (..),++ -- * Eac3MetadataControl+ Eac3MetadataControl (..),++ -- * Eac3PassthroughControl+ Eac3PassthroughControl (..),++ -- * Eac3PhaseControl+ Eac3PhaseControl (..),++ -- * Eac3StereoDownmix+ Eac3StereoDownmix (..),++ -- * Eac3SurroundExMode+ Eac3SurroundExMode (..),++ -- * Eac3SurroundMode+ Eac3SurroundMode (..),++ -- * EmbeddedConvert608To708+ EmbeddedConvert608To708 (..),++ -- * EmbeddedTerminateCaptions+ EmbeddedTerminateCaptions (..),++ -- * EmbeddedTimecodeOverride+ EmbeddedTimecodeOverride (..),++ -- * F4vMoovPlacement+ F4vMoovPlacement (..),++ -- * FileSourceConvert608To708+ FileSourceConvert608To708 (..),++ -- * FileSourceTimeDeltaUnits+ FileSourceTimeDeltaUnits (..),++ -- * FontScript+ FontScript (..),++ -- * H264AdaptiveQuantization+ H264AdaptiveQuantization (..),++ -- * H264CodecLevel+ H264CodecLevel (..),++ -- * H264CodecProfile+ H264CodecProfile (..),++ -- * H264DynamicSubGop+ H264DynamicSubGop (..),++ -- * H264EntropyEncoding+ H264EntropyEncoding (..),++ -- * H264FieldEncoding+ H264FieldEncoding (..),++ -- * H264FlickerAdaptiveQuantization+ H264FlickerAdaptiveQuantization (..),++ -- * H264FramerateControl+ H264FramerateControl (..),++ -- * H264FramerateConversionAlgorithm+ H264FramerateConversionAlgorithm (..),++ -- * H264GopBReference+ H264GopBReference (..),++ -- * H264GopSizeUnits+ H264GopSizeUnits (..),++ -- * H264InterlaceMode+ H264InterlaceMode (..),++ -- * H264ParControl+ H264ParControl (..),++ -- * H264QualityTuningLevel+ H264QualityTuningLevel (..),++ -- * H264RateControlMode+ H264RateControlMode (..),++ -- * H264RepeatPps+ H264RepeatPps (..),++ -- * H264ScanTypeConversionMode+ H264ScanTypeConversionMode (..),++ -- * H264SceneChangeDetect+ H264SceneChangeDetect (..),++ -- * H264SlowPal+ H264SlowPal (..),++ -- * H264SpatialAdaptiveQuantization+ H264SpatialAdaptiveQuantization (..),++ -- * H264Syntax+ H264Syntax (..),++ -- * H264Telecine+ H264Telecine (..),++ -- * H264TemporalAdaptiveQuantization+ H264TemporalAdaptiveQuantization (..),++ -- * H264UnregisteredSeiTimecode+ H264UnregisteredSeiTimecode (..),++ -- * H265AdaptiveQuantization+ H265AdaptiveQuantization (..),++ -- * H265AlternateTransferFunctionSei+ H265AlternateTransferFunctionSei (..),++ -- * H265CodecLevel+ H265CodecLevel (..),++ -- * H265CodecProfile+ H265CodecProfile (..),++ -- * H265DynamicSubGop+ H265DynamicSubGop (..),++ -- * H265FlickerAdaptiveQuantization+ H265FlickerAdaptiveQuantization (..),++ -- * H265FramerateControl+ H265FramerateControl (..),++ -- * H265FramerateConversionAlgorithm+ H265FramerateConversionAlgorithm (..),++ -- * H265GopBReference+ H265GopBReference (..),++ -- * H265GopSizeUnits+ H265GopSizeUnits (..),++ -- * H265InterlaceMode+ H265InterlaceMode (..),++ -- * H265ParControl+ H265ParControl (..),++ -- * H265QualityTuningLevel+ H265QualityTuningLevel (..),++ -- * H265RateControlMode+ H265RateControlMode (..),++ -- * H265SampleAdaptiveOffsetFilterMode+ H265SampleAdaptiveOffsetFilterMode (..),++ -- * H265ScanTypeConversionMode+ H265ScanTypeConversionMode (..),++ -- * H265SceneChangeDetect+ H265SceneChangeDetect (..),++ -- * H265SlowPal+ H265SlowPal (..),++ -- * H265SpatialAdaptiveQuantization+ H265SpatialAdaptiveQuantization (..),++ -- * H265Telecine+ H265Telecine (..),++ -- * H265TemporalAdaptiveQuantization+ H265TemporalAdaptiveQuantization (..),++ -- * H265TemporalIds+ H265TemporalIds (..),++ -- * H265Tiles+ H265Tiles (..),++ -- * H265UnregisteredSeiTimecode+ H265UnregisteredSeiTimecode (..),++ -- * H265WriteMp4PackagingType+ H265WriteMp4PackagingType (..),++ -- * HlsAdMarkers+ HlsAdMarkers (..),++ -- * HlsAudioOnlyContainer+ HlsAudioOnlyContainer (..),++ -- * HlsAudioOnlyHeader+ HlsAudioOnlyHeader (..),++ -- * HlsAudioTrackType+ HlsAudioTrackType (..),++ -- * HlsCaptionLanguageSetting+ HlsCaptionLanguageSetting (..),++ -- * HlsCaptionSegmentLengthControl+ HlsCaptionSegmentLengthControl (..),++ -- * HlsClientCache+ HlsClientCache (..),++ -- * HlsCodecSpecification+ HlsCodecSpecification (..),++ -- * HlsDescriptiveVideoServiceFlag+ HlsDescriptiveVideoServiceFlag (..),++ -- * HlsDirectoryStructure+ HlsDirectoryStructure (..),++ -- * HlsEncryptionType+ HlsEncryptionType (..),++ -- * HlsIFrameOnlyManifest+ HlsIFrameOnlyManifest (..),++ -- * HlsImageBasedTrickPlay+ HlsImageBasedTrickPlay (..),++ -- * HlsInitializationVectorInManifest+ HlsInitializationVectorInManifest (..),++ -- * HlsIntervalCadence+ HlsIntervalCadence (..),++ -- * HlsKeyProviderType+ HlsKeyProviderType (..),++ -- * HlsManifestCompression+ HlsManifestCompression (..),++ -- * HlsManifestDurationFormat+ HlsManifestDurationFormat (..),++ -- * HlsOfflineEncrypted+ HlsOfflineEncrypted (..),++ -- * HlsOutputSelection+ HlsOutputSelection (..),++ -- * HlsProgramDateTime+ HlsProgramDateTime (..),++ -- * HlsSegmentControl+ HlsSegmentControl (..),++ -- * HlsSegmentLengthControl+ HlsSegmentLengthControl (..),++ -- * HlsStreamInfResolution+ HlsStreamInfResolution (..),++ -- * HlsTargetDurationCompatibilityMode+ HlsTargetDurationCompatibilityMode (..),++ -- * HlsTimedMetadataId3Frame+ HlsTimedMetadataId3Frame (..),++ -- * ImscAccessibilitySubs+ ImscAccessibilitySubs (..),++ -- * ImscStylePassthrough+ ImscStylePassthrough (..),++ -- * InputDeblockFilter+ InputDeblockFilter (..),++ -- * InputDenoiseFilter+ InputDenoiseFilter (..),++ -- * InputFilterEnable+ InputFilterEnable (..),++ -- * InputPolicy+ InputPolicy (..),++ -- * InputPsiControl+ InputPsiControl (..),++ -- * InputRotate+ InputRotate (..),++ -- * InputSampleRange+ InputSampleRange (..),++ -- * InputScanType+ InputScanType (..),++ -- * InputTimecodeSource+ InputTimecodeSource (..),++ -- * JobPhase+ JobPhase (..),++ -- * JobStatus+ JobStatus (..),++ -- * JobTemplateListBy+ JobTemplateListBy (..),++ -- * LanguageCode+ LanguageCode (..),++ -- * M2tsAudioBufferModel+ M2tsAudioBufferModel (..),++ -- * M2tsAudioDuration+ M2tsAudioDuration (..),++ -- * M2tsBufferModel+ M2tsBufferModel (..),++ -- * M2tsDataPtsControl+ M2tsDataPtsControl (..),++ -- * M2tsEbpAudioInterval+ M2tsEbpAudioInterval (..),++ -- * M2tsEbpPlacement+ M2tsEbpPlacement (..),++ -- * M2tsEsRateInPes+ M2tsEsRateInPes (..),++ -- * M2tsForceTsVideoEbpOrder+ M2tsForceTsVideoEbpOrder (..),++ -- * M2tsKlvMetadata+ M2tsKlvMetadata (..),++ -- * M2tsNielsenId3+ M2tsNielsenId3 (..),++ -- * M2tsPcrControl+ M2tsPcrControl (..),++ -- * M2tsRateMode+ M2tsRateMode (..),++ -- * M2tsScte35Source+ M2tsScte35Source (..),++ -- * M2tsSegmentationMarkers+ M2tsSegmentationMarkers (..),++ -- * M2tsSegmentationStyle+ M2tsSegmentationStyle (..),++ -- * M3u8AudioDuration+ M3u8AudioDuration (..),++ -- * M3u8DataPtsControl+ M3u8DataPtsControl (..),++ -- * M3u8NielsenId3+ M3u8NielsenId3 (..),++ -- * M3u8PcrControl+ M3u8PcrControl (..),++ -- * M3u8Scte35Source+ M3u8Scte35Source (..),++ -- * MotionImageInsertionMode+ MotionImageInsertionMode (..),++ -- * MotionImagePlayback+ MotionImagePlayback (..),++ -- * MovClapAtom+ MovClapAtom (..),++ -- * MovCslgAtom+ MovCslgAtom (..),++ -- * MovMpeg2FourCCControl+ MovMpeg2FourCCControl (..),++ -- * MovPaddingControl+ MovPaddingControl (..),++ -- * MovReference+ MovReference (..),++ -- * Mp3RateControlMode+ Mp3RateControlMode (..),++ -- * Mp4CslgAtom+ Mp4CslgAtom (..),++ -- * Mp4FreeSpaceBox+ Mp4FreeSpaceBox (..),++ -- * Mp4MoovPlacement+ Mp4MoovPlacement (..),++ -- * MpdAccessibilityCaptionHints+ MpdAccessibilityCaptionHints (..),++ -- * MpdAudioDuration+ MpdAudioDuration (..),++ -- * MpdCaptionContainerType+ MpdCaptionContainerType (..),++ -- * MpdKlvMetadata+ MpdKlvMetadata (..),++ -- * MpdManifestMetadataSignaling+ MpdManifestMetadataSignaling (..),++ -- * MpdScte35Esam+ MpdScte35Esam (..),++ -- * MpdScte35Source+ MpdScte35Source (..),++ -- * MpdTimedMetadata+ MpdTimedMetadata (..),++ -- * MpdTimedMetadataBoxVersion+ MpdTimedMetadataBoxVersion (..),++ -- * Mpeg2AdaptiveQuantization+ Mpeg2AdaptiveQuantization (..),++ -- * Mpeg2CodecLevel+ Mpeg2CodecLevel (..),++ -- * Mpeg2CodecProfile+ Mpeg2CodecProfile (..),++ -- * Mpeg2DynamicSubGop+ Mpeg2DynamicSubGop (..),++ -- * Mpeg2FramerateControl+ Mpeg2FramerateControl (..),++ -- * Mpeg2FramerateConversionAlgorithm+ Mpeg2FramerateConversionAlgorithm (..),++ -- * Mpeg2GopSizeUnits+ Mpeg2GopSizeUnits (..),++ -- * Mpeg2InterlaceMode+ Mpeg2InterlaceMode (..),++ -- * Mpeg2IntraDcPrecision+ Mpeg2IntraDcPrecision (..),++ -- * Mpeg2ParControl+ Mpeg2ParControl (..),++ -- * Mpeg2QualityTuningLevel+ Mpeg2QualityTuningLevel (..),++ -- * Mpeg2RateControlMode+ Mpeg2RateControlMode (..),++ -- * Mpeg2ScanTypeConversionMode+ Mpeg2ScanTypeConversionMode (..),++ -- * Mpeg2SceneChangeDetect+ Mpeg2SceneChangeDetect (..),++ -- * Mpeg2SlowPal+ Mpeg2SlowPal (..),++ -- * Mpeg2SpatialAdaptiveQuantization+ Mpeg2SpatialAdaptiveQuantization (..),++ -- * Mpeg2Syntax+ Mpeg2Syntax (..),++ -- * Mpeg2Telecine+ Mpeg2Telecine (..),++ -- * Mpeg2TemporalAdaptiveQuantization+ Mpeg2TemporalAdaptiveQuantization (..),++ -- * MsSmoothAudioDeduplication+ MsSmoothAudioDeduplication (..),++ -- * MsSmoothFragmentLengthControl+ MsSmoothFragmentLengthControl (..),++ -- * MsSmoothManifestEncoding+ MsSmoothManifestEncoding (..),++ -- * MxfAfdSignaling+ MxfAfdSignaling (..),++ -- * MxfProfile+ MxfProfile (..),++ -- * MxfXavcDurationMode+ MxfXavcDurationMode (..),++ -- * NielsenActiveWatermarkProcessType+ NielsenActiveWatermarkProcessType (..),++ -- * NielsenSourceWatermarkStatusType+ NielsenSourceWatermarkStatusType (..),++ -- * NielsenUniqueTicPerAudioTrackType+ NielsenUniqueTicPerAudioTrackType (..),++ -- * NoiseFilterPostTemporalSharpening+ NoiseFilterPostTemporalSharpening (..),++ -- * NoiseFilterPostTemporalSharpeningStrength+ NoiseFilterPostTemporalSharpeningStrength (..),++ -- * NoiseReducerFilter+ NoiseReducerFilter (..),++ -- * Order+ Order (..),++ -- * OutputGroupType+ OutputGroupType (..),++ -- * OutputSdt+ OutputSdt (..),++ -- * PadVideo+ PadVideo (..),++ -- * PresetListBy+ PresetListBy (..),++ -- * PricingPlan+ PricingPlan (..),++ -- * ProresChromaSampling+ ProresChromaSampling (..),++ -- * ProresCodecProfile+ ProresCodecProfile (..),++ -- * ProresFramerateControl+ ProresFramerateControl (..),++ -- * ProresFramerateConversionAlgorithm+ ProresFramerateConversionAlgorithm (..),++ -- * ProresInterlaceMode+ ProresInterlaceMode (..),++ -- * ProresParControl+ ProresParControl (..),++ -- * ProresScanTypeConversionMode+ ProresScanTypeConversionMode (..),++ -- * ProresSlowPal+ ProresSlowPal (..),++ -- * ProresTelecine+ ProresTelecine (..),++ -- * QueueListBy+ QueueListBy (..),++ -- * QueueStatus+ QueueStatus (..),++ -- * RenewalType+ RenewalType (..),++ -- * RequiredFlag+ RequiredFlag (..),++ -- * ReservationPlanStatus+ ReservationPlanStatus (..),++ -- * RespondToAfd+ RespondToAfd (..),++ -- * RuleType+ RuleType (..),++ -- * S3ObjectCannedAcl+ S3ObjectCannedAcl (..),++ -- * S3ServerSideEncryptionType+ S3ServerSideEncryptionType (..),++ -- * SampleRangeConversion+ SampleRangeConversion (..),++ -- * ScalingBehavior+ ScalingBehavior (..),++ -- * SccDestinationFramerate+ SccDestinationFramerate (..),++ -- * SimulateReservedQueue+ SimulateReservedQueue (..),++ -- * SrtStylePassthrough+ SrtStylePassthrough (..),++ -- * StatusUpdateInterval+ StatusUpdateInterval (..),++ -- * TeletextPageType+ TeletextPageType (..),++ -- * TimecodeBurninPosition+ TimecodeBurninPosition (..),++ -- * TimecodeSource+ TimecodeSource (..),++ -- * TimedMetadata+ TimedMetadata (..),++ -- * TtmlStylePassthrough+ TtmlStylePassthrough (..),++ -- * Type+ Type (..),++ -- * Vc3Class+ Vc3Class (..),++ -- * Vc3FramerateControl+ Vc3FramerateControl (..),++ -- * Vc3FramerateConversionAlgorithm+ Vc3FramerateConversionAlgorithm (..),++ -- * Vc3InterlaceMode+ Vc3InterlaceMode (..),++ -- * Vc3ScanTypeConversionMode+ Vc3ScanTypeConversionMode (..),++ -- * Vc3SlowPal+ Vc3SlowPal (..),++ -- * Vc3Telecine+ Vc3Telecine (..),++ -- * VchipAction+ VchipAction (..),++ -- * VideoCodec+ VideoCodec (..),++ -- * VideoTimecodeInsertion+ VideoTimecodeInsertion (..),++ -- * Vp8FramerateControl+ Vp8FramerateControl (..),++ -- * Vp8FramerateConversionAlgorithm+ Vp8FramerateConversionAlgorithm (..),++ -- * Vp8ParControl+ Vp8ParControl (..),++ -- * Vp8QualityTuningLevel+ Vp8QualityTuningLevel (..),++ -- * Vp8RateControlMode+ Vp8RateControlMode (..),++ -- * Vp9FramerateControl+ Vp9FramerateControl (..),++ -- * Vp9FramerateConversionAlgorithm+ Vp9FramerateConversionAlgorithm (..),++ -- * Vp9ParControl+ Vp9ParControl (..),++ -- * Vp9QualityTuningLevel+ Vp9QualityTuningLevel (..),++ -- * Vp9RateControlMode+ Vp9RateControlMode (..),++ -- * WatermarkingStrength+ WatermarkingStrength (..),++ -- * WavFormat+ WavFormat (..),++ -- * WebvttAccessibilitySubs+ WebvttAccessibilitySubs (..),++ -- * WebvttStylePassthrough+ WebvttStylePassthrough (..),++ -- * Xavc4kIntraCbgProfileClass+ Xavc4kIntraCbgProfileClass (..),++ -- * Xavc4kIntraVbrProfileClass+ Xavc4kIntraVbrProfileClass (..),++ -- * Xavc4kProfileBitrateClass+ Xavc4kProfileBitrateClass (..),++ -- * Xavc4kProfileCodecProfile+ Xavc4kProfileCodecProfile (..),++ -- * Xavc4kProfileQualityTuningLevel+ Xavc4kProfileQualityTuningLevel (..),++ -- * XavcAdaptiveQuantization+ XavcAdaptiveQuantization (..),++ -- * XavcEntropyEncoding+ XavcEntropyEncoding (..),++ -- * XavcFlickerAdaptiveQuantization+ XavcFlickerAdaptiveQuantization (..),++ -- * XavcFramerateControl+ XavcFramerateControl (..),++ -- * XavcFramerateConversionAlgorithm+ XavcFramerateConversionAlgorithm (..),++ -- * XavcGopBReference+ XavcGopBReference (..),++ -- * XavcHdIntraCbgProfileClass+ XavcHdIntraCbgProfileClass (..),++ -- * XavcHdProfileBitrateClass+ XavcHdProfileBitrateClass (..),++ -- * XavcHdProfileQualityTuningLevel+ XavcHdProfileQualityTuningLevel (..),++ -- * XavcHdProfileTelecine+ XavcHdProfileTelecine (..),++ -- * XavcInterlaceMode+ XavcInterlaceMode (..),++ -- * XavcProfile+ XavcProfile (..),++ -- * XavcSlowPal+ XavcSlowPal (..),++ -- * XavcSpatialAdaptiveQuantization+ XavcSpatialAdaptiveQuantization (..),++ -- * XavcTemporalAdaptiveQuantization+ XavcTemporalAdaptiveQuantization (..),++ -- * AacSettings+ AacSettings (..),+ newAacSettings,+ aacSettings_audioDescriptionBroadcasterMix,+ aacSettings_bitrate,+ aacSettings_codecProfile,+ aacSettings_codingMode,+ aacSettings_rateControlMode,+ aacSettings_rawFormat,+ aacSettings_sampleRate,+ aacSettings_specification,+ aacSettings_vbrQuality,++ -- * Ac3Settings+ Ac3Settings (..),+ newAc3Settings,+ ac3Settings_bitrate,+ ac3Settings_bitstreamMode,+ ac3Settings_codingMode,+ ac3Settings_dialnorm,+ ac3Settings_dynamicRangeCompressionLine,+ ac3Settings_dynamicRangeCompressionProfile,+ ac3Settings_dynamicRangeCompressionRf,+ ac3Settings_lfeFilter,+ ac3Settings_metadataControl,+ ac3Settings_sampleRate,++ -- * AccelerationSettings+ AccelerationSettings (..),+ newAccelerationSettings,+ accelerationSettings_mode,++ -- * AiffSettings+ AiffSettings (..),+ newAiffSettings,+ aiffSettings_bitDepth,+ aiffSettings_channels,+ aiffSettings_sampleRate,++ -- * AllowedRenditionSize+ AllowedRenditionSize (..),+ newAllowedRenditionSize,+ allowedRenditionSize_height,+ allowedRenditionSize_required,+ allowedRenditionSize_width,++ -- * AncillarySourceSettings+ AncillarySourceSettings (..),+ newAncillarySourceSettings,+ ancillarySourceSettings_convert608To708,+ ancillarySourceSettings_sourceAncillaryChannelNumber,+ ancillarySourceSettings_terminateCaptions,++ -- * AudioChannelTaggingSettings+ AudioChannelTaggingSettings (..),+ newAudioChannelTaggingSettings,+ audioChannelTaggingSettings_channelTag,++ -- * AudioCodecSettings+ AudioCodecSettings (..),+ newAudioCodecSettings,+ audioCodecSettings_aacSettings,+ audioCodecSettings_ac3Settings,+ audioCodecSettings_aiffSettings,+ audioCodecSettings_codec,+ audioCodecSettings_eac3AtmosSettings,+ audioCodecSettings_eac3Settings,+ audioCodecSettings_mp2Settings,+ audioCodecSettings_mp3Settings,+ audioCodecSettings_opusSettings,+ audioCodecSettings_vorbisSettings,+ audioCodecSettings_wavSettings,++ -- * AudioDescription+ AudioDescription (..),+ newAudioDescription,+ audioDescription_audioChannelTaggingSettings,+ audioDescription_audioNormalizationSettings,+ audioDescription_audioSourceName,+ audioDescription_audioType,+ audioDescription_audioTypeControl,+ audioDescription_codecSettings,+ audioDescription_customLanguageCode,+ audioDescription_languageCode,+ audioDescription_languageCodeControl,+ audioDescription_remixSettings,+ audioDescription_streamName,++ -- * AudioNormalizationSettings+ AudioNormalizationSettings (..),+ newAudioNormalizationSettings,+ audioNormalizationSettings_algorithm,+ audioNormalizationSettings_algorithmControl,+ audioNormalizationSettings_correctionGateLevel,+ audioNormalizationSettings_loudnessLogging,+ audioNormalizationSettings_peakCalculation,+ audioNormalizationSettings_targetLkfs,++ -- * AudioSelector+ AudioSelector (..),+ newAudioSelector,+ audioSelector_audioDurationCorrection,+ audioSelector_customLanguageCode,+ audioSelector_defaultSelection,+ audioSelector_externalAudioFileInput,+ audioSelector_hlsRenditionGroupSettings,+ audioSelector_languageCode,+ audioSelector_offset,+ audioSelector_pids,+ audioSelector_programSelection,+ audioSelector_remixSettings,+ audioSelector_selectorType,+ audioSelector_tracks,++ -- * AudioSelectorGroup+ AudioSelectorGroup (..),+ newAudioSelectorGroup,+ audioSelectorGroup_audioSelectorNames,++ -- * AutomatedAbrRule+ AutomatedAbrRule (..),+ newAutomatedAbrRule,+ automatedAbrRule_allowedRenditions,+ automatedAbrRule_forceIncludeRenditions,+ automatedAbrRule_minBottomRenditionSize,+ automatedAbrRule_minTopRenditionSize,+ automatedAbrRule_type,++ -- * AutomatedAbrSettings+ AutomatedAbrSettings (..),+ newAutomatedAbrSettings,+ automatedAbrSettings_maxAbrBitrate,+ automatedAbrSettings_maxRenditions,+ automatedAbrSettings_minAbrBitrate,+ automatedAbrSettings_rules,++ -- * AutomatedEncodingSettings+ AutomatedEncodingSettings (..),+ newAutomatedEncodingSettings,+ automatedEncodingSettings_abrSettings,++ -- * Av1QvbrSettings+ Av1QvbrSettings (..),+ newAv1QvbrSettings,+ av1QvbrSettings_qvbrQualityLevel,+ av1QvbrSettings_qvbrQualityLevelFineTune,++ -- * Av1Settings+ Av1Settings (..),+ newAv1Settings,+ av1Settings_adaptiveQuantization,+ av1Settings_bitDepth,+ av1Settings_framerateControl,+ av1Settings_framerateConversionAlgorithm,+ av1Settings_framerateDenominator,+ av1Settings_framerateNumerator,+ av1Settings_gopSize,+ av1Settings_maxBitrate,+ av1Settings_numberBFramesBetweenReferenceFrames,+ av1Settings_qvbrSettings,+ av1Settings_rateControlMode,+ av1Settings_slices,+ av1Settings_spatialAdaptiveQuantization,++ -- * AvailBlanking+ AvailBlanking (..),+ newAvailBlanking,+ availBlanking_availBlankingImage,++ -- * AvcIntraSettings+ AvcIntraSettings (..),+ newAvcIntraSettings,+ avcIntraSettings_avcIntraClass,+ avcIntraSettings_avcIntraUhdSettings,+ avcIntraSettings_framerateControl,+ avcIntraSettings_framerateConversionAlgorithm,+ avcIntraSettings_framerateDenominator,+ avcIntraSettings_framerateNumerator,+ avcIntraSettings_interlaceMode,+ avcIntraSettings_scanTypeConversionMode,+ avcIntraSettings_slowPal,+ avcIntraSettings_telecine,++ -- * AvcIntraUhdSettings+ AvcIntraUhdSettings (..),+ newAvcIntraUhdSettings,+ avcIntraUhdSettings_qualityTuningLevel,++ -- * BurninDestinationSettings+ BurninDestinationSettings (..),+ newBurninDestinationSettings,+ burninDestinationSettings_alignment,+ burninDestinationSettings_applyFontColor,+ burninDestinationSettings_backgroundColor,+ burninDestinationSettings_backgroundOpacity,+ burninDestinationSettings_fallbackFont,+ burninDestinationSettings_fontColor,+ burninDestinationSettings_fontOpacity,+ burninDestinationSettings_fontResolution,+ burninDestinationSettings_fontScript,+ burninDestinationSettings_fontSize,+ burninDestinationSettings_hexFontColor,+ burninDestinationSettings_outlineColor,+ burninDestinationSettings_outlineSize,+ burninDestinationSettings_shadowColor,+ burninDestinationSettings_shadowOpacity,+ burninDestinationSettings_shadowXOffset,+ burninDestinationSettings_shadowYOffset,+ burninDestinationSettings_stylePassthrough,+ burninDestinationSettings_teletextSpacing,+ burninDestinationSettings_xPosition,+ burninDestinationSettings_yPosition,++ -- * CaptionDescription+ CaptionDescription (..),+ newCaptionDescription,+ captionDescription_captionSelectorName,+ captionDescription_customLanguageCode,+ captionDescription_destinationSettings,+ captionDescription_languageCode,+ captionDescription_languageDescription,++ -- * CaptionDescriptionPreset+ CaptionDescriptionPreset (..),+ newCaptionDescriptionPreset,+ captionDescriptionPreset_customLanguageCode,+ captionDescriptionPreset_destinationSettings,+ captionDescriptionPreset_languageCode,+ captionDescriptionPreset_languageDescription,++ -- * CaptionDestinationSettings+ CaptionDestinationSettings (..),+ newCaptionDestinationSettings,+ captionDestinationSettings_burninDestinationSettings,+ captionDestinationSettings_destinationType,+ captionDestinationSettings_dvbSubDestinationSettings,+ captionDestinationSettings_embeddedDestinationSettings,+ captionDestinationSettings_imscDestinationSettings,+ captionDestinationSettings_sccDestinationSettings,+ captionDestinationSettings_srtDestinationSettings,+ captionDestinationSettings_teletextDestinationSettings,+ captionDestinationSettings_ttmlDestinationSettings,+ captionDestinationSettings_webvttDestinationSettings,++ -- * CaptionSelector+ CaptionSelector (..),+ newCaptionSelector,+ captionSelector_customLanguageCode,+ captionSelector_languageCode,+ captionSelector_sourceSettings,++ -- * CaptionSourceFramerate+ CaptionSourceFramerate (..),+ newCaptionSourceFramerate,+ captionSourceFramerate_framerateDenominator,+ captionSourceFramerate_framerateNumerator,++ -- * CaptionSourceSettings+ CaptionSourceSettings (..),+ newCaptionSourceSettings,+ captionSourceSettings_ancillarySourceSettings,+ captionSourceSettings_dvbSubSourceSettings,+ captionSourceSettings_embeddedSourceSettings,+ captionSourceSettings_fileSourceSettings,+ captionSourceSettings_sourceType,+ captionSourceSettings_teletextSourceSettings,+ captionSourceSettings_trackSourceSettings,+ captionSourceSettings_webvttHlsSourceSettings,++ -- * ChannelMapping+ ChannelMapping (..),+ newChannelMapping,+ channelMapping_outputChannels,++ -- * CmafAdditionalManifest+ CmafAdditionalManifest (..),+ newCmafAdditionalManifest,+ cmafAdditionalManifest_manifestNameModifier,+ cmafAdditionalManifest_selectedOutputs,++ -- * CmafEncryptionSettings+ CmafEncryptionSettings (..),+ newCmafEncryptionSettings,+ cmafEncryptionSettings_constantInitializationVector,+ cmafEncryptionSettings_encryptionMethod,+ cmafEncryptionSettings_initializationVectorInManifest,+ cmafEncryptionSettings_spekeKeyProvider,+ cmafEncryptionSettings_staticKeyProvider,+ cmafEncryptionSettings_type,++ -- * CmafGroupSettings+ CmafGroupSettings (..),+ newCmafGroupSettings,+ cmafGroupSettings_additionalManifests,+ cmafGroupSettings_baseUrl,+ cmafGroupSettings_clientCache,+ cmafGroupSettings_codecSpecification,+ cmafGroupSettings_destination,+ cmafGroupSettings_destinationSettings,+ cmafGroupSettings_encryption,+ cmafGroupSettings_fragmentLength,+ cmafGroupSettings_imageBasedTrickPlay,+ cmafGroupSettings_imageBasedTrickPlaySettings,+ cmafGroupSettings_manifestCompression,+ cmafGroupSettings_manifestDurationFormat,+ cmafGroupSettings_minBufferTime,+ cmafGroupSettings_minFinalSegmentLength,+ cmafGroupSettings_mpdManifestBandwidthType,+ cmafGroupSettings_mpdProfile,+ cmafGroupSettings_ptsOffsetHandlingForBFrames,+ cmafGroupSettings_segmentControl,+ cmafGroupSettings_segmentLength,+ cmafGroupSettings_segmentLengthControl,+ cmafGroupSettings_streamInfResolution,+ cmafGroupSettings_targetDurationCompatibilityMode,+ cmafGroupSettings_videoCompositionOffsets,+ cmafGroupSettings_writeDashManifest,+ cmafGroupSettings_writeHlsManifest,+ cmafGroupSettings_writeSegmentTimelineInRepresentation,++ -- * CmafImageBasedTrickPlaySettings+ CmafImageBasedTrickPlaySettings (..),+ newCmafImageBasedTrickPlaySettings,+ cmafImageBasedTrickPlaySettings_intervalCadence,+ cmafImageBasedTrickPlaySettings_thumbnailHeight,+ cmafImageBasedTrickPlaySettings_thumbnailInterval,+ cmafImageBasedTrickPlaySettings_thumbnailWidth,+ cmafImageBasedTrickPlaySettings_tileHeight,+ cmafImageBasedTrickPlaySettings_tileWidth,++ -- * CmfcSettings+ CmfcSettings (..),+ newCmfcSettings,+ cmfcSettings_audioDuration,+ cmfcSettings_audioGroupId,+ cmfcSettings_audioRenditionSets,+ cmfcSettings_audioTrackType,+ cmfcSettings_descriptiveVideoServiceFlag,+ cmfcSettings_iFrameOnlyManifest,+ cmfcSettings_klvMetadata,+ cmfcSettings_manifestMetadataSignaling,+ cmfcSettings_scte35Esam,+ cmfcSettings_scte35Source,+ cmfcSettings_timedMetadata,+ cmfcSettings_timedMetadataBoxVersion,+ cmfcSettings_timedMetadataSchemeIdUri,+ cmfcSettings_timedMetadataValue,++ -- * ColorCorrector+ ColorCorrector (..),+ newColorCorrector,+ colorCorrector_brightness,+ colorCorrector_colorSpaceConversion,+ colorCorrector_contrast,+ colorCorrector_hdr10Metadata,+ colorCorrector_hue,+ colorCorrector_sampleRangeConversion,+ colorCorrector_saturation,+ colorCorrector_sdrReferenceWhiteLevel,++ -- * ContainerSettings+ ContainerSettings (..),+ newContainerSettings,+ containerSettings_cmfcSettings,+ containerSettings_container,+ containerSettings_f4vSettings,+ containerSettings_m2tsSettings,+ containerSettings_m3u8Settings,+ containerSettings_movSettings,+ containerSettings_mp4Settings,+ containerSettings_mpdSettings,+ containerSettings_mxfSettings,++ -- * DashAdditionalManifest+ DashAdditionalManifest (..),+ newDashAdditionalManifest,+ dashAdditionalManifest_manifestNameModifier,+ dashAdditionalManifest_selectedOutputs,++ -- * DashIsoEncryptionSettings+ DashIsoEncryptionSettings (..),+ newDashIsoEncryptionSettings,+ dashIsoEncryptionSettings_playbackDeviceCompatibility,+ dashIsoEncryptionSettings_spekeKeyProvider,++ -- * DashIsoGroupSettings+ DashIsoGroupSettings (..),+ newDashIsoGroupSettings,+ dashIsoGroupSettings_additionalManifests,+ dashIsoGroupSettings_audioChannelConfigSchemeIdUri,+ dashIsoGroupSettings_baseUrl,+ dashIsoGroupSettings_destination,+ dashIsoGroupSettings_destinationSettings,+ dashIsoGroupSettings_encryption,+ dashIsoGroupSettings_fragmentLength,+ dashIsoGroupSettings_hbbtvCompliance,+ dashIsoGroupSettings_imageBasedTrickPlay,+ dashIsoGroupSettings_imageBasedTrickPlaySettings,+ dashIsoGroupSettings_minBufferTime,+ dashIsoGroupSettings_minFinalSegmentLength,+ dashIsoGroupSettings_mpdManifestBandwidthType,+ dashIsoGroupSettings_mpdProfile,+ dashIsoGroupSettings_ptsOffsetHandlingForBFrames,+ dashIsoGroupSettings_segmentControl,+ dashIsoGroupSettings_segmentLength,+ dashIsoGroupSettings_segmentLengthControl,+ dashIsoGroupSettings_videoCompositionOffsets,+ dashIsoGroupSettings_writeSegmentTimelineInRepresentation,++ -- * DashIsoImageBasedTrickPlaySettings+ DashIsoImageBasedTrickPlaySettings (..),+ newDashIsoImageBasedTrickPlaySettings,+ dashIsoImageBasedTrickPlaySettings_intervalCadence,+ dashIsoImageBasedTrickPlaySettings_thumbnailHeight,+ dashIsoImageBasedTrickPlaySettings_thumbnailInterval,+ dashIsoImageBasedTrickPlaySettings_thumbnailWidth,+ dashIsoImageBasedTrickPlaySettings_tileHeight,+ dashIsoImageBasedTrickPlaySettings_tileWidth,++ -- * Deinterlacer+ Deinterlacer (..),+ newDeinterlacer,+ deinterlacer_algorithm,+ deinterlacer_control,+ deinterlacer_mode,++ -- * DestinationSettings+ DestinationSettings (..),+ newDestinationSettings,+ destinationSettings_s3Settings,++ -- * DolbyVision+ DolbyVision (..),+ newDolbyVision,+ dolbyVision_l6Metadata,+ dolbyVision_l6Mode,+ dolbyVision_mapping,+ dolbyVision_profile,++ -- * DolbyVisionLevel6Metadata+ DolbyVisionLevel6Metadata (..),+ newDolbyVisionLevel6Metadata,+ dolbyVisionLevel6Metadata_maxCll,+ dolbyVisionLevel6Metadata_maxFall,++ -- * DvbNitSettings+ DvbNitSettings (..),+ newDvbNitSettings,+ dvbNitSettings_networkId,+ dvbNitSettings_networkName,+ dvbNitSettings_nitInterval,++ -- * DvbSdtSettings+ DvbSdtSettings (..),+ newDvbSdtSettings,+ dvbSdtSettings_outputSdt,+ dvbSdtSettings_sdtInterval,+ dvbSdtSettings_serviceName,+ dvbSdtSettings_serviceProviderName,++ -- * DvbSubDestinationSettings+ DvbSubDestinationSettings (..),+ newDvbSubDestinationSettings,+ dvbSubDestinationSettings_alignment,+ dvbSubDestinationSettings_applyFontColor,+ dvbSubDestinationSettings_backgroundColor,+ dvbSubDestinationSettings_backgroundOpacity,+ dvbSubDestinationSettings_ddsHandling,+ dvbSubDestinationSettings_ddsXCoordinate,+ dvbSubDestinationSettings_ddsYCoordinate,+ dvbSubDestinationSettings_fallbackFont,+ dvbSubDestinationSettings_fontColor,+ dvbSubDestinationSettings_fontOpacity,+ dvbSubDestinationSettings_fontResolution,+ dvbSubDestinationSettings_fontScript,+ dvbSubDestinationSettings_fontSize,+ dvbSubDestinationSettings_height,+ dvbSubDestinationSettings_hexFontColor,+ dvbSubDestinationSettings_outlineColor,+ dvbSubDestinationSettings_outlineSize,+ dvbSubDestinationSettings_shadowColor,+ dvbSubDestinationSettings_shadowOpacity,+ dvbSubDestinationSettings_shadowXOffset,+ dvbSubDestinationSettings_shadowYOffset,+ dvbSubDestinationSettings_stylePassthrough,+ dvbSubDestinationSettings_subtitlingType,+ dvbSubDestinationSettings_teletextSpacing,+ dvbSubDestinationSettings_width,+ dvbSubDestinationSettings_xPosition,+ dvbSubDestinationSettings_yPosition,++ -- * DvbSubSourceSettings+ DvbSubSourceSettings (..),+ newDvbSubSourceSettings,+ dvbSubSourceSettings_pid,++ -- * DvbTdtSettings+ DvbTdtSettings (..),+ newDvbTdtSettings,+ dvbTdtSettings_tdtInterval,++ -- * Eac3AtmosSettings+ Eac3AtmosSettings (..),+ newEac3AtmosSettings,+ eac3AtmosSettings_bitrate,+ eac3AtmosSettings_bitstreamMode,+ eac3AtmosSettings_codingMode,+ eac3AtmosSettings_dialogueIntelligence,+ eac3AtmosSettings_downmixControl,+ eac3AtmosSettings_dynamicRangeCompressionLine,+ eac3AtmosSettings_dynamicRangeCompressionRf,+ eac3AtmosSettings_dynamicRangeControl,+ eac3AtmosSettings_loRoCenterMixLevel,+ eac3AtmosSettings_loRoSurroundMixLevel,+ eac3AtmosSettings_ltRtCenterMixLevel,+ eac3AtmosSettings_ltRtSurroundMixLevel,+ eac3AtmosSettings_meteringMode,+ eac3AtmosSettings_sampleRate,+ eac3AtmosSettings_speechThreshold,+ eac3AtmosSettings_stereoDownmix,+ eac3AtmosSettings_surroundExMode,++ -- * Eac3Settings+ Eac3Settings (..),+ newEac3Settings,+ eac3Settings_attenuationControl,+ eac3Settings_bitrate,+ eac3Settings_bitstreamMode,+ eac3Settings_codingMode,+ eac3Settings_dcFilter,+ eac3Settings_dialnorm,+ eac3Settings_dynamicRangeCompressionLine,+ eac3Settings_dynamicRangeCompressionRf,+ eac3Settings_lfeControl,+ eac3Settings_lfeFilter,+ eac3Settings_loRoCenterMixLevel,+ eac3Settings_loRoSurroundMixLevel,+ eac3Settings_ltRtCenterMixLevel,+ eac3Settings_ltRtSurroundMixLevel,+ eac3Settings_metadataControl,+ eac3Settings_passthroughControl,+ eac3Settings_phaseControl,+ eac3Settings_sampleRate,+ eac3Settings_stereoDownmix,+ eac3Settings_surroundExMode,+ eac3Settings_surroundMode,++ -- * EmbeddedDestinationSettings+ EmbeddedDestinationSettings (..),+ newEmbeddedDestinationSettings,+ embeddedDestinationSettings_destination608ChannelNumber,+ embeddedDestinationSettings_destination708ServiceNumber,++ -- * EmbeddedSourceSettings+ EmbeddedSourceSettings (..),+ newEmbeddedSourceSettings,+ embeddedSourceSettings_convert608To708,+ embeddedSourceSettings_source608ChannelNumber,+ embeddedSourceSettings_source608TrackNumber,+ embeddedSourceSettings_terminateCaptions,++ -- * Endpoint+ Endpoint (..),+ newEndpoint,+ endpoint_url,++ -- * EsamManifestConfirmConditionNotification+ EsamManifestConfirmConditionNotification (..),+ newEsamManifestConfirmConditionNotification,+ esamManifestConfirmConditionNotification_mccXml,++ -- * EsamSettings+ EsamSettings (..),+ newEsamSettings,+ esamSettings_manifestConfirmConditionNotification,+ esamSettings_responseSignalPreroll,+ esamSettings_signalProcessingNotification,++ -- * EsamSignalProcessingNotification+ EsamSignalProcessingNotification (..),+ newEsamSignalProcessingNotification,+ esamSignalProcessingNotification_sccXml,++ -- * ExtendedDataServices+ ExtendedDataServices (..),+ newExtendedDataServices,+ extendedDataServices_copyProtectionAction,+ extendedDataServices_vchipAction,++ -- * F4vSettings+ F4vSettings (..),+ newF4vSettings,+ f4vSettings_moovPlacement,++ -- * FileGroupSettings+ FileGroupSettings (..),+ newFileGroupSettings,+ fileGroupSettings_destination,+ fileGroupSettings_destinationSettings,++ -- * FileSourceSettings+ FileSourceSettings (..),+ newFileSourceSettings,+ fileSourceSettings_convert608To708,+ fileSourceSettings_framerate,+ fileSourceSettings_sourceFile,+ fileSourceSettings_timeDelta,+ fileSourceSettings_timeDeltaUnits,++ -- * ForceIncludeRenditionSize+ ForceIncludeRenditionSize (..),+ newForceIncludeRenditionSize,+ forceIncludeRenditionSize_height,+ forceIncludeRenditionSize_width,++ -- * FrameCaptureSettings+ FrameCaptureSettings (..),+ newFrameCaptureSettings,+ frameCaptureSettings_framerateDenominator,+ frameCaptureSettings_framerateNumerator,+ frameCaptureSettings_maxCaptures,+ frameCaptureSettings_quality,++ -- * H264QvbrSettings+ H264QvbrSettings (..),+ newH264QvbrSettings,+ h264QvbrSettings_maxAverageBitrate,+ h264QvbrSettings_qvbrQualityLevel,+ h264QvbrSettings_qvbrQualityLevelFineTune,++ -- * H264Settings+ H264Settings (..),+ newH264Settings,+ h264Settings_adaptiveQuantization,+ h264Settings_bitrate,+ h264Settings_codecLevel,+ h264Settings_codecProfile,+ h264Settings_dynamicSubGop,+ h264Settings_entropyEncoding,+ h264Settings_fieldEncoding,+ h264Settings_flickerAdaptiveQuantization,+ h264Settings_framerateControl,+ h264Settings_framerateConversionAlgorithm,+ h264Settings_framerateDenominator,+ h264Settings_framerateNumerator,+ h264Settings_gopBReference,+ h264Settings_gopClosedCadence,+ h264Settings_gopSize,+ h264Settings_gopSizeUnits,+ h264Settings_hrdBufferFinalFillPercentage,+ h264Settings_hrdBufferInitialFillPercentage,+ h264Settings_hrdBufferSize,+ h264Settings_interlaceMode,+ h264Settings_maxBitrate,+ h264Settings_minIInterval,+ h264Settings_numberBFramesBetweenReferenceFrames,+ h264Settings_numberReferenceFrames,+ h264Settings_parControl,+ h264Settings_parDenominator,+ h264Settings_parNumerator,+ h264Settings_qualityTuningLevel,+ h264Settings_qvbrSettings,+ h264Settings_rateControlMode,+ h264Settings_repeatPps,+ h264Settings_scanTypeConversionMode,+ h264Settings_sceneChangeDetect,+ h264Settings_slices,+ h264Settings_slowPal,+ h264Settings_softness,+ h264Settings_spatialAdaptiveQuantization,+ h264Settings_syntax,+ h264Settings_telecine,+ h264Settings_temporalAdaptiveQuantization,+ h264Settings_unregisteredSeiTimecode,++ -- * H265QvbrSettings+ H265QvbrSettings (..),+ newH265QvbrSettings,+ h265QvbrSettings_maxAverageBitrate,+ h265QvbrSettings_qvbrQualityLevel,+ h265QvbrSettings_qvbrQualityLevelFineTune,++ -- * H265Settings+ H265Settings (..),+ newH265Settings,+ h265Settings_adaptiveQuantization,+ h265Settings_alternateTransferFunctionSei,+ h265Settings_bitrate,+ h265Settings_codecLevel,+ h265Settings_codecProfile,+ h265Settings_dynamicSubGop,+ h265Settings_flickerAdaptiveQuantization,+ h265Settings_framerateControl,+ h265Settings_framerateConversionAlgorithm,+ h265Settings_framerateDenominator,+ h265Settings_framerateNumerator,+ h265Settings_gopBReference,+ h265Settings_gopClosedCadence,+ h265Settings_gopSize,+ h265Settings_gopSizeUnits,+ h265Settings_hrdBufferFinalFillPercentage,+ h265Settings_hrdBufferInitialFillPercentage,+ h265Settings_hrdBufferSize,+ h265Settings_interlaceMode,+ h265Settings_maxBitrate,+ h265Settings_minIInterval,+ h265Settings_numberBFramesBetweenReferenceFrames,+ h265Settings_numberReferenceFrames,+ h265Settings_parControl,+ h265Settings_parDenominator,+ h265Settings_parNumerator,+ h265Settings_qualityTuningLevel,+ h265Settings_qvbrSettings,+ h265Settings_rateControlMode,+ h265Settings_sampleAdaptiveOffsetFilterMode,+ h265Settings_scanTypeConversionMode,+ h265Settings_sceneChangeDetect,+ h265Settings_slices,+ h265Settings_slowPal,+ h265Settings_spatialAdaptiveQuantization,+ h265Settings_telecine,+ h265Settings_temporalAdaptiveQuantization,+ h265Settings_temporalIds,+ h265Settings_tiles,+ h265Settings_unregisteredSeiTimecode,+ h265Settings_writeMp4PackagingType,++ -- * Hdr10Metadata+ Hdr10Metadata (..),+ newHdr10Metadata,+ hdr10Metadata_bluePrimaryX,+ hdr10Metadata_bluePrimaryY,+ hdr10Metadata_greenPrimaryX,+ hdr10Metadata_greenPrimaryY,+ hdr10Metadata_maxContentLightLevel,+ hdr10Metadata_maxFrameAverageLightLevel,+ hdr10Metadata_maxLuminance,+ hdr10Metadata_minLuminance,+ hdr10Metadata_redPrimaryX,+ hdr10Metadata_redPrimaryY,+ hdr10Metadata_whitePointX,+ hdr10Metadata_whitePointY,++ -- * Hdr10Plus+ Hdr10Plus (..),+ newHdr10Plus,+ hdr10Plus_masteringMonitorNits,+ hdr10Plus_targetMonitorNits,++ -- * HlsAdditionalManifest+ HlsAdditionalManifest (..),+ newHlsAdditionalManifest,+ hlsAdditionalManifest_manifestNameModifier,+ hlsAdditionalManifest_selectedOutputs,++ -- * HlsCaptionLanguageMapping+ HlsCaptionLanguageMapping (..),+ newHlsCaptionLanguageMapping,+ hlsCaptionLanguageMapping_captionChannel,+ hlsCaptionLanguageMapping_customLanguageCode,+ hlsCaptionLanguageMapping_languageCode,+ hlsCaptionLanguageMapping_languageDescription,++ -- * HlsEncryptionSettings+ HlsEncryptionSettings (..),+ newHlsEncryptionSettings,+ hlsEncryptionSettings_constantInitializationVector,+ hlsEncryptionSettings_encryptionMethod,+ hlsEncryptionSettings_initializationVectorInManifest,+ hlsEncryptionSettings_offlineEncrypted,+ hlsEncryptionSettings_spekeKeyProvider,+ hlsEncryptionSettings_staticKeyProvider,+ hlsEncryptionSettings_type,++ -- * HlsGroupSettings+ HlsGroupSettings (..),+ newHlsGroupSettings,+ hlsGroupSettings_adMarkers,+ hlsGroupSettings_additionalManifests,+ hlsGroupSettings_audioOnlyHeader,+ hlsGroupSettings_baseUrl,+ hlsGroupSettings_captionLanguageMappings,+ hlsGroupSettings_captionLanguageSetting,+ hlsGroupSettings_captionSegmentLengthControl,+ hlsGroupSettings_clientCache,+ hlsGroupSettings_codecSpecification,+ hlsGroupSettings_destination,+ hlsGroupSettings_destinationSettings,+ hlsGroupSettings_directoryStructure,+ hlsGroupSettings_encryption,+ hlsGroupSettings_imageBasedTrickPlay,+ hlsGroupSettings_imageBasedTrickPlaySettings,+ hlsGroupSettings_manifestCompression,+ hlsGroupSettings_manifestDurationFormat,+ hlsGroupSettings_minFinalSegmentLength,+ hlsGroupSettings_minSegmentLength,+ hlsGroupSettings_outputSelection,+ hlsGroupSettings_programDateTime,+ hlsGroupSettings_programDateTimePeriod,+ hlsGroupSettings_segmentControl,+ hlsGroupSettings_segmentLength,+ hlsGroupSettings_segmentLengthControl,+ hlsGroupSettings_segmentsPerSubdirectory,+ hlsGroupSettings_streamInfResolution,+ hlsGroupSettings_targetDurationCompatibilityMode,+ hlsGroupSettings_timedMetadataId3Frame,+ hlsGroupSettings_timedMetadataId3Period,+ hlsGroupSettings_timestampDeltaMilliseconds,++ -- * HlsImageBasedTrickPlaySettings+ HlsImageBasedTrickPlaySettings (..),+ newHlsImageBasedTrickPlaySettings,+ hlsImageBasedTrickPlaySettings_intervalCadence,+ hlsImageBasedTrickPlaySettings_thumbnailHeight,+ hlsImageBasedTrickPlaySettings_thumbnailInterval,+ hlsImageBasedTrickPlaySettings_thumbnailWidth,+ hlsImageBasedTrickPlaySettings_tileHeight,+ hlsImageBasedTrickPlaySettings_tileWidth,++ -- * HlsRenditionGroupSettings+ HlsRenditionGroupSettings (..),+ newHlsRenditionGroupSettings,+ hlsRenditionGroupSettings_renditionGroupId,+ hlsRenditionGroupSettings_renditionLanguageCode,+ hlsRenditionGroupSettings_renditionName,++ -- * HlsSettings+ HlsSettings (..),+ newHlsSettings,+ hlsSettings_audioGroupId,+ hlsSettings_audioOnlyContainer,+ hlsSettings_audioRenditionSets,+ hlsSettings_audioTrackType,+ hlsSettings_descriptiveVideoServiceFlag,+ hlsSettings_iFrameOnlyManifest,+ hlsSettings_segmentModifier,++ -- * HopDestination+ HopDestination (..),+ newHopDestination,+ hopDestination_priority,+ hopDestination_queue,+ hopDestination_waitMinutes,++ -- * Id3Insertion+ Id3Insertion (..),+ newId3Insertion,+ id3Insertion_id3,+ id3Insertion_timecode,++ -- * ImageInserter+ ImageInserter (..),+ newImageInserter,+ imageInserter_insertableImages,+ imageInserter_sdrReferenceWhiteLevel,++ -- * ImscDestinationSettings+ ImscDestinationSettings (..),+ newImscDestinationSettings,+ imscDestinationSettings_accessibility,+ imscDestinationSettings_stylePassthrough,++ -- * Input+ Input (..),+ newInput,+ input_audioSelectorGroups,+ input_audioSelectors,+ input_captionSelectors,+ input_crop,+ input_deblockFilter,+ input_decryptionSettings,+ input_denoiseFilter,+ input_dolbyVisionMetadataXml,+ input_fileInput,+ input_filterEnable,+ input_filterStrength,+ input_imageInserter,+ input_inputClippings,+ input_inputScanType,+ input_position,+ input_programNumber,+ input_psiControl,+ input_supplementalImps,+ input_timecodeSource,+ input_timecodeStart,+ input_videoGenerator,+ input_videoSelector,++ -- * InputClipping+ InputClipping (..),+ newInputClipping,+ inputClipping_endTimecode,+ inputClipping_startTimecode,++ -- * InputDecryptionSettings+ InputDecryptionSettings (..),+ newInputDecryptionSettings,+ inputDecryptionSettings_decryptionMode,+ inputDecryptionSettings_encryptedDecryptionKey,+ inputDecryptionSettings_initializationVector,+ inputDecryptionSettings_kmsKeyRegion,++ -- * InputTemplate+ InputTemplate (..),+ newInputTemplate,+ inputTemplate_audioSelectorGroups,+ inputTemplate_audioSelectors,+ inputTemplate_captionSelectors,+ inputTemplate_crop,+ inputTemplate_deblockFilter,+ inputTemplate_denoiseFilter,+ inputTemplate_dolbyVisionMetadataXml,+ inputTemplate_filterEnable,+ inputTemplate_filterStrength,+ inputTemplate_imageInserter,+ inputTemplate_inputClippings,+ inputTemplate_inputScanType,+ inputTemplate_position,+ inputTemplate_programNumber,+ inputTemplate_psiControl,+ inputTemplate_timecodeSource,+ inputTemplate_timecodeStart,+ inputTemplate_videoSelector,++ -- * InputVideoGenerator+ InputVideoGenerator (..),+ newInputVideoGenerator,+ inputVideoGenerator_duration,++ -- * InsertableImage+ InsertableImage (..),+ newInsertableImage,+ insertableImage_duration,+ insertableImage_fadeIn,+ insertableImage_fadeOut,+ insertableImage_height,+ insertableImage_imageInserterInput,+ insertableImage_imageX,+ insertableImage_imageY,+ insertableImage_layer,+ insertableImage_opacity,+ insertableImage_startTime,+ insertableImage_width,++ -- * Job+ Job (..),+ newJob,+ job_accelerationSettings,+ job_accelerationStatus,+ job_arn,+ job_billingTagsSource,+ job_createdAt,+ job_currentPhase,+ job_errorCode,+ job_errorMessage,+ job_hopDestinations,+ job_id,+ job_jobPercentComplete,+ job_jobTemplate,+ job_messages,+ job_outputGroupDetails,+ job_priority,+ job_queue,+ job_queueTransitions,+ job_retryCount,+ job_simulateReservedQueue,+ job_status,+ job_statusUpdateInterval,+ job_timing,+ job_userMetadata,+ job_role,+ job_settings,++ -- * JobMessages+ JobMessages (..),+ newJobMessages,+ jobMessages_info,+ jobMessages_warning,++ -- * JobSettings+ JobSettings (..),+ newJobSettings,+ jobSettings_adAvailOffset,+ jobSettings_availBlanking,+ jobSettings_esam,+ jobSettings_extendedDataServices,+ jobSettings_inputs,+ jobSettings_kantarWatermark,+ jobSettings_motionImageInserter,+ jobSettings_nielsenConfiguration,+ jobSettings_nielsenNonLinearWatermark,+ jobSettings_outputGroups,+ jobSettings_timecodeConfig,+ jobSettings_timedMetadataInsertion,++ -- * JobTemplate+ JobTemplate (..),+ newJobTemplate,+ jobTemplate_accelerationSettings,+ jobTemplate_arn,+ jobTemplate_category,+ jobTemplate_createdAt,+ jobTemplate_description,+ jobTemplate_hopDestinations,+ jobTemplate_lastUpdated,+ jobTemplate_priority,+ jobTemplate_queue,+ jobTemplate_statusUpdateInterval,+ jobTemplate_type,+ jobTemplate_settings,+ jobTemplate_name,++ -- * JobTemplateSettings+ JobTemplateSettings (..),+ newJobTemplateSettings,+ jobTemplateSettings_adAvailOffset,+ jobTemplateSettings_availBlanking,+ jobTemplateSettings_esam,+ jobTemplateSettings_extendedDataServices,+ jobTemplateSettings_inputs,+ jobTemplateSettings_kantarWatermark,+ jobTemplateSettings_motionImageInserter,+ jobTemplateSettings_nielsenConfiguration,+ jobTemplateSettings_nielsenNonLinearWatermark,+ jobTemplateSettings_outputGroups,+ jobTemplateSettings_timecodeConfig,+ jobTemplateSettings_timedMetadataInsertion,++ -- * KantarWatermarkSettings+ KantarWatermarkSettings (..),+ newKantarWatermarkSettings,+ kantarWatermarkSettings_channelName,+ kantarWatermarkSettings_contentReference,+ kantarWatermarkSettings_credentialsSecretName,+ kantarWatermarkSettings_fileOffset,+ kantarWatermarkSettings_kantarLicenseId,+ kantarWatermarkSettings_kantarServerUrl,+ kantarWatermarkSettings_logDestination,+ kantarWatermarkSettings_metadata3,+ kantarWatermarkSettings_metadata4,+ kantarWatermarkSettings_metadata5,+ kantarWatermarkSettings_metadata6,+ kantarWatermarkSettings_metadata7,+ kantarWatermarkSettings_metadata8,++ -- * M2tsScte35Esam+ M2tsScte35Esam (..),+ newM2tsScte35Esam,+ m2tsScte35Esam_scte35EsamPid,++ -- * M2tsSettings+ M2tsSettings (..),+ newM2tsSettings,+ m2tsSettings_audioBufferModel,+ m2tsSettings_audioDuration,+ m2tsSettings_audioFramesPerPes,+ m2tsSettings_audioPids,+ m2tsSettings_bitrate,+ m2tsSettings_bufferModel,+ m2tsSettings_dataPTSControl,+ m2tsSettings_dvbNitSettings,+ m2tsSettings_dvbSdtSettings,+ m2tsSettings_dvbSubPids,+ m2tsSettings_dvbTdtSettings,+ m2tsSettings_dvbTeletextPid,+ m2tsSettings_ebpAudioInterval,+ m2tsSettings_ebpPlacement,+ m2tsSettings_esRateInPes,+ m2tsSettings_forceTsVideoEbpOrder,+ m2tsSettings_fragmentTime,+ m2tsSettings_klvMetadata,+ m2tsSettings_maxPcrInterval,+ m2tsSettings_minEbpInterval,+ m2tsSettings_nielsenId3,+ m2tsSettings_nullPacketBitrate,+ m2tsSettings_patInterval,+ m2tsSettings_pcrControl,+ m2tsSettings_pcrPid,+ m2tsSettings_pmtInterval,+ m2tsSettings_pmtPid,+ m2tsSettings_privateMetadataPid,+ m2tsSettings_programNumber,+ m2tsSettings_rateMode,+ m2tsSettings_scte35Esam,+ m2tsSettings_scte35Pid,+ m2tsSettings_scte35Source,+ m2tsSettings_segmentationMarkers,+ m2tsSettings_segmentationStyle,+ m2tsSettings_segmentationTime,+ m2tsSettings_timedMetadataPid,+ m2tsSettings_transportStreamId,+ m2tsSettings_videoPid,++ -- * M3u8Settings+ M3u8Settings (..),+ newM3u8Settings,+ m3u8Settings_audioDuration,+ m3u8Settings_audioFramesPerPes,+ m3u8Settings_audioPids,+ m3u8Settings_dataPTSControl,+ m3u8Settings_maxPcrInterval,+ m3u8Settings_nielsenId3,+ m3u8Settings_patInterval,+ m3u8Settings_pcrControl,+ m3u8Settings_pcrPid,+ m3u8Settings_pmtInterval,+ m3u8Settings_pmtPid,+ m3u8Settings_privateMetadataPid,+ m3u8Settings_programNumber,+ m3u8Settings_scte35Pid,+ m3u8Settings_scte35Source,+ m3u8Settings_timedMetadata,+ m3u8Settings_timedMetadataPid,+ m3u8Settings_transportStreamId,+ m3u8Settings_videoPid,++ -- * MinBottomRenditionSize+ MinBottomRenditionSize (..),+ newMinBottomRenditionSize,+ minBottomRenditionSize_height,+ minBottomRenditionSize_width,++ -- * MinTopRenditionSize+ MinTopRenditionSize (..),+ newMinTopRenditionSize,+ minTopRenditionSize_height,+ minTopRenditionSize_width,++ -- * MotionImageInserter+ MotionImageInserter (..),+ newMotionImageInserter,+ motionImageInserter_framerate,+ motionImageInserter_input,+ motionImageInserter_insertionMode,+ motionImageInserter_offset,+ motionImageInserter_playback,+ motionImageInserter_startTime,++ -- * MotionImageInsertionFramerate+ MotionImageInsertionFramerate (..),+ newMotionImageInsertionFramerate,+ motionImageInsertionFramerate_framerateDenominator,+ motionImageInsertionFramerate_framerateNumerator,++ -- * MotionImageInsertionOffset+ MotionImageInsertionOffset (..),+ newMotionImageInsertionOffset,+ motionImageInsertionOffset_imageX,+ motionImageInsertionOffset_imageY,++ -- * MovSettings+ MovSettings (..),+ newMovSettings,+ movSettings_clapAtom,+ movSettings_cslgAtom,+ movSettings_mpeg2FourCCControl,+ movSettings_paddingControl,+ movSettings_reference,++ -- * Mp2Settings+ Mp2Settings (..),+ newMp2Settings,+ mp2Settings_bitrate,+ mp2Settings_channels,+ mp2Settings_sampleRate,++ -- * Mp3Settings+ Mp3Settings (..),+ newMp3Settings,+ mp3Settings_bitrate,+ mp3Settings_channels,+ mp3Settings_rateControlMode,+ mp3Settings_sampleRate,+ mp3Settings_vbrQuality,++ -- * Mp4Settings+ Mp4Settings (..),+ newMp4Settings,+ mp4Settings_audioDuration,+ mp4Settings_cslgAtom,+ mp4Settings_cttsVersion,+ mp4Settings_freeSpaceBox,+ mp4Settings_moovPlacement,+ mp4Settings_mp4MajorBrand,++ -- * MpdSettings+ MpdSettings (..),+ newMpdSettings,+ mpdSettings_accessibilityCaptionHints,+ mpdSettings_audioDuration,+ mpdSettings_captionContainerType,+ mpdSettings_klvMetadata,+ mpdSettings_manifestMetadataSignaling,+ mpdSettings_scte35Esam,+ mpdSettings_scte35Source,+ mpdSettings_timedMetadata,+ mpdSettings_timedMetadataBoxVersion,+ mpdSettings_timedMetadataSchemeIdUri,+ mpdSettings_timedMetadataValue,++ -- * Mpeg2Settings+ Mpeg2Settings (..),+ newMpeg2Settings,+ mpeg2Settings_adaptiveQuantization,+ mpeg2Settings_bitrate,+ mpeg2Settings_codecLevel,+ mpeg2Settings_codecProfile,+ mpeg2Settings_dynamicSubGop,+ mpeg2Settings_framerateControl,+ mpeg2Settings_framerateConversionAlgorithm,+ mpeg2Settings_framerateDenominator,+ mpeg2Settings_framerateNumerator,+ mpeg2Settings_gopClosedCadence,+ mpeg2Settings_gopSize,+ mpeg2Settings_gopSizeUnits,+ mpeg2Settings_hrdBufferFinalFillPercentage,+ mpeg2Settings_hrdBufferInitialFillPercentage,+ mpeg2Settings_hrdBufferSize,+ mpeg2Settings_interlaceMode,+ mpeg2Settings_intraDcPrecision,+ mpeg2Settings_maxBitrate,+ mpeg2Settings_minIInterval,+ mpeg2Settings_numberBFramesBetweenReferenceFrames,+ mpeg2Settings_parControl,+ mpeg2Settings_parDenominator,+ mpeg2Settings_parNumerator,+ mpeg2Settings_qualityTuningLevel,+ mpeg2Settings_rateControlMode,+ mpeg2Settings_scanTypeConversionMode,+ mpeg2Settings_sceneChangeDetect,+ mpeg2Settings_slowPal,+ mpeg2Settings_softness,+ mpeg2Settings_spatialAdaptiveQuantization,+ mpeg2Settings_syntax,+ mpeg2Settings_telecine,+ mpeg2Settings_temporalAdaptiveQuantization,++ -- * MsSmoothAdditionalManifest+ MsSmoothAdditionalManifest (..),+ newMsSmoothAdditionalManifest,+ msSmoothAdditionalManifest_manifestNameModifier,+ msSmoothAdditionalManifest_selectedOutputs,++ -- * MsSmoothEncryptionSettings+ MsSmoothEncryptionSettings (..),+ newMsSmoothEncryptionSettings,+ msSmoothEncryptionSettings_spekeKeyProvider,++ -- * MsSmoothGroupSettings+ MsSmoothGroupSettings (..),+ newMsSmoothGroupSettings,+ msSmoothGroupSettings_additionalManifests,+ msSmoothGroupSettings_audioDeduplication,+ msSmoothGroupSettings_destination,+ msSmoothGroupSettings_destinationSettings,+ msSmoothGroupSettings_encryption,+ msSmoothGroupSettings_fragmentLength,+ msSmoothGroupSettings_fragmentLengthControl,+ msSmoothGroupSettings_manifestEncoding,++ -- * MxfSettings+ MxfSettings (..),+ newMxfSettings,+ mxfSettings_afdSignaling,+ mxfSettings_profile,+ mxfSettings_xavcProfileSettings,++ -- * MxfXavcProfileSettings+ MxfXavcProfileSettings (..),+ newMxfXavcProfileSettings,+ mxfXavcProfileSettings_durationMode,+ mxfXavcProfileSettings_maxAncDataSize,++ -- * NexGuardFileMarkerSettings+ NexGuardFileMarkerSettings (..),+ newNexGuardFileMarkerSettings,+ nexGuardFileMarkerSettings_license,+ nexGuardFileMarkerSettings_payload,+ nexGuardFileMarkerSettings_preset,+ nexGuardFileMarkerSettings_strength,++ -- * NielsenConfiguration+ NielsenConfiguration (..),+ newNielsenConfiguration,+ nielsenConfiguration_breakoutCode,+ nielsenConfiguration_distributorId,++ -- * NielsenNonLinearWatermarkSettings+ NielsenNonLinearWatermarkSettings (..),+ newNielsenNonLinearWatermarkSettings,+ nielsenNonLinearWatermarkSettings_activeWatermarkProcess,+ nielsenNonLinearWatermarkSettings_adiFilename,+ nielsenNonLinearWatermarkSettings_assetId,+ nielsenNonLinearWatermarkSettings_assetName,+ nielsenNonLinearWatermarkSettings_cbetSourceId,+ nielsenNonLinearWatermarkSettings_episodeId,+ nielsenNonLinearWatermarkSettings_metadataDestination,+ nielsenNonLinearWatermarkSettings_sourceId,+ nielsenNonLinearWatermarkSettings_sourceWatermarkStatus,+ nielsenNonLinearWatermarkSettings_ticServerUrl,+ nielsenNonLinearWatermarkSettings_uniqueTicPerAudioTrack,++ -- * NoiseReducer+ NoiseReducer (..),+ newNoiseReducer,+ noiseReducer_filter,+ noiseReducer_filterSettings,+ noiseReducer_spatialFilterSettings,+ noiseReducer_temporalFilterSettings,++ -- * NoiseReducerFilterSettings+ NoiseReducerFilterSettings (..),+ newNoiseReducerFilterSettings,+ noiseReducerFilterSettings_strength,++ -- * NoiseReducerSpatialFilterSettings+ NoiseReducerSpatialFilterSettings (..),+ newNoiseReducerSpatialFilterSettings,+ noiseReducerSpatialFilterSettings_postFilterSharpenStrength,+ noiseReducerSpatialFilterSettings_speed,+ noiseReducerSpatialFilterSettings_strength,++ -- * NoiseReducerTemporalFilterSettings+ NoiseReducerTemporalFilterSettings (..),+ newNoiseReducerTemporalFilterSettings,+ noiseReducerTemporalFilterSettings_aggressiveMode,+ noiseReducerTemporalFilterSettings_postTemporalSharpening,+ noiseReducerTemporalFilterSettings_postTemporalSharpeningStrength,+ noiseReducerTemporalFilterSettings_speed,+ noiseReducerTemporalFilterSettings_strength,++ -- * OpusSettings+ OpusSettings (..),+ newOpusSettings,+ opusSettings_bitrate,+ opusSettings_channels,+ opusSettings_sampleRate,++ -- * Output+ Output (..),+ newOutput,+ output_audioDescriptions,+ output_captionDescriptions,+ output_containerSettings,+ output_extension,+ output_nameModifier,+ output_outputSettings,+ output_preset,+ output_videoDescription,++ -- * OutputChannelMapping+ OutputChannelMapping (..),+ newOutputChannelMapping,+ outputChannelMapping_inputChannels,+ outputChannelMapping_inputChannelsFineTune,++ -- * OutputDetail+ OutputDetail (..),+ newOutputDetail,+ outputDetail_durationInMs,+ outputDetail_videoDetails,++ -- * OutputGroup+ OutputGroup (..),+ newOutputGroup,+ outputGroup_automatedEncodingSettings,+ outputGroup_customName,+ outputGroup_name,+ outputGroup_outputGroupSettings,+ outputGroup_outputs,++ -- * OutputGroupDetail+ OutputGroupDetail (..),+ newOutputGroupDetail,+ outputGroupDetail_outputDetails,++ -- * OutputGroupSettings+ OutputGroupSettings (..),+ newOutputGroupSettings,+ outputGroupSettings_cmafGroupSettings,+ outputGroupSettings_dashIsoGroupSettings,+ outputGroupSettings_fileGroupSettings,+ outputGroupSettings_hlsGroupSettings,+ outputGroupSettings_msSmoothGroupSettings,+ outputGroupSettings_type,++ -- * OutputSettings+ OutputSettings (..),+ newOutputSettings,+ outputSettings_hlsSettings,++ -- * PartnerWatermarking+ PartnerWatermarking (..),+ newPartnerWatermarking,+ partnerWatermarking_nexguardFileMarkerSettings,++ -- * Policy+ Policy (..),+ newPolicy,+ policy_httpInputs,+ policy_httpsInputs,+ policy_s3Inputs,++ -- * Preset+ Preset (..),+ newPreset,+ preset_arn,+ preset_category,+ preset_createdAt,+ preset_description,+ preset_lastUpdated,+ preset_type,+ preset_settings,+ preset_name,++ -- * PresetSettings+ PresetSettings (..),+ newPresetSettings,+ presetSettings_audioDescriptions,+ presetSettings_captionDescriptions,+ presetSettings_containerSettings,+ presetSettings_videoDescription,++ -- * ProresSettings+ ProresSettings (..),+ newProresSettings,+ proresSettings_chromaSampling,+ proresSettings_codecProfile,+ proresSettings_framerateControl,+ proresSettings_framerateConversionAlgorithm,+ proresSettings_framerateDenominator,+ proresSettings_framerateNumerator,+ proresSettings_interlaceMode,+ proresSettings_parControl,+ proresSettings_parDenominator,+ proresSettings_parNumerator,+ proresSettings_scanTypeConversionMode,+ proresSettings_slowPal,+ proresSettings_telecine,++ -- * Queue+ Queue (..),+ newQueue,+ queue_arn,+ queue_createdAt,+ queue_description,+ queue_lastUpdated,+ queue_pricingPlan,+ queue_progressingJobsCount,+ queue_reservationPlan,+ queue_status,+ queue_submittedJobsCount,+ queue_type,+ queue_name,++ -- * QueueTransition+ QueueTransition (..),+ newQueueTransition,+ queueTransition_destinationQueue,+ queueTransition_sourceQueue,+ queueTransition_timestamp,++ -- * Rectangle+ Rectangle (..),+ newRectangle,+ rectangle_height,+ rectangle_width,+ rectangle_x,+ rectangle_y,++ -- * RemixSettings+ RemixSettings (..),+ newRemixSettings,+ remixSettings_channelMapping,+ remixSettings_channelsIn,+ remixSettings_channelsOut,++ -- * ReservationPlan+ ReservationPlan (..),+ newReservationPlan,+ reservationPlan_commitment,+ reservationPlan_expiresAt,+ reservationPlan_purchasedAt,+ reservationPlan_renewalType,+ reservationPlan_reservedSlots,+ reservationPlan_status,++ -- * ReservationPlanSettings+ ReservationPlanSettings (..),+ newReservationPlanSettings,+ reservationPlanSettings_commitment,+ reservationPlanSettings_reservedSlots,+ reservationPlanSettings_renewalType,++ -- * ResourceTags+ ResourceTags (..),+ newResourceTags,+ resourceTags_arn,+ resourceTags_tags,++ -- * S3DestinationAccessControl+ S3DestinationAccessControl (..),+ newS3DestinationAccessControl,+ s3DestinationAccessControl_cannedAcl,++ -- * S3DestinationSettings+ S3DestinationSettings (..),+ newS3DestinationSettings,+ s3DestinationSettings_accessControl,+ s3DestinationSettings_encryption,++ -- * S3EncryptionSettings+ S3EncryptionSettings (..),+ newS3EncryptionSettings,+ s3EncryptionSettings_encryptionType,+ s3EncryptionSettings_kmsEncryptionContext,+ s3EncryptionSettings_kmsKeyArn,++ -- * SccDestinationSettings+ SccDestinationSettings (..),+ newSccDestinationSettings,+ sccDestinationSettings_framerate,++ -- * SpekeKeyProvider+ SpekeKeyProvider (..),+ newSpekeKeyProvider,+ spekeKeyProvider_certificateArn,+ spekeKeyProvider_resourceId,+ spekeKeyProvider_systemIds,+ spekeKeyProvider_url,++ -- * SpekeKeyProviderCmaf+ SpekeKeyProviderCmaf (..),+ newSpekeKeyProviderCmaf,+ spekeKeyProviderCmaf_certificateArn,+ spekeKeyProviderCmaf_dashSignaledSystemIds,+ spekeKeyProviderCmaf_hlsSignaledSystemIds,+ spekeKeyProviderCmaf_resourceId,+ spekeKeyProviderCmaf_url,++ -- * SrtDestinationSettings+ SrtDestinationSettings (..),+ newSrtDestinationSettings,+ srtDestinationSettings_stylePassthrough,++ -- * StaticKeyProvider+ StaticKeyProvider (..),+ newStaticKeyProvider,+ staticKeyProvider_keyFormat,+ staticKeyProvider_keyFormatVersions,+ staticKeyProvider_staticKeyValue,+ staticKeyProvider_url,++ -- * TeletextDestinationSettings+ TeletextDestinationSettings (..),+ newTeletextDestinationSettings,+ teletextDestinationSettings_pageNumber,+ teletextDestinationSettings_pageTypes,++ -- * TeletextSourceSettings+ TeletextSourceSettings (..),+ newTeletextSourceSettings,+ teletextSourceSettings_pageNumber,++ -- * TimecodeBurnin+ TimecodeBurnin (..),+ newTimecodeBurnin,+ timecodeBurnin_fontSize,+ timecodeBurnin_position,+ timecodeBurnin_prefix,++ -- * TimecodeConfig+ TimecodeConfig (..),+ newTimecodeConfig,+ timecodeConfig_anchor,+ timecodeConfig_source,+ timecodeConfig_start,+ timecodeConfig_timestampOffset,++ -- * TimedMetadataInsertion+ TimedMetadataInsertion (..),+ newTimedMetadataInsertion,+ timedMetadataInsertion_id3Insertions,++ -- * Timing+ Timing (..),+ newTiming,+ timing_finishTime,+ timing_startTime,+ timing_submitTime,++ -- * TrackSourceSettings+ TrackSourceSettings (..),+ newTrackSourceSettings,+ trackSourceSettings_trackNumber,++ -- * TtmlDestinationSettings+ TtmlDestinationSettings (..),+ newTtmlDestinationSettings,+ ttmlDestinationSettings_stylePassthrough,++ -- * Vc3Settings+ Vc3Settings (..),+ newVc3Settings,+ vc3Settings_framerateControl,+ vc3Settings_framerateConversionAlgorithm,+ vc3Settings_framerateDenominator,+ vc3Settings_framerateNumerator,+ vc3Settings_interlaceMode,+ vc3Settings_scanTypeConversionMode,+ vc3Settings_slowPal,+ vc3Settings_telecine,+ vc3Settings_vc3Class,++ -- * VideoCodecSettings+ VideoCodecSettings (..),+ newVideoCodecSettings,+ videoCodecSettings_av1Settings,+ videoCodecSettings_avcIntraSettings,+ videoCodecSettings_codec,+ videoCodecSettings_frameCaptureSettings,+ videoCodecSettings_h264Settings,+ videoCodecSettings_h265Settings,+ videoCodecSettings_mpeg2Settings,+ videoCodecSettings_proresSettings,+ videoCodecSettings_vc3Settings,+ videoCodecSettings_vp8Settings,+ videoCodecSettings_vp9Settings,+ videoCodecSettings_xavcSettings,++ -- * VideoDescription+ VideoDescription (..),+ newVideoDescription,+ videoDescription_afdSignaling,+ videoDescription_antiAlias,+ videoDescription_codecSettings,+ videoDescription_colorMetadata,+ videoDescription_crop,+ videoDescription_dropFrameTimecode,+ videoDescription_fixedAfd,+ videoDescription_height,+ videoDescription_position,+ videoDescription_respondToAfd,+ videoDescription_scalingBehavior,+ videoDescription_sharpness,+ videoDescription_timecodeInsertion,+ videoDescription_videoPreprocessors,+ videoDescription_width,++ -- * VideoDetail+ VideoDetail (..),+ newVideoDetail,+ videoDetail_heightInPx,+ videoDetail_widthInPx,++ -- * VideoPreprocessor+ VideoPreprocessor (..),+ newVideoPreprocessor,+ videoPreprocessor_colorCorrector,+ videoPreprocessor_deinterlacer,+ videoPreprocessor_dolbyVision,+ videoPreprocessor_hdr10Plus,+ videoPreprocessor_imageInserter,+ videoPreprocessor_noiseReducer,+ videoPreprocessor_partnerWatermarking,+ videoPreprocessor_timecodeBurnin,++ -- * VideoSelector+ VideoSelector (..),+ newVideoSelector,+ videoSelector_alphaBehavior,+ videoSelector_colorSpace,+ videoSelector_colorSpaceUsage,+ videoSelector_embeddedTimecodeOverride,+ videoSelector_hdr10Metadata,+ videoSelector_padVideo,+ videoSelector_pid,+ videoSelector_programNumber,+ videoSelector_rotate,+ videoSelector_sampleRange,++ -- * VorbisSettings+ VorbisSettings (..),+ newVorbisSettings,+ vorbisSettings_channels,+ vorbisSettings_sampleRate,+ vorbisSettings_vbrQuality,++ -- * Vp8Settings+ Vp8Settings (..),+ newVp8Settings,+ vp8Settings_bitrate,+ vp8Settings_framerateControl,+ vp8Settings_framerateConversionAlgorithm,+ vp8Settings_framerateDenominator,+ vp8Settings_framerateNumerator,+ vp8Settings_gopSize,+ vp8Settings_hrdBufferSize,+ vp8Settings_maxBitrate,+ vp8Settings_parControl,+ vp8Settings_parDenominator,+ vp8Settings_parNumerator,+ vp8Settings_qualityTuningLevel,+ vp8Settings_rateControlMode,++ -- * Vp9Settings+ Vp9Settings (..),+ newVp9Settings,+ vp9Settings_bitrate,+ vp9Settings_framerateControl,+ vp9Settings_framerateConversionAlgorithm,+ vp9Settings_framerateDenominator,+ vp9Settings_framerateNumerator,+ vp9Settings_gopSize,+ vp9Settings_hrdBufferSize,+ vp9Settings_maxBitrate,+ vp9Settings_parControl,+ vp9Settings_parDenominator,+ vp9Settings_parNumerator,+ vp9Settings_qualityTuningLevel,+ vp9Settings_rateControlMode,++ -- * WavSettings+ WavSettings (..),+ newWavSettings,+ wavSettings_bitDepth,+ wavSettings_channels,+ wavSettings_format,+ wavSettings_sampleRate,++ -- * WebvttDestinationSettings+ WebvttDestinationSettings (..),+ newWebvttDestinationSettings,+ webvttDestinationSettings_accessibility,+ webvttDestinationSettings_stylePassthrough,++ -- * WebvttHlsSourceSettings+ WebvttHlsSourceSettings (..),+ newWebvttHlsSourceSettings,+ webvttHlsSourceSettings_renditionGroupId,+ webvttHlsSourceSettings_renditionLanguageCode,+ webvttHlsSourceSettings_renditionName,++ -- * Xavc4kIntraCbgProfileSettings+ Xavc4kIntraCbgProfileSettings (..),+ newXavc4kIntraCbgProfileSettings,+ xavc4kIntraCbgProfileSettings_xavcClass,++ -- * Xavc4kIntraVbrProfileSettings+ Xavc4kIntraVbrProfileSettings (..),+ newXavc4kIntraVbrProfileSettings,+ xavc4kIntraVbrProfileSettings_xavcClass,++ -- * Xavc4kProfileSettings+ Xavc4kProfileSettings (..),+ newXavc4kProfileSettings,+ xavc4kProfileSettings_bitrateClass,+ xavc4kProfileSettings_codecProfile,+ xavc4kProfileSettings_flickerAdaptiveQuantization,+ xavc4kProfileSettings_gopBReference,+ xavc4kProfileSettings_gopClosedCadence,+ xavc4kProfileSettings_hrdBufferSize,+ xavc4kProfileSettings_qualityTuningLevel,+ xavc4kProfileSettings_slices,++ -- * XavcHdIntraCbgProfileSettings+ XavcHdIntraCbgProfileSettings (..),+ newXavcHdIntraCbgProfileSettings,+ xavcHdIntraCbgProfileSettings_xavcClass,++ -- * XavcHdProfileSettings+ XavcHdProfileSettings (..),+ newXavcHdProfileSettings,+ xavcHdProfileSettings_bitrateClass,+ xavcHdProfileSettings_flickerAdaptiveQuantization,+ xavcHdProfileSettings_gopBReference,+ xavcHdProfileSettings_gopClosedCadence,+ xavcHdProfileSettings_hrdBufferSize,+ xavcHdProfileSettings_interlaceMode,+ xavcHdProfileSettings_qualityTuningLevel,+ xavcHdProfileSettings_slices,+ xavcHdProfileSettings_telecine,++ -- * XavcSettings+ XavcSettings (..),+ newXavcSettings,+ xavcSettings_adaptiveQuantization,+ xavcSettings_entropyEncoding,+ xavcSettings_framerateControl,+ xavcSettings_framerateConversionAlgorithm,+ xavcSettings_framerateDenominator,+ xavcSettings_framerateNumerator,+ xavcSettings_profile,+ xavcSettings_slowPal,+ xavcSettings_softness,+ xavcSettings_spatialAdaptiveQuantization,+ xavcSettings_temporalAdaptiveQuantization,+ xavcSettings_xavc4kIntraCbgProfileSettings,+ xavcSettings_xavc4kIntraVbrProfileSettings,+ xavcSettings_xavc4kProfileSettings,+ xavcSettings_xavcHdIntraCbgProfileSettings,+ xavcSettings_xavcHdProfileSettings,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MediaConvert.Types.AacAudioDescriptionBroadcasterMix+import Amazonka.MediaConvert.Types.AacCodecProfile+import Amazonka.MediaConvert.Types.AacCodingMode+import Amazonka.MediaConvert.Types.AacRateControlMode+import Amazonka.MediaConvert.Types.AacRawFormat+import Amazonka.MediaConvert.Types.AacSettings+import Amazonka.MediaConvert.Types.AacSpecification+import Amazonka.MediaConvert.Types.AacVbrQuality+import Amazonka.MediaConvert.Types.Ac3BitstreamMode+import Amazonka.MediaConvert.Types.Ac3CodingMode+import Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionLine+import Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionProfile+import Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionRf+import Amazonka.MediaConvert.Types.Ac3LfeFilter+import Amazonka.MediaConvert.Types.Ac3MetadataControl+import Amazonka.MediaConvert.Types.Ac3Settings+import Amazonka.MediaConvert.Types.AccelerationMode+import Amazonka.MediaConvert.Types.AccelerationSettings+import Amazonka.MediaConvert.Types.AccelerationStatus+import Amazonka.MediaConvert.Types.AfdSignaling+import Amazonka.MediaConvert.Types.AiffSettings+import Amazonka.MediaConvert.Types.AllowedRenditionSize+import Amazonka.MediaConvert.Types.AlphaBehavior+import Amazonka.MediaConvert.Types.AncillaryConvert608To708+import Amazonka.MediaConvert.Types.AncillarySourceSettings+import Amazonka.MediaConvert.Types.AncillaryTerminateCaptions+import Amazonka.MediaConvert.Types.AntiAlias+import Amazonka.MediaConvert.Types.AudioChannelTag+import Amazonka.MediaConvert.Types.AudioChannelTaggingSettings+import Amazonka.MediaConvert.Types.AudioCodec+import Amazonka.MediaConvert.Types.AudioCodecSettings+import Amazonka.MediaConvert.Types.AudioDefaultSelection+import Amazonka.MediaConvert.Types.AudioDescription+import Amazonka.MediaConvert.Types.AudioDurationCorrection+import Amazonka.MediaConvert.Types.AudioLanguageCodeControl+import Amazonka.MediaConvert.Types.AudioNormalizationAlgorithm+import Amazonka.MediaConvert.Types.AudioNormalizationAlgorithmControl+import Amazonka.MediaConvert.Types.AudioNormalizationLoudnessLogging+import Amazonka.MediaConvert.Types.AudioNormalizationPeakCalculation+import Amazonka.MediaConvert.Types.AudioNormalizationSettings+import Amazonka.MediaConvert.Types.AudioSelector+import Amazonka.MediaConvert.Types.AudioSelectorGroup+import Amazonka.MediaConvert.Types.AudioSelectorType+import Amazonka.MediaConvert.Types.AudioTypeControl+import Amazonka.MediaConvert.Types.AutomatedAbrRule+import Amazonka.MediaConvert.Types.AutomatedAbrSettings+import Amazonka.MediaConvert.Types.AutomatedEncodingSettings+import Amazonka.MediaConvert.Types.Av1AdaptiveQuantization+import Amazonka.MediaConvert.Types.Av1BitDepth+import Amazonka.MediaConvert.Types.Av1FramerateControl+import Amazonka.MediaConvert.Types.Av1FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.Av1QvbrSettings+import Amazonka.MediaConvert.Types.Av1RateControlMode+import Amazonka.MediaConvert.Types.Av1Settings+import Amazonka.MediaConvert.Types.Av1SpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.AvailBlanking+import Amazonka.MediaConvert.Types.AvcIntraClass+import Amazonka.MediaConvert.Types.AvcIntraFramerateControl+import Amazonka.MediaConvert.Types.AvcIntraFramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.AvcIntraInterlaceMode+import Amazonka.MediaConvert.Types.AvcIntraScanTypeConversionMode+import Amazonka.MediaConvert.Types.AvcIntraSettings+import Amazonka.MediaConvert.Types.AvcIntraSlowPal+import Amazonka.MediaConvert.Types.AvcIntraTelecine+import Amazonka.MediaConvert.Types.AvcIntraUhdQualityTuningLevel+import Amazonka.MediaConvert.Types.AvcIntraUhdSettings+import Amazonka.MediaConvert.Types.BillingTagsSource+import Amazonka.MediaConvert.Types.BurnInSubtitleStylePassthrough+import Amazonka.MediaConvert.Types.BurninDestinationSettings+import Amazonka.MediaConvert.Types.BurninSubtitleAlignment+import Amazonka.MediaConvert.Types.BurninSubtitleApplyFontColor+import Amazonka.MediaConvert.Types.BurninSubtitleBackgroundColor+import Amazonka.MediaConvert.Types.BurninSubtitleFallbackFont+import Amazonka.MediaConvert.Types.BurninSubtitleFontColor+import Amazonka.MediaConvert.Types.BurninSubtitleOutlineColor+import Amazonka.MediaConvert.Types.BurninSubtitleShadowColor+import Amazonka.MediaConvert.Types.BurninSubtitleTeletextSpacing+import Amazonka.MediaConvert.Types.CaptionDescription+import Amazonka.MediaConvert.Types.CaptionDescriptionPreset+import Amazonka.MediaConvert.Types.CaptionDestinationSettings+import Amazonka.MediaConvert.Types.CaptionDestinationType+import Amazonka.MediaConvert.Types.CaptionSelector+import Amazonka.MediaConvert.Types.CaptionSourceFramerate+import Amazonka.MediaConvert.Types.CaptionSourceSettings+import Amazonka.MediaConvert.Types.CaptionSourceType+import Amazonka.MediaConvert.Types.ChannelMapping+import Amazonka.MediaConvert.Types.CmafAdditionalManifest+import Amazonka.MediaConvert.Types.CmafClientCache+import Amazonka.MediaConvert.Types.CmafCodecSpecification+import Amazonka.MediaConvert.Types.CmafEncryptionSettings+import Amazonka.MediaConvert.Types.CmafEncryptionType+import Amazonka.MediaConvert.Types.CmafGroupSettings+import Amazonka.MediaConvert.Types.CmafImageBasedTrickPlay+import Amazonka.MediaConvert.Types.CmafImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.CmafInitializationVectorInManifest+import Amazonka.MediaConvert.Types.CmafIntervalCadence+import Amazonka.MediaConvert.Types.CmafKeyProviderType+import Amazonka.MediaConvert.Types.CmafManifestCompression+import Amazonka.MediaConvert.Types.CmafManifestDurationFormat+import Amazonka.MediaConvert.Types.CmafMpdManifestBandwidthType+import Amazonka.MediaConvert.Types.CmafMpdProfile+import Amazonka.MediaConvert.Types.CmafPtsOffsetHandlingForBFrames+import Amazonka.MediaConvert.Types.CmafSegmentControl+import Amazonka.MediaConvert.Types.CmafSegmentLengthControl+import Amazonka.MediaConvert.Types.CmafStreamInfResolution+import Amazonka.MediaConvert.Types.CmafTargetDurationCompatibilityMode+import Amazonka.MediaConvert.Types.CmafVideoCompositionOffsets+import Amazonka.MediaConvert.Types.CmafWriteDASHManifest+import Amazonka.MediaConvert.Types.CmafWriteHLSManifest+import Amazonka.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation+import Amazonka.MediaConvert.Types.CmfcAudioDuration+import Amazonka.MediaConvert.Types.CmfcAudioTrackType+import Amazonka.MediaConvert.Types.CmfcDescriptiveVideoServiceFlag+import Amazonka.MediaConvert.Types.CmfcIFrameOnlyManifest+import Amazonka.MediaConvert.Types.CmfcKlvMetadata+import Amazonka.MediaConvert.Types.CmfcManifestMetadataSignaling+import Amazonka.MediaConvert.Types.CmfcScte35Esam+import Amazonka.MediaConvert.Types.CmfcScte35Source+import Amazonka.MediaConvert.Types.CmfcSettings+import Amazonka.MediaConvert.Types.CmfcTimedMetadata+import Amazonka.MediaConvert.Types.CmfcTimedMetadataBoxVersion+import Amazonka.MediaConvert.Types.ColorCorrector+import Amazonka.MediaConvert.Types.ColorMetadata+import Amazonka.MediaConvert.Types.ColorSpace+import Amazonka.MediaConvert.Types.ColorSpaceConversion+import Amazonka.MediaConvert.Types.ColorSpaceUsage+import Amazonka.MediaConvert.Types.Commitment+import Amazonka.MediaConvert.Types.ContainerSettings+import Amazonka.MediaConvert.Types.ContainerType+import Amazonka.MediaConvert.Types.CopyProtectionAction+import Amazonka.MediaConvert.Types.DashAdditionalManifest+import Amazonka.MediaConvert.Types.DashIsoEncryptionSettings+import Amazonka.MediaConvert.Types.DashIsoGroupAudioChannelConfigSchemeIdUri+import Amazonka.MediaConvert.Types.DashIsoGroupSettings+import Amazonka.MediaConvert.Types.DashIsoHbbtvCompliance+import Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlay+import Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.DashIsoIntervalCadence+import Amazonka.MediaConvert.Types.DashIsoMpdManifestBandwidthType+import Amazonka.MediaConvert.Types.DashIsoMpdProfile+import Amazonka.MediaConvert.Types.DashIsoPlaybackDeviceCompatibility+import Amazonka.MediaConvert.Types.DashIsoPtsOffsetHandlingForBFrames+import Amazonka.MediaConvert.Types.DashIsoSegmentControl+import Amazonka.MediaConvert.Types.DashIsoSegmentLengthControl+import Amazonka.MediaConvert.Types.DashIsoVideoCompositionOffsets+import Amazonka.MediaConvert.Types.DashIsoWriteSegmentTimelineInRepresentation+import Amazonka.MediaConvert.Types.DecryptionMode+import Amazonka.MediaConvert.Types.DeinterlaceAlgorithm+import Amazonka.MediaConvert.Types.Deinterlacer+import Amazonka.MediaConvert.Types.DeinterlacerControl+import Amazonka.MediaConvert.Types.DeinterlacerMode+import Amazonka.MediaConvert.Types.DescribeEndpointsMode+import Amazonka.MediaConvert.Types.DestinationSettings+import Amazonka.MediaConvert.Types.DolbyVision+import Amazonka.MediaConvert.Types.DolbyVisionLevel6Metadata+import Amazonka.MediaConvert.Types.DolbyVisionLevel6Mode+import Amazonka.MediaConvert.Types.DolbyVisionMapping+import Amazonka.MediaConvert.Types.DolbyVisionProfile+import Amazonka.MediaConvert.Types.DropFrameTimecode+import Amazonka.MediaConvert.Types.DvbNitSettings+import Amazonka.MediaConvert.Types.DvbSdtSettings+import Amazonka.MediaConvert.Types.DvbSubDestinationSettings+import Amazonka.MediaConvert.Types.DvbSubSourceSettings+import Amazonka.MediaConvert.Types.DvbSubSubtitleFallbackFont+import Amazonka.MediaConvert.Types.DvbSubtitleAlignment+import Amazonka.MediaConvert.Types.DvbSubtitleApplyFontColor+import Amazonka.MediaConvert.Types.DvbSubtitleBackgroundColor+import Amazonka.MediaConvert.Types.DvbSubtitleFontColor+import Amazonka.MediaConvert.Types.DvbSubtitleOutlineColor+import Amazonka.MediaConvert.Types.DvbSubtitleShadowColor+import Amazonka.MediaConvert.Types.DvbSubtitleStylePassthrough+import Amazonka.MediaConvert.Types.DvbSubtitleTeletextSpacing+import Amazonka.MediaConvert.Types.DvbSubtitlingType+import Amazonka.MediaConvert.Types.DvbTdtSettings+import Amazonka.MediaConvert.Types.DvbddsHandling+import Amazonka.MediaConvert.Types.Eac3AtmosBitstreamMode+import Amazonka.MediaConvert.Types.Eac3AtmosCodingMode+import Amazonka.MediaConvert.Types.Eac3AtmosDialogueIntelligence+import Amazonka.MediaConvert.Types.Eac3AtmosDownmixControl+import Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionLine+import Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionRf+import Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeControl+import Amazonka.MediaConvert.Types.Eac3AtmosMeteringMode+import Amazonka.MediaConvert.Types.Eac3AtmosSettings+import Amazonka.MediaConvert.Types.Eac3AtmosStereoDownmix+import Amazonka.MediaConvert.Types.Eac3AtmosSurroundExMode+import Amazonka.MediaConvert.Types.Eac3AttenuationControl+import Amazonka.MediaConvert.Types.Eac3BitstreamMode+import Amazonka.MediaConvert.Types.Eac3CodingMode+import Amazonka.MediaConvert.Types.Eac3DcFilter+import Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionLine+import Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionRf+import Amazonka.MediaConvert.Types.Eac3LfeControl+import Amazonka.MediaConvert.Types.Eac3LfeFilter+import Amazonka.MediaConvert.Types.Eac3MetadataControl+import Amazonka.MediaConvert.Types.Eac3PassthroughControl+import Amazonka.MediaConvert.Types.Eac3PhaseControl+import Amazonka.MediaConvert.Types.Eac3Settings+import Amazonka.MediaConvert.Types.Eac3StereoDownmix+import Amazonka.MediaConvert.Types.Eac3SurroundExMode+import Amazonka.MediaConvert.Types.Eac3SurroundMode+import Amazonka.MediaConvert.Types.EmbeddedConvert608To708+import Amazonka.MediaConvert.Types.EmbeddedDestinationSettings+import Amazonka.MediaConvert.Types.EmbeddedSourceSettings+import Amazonka.MediaConvert.Types.EmbeddedTerminateCaptions+import Amazonka.MediaConvert.Types.EmbeddedTimecodeOverride+import Amazonka.MediaConvert.Types.Endpoint+import Amazonka.MediaConvert.Types.EsamManifestConfirmConditionNotification+import Amazonka.MediaConvert.Types.EsamSettings+import Amazonka.MediaConvert.Types.EsamSignalProcessingNotification+import Amazonka.MediaConvert.Types.ExtendedDataServices+import Amazonka.MediaConvert.Types.F4vMoovPlacement+import Amazonka.MediaConvert.Types.F4vSettings+import Amazonka.MediaConvert.Types.FileGroupSettings+import Amazonka.MediaConvert.Types.FileSourceConvert608To708+import Amazonka.MediaConvert.Types.FileSourceSettings+import Amazonka.MediaConvert.Types.FileSourceTimeDeltaUnits+import Amazonka.MediaConvert.Types.FontScript+import Amazonka.MediaConvert.Types.ForceIncludeRenditionSize+import Amazonka.MediaConvert.Types.FrameCaptureSettings+import Amazonka.MediaConvert.Types.H264AdaptiveQuantization+import Amazonka.MediaConvert.Types.H264CodecLevel+import Amazonka.MediaConvert.Types.H264CodecProfile+import Amazonka.MediaConvert.Types.H264DynamicSubGop+import Amazonka.MediaConvert.Types.H264EntropyEncoding+import Amazonka.MediaConvert.Types.H264FieldEncoding+import Amazonka.MediaConvert.Types.H264FlickerAdaptiveQuantization+import Amazonka.MediaConvert.Types.H264FramerateControl+import Amazonka.MediaConvert.Types.H264FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.H264GopBReference+import Amazonka.MediaConvert.Types.H264GopSizeUnits+import Amazonka.MediaConvert.Types.H264InterlaceMode+import Amazonka.MediaConvert.Types.H264ParControl+import Amazonka.MediaConvert.Types.H264QualityTuningLevel+import Amazonka.MediaConvert.Types.H264QvbrSettings+import Amazonka.MediaConvert.Types.H264RateControlMode+import Amazonka.MediaConvert.Types.H264RepeatPps+import Amazonka.MediaConvert.Types.H264ScanTypeConversionMode+import Amazonka.MediaConvert.Types.H264SceneChangeDetect+import Amazonka.MediaConvert.Types.H264Settings+import Amazonka.MediaConvert.Types.H264SlowPal+import Amazonka.MediaConvert.Types.H264SpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.H264Syntax+import Amazonka.MediaConvert.Types.H264Telecine+import Amazonka.MediaConvert.Types.H264TemporalAdaptiveQuantization+import Amazonka.MediaConvert.Types.H264UnregisteredSeiTimecode+import Amazonka.MediaConvert.Types.H265AdaptiveQuantization+import Amazonka.MediaConvert.Types.H265AlternateTransferFunctionSei+import Amazonka.MediaConvert.Types.H265CodecLevel+import Amazonka.MediaConvert.Types.H265CodecProfile+import Amazonka.MediaConvert.Types.H265DynamicSubGop+import Amazonka.MediaConvert.Types.H265FlickerAdaptiveQuantization+import Amazonka.MediaConvert.Types.H265FramerateControl+import Amazonka.MediaConvert.Types.H265FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.H265GopBReference+import Amazonka.MediaConvert.Types.H265GopSizeUnits+import Amazonka.MediaConvert.Types.H265InterlaceMode+import Amazonka.MediaConvert.Types.H265ParControl+import Amazonka.MediaConvert.Types.H265QualityTuningLevel+import Amazonka.MediaConvert.Types.H265QvbrSettings+import Amazonka.MediaConvert.Types.H265RateControlMode+import Amazonka.MediaConvert.Types.H265SampleAdaptiveOffsetFilterMode+import Amazonka.MediaConvert.Types.H265ScanTypeConversionMode+import Amazonka.MediaConvert.Types.H265SceneChangeDetect+import Amazonka.MediaConvert.Types.H265Settings+import Amazonka.MediaConvert.Types.H265SlowPal+import Amazonka.MediaConvert.Types.H265SpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.H265Telecine+import Amazonka.MediaConvert.Types.H265TemporalAdaptiveQuantization+import Amazonka.MediaConvert.Types.H265TemporalIds+import Amazonka.MediaConvert.Types.H265Tiles+import Amazonka.MediaConvert.Types.H265UnregisteredSeiTimecode+import Amazonka.MediaConvert.Types.H265WriteMp4PackagingType+import Amazonka.MediaConvert.Types.Hdr10Metadata+import Amazonka.MediaConvert.Types.Hdr10Plus+import Amazonka.MediaConvert.Types.HlsAdMarkers+import Amazonka.MediaConvert.Types.HlsAdditionalManifest+import Amazonka.MediaConvert.Types.HlsAudioOnlyContainer+import Amazonka.MediaConvert.Types.HlsAudioOnlyHeader+import Amazonka.MediaConvert.Types.HlsAudioTrackType+import Amazonka.MediaConvert.Types.HlsCaptionLanguageMapping+import Amazonka.MediaConvert.Types.HlsCaptionLanguageSetting+import Amazonka.MediaConvert.Types.HlsCaptionSegmentLengthControl+import Amazonka.MediaConvert.Types.HlsClientCache+import Amazonka.MediaConvert.Types.HlsCodecSpecification+import Amazonka.MediaConvert.Types.HlsDescriptiveVideoServiceFlag+import Amazonka.MediaConvert.Types.HlsDirectoryStructure+import Amazonka.MediaConvert.Types.HlsEncryptionSettings+import Amazonka.MediaConvert.Types.HlsEncryptionType+import Amazonka.MediaConvert.Types.HlsGroupSettings+import Amazonka.MediaConvert.Types.HlsIFrameOnlyManifest+import Amazonka.MediaConvert.Types.HlsImageBasedTrickPlay+import Amazonka.MediaConvert.Types.HlsImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.HlsInitializationVectorInManifest+import Amazonka.MediaConvert.Types.HlsIntervalCadence+import Amazonka.MediaConvert.Types.HlsKeyProviderType+import Amazonka.MediaConvert.Types.HlsManifestCompression+import Amazonka.MediaConvert.Types.HlsManifestDurationFormat+import Amazonka.MediaConvert.Types.HlsOfflineEncrypted+import Amazonka.MediaConvert.Types.HlsOutputSelection+import Amazonka.MediaConvert.Types.HlsProgramDateTime+import Amazonka.MediaConvert.Types.HlsRenditionGroupSettings+import Amazonka.MediaConvert.Types.HlsSegmentControl+import Amazonka.MediaConvert.Types.HlsSegmentLengthControl+import Amazonka.MediaConvert.Types.HlsSettings+import Amazonka.MediaConvert.Types.HlsStreamInfResolution+import Amazonka.MediaConvert.Types.HlsTargetDurationCompatibilityMode+import Amazonka.MediaConvert.Types.HlsTimedMetadataId3Frame+import Amazonka.MediaConvert.Types.HopDestination+import Amazonka.MediaConvert.Types.Id3Insertion+import Amazonka.MediaConvert.Types.ImageInserter+import Amazonka.MediaConvert.Types.ImscAccessibilitySubs+import Amazonka.MediaConvert.Types.ImscDestinationSettings+import Amazonka.MediaConvert.Types.ImscStylePassthrough+import Amazonka.MediaConvert.Types.Input+import Amazonka.MediaConvert.Types.InputClipping+import Amazonka.MediaConvert.Types.InputDeblockFilter+import Amazonka.MediaConvert.Types.InputDecryptionSettings+import Amazonka.MediaConvert.Types.InputDenoiseFilter+import Amazonka.MediaConvert.Types.InputFilterEnable+import Amazonka.MediaConvert.Types.InputPolicy+import Amazonka.MediaConvert.Types.InputPsiControl+import Amazonka.MediaConvert.Types.InputRotate+import Amazonka.MediaConvert.Types.InputSampleRange+import Amazonka.MediaConvert.Types.InputScanType+import Amazonka.MediaConvert.Types.InputTemplate+import Amazonka.MediaConvert.Types.InputTimecodeSource+import Amazonka.MediaConvert.Types.InputVideoGenerator+import Amazonka.MediaConvert.Types.InsertableImage+import Amazonka.MediaConvert.Types.Job+import Amazonka.MediaConvert.Types.JobMessages+import Amazonka.MediaConvert.Types.JobPhase+import Amazonka.MediaConvert.Types.JobSettings+import Amazonka.MediaConvert.Types.JobStatus+import Amazonka.MediaConvert.Types.JobTemplate+import Amazonka.MediaConvert.Types.JobTemplateListBy+import Amazonka.MediaConvert.Types.JobTemplateSettings+import Amazonka.MediaConvert.Types.KantarWatermarkSettings+import Amazonka.MediaConvert.Types.LanguageCode+import Amazonka.MediaConvert.Types.M2tsAudioBufferModel+import Amazonka.MediaConvert.Types.M2tsAudioDuration+import Amazonka.MediaConvert.Types.M2tsBufferModel+import Amazonka.MediaConvert.Types.M2tsDataPtsControl+import Amazonka.MediaConvert.Types.M2tsEbpAudioInterval+import Amazonka.MediaConvert.Types.M2tsEbpPlacement+import Amazonka.MediaConvert.Types.M2tsEsRateInPes+import Amazonka.MediaConvert.Types.M2tsForceTsVideoEbpOrder+import Amazonka.MediaConvert.Types.M2tsKlvMetadata+import Amazonka.MediaConvert.Types.M2tsNielsenId3+import Amazonka.MediaConvert.Types.M2tsPcrControl+import Amazonka.MediaConvert.Types.M2tsRateMode+import Amazonka.MediaConvert.Types.M2tsScte35Esam+import Amazonka.MediaConvert.Types.M2tsScte35Source+import Amazonka.MediaConvert.Types.M2tsSegmentationMarkers+import Amazonka.MediaConvert.Types.M2tsSegmentationStyle+import Amazonka.MediaConvert.Types.M2tsSettings+import Amazonka.MediaConvert.Types.M3u8AudioDuration+import Amazonka.MediaConvert.Types.M3u8DataPtsControl+import Amazonka.MediaConvert.Types.M3u8NielsenId3+import Amazonka.MediaConvert.Types.M3u8PcrControl+import Amazonka.MediaConvert.Types.M3u8Scte35Source+import Amazonka.MediaConvert.Types.M3u8Settings+import Amazonka.MediaConvert.Types.MinBottomRenditionSize+import Amazonka.MediaConvert.Types.MinTopRenditionSize+import Amazonka.MediaConvert.Types.MotionImageInserter+import Amazonka.MediaConvert.Types.MotionImageInsertionFramerate+import Amazonka.MediaConvert.Types.MotionImageInsertionMode+import Amazonka.MediaConvert.Types.MotionImageInsertionOffset+import Amazonka.MediaConvert.Types.MotionImagePlayback+import Amazonka.MediaConvert.Types.MovClapAtom+import Amazonka.MediaConvert.Types.MovCslgAtom+import Amazonka.MediaConvert.Types.MovMpeg2FourCCControl+import Amazonka.MediaConvert.Types.MovPaddingControl+import Amazonka.MediaConvert.Types.MovReference+import Amazonka.MediaConvert.Types.MovSettings+import Amazonka.MediaConvert.Types.Mp2Settings+import Amazonka.MediaConvert.Types.Mp3RateControlMode+import Amazonka.MediaConvert.Types.Mp3Settings+import Amazonka.MediaConvert.Types.Mp4CslgAtom+import Amazonka.MediaConvert.Types.Mp4FreeSpaceBox+import Amazonka.MediaConvert.Types.Mp4MoovPlacement+import Amazonka.MediaConvert.Types.Mp4Settings+import Amazonka.MediaConvert.Types.MpdAccessibilityCaptionHints+import Amazonka.MediaConvert.Types.MpdAudioDuration+import Amazonka.MediaConvert.Types.MpdCaptionContainerType+import Amazonka.MediaConvert.Types.MpdKlvMetadata+import Amazonka.MediaConvert.Types.MpdManifestMetadataSignaling+import Amazonka.MediaConvert.Types.MpdScte35Esam+import Amazonka.MediaConvert.Types.MpdScte35Source+import Amazonka.MediaConvert.Types.MpdSettings+import Amazonka.MediaConvert.Types.MpdTimedMetadata+import Amazonka.MediaConvert.Types.MpdTimedMetadataBoxVersion+import Amazonka.MediaConvert.Types.Mpeg2AdaptiveQuantization+import Amazonka.MediaConvert.Types.Mpeg2CodecLevel+import Amazonka.MediaConvert.Types.Mpeg2CodecProfile+import Amazonka.MediaConvert.Types.Mpeg2DynamicSubGop+import Amazonka.MediaConvert.Types.Mpeg2FramerateControl+import Amazonka.MediaConvert.Types.Mpeg2FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.Mpeg2GopSizeUnits+import Amazonka.MediaConvert.Types.Mpeg2InterlaceMode+import Amazonka.MediaConvert.Types.Mpeg2IntraDcPrecision+import Amazonka.MediaConvert.Types.Mpeg2ParControl+import Amazonka.MediaConvert.Types.Mpeg2QualityTuningLevel+import Amazonka.MediaConvert.Types.Mpeg2RateControlMode+import Amazonka.MediaConvert.Types.Mpeg2ScanTypeConversionMode+import Amazonka.MediaConvert.Types.Mpeg2SceneChangeDetect+import Amazonka.MediaConvert.Types.Mpeg2Settings+import Amazonka.MediaConvert.Types.Mpeg2SlowPal+import Amazonka.MediaConvert.Types.Mpeg2SpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.Mpeg2Syntax+import Amazonka.MediaConvert.Types.Mpeg2Telecine+import Amazonka.MediaConvert.Types.Mpeg2TemporalAdaptiveQuantization+import Amazonka.MediaConvert.Types.MsSmoothAdditionalManifest+import Amazonka.MediaConvert.Types.MsSmoothAudioDeduplication+import Amazonka.MediaConvert.Types.MsSmoothEncryptionSettings+import Amazonka.MediaConvert.Types.MsSmoothFragmentLengthControl+import Amazonka.MediaConvert.Types.MsSmoothGroupSettings+import Amazonka.MediaConvert.Types.MsSmoothManifestEncoding+import Amazonka.MediaConvert.Types.MxfAfdSignaling+import Amazonka.MediaConvert.Types.MxfProfile+import Amazonka.MediaConvert.Types.MxfSettings+import Amazonka.MediaConvert.Types.MxfXavcDurationMode+import Amazonka.MediaConvert.Types.MxfXavcProfileSettings+import Amazonka.MediaConvert.Types.NexGuardFileMarkerSettings+import Amazonka.MediaConvert.Types.NielsenActiveWatermarkProcessType+import Amazonka.MediaConvert.Types.NielsenConfiguration+import Amazonka.MediaConvert.Types.NielsenNonLinearWatermarkSettings+import Amazonka.MediaConvert.Types.NielsenSourceWatermarkStatusType+import Amazonka.MediaConvert.Types.NielsenUniqueTicPerAudioTrackType+import Amazonka.MediaConvert.Types.NoiseFilterPostTemporalSharpening+import Amazonka.MediaConvert.Types.NoiseFilterPostTemporalSharpeningStrength+import Amazonka.MediaConvert.Types.NoiseReducer+import Amazonka.MediaConvert.Types.NoiseReducerFilter+import Amazonka.MediaConvert.Types.NoiseReducerFilterSettings+import Amazonka.MediaConvert.Types.NoiseReducerSpatialFilterSettings+import Amazonka.MediaConvert.Types.NoiseReducerTemporalFilterSettings+import Amazonka.MediaConvert.Types.OpusSettings+import Amazonka.MediaConvert.Types.Order+import Amazonka.MediaConvert.Types.Output+import Amazonka.MediaConvert.Types.OutputChannelMapping+import Amazonka.MediaConvert.Types.OutputDetail+import Amazonka.MediaConvert.Types.OutputGroup+import Amazonka.MediaConvert.Types.OutputGroupDetail+import Amazonka.MediaConvert.Types.OutputGroupSettings+import Amazonka.MediaConvert.Types.OutputGroupType+import Amazonka.MediaConvert.Types.OutputSdt+import Amazonka.MediaConvert.Types.OutputSettings+import Amazonka.MediaConvert.Types.PadVideo+import Amazonka.MediaConvert.Types.PartnerWatermarking+import Amazonka.MediaConvert.Types.Policy+import Amazonka.MediaConvert.Types.Preset+import Amazonka.MediaConvert.Types.PresetListBy+import Amazonka.MediaConvert.Types.PresetSettings+import Amazonka.MediaConvert.Types.PricingPlan+import Amazonka.MediaConvert.Types.ProresChromaSampling+import Amazonka.MediaConvert.Types.ProresCodecProfile+import Amazonka.MediaConvert.Types.ProresFramerateControl+import Amazonka.MediaConvert.Types.ProresFramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.ProresInterlaceMode+import Amazonka.MediaConvert.Types.ProresParControl+import Amazonka.MediaConvert.Types.ProresScanTypeConversionMode+import Amazonka.MediaConvert.Types.ProresSettings+import Amazonka.MediaConvert.Types.ProresSlowPal+import Amazonka.MediaConvert.Types.ProresTelecine+import Amazonka.MediaConvert.Types.Queue+import Amazonka.MediaConvert.Types.QueueListBy+import Amazonka.MediaConvert.Types.QueueStatus+import Amazonka.MediaConvert.Types.QueueTransition+import Amazonka.MediaConvert.Types.Rectangle+import Amazonka.MediaConvert.Types.RemixSettings+import Amazonka.MediaConvert.Types.RenewalType+import Amazonka.MediaConvert.Types.RequiredFlag+import Amazonka.MediaConvert.Types.ReservationPlan+import Amazonka.MediaConvert.Types.ReservationPlanSettings+import Amazonka.MediaConvert.Types.ReservationPlanStatus+import Amazonka.MediaConvert.Types.ResourceTags+import Amazonka.MediaConvert.Types.RespondToAfd+import Amazonka.MediaConvert.Types.RuleType+import Amazonka.MediaConvert.Types.S3DestinationAccessControl+import Amazonka.MediaConvert.Types.S3DestinationSettings+import Amazonka.MediaConvert.Types.S3EncryptionSettings+import Amazonka.MediaConvert.Types.S3ObjectCannedAcl+import Amazonka.MediaConvert.Types.S3ServerSideEncryptionType+import Amazonka.MediaConvert.Types.SampleRangeConversion+import Amazonka.MediaConvert.Types.ScalingBehavior+import Amazonka.MediaConvert.Types.SccDestinationFramerate+import Amazonka.MediaConvert.Types.SccDestinationSettings+import Amazonka.MediaConvert.Types.SimulateReservedQueue+import Amazonka.MediaConvert.Types.SpekeKeyProvider+import Amazonka.MediaConvert.Types.SpekeKeyProviderCmaf+import Amazonka.MediaConvert.Types.SrtDestinationSettings+import Amazonka.MediaConvert.Types.SrtStylePassthrough+import Amazonka.MediaConvert.Types.StaticKeyProvider+import Amazonka.MediaConvert.Types.StatusUpdateInterval+import Amazonka.MediaConvert.Types.TeletextDestinationSettings+import Amazonka.MediaConvert.Types.TeletextPageType+import Amazonka.MediaConvert.Types.TeletextSourceSettings+import Amazonka.MediaConvert.Types.TimecodeBurnin+import Amazonka.MediaConvert.Types.TimecodeBurninPosition+import Amazonka.MediaConvert.Types.TimecodeConfig+import Amazonka.MediaConvert.Types.TimecodeSource+import Amazonka.MediaConvert.Types.TimedMetadata+import Amazonka.MediaConvert.Types.TimedMetadataInsertion+import Amazonka.MediaConvert.Types.Timing+import Amazonka.MediaConvert.Types.TrackSourceSettings+import Amazonka.MediaConvert.Types.TtmlDestinationSettings+import Amazonka.MediaConvert.Types.TtmlStylePassthrough+import Amazonka.MediaConvert.Types.Type+import Amazonka.MediaConvert.Types.Vc3Class+import Amazonka.MediaConvert.Types.Vc3FramerateControl+import Amazonka.MediaConvert.Types.Vc3FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.Vc3InterlaceMode+import Amazonka.MediaConvert.Types.Vc3ScanTypeConversionMode+import Amazonka.MediaConvert.Types.Vc3Settings+import Amazonka.MediaConvert.Types.Vc3SlowPal+import Amazonka.MediaConvert.Types.Vc3Telecine+import Amazonka.MediaConvert.Types.VchipAction+import Amazonka.MediaConvert.Types.VideoCodec+import Amazonka.MediaConvert.Types.VideoCodecSettings+import Amazonka.MediaConvert.Types.VideoDescription+import Amazonka.MediaConvert.Types.VideoDetail+import Amazonka.MediaConvert.Types.VideoPreprocessor+import Amazonka.MediaConvert.Types.VideoSelector+import Amazonka.MediaConvert.Types.VideoTimecodeInsertion+import Amazonka.MediaConvert.Types.VorbisSettings+import Amazonka.MediaConvert.Types.Vp8FramerateControl+import Amazonka.MediaConvert.Types.Vp8FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.Vp8ParControl+import Amazonka.MediaConvert.Types.Vp8QualityTuningLevel+import Amazonka.MediaConvert.Types.Vp8RateControlMode+import Amazonka.MediaConvert.Types.Vp8Settings+import Amazonka.MediaConvert.Types.Vp9FramerateControl+import Amazonka.MediaConvert.Types.Vp9FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.Vp9ParControl+import Amazonka.MediaConvert.Types.Vp9QualityTuningLevel+import Amazonka.MediaConvert.Types.Vp9RateControlMode+import Amazonka.MediaConvert.Types.Vp9Settings+import Amazonka.MediaConvert.Types.WatermarkingStrength+import Amazonka.MediaConvert.Types.WavFormat+import Amazonka.MediaConvert.Types.WavSettings+import Amazonka.MediaConvert.Types.WebvttAccessibilitySubs+import Amazonka.MediaConvert.Types.WebvttDestinationSettings+import Amazonka.MediaConvert.Types.WebvttHlsSourceSettings+import Amazonka.MediaConvert.Types.WebvttStylePassthrough+import Amazonka.MediaConvert.Types.Xavc4kIntraCbgProfileClass+import Amazonka.MediaConvert.Types.Xavc4kIntraCbgProfileSettings+import Amazonka.MediaConvert.Types.Xavc4kIntraVbrProfileClass+import Amazonka.MediaConvert.Types.Xavc4kIntraVbrProfileSettings+import Amazonka.MediaConvert.Types.Xavc4kProfileBitrateClass+import Amazonka.MediaConvert.Types.Xavc4kProfileCodecProfile+import Amazonka.MediaConvert.Types.Xavc4kProfileQualityTuningLevel+import Amazonka.MediaConvert.Types.Xavc4kProfileSettings+import Amazonka.MediaConvert.Types.XavcAdaptiveQuantization+import Amazonka.MediaConvert.Types.XavcEntropyEncoding+import Amazonka.MediaConvert.Types.XavcFlickerAdaptiveQuantization+import Amazonka.MediaConvert.Types.XavcFramerateControl+import Amazonka.MediaConvert.Types.XavcFramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.XavcGopBReference+import Amazonka.MediaConvert.Types.XavcHdIntraCbgProfileClass+import Amazonka.MediaConvert.Types.XavcHdIntraCbgProfileSettings+import Amazonka.MediaConvert.Types.XavcHdProfileBitrateClass+import Amazonka.MediaConvert.Types.XavcHdProfileQualityTuningLevel+import Amazonka.MediaConvert.Types.XavcHdProfileSettings+import Amazonka.MediaConvert.Types.XavcHdProfileTelecine+import Amazonka.MediaConvert.Types.XavcInterlaceMode+import Amazonka.MediaConvert.Types.XavcProfile+import Amazonka.MediaConvert.Types.XavcSettings+import Amazonka.MediaConvert.Types.XavcSlowPal+import Amazonka.MediaConvert.Types.XavcSpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.XavcTemporalAdaptiveQuantization+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2017-08-29@ of the Amazon Elemental MediaConvert SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "MediaConvert",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "mediaconvert",+ Core.signingName = "mediaconvert",+ Core.version = "2017-08-29",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "MediaConvert",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | The service can\'t process your request because of a problem in the+-- request. Please check your request form and syntax.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"+ Prelude.. Core.hasStatus 400++-- | The service couldn\'t complete your request because there is a conflict+-- with the current state of the resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | You don\'t have permissions for this action with the credentials you+-- sent.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+ Core._MatchServiceError+ defaultService+ "ForbiddenException"+ Prelude.. Core.hasStatus 403++-- | The service encountered an unexpected condition and can\'t fulfill your+-- request.+_InternalServerErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerErrorException =+ Core._MatchServiceError+ defaultService+ "InternalServerErrorException"+ Prelude.. Core.hasStatus 500++-- | The resource you requested doesn\'t exist.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+ Core._MatchServiceError+ defaultService+ "NotFoundException"+ Prelude.. Core.hasStatus 404++-- | Too many requests have been sent in too short of a time. The service+-- limits the rate at which it will accept requests.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+ Core._MatchServiceError+ defaultService+ "TooManyRequestsException"+ Prelude.. Core.hasStatus 429
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacAudioDescriptionBroadcasterMix+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacAudioDescriptionBroadcasterMix+ ( AacAudioDescriptionBroadcasterMix+ ( ..,+ AacAudioDescriptionBroadcasterMix_BROADCASTER_MIXED_AD,+ AacAudioDescriptionBroadcasterMix_NORMAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio+-- + audio description (AD) as a stereo pair. The value for AudioType will+-- be set to 3, which signals to downstream systems that this stream+-- contains \"broadcaster mixed AD\". Note that the input received by the+-- encoder must contain pre-mixed audio; the encoder does not perform the+-- mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any+-- values you provide in AudioType and FollowInputAudioType. Choose NORMAL+-- when the input does not contain pre-mixed audio + audio description+-- (AD). In this case, the encoder will use any values you provide for+-- AudioType and FollowInputAudioType.+newtype AacAudioDescriptionBroadcasterMix = AacAudioDescriptionBroadcasterMix'+ { fromAacAudioDescriptionBroadcasterMix ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacAudioDescriptionBroadcasterMix_BROADCASTER_MIXED_AD :: AacAudioDescriptionBroadcasterMix+pattern AacAudioDescriptionBroadcasterMix_BROADCASTER_MIXED_AD = AacAudioDescriptionBroadcasterMix' "BROADCASTER_MIXED_AD"++pattern AacAudioDescriptionBroadcasterMix_NORMAL :: AacAudioDescriptionBroadcasterMix+pattern AacAudioDescriptionBroadcasterMix_NORMAL = AacAudioDescriptionBroadcasterMix' "NORMAL"++{-# COMPLETE+ AacAudioDescriptionBroadcasterMix_BROADCASTER_MIXED_AD,+ AacAudioDescriptionBroadcasterMix_NORMAL,+ AacAudioDescriptionBroadcasterMix'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacCodecProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacCodecProfile+ ( AacCodecProfile+ ( ..,+ AacCodecProfile_HEV1,+ AacCodecProfile_HEV2,+ AacCodecProfile_LC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | AAC Profile.+newtype AacCodecProfile = AacCodecProfile'+ { fromAacCodecProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacCodecProfile_HEV1 :: AacCodecProfile+pattern AacCodecProfile_HEV1 = AacCodecProfile' "HEV1"++pattern AacCodecProfile_HEV2 :: AacCodecProfile+pattern AacCodecProfile_HEV2 = AacCodecProfile' "HEV2"++pattern AacCodecProfile_LC :: AacCodecProfile+pattern AacCodecProfile_LC = AacCodecProfile' "LC"++{-# COMPLETE+ AacCodecProfile_HEV1,+ AacCodecProfile_HEV2,+ AacCodecProfile_LC,+ AacCodecProfile'+ #-}
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacCodingMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacCodingMode+ ( AacCodingMode+ ( ..,+ AacCodingMode_AD_RECEIVER_MIX,+ AacCodingMode_CODING_MODE_1_0,+ AacCodingMode_CODING_MODE_1_1,+ AacCodingMode_CODING_MODE_2_0,+ AacCodingMode_CODING_MODE_5_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Coding mode that you specify determines the number of audio channels+-- and the audio channel layout metadata in your AAC output. Valid coding+-- modes depend on the Rate control mode and Profile that you select. The+-- following list shows the number of audio channels and channel layout for+-- each coding mode. * 1.0 Audio Description (Receiver Mix): One channel,+-- C. Includes audio description data from your stereo input. For more+-- information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. *+-- 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Five channels, C, L, R,+-- Ls, Rs, LFE.+newtype AacCodingMode = AacCodingMode'+ { fromAacCodingMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacCodingMode_AD_RECEIVER_MIX :: AacCodingMode+pattern AacCodingMode_AD_RECEIVER_MIX = AacCodingMode' "AD_RECEIVER_MIX"++pattern AacCodingMode_CODING_MODE_1_0 :: AacCodingMode+pattern AacCodingMode_CODING_MODE_1_0 = AacCodingMode' "CODING_MODE_1_0"++pattern AacCodingMode_CODING_MODE_1_1 :: AacCodingMode+pattern AacCodingMode_CODING_MODE_1_1 = AacCodingMode' "CODING_MODE_1_1"++pattern AacCodingMode_CODING_MODE_2_0 :: AacCodingMode+pattern AacCodingMode_CODING_MODE_2_0 = AacCodingMode' "CODING_MODE_2_0"++pattern AacCodingMode_CODING_MODE_5_1 :: AacCodingMode+pattern AacCodingMode_CODING_MODE_5_1 = AacCodingMode' "CODING_MODE_5_1"++{-# COMPLETE+ AacCodingMode_AD_RECEIVER_MIX,+ AacCodingMode_CODING_MODE_1_0,+ AacCodingMode_CODING_MODE_1_1,+ AacCodingMode_CODING_MODE_2_0,+ AacCodingMode_CODING_MODE_5_1,+ AacCodingMode'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacRateControlMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacRateControlMode+ ( AacRateControlMode+ ( ..,+ AacRateControlMode_CBR,+ AacRateControlMode_VBR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Rate Control Mode.+newtype AacRateControlMode = AacRateControlMode'+ { fromAacRateControlMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacRateControlMode_CBR :: AacRateControlMode+pattern AacRateControlMode_CBR = AacRateControlMode' "CBR"++pattern AacRateControlMode_VBR :: AacRateControlMode+pattern AacRateControlMode_VBR = AacRateControlMode' "VBR"++{-# COMPLETE+ AacRateControlMode_CBR,+ AacRateControlMode_VBR,+ AacRateControlMode'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacRawFormat+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacRawFormat+ ( AacRawFormat+ ( ..,+ AacRawFormat_LATM_LOAS,+ AacRawFormat_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enables LATM\/LOAS AAC output. Note that if you use LATM\/LOAS AAC in an+-- output, you must choose \"No container\" for the output container.+newtype AacRawFormat = AacRawFormat'+ { fromAacRawFormat ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacRawFormat_LATM_LOAS :: AacRawFormat+pattern AacRawFormat_LATM_LOAS = AacRawFormat' "LATM_LOAS"++pattern AacRawFormat_NONE :: AacRawFormat+pattern AacRawFormat_NONE = AacRawFormat' "NONE"++{-# COMPLETE+ AacRawFormat_LATM_LOAS,+ AacRawFormat_NONE,+ AacRawFormat'+ #-}
@@ -0,0 +1,302 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AacAudioDescriptionBroadcasterMix+import Amazonka.MediaConvert.Types.AacCodecProfile+import Amazonka.MediaConvert.Types.AacCodingMode+import Amazonka.MediaConvert.Types.AacRateControlMode+import Amazonka.MediaConvert.Types.AacRawFormat+import Amazonka.MediaConvert.Types.AacSpecification+import Amazonka.MediaConvert.Types.AacVbrQuality+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AAC. The service accepts one of two mutually exclusive+-- groups of AAC settings--VBR and CBR. To select one of these modes, set+-- the value of Bitrate control mode (rateControlMode) to \"VBR\" or+-- \"CBR\". In VBR mode, you control the audio quality with the setting VBR+-- quality (vbrQuality). In CBR mode, you use the setting Bitrate+-- (bitrate). Defaults and valid values depend on the rate control mode.+--+-- /See:/ 'newAacSettings' smart constructor.+data AacSettings = AacSettings'+ { -- | Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio+ -- + audio description (AD) as a stereo pair. The value for AudioType will+ -- be set to 3, which signals to downstream systems that this stream+ -- contains \"broadcaster mixed AD\". Note that the input received by the+ -- encoder must contain pre-mixed audio; the encoder does not perform the+ -- mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any+ -- values you provide in AudioType and FollowInputAudioType. Choose NORMAL+ -- when the input does not contain pre-mixed audio + audio description+ -- (AD). In this case, the encoder will use any values you provide for+ -- AudioType and FollowInputAudioType.+ audioDescriptionBroadcasterMix :: Prelude.Maybe AacAudioDescriptionBroadcasterMix,+ -- | Specify the average bitrate in bits per second. The set of valid values+ -- for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000,+ -- 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000,+ -- 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000,+ -- 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is+ -- also constrained by the values that you choose for Profile+ -- (codecProfile), Bitrate control mode (codingMode), and Sample rate+ -- (sampleRate). Default values depend on Bitrate control mode and Profile.+ bitrate :: Prelude.Maybe Prelude.Natural,+ -- | AAC Profile.+ codecProfile :: Prelude.Maybe AacCodecProfile,+ -- | The Coding mode that you specify determines the number of audio channels+ -- and the audio channel layout metadata in your AAC output. Valid coding+ -- modes depend on the Rate control mode and Profile that you select. The+ -- following list shows the number of audio channels and channel layout for+ -- each coding mode. * 1.0 Audio Description (Receiver Mix): One channel,+ -- C. Includes audio description data from your stereo input. For more+ -- information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. *+ -- 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Five channels, C, L, R,+ -- Ls, Rs, LFE.+ codingMode :: Prelude.Maybe AacCodingMode,+ -- | Rate Control Mode.+ rateControlMode :: Prelude.Maybe AacRateControlMode,+ -- | Enables LATM\/LOAS AAC output. Note that if you use LATM\/LOAS AAC in an+ -- output, you must choose \"No container\" for the output container.+ rawFormat :: Prelude.Maybe AacRawFormat,+ -- | Specify the Sample rate in Hz. Valid sample rates depend on the Profile+ -- and Coding mode that you select. The following list shows valid sample+ -- rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0,+ -- 2.0, and Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100,+ -- 48000, 88200, 96000. * LC Profile, Coding mode 5.1: 32000, 44100, 48000,+ -- 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000,+ -- 32000, 44100, 48000. * HEV1 Profile, Coding mode 2.0 and 5.1: 32000,+ -- 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,+ -- 32000, 44100, 48000.+ sampleRate :: Prelude.Maybe Prelude.Natural,+ -- | Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport+ -- Stream containers.+ specification :: Prelude.Maybe AacSpecification,+ -- | VBR Quality Level - Only used if rate_control_mode is VBR.+ vbrQuality :: Prelude.Maybe AacVbrQuality+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AacSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioDescriptionBroadcasterMix', 'aacSettings_audioDescriptionBroadcasterMix' - Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio+-- + audio description (AD) as a stereo pair. The value for AudioType will+-- be set to 3, which signals to downstream systems that this stream+-- contains \"broadcaster mixed AD\". Note that the input received by the+-- encoder must contain pre-mixed audio; the encoder does not perform the+-- mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any+-- values you provide in AudioType and FollowInputAudioType. Choose NORMAL+-- when the input does not contain pre-mixed audio + audio description+-- (AD). In this case, the encoder will use any values you provide for+-- AudioType and FollowInputAudioType.+--+-- 'bitrate', 'aacSettings_bitrate' - Specify the average bitrate in bits per second. The set of valid values+-- for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000,+-- 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000,+-- 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000,+-- 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is+-- also constrained by the values that you choose for Profile+-- (codecProfile), Bitrate control mode (codingMode), and Sample rate+-- (sampleRate). Default values depend on Bitrate control mode and Profile.+--+-- 'codecProfile', 'aacSettings_codecProfile' - AAC Profile.+--+-- 'codingMode', 'aacSettings_codingMode' - The Coding mode that you specify determines the number of audio channels+-- and the audio channel layout metadata in your AAC output. Valid coding+-- modes depend on the Rate control mode and Profile that you select. The+-- following list shows the number of audio channels and channel layout for+-- each coding mode. * 1.0 Audio Description (Receiver Mix): One channel,+-- C. Includes audio description data from your stereo input. For more+-- information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. *+-- 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Five channels, C, L, R,+-- Ls, Rs, LFE.+--+-- 'rateControlMode', 'aacSettings_rateControlMode' - Rate Control Mode.+--+-- 'rawFormat', 'aacSettings_rawFormat' - Enables LATM\/LOAS AAC output. Note that if you use LATM\/LOAS AAC in an+-- output, you must choose \"No container\" for the output container.+--+-- 'sampleRate', 'aacSettings_sampleRate' - Specify the Sample rate in Hz. Valid sample rates depend on the Profile+-- and Coding mode that you select. The following list shows valid sample+-- rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0,+-- 2.0, and Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100,+-- 48000, 88200, 96000. * LC Profile, Coding mode 5.1: 32000, 44100, 48000,+-- 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000,+-- 32000, 44100, 48000. * HEV1 Profile, Coding mode 2.0 and 5.1: 32000,+-- 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,+-- 32000, 44100, 48000.+--+-- 'specification', 'aacSettings_specification' - Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport+-- Stream containers.+--+-- 'vbrQuality', 'aacSettings_vbrQuality' - VBR Quality Level - Only used if rate_control_mode is VBR.+newAacSettings ::+ AacSettings+newAacSettings =+ AacSettings'+ { audioDescriptionBroadcasterMix =+ Prelude.Nothing,+ bitrate = Prelude.Nothing,+ codecProfile = Prelude.Nothing,+ codingMode = Prelude.Nothing,+ rateControlMode = Prelude.Nothing,+ rawFormat = Prelude.Nothing,+ sampleRate = Prelude.Nothing,+ specification = Prelude.Nothing,+ vbrQuality = Prelude.Nothing+ }++-- | Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio+-- + audio description (AD) as a stereo pair. The value for AudioType will+-- be set to 3, which signals to downstream systems that this stream+-- contains \"broadcaster mixed AD\". Note that the input received by the+-- encoder must contain pre-mixed audio; the encoder does not perform the+-- mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any+-- values you provide in AudioType and FollowInputAudioType. Choose NORMAL+-- when the input does not contain pre-mixed audio + audio description+-- (AD). In this case, the encoder will use any values you provide for+-- AudioType and FollowInputAudioType.+aacSettings_audioDescriptionBroadcasterMix :: Lens.Lens' AacSettings (Prelude.Maybe AacAudioDescriptionBroadcasterMix)+aacSettings_audioDescriptionBroadcasterMix = Lens.lens (\AacSettings' {audioDescriptionBroadcasterMix} -> audioDescriptionBroadcasterMix) (\s@AacSettings' {} a -> s {audioDescriptionBroadcasterMix = a} :: AacSettings)++-- | Specify the average bitrate in bits per second. The set of valid values+-- for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000,+-- 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000,+-- 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000,+-- 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is+-- also constrained by the values that you choose for Profile+-- (codecProfile), Bitrate control mode (codingMode), and Sample rate+-- (sampleRate). Default values depend on Bitrate control mode and Profile.+aacSettings_bitrate :: Lens.Lens' AacSettings (Prelude.Maybe Prelude.Natural)+aacSettings_bitrate = Lens.lens (\AacSettings' {bitrate} -> bitrate) (\s@AacSettings' {} a -> s {bitrate = a} :: AacSettings)++-- | AAC Profile.+aacSettings_codecProfile :: Lens.Lens' AacSettings (Prelude.Maybe AacCodecProfile)+aacSettings_codecProfile = Lens.lens (\AacSettings' {codecProfile} -> codecProfile) (\s@AacSettings' {} a -> s {codecProfile = a} :: AacSettings)++-- | The Coding mode that you specify determines the number of audio channels+-- and the audio channel layout metadata in your AAC output. Valid coding+-- modes depend on the Rate control mode and Profile that you select. The+-- following list shows the number of audio channels and channel layout for+-- each coding mode. * 1.0 Audio Description (Receiver Mix): One channel,+-- C. Includes audio description data from your stereo input. For more+-- information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. *+-- 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Five channels, C, L, R,+-- Ls, Rs, LFE.+aacSettings_codingMode :: Lens.Lens' AacSettings (Prelude.Maybe AacCodingMode)+aacSettings_codingMode = Lens.lens (\AacSettings' {codingMode} -> codingMode) (\s@AacSettings' {} a -> s {codingMode = a} :: AacSettings)++-- | Rate Control Mode.+aacSettings_rateControlMode :: Lens.Lens' AacSettings (Prelude.Maybe AacRateControlMode)+aacSettings_rateControlMode = Lens.lens (\AacSettings' {rateControlMode} -> rateControlMode) (\s@AacSettings' {} a -> s {rateControlMode = a} :: AacSettings)++-- | Enables LATM\/LOAS AAC output. Note that if you use LATM\/LOAS AAC in an+-- output, you must choose \"No container\" for the output container.+aacSettings_rawFormat :: Lens.Lens' AacSettings (Prelude.Maybe AacRawFormat)+aacSettings_rawFormat = Lens.lens (\AacSettings' {rawFormat} -> rawFormat) (\s@AacSettings' {} a -> s {rawFormat = a} :: AacSettings)++-- | Specify the Sample rate in Hz. Valid sample rates depend on the Profile+-- and Coding mode that you select. The following list shows valid sample+-- rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0,+-- 2.0, and Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100,+-- 48000, 88200, 96000. * LC Profile, Coding mode 5.1: 32000, 44100, 48000,+-- 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000,+-- 32000, 44100, 48000. * HEV1 Profile, Coding mode 2.0 and 5.1: 32000,+-- 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,+-- 32000, 44100, 48000.+aacSettings_sampleRate :: Lens.Lens' AacSettings (Prelude.Maybe Prelude.Natural)+aacSettings_sampleRate = Lens.lens (\AacSettings' {sampleRate} -> sampleRate) (\s@AacSettings' {} a -> s {sampleRate = a} :: AacSettings)++-- | Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport+-- Stream containers.+aacSettings_specification :: Lens.Lens' AacSettings (Prelude.Maybe AacSpecification)+aacSettings_specification = Lens.lens (\AacSettings' {specification} -> specification) (\s@AacSettings' {} a -> s {specification = a} :: AacSettings)++-- | VBR Quality Level - Only used if rate_control_mode is VBR.+aacSettings_vbrQuality :: Lens.Lens' AacSettings (Prelude.Maybe AacVbrQuality)+aacSettings_vbrQuality = Lens.lens (\AacSettings' {vbrQuality} -> vbrQuality) (\s@AacSettings' {} a -> s {vbrQuality = a} :: AacSettings)++instance Data.FromJSON AacSettings where+ parseJSON =+ Data.withObject+ "AacSettings"+ ( \x ->+ AacSettings'+ Prelude.<$> (x Data..:? "audioDescriptionBroadcasterMix")+ Prelude.<*> (x Data..:? "bitrate")+ Prelude.<*> (x Data..:? "codecProfile")+ Prelude.<*> (x Data..:? "codingMode")+ Prelude.<*> (x Data..:? "rateControlMode")+ Prelude.<*> (x Data..:? "rawFormat")+ Prelude.<*> (x Data..:? "sampleRate")+ Prelude.<*> (x Data..:? "specification")+ Prelude.<*> (x Data..:? "vbrQuality")+ )++instance Prelude.Hashable AacSettings where+ hashWithSalt _salt AacSettings' {..} =+ _salt+ `Prelude.hashWithSalt` audioDescriptionBroadcasterMix+ `Prelude.hashWithSalt` bitrate+ `Prelude.hashWithSalt` codecProfile+ `Prelude.hashWithSalt` codingMode+ `Prelude.hashWithSalt` rateControlMode+ `Prelude.hashWithSalt` rawFormat+ `Prelude.hashWithSalt` sampleRate+ `Prelude.hashWithSalt` specification+ `Prelude.hashWithSalt` vbrQuality++instance Prelude.NFData AacSettings where+ rnf AacSettings' {..} =+ Prelude.rnf audioDescriptionBroadcasterMix+ `Prelude.seq` Prelude.rnf bitrate+ `Prelude.seq` Prelude.rnf codecProfile+ `Prelude.seq` Prelude.rnf codingMode+ `Prelude.seq` Prelude.rnf rateControlMode+ `Prelude.seq` Prelude.rnf rawFormat+ `Prelude.seq` Prelude.rnf sampleRate+ `Prelude.seq` Prelude.rnf specification+ `Prelude.seq` Prelude.rnf vbrQuality++instance Data.ToJSON AacSettings where+ toJSON AacSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioDescriptionBroadcasterMix" Data..=)+ Prelude.<$> audioDescriptionBroadcasterMix,+ ("bitrate" Data..=) Prelude.<$> bitrate,+ ("codecProfile" Data..=) Prelude.<$> codecProfile,+ ("codingMode" Data..=) Prelude.<$> codingMode,+ ("rateControlMode" Data..=)+ Prelude.<$> rateControlMode,+ ("rawFormat" Data..=) Prelude.<$> rawFormat,+ ("sampleRate" Data..=) Prelude.<$> sampleRate,+ ("specification" Data..=) Prelude.<$> specification,+ ("vbrQuality" Data..=) Prelude.<$> vbrQuality+ ]+ )
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacSpecification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacSpecification+ ( AacSpecification+ ( ..,+ AacSpecification_MPEG2,+ AacSpecification_MPEG4+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport+-- Stream containers.+newtype AacSpecification = AacSpecification'+ { fromAacSpecification ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacSpecification_MPEG2 :: AacSpecification+pattern AacSpecification_MPEG2 = AacSpecification' "MPEG2"++pattern AacSpecification_MPEG4 :: AacSpecification+pattern AacSpecification_MPEG4 = AacSpecification' "MPEG4"++{-# COMPLETE+ AacSpecification_MPEG2,+ AacSpecification_MPEG4,+ AacSpecification'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AacVbrQuality+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AacVbrQuality+ ( AacVbrQuality+ ( ..,+ AacVbrQuality_HIGH,+ AacVbrQuality_LOW,+ AacVbrQuality_MEDIUM_HIGH,+ AacVbrQuality_MEDIUM_LOW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | VBR Quality Level - Only used if rate_control_mode is VBR.+newtype AacVbrQuality = AacVbrQuality'+ { fromAacVbrQuality ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AacVbrQuality_HIGH :: AacVbrQuality+pattern AacVbrQuality_HIGH = AacVbrQuality' "HIGH"++pattern AacVbrQuality_LOW :: AacVbrQuality+pattern AacVbrQuality_LOW = AacVbrQuality' "LOW"++pattern AacVbrQuality_MEDIUM_HIGH :: AacVbrQuality+pattern AacVbrQuality_MEDIUM_HIGH = AacVbrQuality' "MEDIUM_HIGH"++pattern AacVbrQuality_MEDIUM_LOW :: AacVbrQuality+pattern AacVbrQuality_MEDIUM_LOW = AacVbrQuality' "MEDIUM_LOW"++{-# COMPLETE+ AacVbrQuality_HIGH,+ AacVbrQuality_LOW,+ AacVbrQuality_MEDIUM_HIGH,+ AacVbrQuality_MEDIUM_LOW,+ AacVbrQuality'+ #-}
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3BitstreamMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3BitstreamMode+ ( Ac3BitstreamMode+ ( ..,+ Ac3BitstreamMode_COMMENTARY,+ Ac3BitstreamMode_COMPLETE_MAIN,+ Ac3BitstreamMode_DIALOGUE,+ Ac3BitstreamMode_EMERGENCY,+ Ac3BitstreamMode_HEARING_IMPAIRED,+ Ac3BitstreamMode_MUSIC_AND_EFFECTS,+ Ac3BitstreamMode_VISUALLY_IMPAIRED,+ Ac3BitstreamMode_VOICE_OVER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the bitstream mode for the AC-3 stream that the encoder emits.+-- For more information about the AC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+newtype Ac3BitstreamMode = Ac3BitstreamMode'+ { fromAc3BitstreamMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3BitstreamMode_COMMENTARY :: Ac3BitstreamMode+pattern Ac3BitstreamMode_COMMENTARY = Ac3BitstreamMode' "COMMENTARY"++pattern Ac3BitstreamMode_COMPLETE_MAIN :: Ac3BitstreamMode+pattern Ac3BitstreamMode_COMPLETE_MAIN = Ac3BitstreamMode' "COMPLETE_MAIN"++pattern Ac3BitstreamMode_DIALOGUE :: Ac3BitstreamMode+pattern Ac3BitstreamMode_DIALOGUE = Ac3BitstreamMode' "DIALOGUE"++pattern Ac3BitstreamMode_EMERGENCY :: Ac3BitstreamMode+pattern Ac3BitstreamMode_EMERGENCY = Ac3BitstreamMode' "EMERGENCY"++pattern Ac3BitstreamMode_HEARING_IMPAIRED :: Ac3BitstreamMode+pattern Ac3BitstreamMode_HEARING_IMPAIRED = Ac3BitstreamMode' "HEARING_IMPAIRED"++pattern Ac3BitstreamMode_MUSIC_AND_EFFECTS :: Ac3BitstreamMode+pattern Ac3BitstreamMode_MUSIC_AND_EFFECTS = Ac3BitstreamMode' "MUSIC_AND_EFFECTS"++pattern Ac3BitstreamMode_VISUALLY_IMPAIRED :: Ac3BitstreamMode+pattern Ac3BitstreamMode_VISUALLY_IMPAIRED = Ac3BitstreamMode' "VISUALLY_IMPAIRED"++pattern Ac3BitstreamMode_VOICE_OVER :: Ac3BitstreamMode+pattern Ac3BitstreamMode_VOICE_OVER = Ac3BitstreamMode' "VOICE_OVER"++{-# COMPLETE+ Ac3BitstreamMode_COMMENTARY,+ Ac3BitstreamMode_COMPLETE_MAIN,+ Ac3BitstreamMode_DIALOGUE,+ Ac3BitstreamMode_EMERGENCY,+ Ac3BitstreamMode_HEARING_IMPAIRED,+ Ac3BitstreamMode_MUSIC_AND_EFFECTS,+ Ac3BitstreamMode_VISUALLY_IMPAIRED,+ Ac3BitstreamMode_VOICE_OVER,+ Ac3BitstreamMode'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3CodingMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3CodingMode+ ( Ac3CodingMode+ ( ..,+ Ac3CodingMode_CODING_MODE_1_0,+ Ac3CodingMode_CODING_MODE_1_1,+ Ac3CodingMode_CODING_MODE_2_0,+ Ac3CodingMode_CODING_MODE_3_2_LFE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Dolby Digital coding mode. Determines number of channels.+newtype Ac3CodingMode = Ac3CodingMode'+ { fromAc3CodingMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3CodingMode_CODING_MODE_1_0 :: Ac3CodingMode+pattern Ac3CodingMode_CODING_MODE_1_0 = Ac3CodingMode' "CODING_MODE_1_0"++pattern Ac3CodingMode_CODING_MODE_1_1 :: Ac3CodingMode+pattern Ac3CodingMode_CODING_MODE_1_1 = Ac3CodingMode' "CODING_MODE_1_1"++pattern Ac3CodingMode_CODING_MODE_2_0 :: Ac3CodingMode+pattern Ac3CodingMode_CODING_MODE_2_0 = Ac3CodingMode' "CODING_MODE_2_0"++pattern Ac3CodingMode_CODING_MODE_3_2_LFE :: Ac3CodingMode+pattern Ac3CodingMode_CODING_MODE_3_2_LFE = Ac3CodingMode' "CODING_MODE_3_2_LFE"++{-# COMPLETE+ Ac3CodingMode_CODING_MODE_1_0,+ Ac3CodingMode_CODING_MODE_1_1,+ Ac3CodingMode_CODING_MODE_2_0,+ Ac3CodingMode_CODING_MODE_3_2_LFE,+ Ac3CodingMode'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionLine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionLine+ ( Ac3DynamicRangeCompressionLine+ ( ..,+ Ac3DynamicRangeCompressionLine_FILM_LIGHT,+ Ac3DynamicRangeCompressionLine_FILM_STANDARD,+ Ac3DynamicRangeCompressionLine_MUSIC_LIGHT,+ Ac3DynamicRangeCompressionLine_MUSIC_STANDARD,+ Ac3DynamicRangeCompressionLine_NONE,+ Ac3DynamicRangeCompressionLine_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the line operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+newtype Ac3DynamicRangeCompressionLine = Ac3DynamicRangeCompressionLine'+ { fromAc3DynamicRangeCompressionLine ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3DynamicRangeCompressionLine_FILM_LIGHT :: Ac3DynamicRangeCompressionLine+pattern Ac3DynamicRangeCompressionLine_FILM_LIGHT = Ac3DynamicRangeCompressionLine' "FILM_LIGHT"++pattern Ac3DynamicRangeCompressionLine_FILM_STANDARD :: Ac3DynamicRangeCompressionLine+pattern Ac3DynamicRangeCompressionLine_FILM_STANDARD = Ac3DynamicRangeCompressionLine' "FILM_STANDARD"++pattern Ac3DynamicRangeCompressionLine_MUSIC_LIGHT :: Ac3DynamicRangeCompressionLine+pattern Ac3DynamicRangeCompressionLine_MUSIC_LIGHT = Ac3DynamicRangeCompressionLine' "MUSIC_LIGHT"++pattern Ac3DynamicRangeCompressionLine_MUSIC_STANDARD :: Ac3DynamicRangeCompressionLine+pattern Ac3DynamicRangeCompressionLine_MUSIC_STANDARD = Ac3DynamicRangeCompressionLine' "MUSIC_STANDARD"++pattern Ac3DynamicRangeCompressionLine_NONE :: Ac3DynamicRangeCompressionLine+pattern Ac3DynamicRangeCompressionLine_NONE = Ac3DynamicRangeCompressionLine' "NONE"++pattern Ac3DynamicRangeCompressionLine_SPEECH :: Ac3DynamicRangeCompressionLine+pattern Ac3DynamicRangeCompressionLine_SPEECH = Ac3DynamicRangeCompressionLine' "SPEECH"++{-# COMPLETE+ Ac3DynamicRangeCompressionLine_FILM_LIGHT,+ Ac3DynamicRangeCompressionLine_FILM_STANDARD,+ Ac3DynamicRangeCompressionLine_MUSIC_LIGHT,+ Ac3DynamicRangeCompressionLine_MUSIC_STANDARD,+ Ac3DynamicRangeCompressionLine_NONE,+ Ac3DynamicRangeCompressionLine_SPEECH,+ Ac3DynamicRangeCompressionLine'+ #-}
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionProfile+ ( Ac3DynamicRangeCompressionProfile+ ( ..,+ Ac3DynamicRangeCompressionProfile_FILM_STANDARD,+ Ac3DynamicRangeCompressionProfile_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you want to add Dolby dynamic range compression (DRC) signaling to+-- your output stream, we recommend that you use the mode-specific settings+-- instead of Dynamic range compression profile+-- (DynamicRangeCompressionProfile). The mode-specific settings are Dynamic+-- range compression profile, line mode (dynamicRangeCompressionLine) and+-- Dynamic range compression profile, RF mode (dynamicRangeCompressionRf).+-- Note that when you specify values for all three settings, MediaConvert+-- ignores the value of this setting in favor of the mode-specific+-- settings. If you do use this setting instead of the mode-specific+-- settings, choose None (NONE) to leave out DRC signaling. Keep the+-- default Film standard (FILM_STANDARD) to set the profile to Dolby\'s+-- film standard profile for all operating modes.+newtype Ac3DynamicRangeCompressionProfile = Ac3DynamicRangeCompressionProfile'+ { fromAc3DynamicRangeCompressionProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3DynamicRangeCompressionProfile_FILM_STANDARD :: Ac3DynamicRangeCompressionProfile+pattern Ac3DynamicRangeCompressionProfile_FILM_STANDARD = Ac3DynamicRangeCompressionProfile' "FILM_STANDARD"++pattern Ac3DynamicRangeCompressionProfile_NONE :: Ac3DynamicRangeCompressionProfile+pattern Ac3DynamicRangeCompressionProfile_NONE = Ac3DynamicRangeCompressionProfile' "NONE"++{-# COMPLETE+ Ac3DynamicRangeCompressionProfile_FILM_STANDARD,+ Ac3DynamicRangeCompressionProfile_NONE,+ Ac3DynamicRangeCompressionProfile'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionRf+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionRf+ ( Ac3DynamicRangeCompressionRf+ ( ..,+ Ac3DynamicRangeCompressionRf_FILM_LIGHT,+ Ac3DynamicRangeCompressionRf_FILM_STANDARD,+ Ac3DynamicRangeCompressionRf_MUSIC_LIGHT,+ Ac3DynamicRangeCompressionRf_MUSIC_STANDARD,+ Ac3DynamicRangeCompressionRf_NONE,+ Ac3DynamicRangeCompressionRf_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the RF operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+newtype Ac3DynamicRangeCompressionRf = Ac3DynamicRangeCompressionRf'+ { fromAc3DynamicRangeCompressionRf ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3DynamicRangeCompressionRf_FILM_LIGHT :: Ac3DynamicRangeCompressionRf+pattern Ac3DynamicRangeCompressionRf_FILM_LIGHT = Ac3DynamicRangeCompressionRf' "FILM_LIGHT"++pattern Ac3DynamicRangeCompressionRf_FILM_STANDARD :: Ac3DynamicRangeCompressionRf+pattern Ac3DynamicRangeCompressionRf_FILM_STANDARD = Ac3DynamicRangeCompressionRf' "FILM_STANDARD"++pattern Ac3DynamicRangeCompressionRf_MUSIC_LIGHT :: Ac3DynamicRangeCompressionRf+pattern Ac3DynamicRangeCompressionRf_MUSIC_LIGHT = Ac3DynamicRangeCompressionRf' "MUSIC_LIGHT"++pattern Ac3DynamicRangeCompressionRf_MUSIC_STANDARD :: Ac3DynamicRangeCompressionRf+pattern Ac3DynamicRangeCompressionRf_MUSIC_STANDARD = Ac3DynamicRangeCompressionRf' "MUSIC_STANDARD"++pattern Ac3DynamicRangeCompressionRf_NONE :: Ac3DynamicRangeCompressionRf+pattern Ac3DynamicRangeCompressionRf_NONE = Ac3DynamicRangeCompressionRf' "NONE"++pattern Ac3DynamicRangeCompressionRf_SPEECH :: Ac3DynamicRangeCompressionRf+pattern Ac3DynamicRangeCompressionRf_SPEECH = Ac3DynamicRangeCompressionRf' "SPEECH"++{-# COMPLETE+ Ac3DynamicRangeCompressionRf_FILM_LIGHT,+ Ac3DynamicRangeCompressionRf_FILM_STANDARD,+ Ac3DynamicRangeCompressionRf_MUSIC_LIGHT,+ Ac3DynamicRangeCompressionRf_MUSIC_STANDARD,+ Ac3DynamicRangeCompressionRf_NONE,+ Ac3DynamicRangeCompressionRf_SPEECH,+ Ac3DynamicRangeCompressionRf'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3LfeFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3LfeFilter+ ( Ac3LfeFilter+ ( ..,+ Ac3LfeFilter_DISABLED,+ Ac3LfeFilter_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+-- Only valid with 3_2_LFE coding mode.+newtype Ac3LfeFilter = Ac3LfeFilter'+ { fromAc3LfeFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3LfeFilter_DISABLED :: Ac3LfeFilter+pattern Ac3LfeFilter_DISABLED = Ac3LfeFilter' "DISABLED"++pattern Ac3LfeFilter_ENABLED :: Ac3LfeFilter+pattern Ac3LfeFilter_ENABLED = Ac3LfeFilter' "ENABLED"++{-# COMPLETE+ Ac3LfeFilter_DISABLED,+ Ac3LfeFilter_ENABLED,+ Ac3LfeFilter'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3MetadataControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3MetadataControl+ ( Ac3MetadataControl+ ( ..,+ Ac3MetadataControl_FOLLOW_INPUT,+ Ac3MetadataControl_USE_CONFIGURED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+-- DD+, or DolbyE decoder that supplied this audio data. If audio was not+-- supplied from one of these streams, then the static metadata settings+-- will be used.+newtype Ac3MetadataControl = Ac3MetadataControl'+ { fromAc3MetadataControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Ac3MetadataControl_FOLLOW_INPUT :: Ac3MetadataControl+pattern Ac3MetadataControl_FOLLOW_INPUT = Ac3MetadataControl' "FOLLOW_INPUT"++pattern Ac3MetadataControl_USE_CONFIGURED :: Ac3MetadataControl+pattern Ac3MetadataControl_USE_CONFIGURED = Ac3MetadataControl' "USE_CONFIGURED"++{-# COMPLETE+ Ac3MetadataControl_FOLLOW_INPUT,+ Ac3MetadataControl_USE_CONFIGURED,+ Ac3MetadataControl'+ #-}
@@ -0,0 +1,329 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Ac3Settings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Ac3Settings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.Ac3BitstreamMode+import Amazonka.MediaConvert.Types.Ac3CodingMode+import Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionLine+import Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionProfile+import Amazonka.MediaConvert.Types.Ac3DynamicRangeCompressionRf+import Amazonka.MediaConvert.Types.Ac3LfeFilter+import Amazonka.MediaConvert.Types.Ac3MetadataControl+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AC3.+--+-- /See:/ 'newAc3Settings' smart constructor.+data Ac3Settings = Ac3Settings'+ { -- | Specify the average bitrate in bits per second. The bitrate that you+ -- specify must be a multiple of 8000 within the allowed minimum and+ -- maximum values. Leave blank to use the default bitrate for the coding+ -- mode you select according ETSI TS 102 366. Valid bitrates for coding+ -- mode 1\/0: Default: 96000. Minimum: 64000. Maximum: 128000. Valid+ -- bitrates for coding mode 1\/1: Default: 192000. Minimum: 128000.+ -- Maximum: 384000. Valid bitrates for coding mode 2\/0: Default: 192000.+ -- Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode 3\/2+ -- with FLE: Default: 384000. Minimum: 384000. Maximum: 640000.+ bitrate :: Prelude.Maybe Prelude.Natural,+ -- | Specify the bitstream mode for the AC-3 stream that the encoder emits.+ -- For more information about the AC3 bitstream mode, see ATSC A\/52-2012+ -- (Annex E).+ bitstreamMode :: Prelude.Maybe Ac3BitstreamMode,+ -- | Dolby Digital coding mode. Determines number of channels.+ codingMode :: Prelude.Maybe Ac3CodingMode,+ -- | Sets the dialnorm for the output. If blank and input audio is Dolby+ -- Digital, dialnorm will be passed through.+ dialnorm :: Prelude.Maybe Prelude.Natural,+ -- | Choose the Dolby Digital dynamic range control (DRC) profile that+ -- MediaConvert uses when encoding the metadata in the Dolby Digital stream+ -- for the line operating mode. Related setting: When you use this setting,+ -- MediaConvert ignores any value you provide for Dynamic range compression+ -- profile (DynamicRangeCompressionProfile). For information about the+ -- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+ -- Control chapter of the Dolby Metadata Guide at+ -- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ dynamicRangeCompressionLine :: Prelude.Maybe Ac3DynamicRangeCompressionLine,+ -- | When you want to add Dolby dynamic range compression (DRC) signaling to+ -- your output stream, we recommend that you use the mode-specific settings+ -- instead of Dynamic range compression profile+ -- (DynamicRangeCompressionProfile). The mode-specific settings are Dynamic+ -- range compression profile, line mode (dynamicRangeCompressionLine) and+ -- Dynamic range compression profile, RF mode (dynamicRangeCompressionRf).+ -- Note that when you specify values for all three settings, MediaConvert+ -- ignores the value of this setting in favor of the mode-specific+ -- settings. If you do use this setting instead of the mode-specific+ -- settings, choose None (NONE) to leave out DRC signaling. Keep the+ -- default Film standard (FILM_STANDARD) to set the profile to Dolby\'s+ -- film standard profile for all operating modes.+ dynamicRangeCompressionProfile :: Prelude.Maybe Ac3DynamicRangeCompressionProfile,+ -- | Choose the Dolby Digital dynamic range control (DRC) profile that+ -- MediaConvert uses when encoding the metadata in the Dolby Digital stream+ -- for the RF operating mode. Related setting: When you use this setting,+ -- MediaConvert ignores any value you provide for Dynamic range compression+ -- profile (DynamicRangeCompressionProfile). For information about the+ -- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+ -- Control chapter of the Dolby Metadata Guide at+ -- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ dynamicRangeCompressionRf :: Prelude.Maybe Ac3DynamicRangeCompressionRf,+ -- | Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+ -- Only valid with 3_2_LFE coding mode.+ lfeFilter :: Prelude.Maybe Ac3LfeFilter,+ -- | When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+ -- DD+, or DolbyE decoder that supplied this audio data. If audio was not+ -- supplied from one of these streams, then the static metadata settings+ -- will be used.+ metadataControl :: Prelude.Maybe Ac3MetadataControl,+ -- | This value is always 48000. It represents the sample rate in Hz.+ sampleRate :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Ac3Settings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bitrate', 'ac3Settings_bitrate' - Specify the average bitrate in bits per second. The bitrate that you+-- specify must be a multiple of 8000 within the allowed minimum and+-- maximum values. Leave blank to use the default bitrate for the coding+-- mode you select according ETSI TS 102 366. Valid bitrates for coding+-- mode 1\/0: Default: 96000. Minimum: 64000. Maximum: 128000. Valid+-- bitrates for coding mode 1\/1: Default: 192000. Minimum: 128000.+-- Maximum: 384000. Valid bitrates for coding mode 2\/0: Default: 192000.+-- Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode 3\/2+-- with FLE: Default: 384000. Minimum: 384000. Maximum: 640000.+--+-- 'bitstreamMode', 'ac3Settings_bitstreamMode' - Specify the bitstream mode for the AC-3 stream that the encoder emits.+-- For more information about the AC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+--+-- 'codingMode', 'ac3Settings_codingMode' - Dolby Digital coding mode. Determines number of channels.+--+-- 'dialnorm', 'ac3Settings_dialnorm' - Sets the dialnorm for the output. If blank and input audio is Dolby+-- Digital, dialnorm will be passed through.+--+-- 'dynamicRangeCompressionLine', 'ac3Settings_dynamicRangeCompressionLine' - Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the line operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+--+-- 'dynamicRangeCompressionProfile', 'ac3Settings_dynamicRangeCompressionProfile' - When you want to add Dolby dynamic range compression (DRC) signaling to+-- your output stream, we recommend that you use the mode-specific settings+-- instead of Dynamic range compression profile+-- (DynamicRangeCompressionProfile). The mode-specific settings are Dynamic+-- range compression profile, line mode (dynamicRangeCompressionLine) and+-- Dynamic range compression profile, RF mode (dynamicRangeCompressionRf).+-- Note that when you specify values for all three settings, MediaConvert+-- ignores the value of this setting in favor of the mode-specific+-- settings. If you do use this setting instead of the mode-specific+-- settings, choose None (NONE) to leave out DRC signaling. Keep the+-- default Film standard (FILM_STANDARD) to set the profile to Dolby\'s+-- film standard profile for all operating modes.+--+-- 'dynamicRangeCompressionRf', 'ac3Settings_dynamicRangeCompressionRf' - Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the RF operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+--+-- 'lfeFilter', 'ac3Settings_lfeFilter' - Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+-- Only valid with 3_2_LFE coding mode.+--+-- 'metadataControl', 'ac3Settings_metadataControl' - When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+-- DD+, or DolbyE decoder that supplied this audio data. If audio was not+-- supplied from one of these streams, then the static metadata settings+-- will be used.+--+-- 'sampleRate', 'ac3Settings_sampleRate' - This value is always 48000. It represents the sample rate in Hz.+newAc3Settings ::+ Ac3Settings+newAc3Settings =+ Ac3Settings'+ { bitrate = Prelude.Nothing,+ bitstreamMode = Prelude.Nothing,+ codingMode = Prelude.Nothing,+ dialnorm = Prelude.Nothing,+ dynamicRangeCompressionLine = Prelude.Nothing,+ dynamicRangeCompressionProfile = Prelude.Nothing,+ dynamicRangeCompressionRf = Prelude.Nothing,+ lfeFilter = Prelude.Nothing,+ metadataControl = Prelude.Nothing,+ sampleRate = Prelude.Nothing+ }++-- | Specify the average bitrate in bits per second. The bitrate that you+-- specify must be a multiple of 8000 within the allowed minimum and+-- maximum values. Leave blank to use the default bitrate for the coding+-- mode you select according ETSI TS 102 366. Valid bitrates for coding+-- mode 1\/0: Default: 96000. Minimum: 64000. Maximum: 128000. Valid+-- bitrates for coding mode 1\/1: Default: 192000. Minimum: 128000.+-- Maximum: 384000. Valid bitrates for coding mode 2\/0: Default: 192000.+-- Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode 3\/2+-- with FLE: Default: 384000. Minimum: 384000. Maximum: 640000.+ac3Settings_bitrate :: Lens.Lens' Ac3Settings (Prelude.Maybe Prelude.Natural)+ac3Settings_bitrate = Lens.lens (\Ac3Settings' {bitrate} -> bitrate) (\s@Ac3Settings' {} a -> s {bitrate = a} :: Ac3Settings)++-- | Specify the bitstream mode for the AC-3 stream that the encoder emits.+-- For more information about the AC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+ac3Settings_bitstreamMode :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3BitstreamMode)+ac3Settings_bitstreamMode = Lens.lens (\Ac3Settings' {bitstreamMode} -> bitstreamMode) (\s@Ac3Settings' {} a -> s {bitstreamMode = a} :: Ac3Settings)++-- | Dolby Digital coding mode. Determines number of channels.+ac3Settings_codingMode :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3CodingMode)+ac3Settings_codingMode = Lens.lens (\Ac3Settings' {codingMode} -> codingMode) (\s@Ac3Settings' {} a -> s {codingMode = a} :: Ac3Settings)++-- | Sets the dialnorm for the output. If blank and input audio is Dolby+-- Digital, dialnorm will be passed through.+ac3Settings_dialnorm :: Lens.Lens' Ac3Settings (Prelude.Maybe Prelude.Natural)+ac3Settings_dialnorm = Lens.lens (\Ac3Settings' {dialnorm} -> dialnorm) (\s@Ac3Settings' {} a -> s {dialnorm = a} :: Ac3Settings)++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the line operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ac3Settings_dynamicRangeCompressionLine :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3DynamicRangeCompressionLine)+ac3Settings_dynamicRangeCompressionLine = Lens.lens (\Ac3Settings' {dynamicRangeCompressionLine} -> dynamicRangeCompressionLine) (\s@Ac3Settings' {} a -> s {dynamicRangeCompressionLine = a} :: Ac3Settings)++-- | When you want to add Dolby dynamic range compression (DRC) signaling to+-- your output stream, we recommend that you use the mode-specific settings+-- instead of Dynamic range compression profile+-- (DynamicRangeCompressionProfile). The mode-specific settings are Dynamic+-- range compression profile, line mode (dynamicRangeCompressionLine) and+-- Dynamic range compression profile, RF mode (dynamicRangeCompressionRf).+-- Note that when you specify values for all three settings, MediaConvert+-- ignores the value of this setting in favor of the mode-specific+-- settings. If you do use this setting instead of the mode-specific+-- settings, choose None (NONE) to leave out DRC signaling. Keep the+-- default Film standard (FILM_STANDARD) to set the profile to Dolby\'s+-- film standard profile for all operating modes.+ac3Settings_dynamicRangeCompressionProfile :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3DynamicRangeCompressionProfile)+ac3Settings_dynamicRangeCompressionProfile = Lens.lens (\Ac3Settings' {dynamicRangeCompressionProfile} -> dynamicRangeCompressionProfile) (\s@Ac3Settings' {} a -> s {dynamicRangeCompressionProfile = a} :: Ac3Settings)++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the RF operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ac3Settings_dynamicRangeCompressionRf :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3DynamicRangeCompressionRf)+ac3Settings_dynamicRangeCompressionRf = Lens.lens (\Ac3Settings' {dynamicRangeCompressionRf} -> dynamicRangeCompressionRf) (\s@Ac3Settings' {} a -> s {dynamicRangeCompressionRf = a} :: Ac3Settings)++-- | Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+-- Only valid with 3_2_LFE coding mode.+ac3Settings_lfeFilter :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3LfeFilter)+ac3Settings_lfeFilter = Lens.lens (\Ac3Settings' {lfeFilter} -> lfeFilter) (\s@Ac3Settings' {} a -> s {lfeFilter = a} :: Ac3Settings)++-- | When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+-- DD+, or DolbyE decoder that supplied this audio data. If audio was not+-- supplied from one of these streams, then the static metadata settings+-- will be used.+ac3Settings_metadataControl :: Lens.Lens' Ac3Settings (Prelude.Maybe Ac3MetadataControl)+ac3Settings_metadataControl = Lens.lens (\Ac3Settings' {metadataControl} -> metadataControl) (\s@Ac3Settings' {} a -> s {metadataControl = a} :: Ac3Settings)++-- | This value is always 48000. It represents the sample rate in Hz.+ac3Settings_sampleRate :: Lens.Lens' Ac3Settings (Prelude.Maybe Prelude.Natural)+ac3Settings_sampleRate = Lens.lens (\Ac3Settings' {sampleRate} -> sampleRate) (\s@Ac3Settings' {} a -> s {sampleRate = a} :: Ac3Settings)++instance Data.FromJSON Ac3Settings where+ parseJSON =+ Data.withObject+ "Ac3Settings"+ ( \x ->+ Ac3Settings'+ Prelude.<$> (x Data..:? "bitrate")+ Prelude.<*> (x Data..:? "bitstreamMode")+ Prelude.<*> (x Data..:? "codingMode")+ Prelude.<*> (x Data..:? "dialnorm")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionLine")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionProfile")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionRf")+ Prelude.<*> (x Data..:? "lfeFilter")+ Prelude.<*> (x Data..:? "metadataControl")+ Prelude.<*> (x Data..:? "sampleRate")+ )++instance Prelude.Hashable Ac3Settings where+ hashWithSalt _salt Ac3Settings' {..} =+ _salt+ `Prelude.hashWithSalt` bitrate+ `Prelude.hashWithSalt` bitstreamMode+ `Prelude.hashWithSalt` codingMode+ `Prelude.hashWithSalt` dialnorm+ `Prelude.hashWithSalt` dynamicRangeCompressionLine+ `Prelude.hashWithSalt` dynamicRangeCompressionProfile+ `Prelude.hashWithSalt` dynamicRangeCompressionRf+ `Prelude.hashWithSalt` lfeFilter+ `Prelude.hashWithSalt` metadataControl+ `Prelude.hashWithSalt` sampleRate++instance Prelude.NFData Ac3Settings where+ rnf Ac3Settings' {..} =+ Prelude.rnf bitrate+ `Prelude.seq` Prelude.rnf bitstreamMode+ `Prelude.seq` Prelude.rnf codingMode+ `Prelude.seq` Prelude.rnf dialnorm+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionLine+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionProfile+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionRf+ `Prelude.seq` Prelude.rnf lfeFilter+ `Prelude.seq` Prelude.rnf metadataControl+ `Prelude.seq` Prelude.rnf sampleRate++instance Data.ToJSON Ac3Settings where+ toJSON Ac3Settings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bitrate" Data..=) Prelude.<$> bitrate,+ ("bitstreamMode" Data..=) Prelude.<$> bitstreamMode,+ ("codingMode" Data..=) Prelude.<$> codingMode,+ ("dialnorm" Data..=) Prelude.<$> dialnorm,+ ("dynamicRangeCompressionLine" Data..=)+ Prelude.<$> dynamicRangeCompressionLine,+ ("dynamicRangeCompressionProfile" Data..=)+ Prelude.<$> dynamicRangeCompressionProfile,+ ("dynamicRangeCompressionRf" Data..=)+ Prelude.<$> dynamicRangeCompressionRf,+ ("lfeFilter" Data..=) Prelude.<$> lfeFilter,+ ("metadataControl" Data..=)+ Prelude.<$> metadataControl,+ ("sampleRate" Data..=) Prelude.<$> sampleRate+ ]+ )
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AccelerationMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AccelerationMode+ ( AccelerationMode+ ( ..,+ AccelerationMode_DISABLED,+ AccelerationMode_ENABLED,+ AccelerationMode_PREFERRED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether the service runs your job with accelerated transcoding.+-- Choose DISABLED if you don\'t want accelerated transcoding. Choose+-- ENABLED if you want your job to run with accelerated transcoding and to+-- fail if your input files or your job settings aren\'t compatible with+-- accelerated transcoding. Choose PREFERRED if you want your job to run+-- with accelerated transcoding if the job is compatible with the feature+-- and to run at standard speed if it\'s not.+newtype AccelerationMode = AccelerationMode'+ { fromAccelerationMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AccelerationMode_DISABLED :: AccelerationMode+pattern AccelerationMode_DISABLED = AccelerationMode' "DISABLED"++pattern AccelerationMode_ENABLED :: AccelerationMode+pattern AccelerationMode_ENABLED = AccelerationMode' "ENABLED"++pattern AccelerationMode_PREFERRED :: AccelerationMode+pattern AccelerationMode_PREFERRED = AccelerationMode' "PREFERRED"++{-# COMPLETE+ AccelerationMode_DISABLED,+ AccelerationMode_ENABLED,+ AccelerationMode_PREFERRED,+ AccelerationMode'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AccelerationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AccelerationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AccelerationMode+import qualified Amazonka.Prelude as Prelude++-- | Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content.+--+-- /See:/ 'newAccelerationSettings' smart constructor.+data AccelerationSettings = AccelerationSettings'+ { -- | Specify the conditions when the service will run your job with+ -- accelerated transcoding.+ mode :: AccelerationMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccelerationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mode', 'accelerationSettings_mode' - Specify the conditions when the service will run your job with+-- accelerated transcoding.+newAccelerationSettings ::+ -- | 'mode'+ AccelerationMode ->+ AccelerationSettings+newAccelerationSettings pMode_ =+ AccelerationSettings' {mode = pMode_}++-- | Specify the conditions when the service will run your job with+-- accelerated transcoding.+accelerationSettings_mode :: Lens.Lens' AccelerationSettings AccelerationMode+accelerationSettings_mode = Lens.lens (\AccelerationSettings' {mode} -> mode) (\s@AccelerationSettings' {} a -> s {mode = a} :: AccelerationSettings)++instance Data.FromJSON AccelerationSettings where+ parseJSON =+ Data.withObject+ "AccelerationSettings"+ ( \x ->+ AccelerationSettings' Prelude.<$> (x Data..: "mode")+ )++instance Prelude.Hashable AccelerationSettings where+ hashWithSalt _salt AccelerationSettings' {..} =+ _salt `Prelude.hashWithSalt` mode++instance Prelude.NFData AccelerationSettings where+ rnf AccelerationSettings' {..} = Prelude.rnf mode++instance Data.ToJSON AccelerationSettings where+ toJSON AccelerationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("mode" Data..= mode)]+ )
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AccelerationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AccelerationStatus+ ( AccelerationStatus+ ( ..,+ AccelerationStatus_ACCELERATED,+ AccelerationStatus_IN_PROGRESS,+ AccelerationStatus_NOT_ACCELERATED,+ AccelerationStatus_NOT_APPLICABLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes whether the current job is running with accelerated+-- transcoding. For jobs that have Acceleration (AccelerationMode) set to+-- DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that+-- have Acceleration (AccelerationMode) set to ENABLED or PREFERRED,+-- AccelerationStatus is one of the other states. AccelerationStatus is+-- IN_PROGRESS initially, while the service determines whether the input+-- files and job settings are compatible with accelerated transcoding. If+-- they are, AcclerationStatus is ACCELERATED. If your input files and job+-- settings aren\'t compatible with accelerated transcoding, the service+-- either fails your job or runs it without accelerated transcoding,+-- depending on how you set Acceleration (AccelerationMode). When the+-- service runs your job without accelerated transcoding,+-- AccelerationStatus is NOT_ACCELERATED.+newtype AccelerationStatus = AccelerationStatus'+ { fromAccelerationStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AccelerationStatus_ACCELERATED :: AccelerationStatus+pattern AccelerationStatus_ACCELERATED = AccelerationStatus' "ACCELERATED"++pattern AccelerationStatus_IN_PROGRESS :: AccelerationStatus+pattern AccelerationStatus_IN_PROGRESS = AccelerationStatus' "IN_PROGRESS"++pattern AccelerationStatus_NOT_ACCELERATED :: AccelerationStatus+pattern AccelerationStatus_NOT_ACCELERATED = AccelerationStatus' "NOT_ACCELERATED"++pattern AccelerationStatus_NOT_APPLICABLE :: AccelerationStatus+pattern AccelerationStatus_NOT_APPLICABLE = AccelerationStatus' "NOT_APPLICABLE"++{-# COMPLETE+ AccelerationStatus_ACCELERATED,+ AccelerationStatus_IN_PROGRESS,+ AccelerationStatus_NOT_ACCELERATED,+ AccelerationStatus_NOT_APPLICABLE,+ AccelerationStatus'+ #-}
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AfdSignaling+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AfdSignaling+ ( AfdSignaling+ ( ..,+ AfdSignaling_AUTO,+ AfdSignaling_FIXED,+ AfdSignaling_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert+-- AFD signaling (AfdSignaling) to specify whether the service includes AFD+-- values in the output video data and what those values are. * Choose None+-- to remove all AFD values from this output. * Choose Fixed to ignore+-- input AFD values and instead encode the value specified in the job. *+-- Choose Auto to calculate output AFD values based on the input AFD scaler+-- data.+newtype AfdSignaling = AfdSignaling'+ { fromAfdSignaling ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AfdSignaling_AUTO :: AfdSignaling+pattern AfdSignaling_AUTO = AfdSignaling' "AUTO"++pattern AfdSignaling_FIXED :: AfdSignaling+pattern AfdSignaling_FIXED = AfdSignaling' "FIXED"++pattern AfdSignaling_NONE :: AfdSignaling+pattern AfdSignaling_NONE = AfdSignaling' "NONE"++{-# COMPLETE+ AfdSignaling_AUTO,+ AfdSignaling_FIXED,+ AfdSignaling_NONE,+ AfdSignaling'+ #-}
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AiffSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AiffSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AIFF.+--+-- /See:/ 'newAiffSettings' smart constructor.+data AiffSettings = AiffSettings'+ { -- | Specify Bit depth (BitDepth), in bits per sample, to choose the encoding+ -- quality for this audio track.+ bitDepth :: Prelude.Maybe Prelude.Natural,+ -- | Specify the number of channels in this output audio track. Valid values+ -- are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up+ -- to 64.+ channels :: Prelude.Maybe Prelude.Natural,+ -- | Sample rate in hz.+ sampleRate :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AiffSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bitDepth', 'aiffSettings_bitDepth' - Specify Bit depth (BitDepth), in bits per sample, to choose the encoding+-- quality for this audio track.+--+-- 'channels', 'aiffSettings_channels' - Specify the number of channels in this output audio track. Valid values+-- are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up+-- to 64.+--+-- 'sampleRate', 'aiffSettings_sampleRate' - Sample rate in hz.+newAiffSettings ::+ AiffSettings+newAiffSettings =+ AiffSettings'+ { bitDepth = Prelude.Nothing,+ channels = Prelude.Nothing,+ sampleRate = Prelude.Nothing+ }++-- | Specify Bit depth (BitDepth), in bits per sample, to choose the encoding+-- quality for this audio track.+aiffSettings_bitDepth :: Lens.Lens' AiffSettings (Prelude.Maybe Prelude.Natural)+aiffSettings_bitDepth = Lens.lens (\AiffSettings' {bitDepth} -> bitDepth) (\s@AiffSettings' {} a -> s {bitDepth = a} :: AiffSettings)++-- | Specify the number of channels in this output audio track. Valid values+-- are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up+-- to 64.+aiffSettings_channels :: Lens.Lens' AiffSettings (Prelude.Maybe Prelude.Natural)+aiffSettings_channels = Lens.lens (\AiffSettings' {channels} -> channels) (\s@AiffSettings' {} a -> s {channels = a} :: AiffSettings)++-- | Sample rate in hz.+aiffSettings_sampleRate :: Lens.Lens' AiffSettings (Prelude.Maybe Prelude.Natural)+aiffSettings_sampleRate = Lens.lens (\AiffSettings' {sampleRate} -> sampleRate) (\s@AiffSettings' {} a -> s {sampleRate = a} :: AiffSettings)++instance Data.FromJSON AiffSettings where+ parseJSON =+ Data.withObject+ "AiffSettings"+ ( \x ->+ AiffSettings'+ Prelude.<$> (x Data..:? "bitDepth")+ Prelude.<*> (x Data..:? "channels")+ Prelude.<*> (x Data..:? "sampleRate")+ )++instance Prelude.Hashable AiffSettings where+ hashWithSalt _salt AiffSettings' {..} =+ _salt+ `Prelude.hashWithSalt` bitDepth+ `Prelude.hashWithSalt` channels+ `Prelude.hashWithSalt` sampleRate++instance Prelude.NFData AiffSettings where+ rnf AiffSettings' {..} =+ Prelude.rnf bitDepth+ `Prelude.seq` Prelude.rnf channels+ `Prelude.seq` Prelude.rnf sampleRate++instance Data.ToJSON AiffSettings where+ toJSON AiffSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bitDepth" Data..=) Prelude.<$> bitDepth,+ ("channels" Data..=) Prelude.<$> channels,+ ("sampleRate" Data..=) Prelude.<$> sampleRate+ ]+ )
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AllowedRenditionSize+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AllowedRenditionSize where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.RequiredFlag+import qualified Amazonka.Prelude as Prelude++-- | Use Allowed renditions to specify a list of possible resolutions in your+-- ABR stack. * MediaConvert will create an ABR stack exclusively from the+-- list of resolutions that you specify. * Some resolutions in the Allowed+-- renditions list may not be included, however you can force a resolution+-- to be included by setting Required to ENABLED. * You must specify at+-- least one resolution that is greater than or equal to any resolutions+-- that you specify in Min top rendition size or Min bottom rendition size.+-- * If you specify Allowed renditions, you must not specify a separate+-- rule for Force include renditions.+--+-- /See:/ 'newAllowedRenditionSize' smart constructor.+data AllowedRenditionSize = AllowedRenditionSize'+ { -- | Use Height to define the video resolution height, in pixels, for this+ -- rule.+ height :: Prelude.Maybe Prelude.Natural,+ -- | Set to ENABLED to force a rendition to be included.+ required :: Prelude.Maybe RequiredFlag,+ -- | Use Width to define the video resolution width, in pixels, for this+ -- rule.+ width :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AllowedRenditionSize' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'height', 'allowedRenditionSize_height' - Use Height to define the video resolution height, in pixels, for this+-- rule.+--+-- 'required', 'allowedRenditionSize_required' - Set to ENABLED to force a rendition to be included.+--+-- 'width', 'allowedRenditionSize_width' - Use Width to define the video resolution width, in pixels, for this+-- rule.+newAllowedRenditionSize ::+ AllowedRenditionSize+newAllowedRenditionSize =+ AllowedRenditionSize'+ { height = Prelude.Nothing,+ required = Prelude.Nothing,+ width = Prelude.Nothing+ }++-- | Use Height to define the video resolution height, in pixels, for this+-- rule.+allowedRenditionSize_height :: Lens.Lens' AllowedRenditionSize (Prelude.Maybe Prelude.Natural)+allowedRenditionSize_height = Lens.lens (\AllowedRenditionSize' {height} -> height) (\s@AllowedRenditionSize' {} a -> s {height = a} :: AllowedRenditionSize)++-- | Set to ENABLED to force a rendition to be included.+allowedRenditionSize_required :: Lens.Lens' AllowedRenditionSize (Prelude.Maybe RequiredFlag)+allowedRenditionSize_required = Lens.lens (\AllowedRenditionSize' {required} -> required) (\s@AllowedRenditionSize' {} a -> s {required = a} :: AllowedRenditionSize)++-- | Use Width to define the video resolution width, in pixels, for this+-- rule.+allowedRenditionSize_width :: Lens.Lens' AllowedRenditionSize (Prelude.Maybe Prelude.Natural)+allowedRenditionSize_width = Lens.lens (\AllowedRenditionSize' {width} -> width) (\s@AllowedRenditionSize' {} a -> s {width = a} :: AllowedRenditionSize)++instance Data.FromJSON AllowedRenditionSize where+ parseJSON =+ Data.withObject+ "AllowedRenditionSize"+ ( \x ->+ AllowedRenditionSize'+ Prelude.<$> (x Data..:? "height")+ Prelude.<*> (x Data..:? "required")+ Prelude.<*> (x Data..:? "width")+ )++instance Prelude.Hashable AllowedRenditionSize where+ hashWithSalt _salt AllowedRenditionSize' {..} =+ _salt+ `Prelude.hashWithSalt` height+ `Prelude.hashWithSalt` required+ `Prelude.hashWithSalt` width++instance Prelude.NFData AllowedRenditionSize where+ rnf AllowedRenditionSize' {..} =+ Prelude.rnf height+ `Prelude.seq` Prelude.rnf required+ `Prelude.seq` Prelude.rnf width++instance Data.ToJSON AllowedRenditionSize where+ toJSON AllowedRenditionSize' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("height" Data..=) Prelude.<$> height,+ ("required" Data..=) Prelude.<$> required,+ ("width" Data..=) Prelude.<$> width+ ]+ )
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AlphaBehavior+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AlphaBehavior+ ( AlphaBehavior+ ( ..,+ AlphaBehavior_DISCARD,+ AlphaBehavior_REMAP_TO_LUMA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless this input is a QuickTime animation with an+-- alpha channel. Use this setting to create separate Key and Fill outputs.+-- In each output, specify which part of the input MediaConvert uses. Leave+-- this setting at the default value DISCARD to delete the alpha channel+-- and preserve the video. Set it to REMAP_TO_LUMA to delete the video and+-- map the alpha channel to the luma channel of your outputs.+newtype AlphaBehavior = AlphaBehavior'+ { fromAlphaBehavior ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AlphaBehavior_DISCARD :: AlphaBehavior+pattern AlphaBehavior_DISCARD = AlphaBehavior' "DISCARD"++pattern AlphaBehavior_REMAP_TO_LUMA :: AlphaBehavior+pattern AlphaBehavior_REMAP_TO_LUMA = AlphaBehavior' "REMAP_TO_LUMA"++{-# COMPLETE+ AlphaBehavior_DISCARD,+ AlphaBehavior_REMAP_TO_LUMA,+ AlphaBehavior'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AncillaryConvert608To708+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AncillaryConvert608To708+ ( AncillaryConvert608To708+ ( ..,+ AncillaryConvert608To708_DISABLED,+ AncillaryConvert608To708_UPCONVERT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+newtype AncillaryConvert608To708 = AncillaryConvert608To708'+ { fromAncillaryConvert608To708 ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AncillaryConvert608To708_DISABLED :: AncillaryConvert608To708+pattern AncillaryConvert608To708_DISABLED = AncillaryConvert608To708' "DISABLED"++pattern AncillaryConvert608To708_UPCONVERT :: AncillaryConvert608To708+pattern AncillaryConvert608To708_UPCONVERT = AncillaryConvert608To708' "UPCONVERT"++{-# COMPLETE+ AncillaryConvert608To708_DISABLED,+ AncillaryConvert608To708_UPCONVERT,+ AncillaryConvert608To708'+ #-}
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AncillarySourceSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AncillarySourceSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AncillaryConvert608To708+import Amazonka.MediaConvert.Types.AncillaryTerminateCaptions+import qualified Amazonka.Prelude as Prelude++-- | Settings for ancillary captions source.+--+-- /See:/ 'newAncillarySourceSettings' smart constructor.+data AncillarySourceSettings = AncillarySourceSettings'+ { -- | Specify whether this set of input captions appears in your outputs in+ -- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+ -- MediaConvert includes the captions data in two ways: it passes the 608+ -- data through using the 608 compatibility bytes fields of the 708+ -- wrapper, and it also translates the 608 data into 708.+ convert608To708 :: Prelude.Maybe AncillaryConvert608To708,+ -- | Specifies the 608 channel number in the ancillary data track from which+ -- to extract captions. Unused for passthrough.+ sourceAncillaryChannelNumber :: Prelude.Maybe Prelude.Natural,+ -- | By default, the service terminates any unterminated captions at the end+ -- of each input. If you want the caption to continue onto your next input,+ -- disable this setting.+ terminateCaptions :: Prelude.Maybe AncillaryTerminateCaptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AncillarySourceSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'convert608To708', 'ancillarySourceSettings_convert608To708' - Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+--+-- 'sourceAncillaryChannelNumber', 'ancillarySourceSettings_sourceAncillaryChannelNumber' - Specifies the 608 channel number in the ancillary data track from which+-- to extract captions. Unused for passthrough.+--+-- 'terminateCaptions', 'ancillarySourceSettings_terminateCaptions' - By default, the service terminates any unterminated captions at the end+-- of each input. If you want the caption to continue onto your next input,+-- disable this setting.+newAncillarySourceSettings ::+ AncillarySourceSettings+newAncillarySourceSettings =+ AncillarySourceSettings'+ { convert608To708 =+ Prelude.Nothing,+ sourceAncillaryChannelNumber = Prelude.Nothing,+ terminateCaptions = Prelude.Nothing+ }++-- | Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+ancillarySourceSettings_convert608To708 :: Lens.Lens' AncillarySourceSettings (Prelude.Maybe AncillaryConvert608To708)+ancillarySourceSettings_convert608To708 = Lens.lens (\AncillarySourceSettings' {convert608To708} -> convert608To708) (\s@AncillarySourceSettings' {} a -> s {convert608To708 = a} :: AncillarySourceSettings)++-- | Specifies the 608 channel number in the ancillary data track from which+-- to extract captions. Unused for passthrough.+ancillarySourceSettings_sourceAncillaryChannelNumber :: Lens.Lens' AncillarySourceSettings (Prelude.Maybe Prelude.Natural)+ancillarySourceSettings_sourceAncillaryChannelNumber = Lens.lens (\AncillarySourceSettings' {sourceAncillaryChannelNumber} -> sourceAncillaryChannelNumber) (\s@AncillarySourceSettings' {} a -> s {sourceAncillaryChannelNumber = a} :: AncillarySourceSettings)++-- | By default, the service terminates any unterminated captions at the end+-- of each input. If you want the caption to continue onto your next input,+-- disable this setting.+ancillarySourceSettings_terminateCaptions :: Lens.Lens' AncillarySourceSettings (Prelude.Maybe AncillaryTerminateCaptions)+ancillarySourceSettings_terminateCaptions = Lens.lens (\AncillarySourceSettings' {terminateCaptions} -> terminateCaptions) (\s@AncillarySourceSettings' {} a -> s {terminateCaptions = a} :: AncillarySourceSettings)++instance Data.FromJSON AncillarySourceSettings where+ parseJSON =+ Data.withObject+ "AncillarySourceSettings"+ ( \x ->+ AncillarySourceSettings'+ Prelude.<$> (x Data..:? "convert608To708")+ Prelude.<*> (x Data..:? "sourceAncillaryChannelNumber")+ Prelude.<*> (x Data..:? "terminateCaptions")+ )++instance Prelude.Hashable AncillarySourceSettings where+ hashWithSalt _salt AncillarySourceSettings' {..} =+ _salt+ `Prelude.hashWithSalt` convert608To708+ `Prelude.hashWithSalt` sourceAncillaryChannelNumber+ `Prelude.hashWithSalt` terminateCaptions++instance Prelude.NFData AncillarySourceSettings where+ rnf AncillarySourceSettings' {..} =+ Prelude.rnf convert608To708+ `Prelude.seq` Prelude.rnf sourceAncillaryChannelNumber+ `Prelude.seq` Prelude.rnf terminateCaptions++instance Data.ToJSON AncillarySourceSettings where+ toJSON AncillarySourceSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("convert608To708" Data..=)+ Prelude.<$> convert608To708,+ ("sourceAncillaryChannelNumber" Data..=)+ Prelude.<$> sourceAncillaryChannelNumber,+ ("terminateCaptions" Data..=)+ Prelude.<$> terminateCaptions+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AncillaryTerminateCaptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AncillaryTerminateCaptions+ ( AncillaryTerminateCaptions+ ( ..,+ AncillaryTerminateCaptions_DISABLED,+ AncillaryTerminateCaptions_END_OF_INPUT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | By default, the service terminates any unterminated captions at the end+-- of each input. If you want the caption to continue onto your next input,+-- disable this setting.+newtype AncillaryTerminateCaptions = AncillaryTerminateCaptions'+ { fromAncillaryTerminateCaptions ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AncillaryTerminateCaptions_DISABLED :: AncillaryTerminateCaptions+pattern AncillaryTerminateCaptions_DISABLED = AncillaryTerminateCaptions' "DISABLED"++pattern AncillaryTerminateCaptions_END_OF_INPUT :: AncillaryTerminateCaptions+pattern AncillaryTerminateCaptions_END_OF_INPUT = AncillaryTerminateCaptions' "END_OF_INPUT"++{-# COMPLETE+ AncillaryTerminateCaptions_DISABLED,+ AncillaryTerminateCaptions_END_OF_INPUT,+ AncillaryTerminateCaptions'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AntiAlias+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AntiAlias+ ( AntiAlias+ ( ..,+ AntiAlias_DISABLED,+ AntiAlias_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The anti-alias filter is automatically applied to all outputs. The+-- service no longer accepts the value DISABLED for AntiAlias. If you+-- specify that in your job, the service will ignore the setting.+newtype AntiAlias = AntiAlias'+ { fromAntiAlias ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AntiAlias_DISABLED :: AntiAlias+pattern AntiAlias_DISABLED = AntiAlias' "DISABLED"++pattern AntiAlias_ENABLED :: AntiAlias+pattern AntiAlias_ENABLED = AntiAlias' "ENABLED"++{-# COMPLETE+ AntiAlias_DISABLED,+ AntiAlias_ENABLED,+ AntiAlias'+ #-}
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioChannelTag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioChannelTag+ ( AudioChannelTag+ ( ..,+ AudioChannelTag_C,+ AudioChannelTag_CS,+ AudioChannelTag_L,+ AudioChannelTag_LC,+ AudioChannelTag_LFE,+ AudioChannelTag_LS,+ AudioChannelTag_LSD,+ AudioChannelTag_R,+ AudioChannelTag_RC,+ AudioChannelTag_RS,+ AudioChannelTag_RSD,+ AudioChannelTag_TCS,+ AudioChannelTag_VHC,+ AudioChannelTag_VHL,+ AudioChannelTag_VHR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | You can add a tag for this mono-channel audio track to mimic its+-- placement in a multi-channel layout. For example, if this track is the+-- left surround channel, choose Left surround (LS).+newtype AudioChannelTag = AudioChannelTag'+ { fromAudioChannelTag ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioChannelTag_C :: AudioChannelTag+pattern AudioChannelTag_C = AudioChannelTag' "C"++pattern AudioChannelTag_CS :: AudioChannelTag+pattern AudioChannelTag_CS = AudioChannelTag' "CS"++pattern AudioChannelTag_L :: AudioChannelTag+pattern AudioChannelTag_L = AudioChannelTag' "L"++pattern AudioChannelTag_LC :: AudioChannelTag+pattern AudioChannelTag_LC = AudioChannelTag' "LC"++pattern AudioChannelTag_LFE :: AudioChannelTag+pattern AudioChannelTag_LFE = AudioChannelTag' "LFE"++pattern AudioChannelTag_LS :: AudioChannelTag+pattern AudioChannelTag_LS = AudioChannelTag' "LS"++pattern AudioChannelTag_LSD :: AudioChannelTag+pattern AudioChannelTag_LSD = AudioChannelTag' "LSD"++pattern AudioChannelTag_R :: AudioChannelTag+pattern AudioChannelTag_R = AudioChannelTag' "R"++pattern AudioChannelTag_RC :: AudioChannelTag+pattern AudioChannelTag_RC = AudioChannelTag' "RC"++pattern AudioChannelTag_RS :: AudioChannelTag+pattern AudioChannelTag_RS = AudioChannelTag' "RS"++pattern AudioChannelTag_RSD :: AudioChannelTag+pattern AudioChannelTag_RSD = AudioChannelTag' "RSD"++pattern AudioChannelTag_TCS :: AudioChannelTag+pattern AudioChannelTag_TCS = AudioChannelTag' "TCS"++pattern AudioChannelTag_VHC :: AudioChannelTag+pattern AudioChannelTag_VHC = AudioChannelTag' "VHC"++pattern AudioChannelTag_VHL :: AudioChannelTag+pattern AudioChannelTag_VHL = AudioChannelTag' "VHL"++pattern AudioChannelTag_VHR :: AudioChannelTag+pattern AudioChannelTag_VHR = AudioChannelTag' "VHR"++{-# COMPLETE+ AudioChannelTag_C,+ AudioChannelTag_CS,+ AudioChannelTag_L,+ AudioChannelTag_LC,+ AudioChannelTag_LFE,+ AudioChannelTag_LS,+ AudioChannelTag_LSD,+ AudioChannelTag_R,+ AudioChannelTag_RC,+ AudioChannelTag_RS,+ AudioChannelTag_RSD,+ AudioChannelTag_TCS,+ AudioChannelTag_VHC,+ AudioChannelTag_VHL,+ AudioChannelTag_VHR,+ AudioChannelTag'+ #-}
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioChannelTaggingSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioChannelTaggingSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AudioChannelTag+import qualified Amazonka.Prelude as Prelude++-- | When you mimic a multi-channel audio layout with multiple mono-channel+-- tracks, you can tag each channel layout manually. For example, you would+-- tag the tracks that contain your left, right, and center audio with Left+-- (L), Right (R), and Center (C), respectively. When you don\'t specify a+-- value, MediaConvert labels your track as Center (C) by default. To use+-- audio layout tagging, your output must be in a QuickTime (.mov)+-- container; your audio codec must be AAC, WAV, or AIFF; and you must set+-- up your audio track to have only one channel.+--+-- /See:/ 'newAudioChannelTaggingSettings' smart constructor.+data AudioChannelTaggingSettings = AudioChannelTaggingSettings'+ { -- | You can add a tag for this mono-channel audio track to mimic its+ -- placement in a multi-channel layout. For example, if this track is the+ -- left surround channel, choose Left surround (LS).+ channelTag :: Prelude.Maybe AudioChannelTag+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioChannelTaggingSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelTag', 'audioChannelTaggingSettings_channelTag' - You can add a tag for this mono-channel audio track to mimic its+-- placement in a multi-channel layout. For example, if this track is the+-- left surround channel, choose Left surround (LS).+newAudioChannelTaggingSettings ::+ AudioChannelTaggingSettings+newAudioChannelTaggingSettings =+ AudioChannelTaggingSettings'+ { channelTag =+ Prelude.Nothing+ }++-- | You can add a tag for this mono-channel audio track to mimic its+-- placement in a multi-channel layout. For example, if this track is the+-- left surround channel, choose Left surround (LS).+audioChannelTaggingSettings_channelTag :: Lens.Lens' AudioChannelTaggingSettings (Prelude.Maybe AudioChannelTag)+audioChannelTaggingSettings_channelTag = Lens.lens (\AudioChannelTaggingSettings' {channelTag} -> channelTag) (\s@AudioChannelTaggingSettings' {} a -> s {channelTag = a} :: AudioChannelTaggingSettings)++instance Data.FromJSON AudioChannelTaggingSettings where+ parseJSON =+ Data.withObject+ "AudioChannelTaggingSettings"+ ( \x ->+ AudioChannelTaggingSettings'+ Prelude.<$> (x Data..:? "channelTag")+ )++instance Prelude.Hashable AudioChannelTaggingSettings where+ hashWithSalt _salt AudioChannelTaggingSettings' {..} =+ _salt `Prelude.hashWithSalt` channelTag++instance Prelude.NFData AudioChannelTaggingSettings where+ rnf AudioChannelTaggingSettings' {..} =+ Prelude.rnf channelTag++instance Data.ToJSON AudioChannelTaggingSettings where+ toJSON AudioChannelTaggingSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [("channelTag" Data..=) Prelude.<$> channelTag]+ )
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioCodec+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioCodec+ ( AudioCodec+ ( ..,+ AudioCodec_AAC,+ AudioCodec_AC3,+ AudioCodec_AIFF,+ AudioCodec_EAC3,+ AudioCodec_EAC3_ATMOS,+ AudioCodec_MP2,+ AudioCodec_MP3,+ AudioCodec_OPUS,+ AudioCodec_PASSTHROUGH,+ AudioCodec_VORBIS,+ AudioCodec_WAV+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the audio codec for this output. Note that the option Dolby+-- Digital passthrough (PASSTHROUGH) applies only to Dolby Digital and+-- Dolby Digital Plus audio inputs. Make sure that you choose a codec+-- that\'s supported with your output container:+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#reference-codecs-containers-output-audio+-- For audio-only outputs, make sure that both your input audio codec and+-- your output audio codec are supported for audio-only workflows. For more+-- information, see:+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only+-- and+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#audio-only-output+newtype AudioCodec = AudioCodec'+ { fromAudioCodec ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioCodec_AAC :: AudioCodec+pattern AudioCodec_AAC = AudioCodec' "AAC"++pattern AudioCodec_AC3 :: AudioCodec+pattern AudioCodec_AC3 = AudioCodec' "AC3"++pattern AudioCodec_AIFF :: AudioCodec+pattern AudioCodec_AIFF = AudioCodec' "AIFF"++pattern AudioCodec_EAC3 :: AudioCodec+pattern AudioCodec_EAC3 = AudioCodec' "EAC3"++pattern AudioCodec_EAC3_ATMOS :: AudioCodec+pattern AudioCodec_EAC3_ATMOS = AudioCodec' "EAC3_ATMOS"++pattern AudioCodec_MP2 :: AudioCodec+pattern AudioCodec_MP2 = AudioCodec' "MP2"++pattern AudioCodec_MP3 :: AudioCodec+pattern AudioCodec_MP3 = AudioCodec' "MP3"++pattern AudioCodec_OPUS :: AudioCodec+pattern AudioCodec_OPUS = AudioCodec' "OPUS"++pattern AudioCodec_PASSTHROUGH :: AudioCodec+pattern AudioCodec_PASSTHROUGH = AudioCodec' "PASSTHROUGH"++pattern AudioCodec_VORBIS :: AudioCodec+pattern AudioCodec_VORBIS = AudioCodec' "VORBIS"++pattern AudioCodec_WAV :: AudioCodec+pattern AudioCodec_WAV = AudioCodec' "WAV"++{-# COMPLETE+ AudioCodec_AAC,+ AudioCodec_AC3,+ AudioCodec_AIFF,+ AudioCodec_EAC3,+ AudioCodec_EAC3_ATMOS,+ AudioCodec_MP2,+ AudioCodec_MP3,+ AudioCodec_OPUS,+ AudioCodec_PASSTHROUGH,+ AudioCodec_VORBIS,+ AudioCodec_WAV,+ AudioCodec'+ #-}
@@ -0,0 +1,299 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioCodecSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioCodecSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AacSettings+import Amazonka.MediaConvert.Types.Ac3Settings+import Amazonka.MediaConvert.Types.AiffSettings+import Amazonka.MediaConvert.Types.AudioCodec+import Amazonka.MediaConvert.Types.Eac3AtmosSettings+import Amazonka.MediaConvert.Types.Eac3Settings+import Amazonka.MediaConvert.Types.Mp2Settings+import Amazonka.MediaConvert.Types.Mp3Settings+import Amazonka.MediaConvert.Types.OpusSettings+import Amazonka.MediaConvert.Types.VorbisSettings+import Amazonka.MediaConvert.Types.WavSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings related to audio encoding. The settings in this group vary+-- depending on the value that you choose for your audio codec.+--+-- /See:/ 'newAudioCodecSettings' smart constructor.+data AudioCodecSettings = AudioCodecSettings'+ { -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value AAC. The service accepts one of two mutually exclusive+ -- groups of AAC settings--VBR and CBR. To select one of these modes, set+ -- the value of Bitrate control mode (rateControlMode) to \"VBR\" or+ -- \"CBR\". In VBR mode, you control the audio quality with the setting VBR+ -- quality (vbrQuality). In CBR mode, you use the setting Bitrate+ -- (bitrate). Defaults and valid values depend on the rate control mode.+ aacSettings :: Prelude.Maybe AacSettings,+ -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value AC3.+ ac3Settings :: Prelude.Maybe Ac3Settings,+ -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value AIFF.+ aiffSettings :: Prelude.Maybe AiffSettings,+ -- | Choose the audio codec for this output. Note that the option Dolby+ -- Digital passthrough (PASSTHROUGH) applies only to Dolby Digital and+ -- Dolby Digital Plus audio inputs. Make sure that you choose a codec+ -- that\'s supported with your output container:+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#reference-codecs-containers-output-audio+ -- For audio-only outputs, make sure that both your input audio codec and+ -- your output audio codec are supported for audio-only workflows. For more+ -- information, see:+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only+ -- and+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#audio-only-output+ codec :: Prelude.Maybe AudioCodec,+ -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value EAC3_ATMOS.+ eac3AtmosSettings :: Prelude.Maybe Eac3AtmosSettings,+ -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value EAC3.+ eac3Settings :: Prelude.Maybe Eac3Settings,+ -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value MP2.+ mp2Settings :: Prelude.Maybe Mp2Settings,+ -- | Required when you set Codec, under AudioDescriptions>CodecSettings, to+ -- the value MP3.+ mp3Settings :: Prelude.Maybe Mp3Settings,+ -- | Required when you set Codec, under AudioDescriptions>CodecSettings, to+ -- the value OPUS.+ opusSettings :: Prelude.Maybe OpusSettings,+ -- | Required when you set Codec, under AudioDescriptions>CodecSettings, to+ -- the value Vorbis.+ vorbisSettings :: Prelude.Maybe VorbisSettings,+ -- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+ -- to the value WAV.+ wavSettings :: Prelude.Maybe WavSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioCodecSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aacSettings', 'audioCodecSettings_aacSettings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AAC. The service accepts one of two mutually exclusive+-- groups of AAC settings--VBR and CBR. To select one of these modes, set+-- the value of Bitrate control mode (rateControlMode) to \"VBR\" or+-- \"CBR\". In VBR mode, you control the audio quality with the setting VBR+-- quality (vbrQuality). In CBR mode, you use the setting Bitrate+-- (bitrate). Defaults and valid values depend on the rate control mode.+--+-- 'ac3Settings', 'audioCodecSettings_ac3Settings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AC3.+--+-- 'aiffSettings', 'audioCodecSettings_aiffSettings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AIFF.+--+-- 'codec', 'audioCodecSettings_codec' - Choose the audio codec for this output. Note that the option Dolby+-- Digital passthrough (PASSTHROUGH) applies only to Dolby Digital and+-- Dolby Digital Plus audio inputs. Make sure that you choose a codec+-- that\'s supported with your output container:+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#reference-codecs-containers-output-audio+-- For audio-only outputs, make sure that both your input audio codec and+-- your output audio codec are supported for audio-only workflows. For more+-- information, see:+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only+-- and+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#audio-only-output+--+-- 'eac3AtmosSettings', 'audioCodecSettings_eac3AtmosSettings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value EAC3_ATMOS.+--+-- 'eac3Settings', 'audioCodecSettings_eac3Settings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value EAC3.+--+-- 'mp2Settings', 'audioCodecSettings_mp2Settings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value MP2.+--+-- 'mp3Settings', 'audioCodecSettings_mp3Settings' - Required when you set Codec, under AudioDescriptions>CodecSettings, to+-- the value MP3.+--+-- 'opusSettings', 'audioCodecSettings_opusSettings' - Required when you set Codec, under AudioDescriptions>CodecSettings, to+-- the value OPUS.+--+-- 'vorbisSettings', 'audioCodecSettings_vorbisSettings' - Required when you set Codec, under AudioDescriptions>CodecSettings, to+-- the value Vorbis.+--+-- 'wavSettings', 'audioCodecSettings_wavSettings' - Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value WAV.+newAudioCodecSettings ::+ AudioCodecSettings+newAudioCodecSettings =+ AudioCodecSettings'+ { aacSettings = Prelude.Nothing,+ ac3Settings = Prelude.Nothing,+ aiffSettings = Prelude.Nothing,+ codec = Prelude.Nothing,+ eac3AtmosSettings = Prelude.Nothing,+ eac3Settings = Prelude.Nothing,+ mp2Settings = Prelude.Nothing,+ mp3Settings = Prelude.Nothing,+ opusSettings = Prelude.Nothing,+ vorbisSettings = Prelude.Nothing,+ wavSettings = Prelude.Nothing+ }++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AAC. The service accepts one of two mutually exclusive+-- groups of AAC settings--VBR and CBR. To select one of these modes, set+-- the value of Bitrate control mode (rateControlMode) to \"VBR\" or+-- \"CBR\". In VBR mode, you control the audio quality with the setting VBR+-- quality (vbrQuality). In CBR mode, you use the setting Bitrate+-- (bitrate). Defaults and valid values depend on the rate control mode.+audioCodecSettings_aacSettings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe AacSettings)+audioCodecSettings_aacSettings = Lens.lens (\AudioCodecSettings' {aacSettings} -> aacSettings) (\s@AudioCodecSettings' {} a -> s {aacSettings = a} :: AudioCodecSettings)++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AC3.+audioCodecSettings_ac3Settings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe Ac3Settings)+audioCodecSettings_ac3Settings = Lens.lens (\AudioCodecSettings' {ac3Settings} -> ac3Settings) (\s@AudioCodecSettings' {} a -> s {ac3Settings = a} :: AudioCodecSettings)++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value AIFF.+audioCodecSettings_aiffSettings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe AiffSettings)+audioCodecSettings_aiffSettings = Lens.lens (\AudioCodecSettings' {aiffSettings} -> aiffSettings) (\s@AudioCodecSettings' {} a -> s {aiffSettings = a} :: AudioCodecSettings)++-- | Choose the audio codec for this output. Note that the option Dolby+-- Digital passthrough (PASSTHROUGH) applies only to Dolby Digital and+-- Dolby Digital Plus audio inputs. Make sure that you choose a codec+-- that\'s supported with your output container:+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#reference-codecs-containers-output-audio+-- For audio-only outputs, make sure that both your input audio codec and+-- your output audio codec are supported for audio-only workflows. For more+-- information, see:+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only+-- and+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/reference-codecs-containers.html#audio-only-output+audioCodecSettings_codec :: Lens.Lens' AudioCodecSettings (Prelude.Maybe AudioCodec)+audioCodecSettings_codec = Lens.lens (\AudioCodecSettings' {codec} -> codec) (\s@AudioCodecSettings' {} a -> s {codec = a} :: AudioCodecSettings)++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value EAC3_ATMOS.+audioCodecSettings_eac3AtmosSettings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe Eac3AtmosSettings)+audioCodecSettings_eac3AtmosSettings = Lens.lens (\AudioCodecSettings' {eac3AtmosSettings} -> eac3AtmosSettings) (\s@AudioCodecSettings' {} a -> s {eac3AtmosSettings = a} :: AudioCodecSettings)++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value EAC3.+audioCodecSettings_eac3Settings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe Eac3Settings)+audioCodecSettings_eac3Settings = Lens.lens (\AudioCodecSettings' {eac3Settings} -> eac3Settings) (\s@AudioCodecSettings' {} a -> s {eac3Settings = a} :: AudioCodecSettings)++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value MP2.+audioCodecSettings_mp2Settings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe Mp2Settings)+audioCodecSettings_mp2Settings = Lens.lens (\AudioCodecSettings' {mp2Settings} -> mp2Settings) (\s@AudioCodecSettings' {} a -> s {mp2Settings = a} :: AudioCodecSettings)++-- | Required when you set Codec, under AudioDescriptions>CodecSettings, to+-- the value MP3.+audioCodecSettings_mp3Settings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe Mp3Settings)+audioCodecSettings_mp3Settings = Lens.lens (\AudioCodecSettings' {mp3Settings} -> mp3Settings) (\s@AudioCodecSettings' {} a -> s {mp3Settings = a} :: AudioCodecSettings)++-- | Required when you set Codec, under AudioDescriptions>CodecSettings, to+-- the value OPUS.+audioCodecSettings_opusSettings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe OpusSettings)+audioCodecSettings_opusSettings = Lens.lens (\AudioCodecSettings' {opusSettings} -> opusSettings) (\s@AudioCodecSettings' {} a -> s {opusSettings = a} :: AudioCodecSettings)++-- | Required when you set Codec, under AudioDescriptions>CodecSettings, to+-- the value Vorbis.+audioCodecSettings_vorbisSettings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe VorbisSettings)+audioCodecSettings_vorbisSettings = Lens.lens (\AudioCodecSettings' {vorbisSettings} -> vorbisSettings) (\s@AudioCodecSettings' {} a -> s {vorbisSettings = a} :: AudioCodecSettings)++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value WAV.+audioCodecSettings_wavSettings :: Lens.Lens' AudioCodecSettings (Prelude.Maybe WavSettings)+audioCodecSettings_wavSettings = Lens.lens (\AudioCodecSettings' {wavSettings} -> wavSettings) (\s@AudioCodecSettings' {} a -> s {wavSettings = a} :: AudioCodecSettings)++instance Data.FromJSON AudioCodecSettings where+ parseJSON =+ Data.withObject+ "AudioCodecSettings"+ ( \x ->+ AudioCodecSettings'+ Prelude.<$> (x Data..:? "aacSettings")+ Prelude.<*> (x Data..:? "ac3Settings")+ Prelude.<*> (x Data..:? "aiffSettings")+ Prelude.<*> (x Data..:? "codec")+ Prelude.<*> (x Data..:? "eac3AtmosSettings")+ Prelude.<*> (x Data..:? "eac3Settings")+ Prelude.<*> (x Data..:? "mp2Settings")+ Prelude.<*> (x Data..:? "mp3Settings")+ Prelude.<*> (x Data..:? "opusSettings")+ Prelude.<*> (x Data..:? "vorbisSettings")+ Prelude.<*> (x Data..:? "wavSettings")+ )++instance Prelude.Hashable AudioCodecSettings where+ hashWithSalt _salt AudioCodecSettings' {..} =+ _salt+ `Prelude.hashWithSalt` aacSettings+ `Prelude.hashWithSalt` ac3Settings+ `Prelude.hashWithSalt` aiffSettings+ `Prelude.hashWithSalt` codec+ `Prelude.hashWithSalt` eac3AtmosSettings+ `Prelude.hashWithSalt` eac3Settings+ `Prelude.hashWithSalt` mp2Settings+ `Prelude.hashWithSalt` mp3Settings+ `Prelude.hashWithSalt` opusSettings+ `Prelude.hashWithSalt` vorbisSettings+ `Prelude.hashWithSalt` wavSettings++instance Prelude.NFData AudioCodecSettings where+ rnf AudioCodecSettings' {..} =+ Prelude.rnf aacSettings+ `Prelude.seq` Prelude.rnf ac3Settings+ `Prelude.seq` Prelude.rnf aiffSettings+ `Prelude.seq` Prelude.rnf codec+ `Prelude.seq` Prelude.rnf eac3AtmosSettings+ `Prelude.seq` Prelude.rnf eac3Settings+ `Prelude.seq` Prelude.rnf mp2Settings+ `Prelude.seq` Prelude.rnf mp3Settings+ `Prelude.seq` Prelude.rnf opusSettings+ `Prelude.seq` Prelude.rnf vorbisSettings+ `Prelude.seq` Prelude.rnf wavSettings++instance Data.ToJSON AudioCodecSettings where+ toJSON AudioCodecSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("aacSettings" Data..=) Prelude.<$> aacSettings,+ ("ac3Settings" Data..=) Prelude.<$> ac3Settings,+ ("aiffSettings" Data..=) Prelude.<$> aiffSettings,+ ("codec" Data..=) Prelude.<$> codec,+ ("eac3AtmosSettings" Data..=)+ Prelude.<$> eac3AtmosSettings,+ ("eac3Settings" Data..=) Prelude.<$> eac3Settings,+ ("mp2Settings" Data..=) Prelude.<$> mp2Settings,+ ("mp3Settings" Data..=) Prelude.<$> mp3Settings,+ ("opusSettings" Data..=) Prelude.<$> opusSettings,+ ("vorbisSettings" Data..=)+ Prelude.<$> vorbisSettings,+ ("wavSettings" Data..=) Prelude.<$> wavSettings+ ]+ )
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioDefaultSelection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioDefaultSelection+ ( AudioDefaultSelection+ ( ..,+ AudioDefaultSelection_DEFAULT,+ AudioDefaultSelection_NOT_DEFAULT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable this setting on one audio selector to set it as the default for+-- the job. The service uses this default for outputs where it can\'t find+-- the specified input audio. If you don\'t set a default, those outputs+-- have no audio.+newtype AudioDefaultSelection = AudioDefaultSelection'+ { fromAudioDefaultSelection ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioDefaultSelection_DEFAULT :: AudioDefaultSelection+pattern AudioDefaultSelection_DEFAULT = AudioDefaultSelection' "DEFAULT"++pattern AudioDefaultSelection_NOT_DEFAULT :: AudioDefaultSelection+pattern AudioDefaultSelection_NOT_DEFAULT = AudioDefaultSelection' "NOT_DEFAULT"++{-# COMPLETE+ AudioDefaultSelection_DEFAULT,+ AudioDefaultSelection_NOT_DEFAULT,+ AudioDefaultSelection'+ #-}
@@ -0,0 +1,382 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioDescription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AudioChannelTaggingSettings+import Amazonka.MediaConvert.Types.AudioCodecSettings+import Amazonka.MediaConvert.Types.AudioLanguageCodeControl+import Amazonka.MediaConvert.Types.AudioNormalizationSettings+import Amazonka.MediaConvert.Types.AudioTypeControl+import Amazonka.MediaConvert.Types.LanguageCode+import Amazonka.MediaConvert.Types.RemixSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings related to one audio tab on the MediaConvert console. In your+-- job JSON, an instance of AudioDescription is equivalent to one audio tab+-- in the console. Usually, one audio tab corresponds to one output audio+-- track. Depending on how you set up your input audio selectors and+-- whether you use audio selector groups, one audio tab can correspond to a+-- group of output audio tracks.+--+-- /See:/ 'newAudioDescription' smart constructor.+data AudioDescription = AudioDescription'+ { -- | When you mimic a multi-channel audio layout with multiple mono-channel+ -- tracks, you can tag each channel layout manually. For example, you would+ -- tag the tracks that contain your left, right, and center audio with Left+ -- (L), Right (R), and Center (C), respectively. When you don\'t specify a+ -- value, MediaConvert labels your track as Center (C) by default. To use+ -- audio layout tagging, your output must be in a QuickTime (.mov)+ -- container; your audio codec must be AAC, WAV, or AIFF; and you must set+ -- up your audio track to have only one channel.+ audioChannelTaggingSettings :: Prelude.Maybe AudioChannelTaggingSettings,+ -- | Advanced audio normalization settings. Ignore these settings unless you+ -- need to comply with a loudness standard.+ audioNormalizationSettings :: Prelude.Maybe AudioNormalizationSettings,+ -- | Specifies which audio data to use from each input. In the simplest case,+ -- specify an \"Audio Selector\":#inputs-audio_selector by name based on+ -- its order within each input. For example if you specify \"Audio Selector+ -- 3\", then the third audio selector will be used from each input. If an+ -- input does not have an \"Audio Selector 3\", then the audio selector+ -- marked as \"default\" in that input will be used. If there is no audio+ -- selector marked as \"default\", silence will be inserted for the+ -- duration of that input. Alternatively, an \"Audio Selector+ -- Group\":#inputs-audio_selector_group name may be specified, with similar+ -- default\/silence behavior. If no audio_source_name is specified, then+ -- \"Audio Selector 1\" will be chosen automatically.+ audioSourceName :: Prelude.Maybe Prelude.Text,+ -- | Applies only if Follow Input Audio Type is unchecked (false). A number+ -- between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 =+ -- Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually+ -- Impaired Commentary, 4-255 = Reserved.+ audioType :: Prelude.Maybe Prelude.Natural,+ -- | When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type,+ -- then that value is passed through to the output. If the input contains+ -- no ISO 639 audio_type, the value in Audio Type is included in the+ -- output. Otherwise the value in Audio Type is included in the output.+ -- Note that this field and audioType are both ignored if+ -- audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.+ audioTypeControl :: Prelude.Maybe AudioTypeControl,+ -- | Settings related to audio encoding. The settings in this group vary+ -- depending on the value that you choose for your audio codec.+ codecSettings :: Prelude.Maybe AudioCodecSettings,+ -- | Specify the language for this audio output track. The service puts this+ -- language code into your output audio track when you set Language code+ -- control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED).+ -- The service also uses your specified custom language code when you set+ -- Language code control (AudioLanguageCodeControl) to Follow input+ -- (FOLLOW_INPUT), but your input file doesn\'t specify a language code.+ -- For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For+ -- streaming outputs, you can also use any other code in the full RFC-5646+ -- specification. Streaming outputs are those that are in one of the+ -- following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth+ -- Streaming.+ customLanguageCode :: Prelude.Maybe Prelude.Text,+ -- | Indicates the language of the audio output track. The ISO 639 language+ -- specified in the \'Language Code\' drop down will be used when \'Follow+ -- Input Language Code\' is not selected or when \'Follow Input Language+ -- Code\' is selected but there is no ISO 639 language code specified by+ -- the input.+ languageCode :: Prelude.Maybe LanguageCode,+ -- | Specify which source for language code takes precedence for this audio+ -- track. When you choose Follow input (FOLLOW_INPUT), the service uses the+ -- language code from the input track if it\'s present. If there\'s no+ -- languge code on the input track, the service uses the code that you+ -- specify in the setting Language code (languageCode or+ -- customLanguageCode). When you choose Use configured (USE_CONFIGURED),+ -- the service uses the language code that you specify.+ languageCodeControl :: Prelude.Maybe AudioLanguageCodeControl,+ -- | Advanced audio remixing settings.+ remixSettings :: Prelude.Maybe RemixSettings,+ -- | Specify a label for this output audio stream. For example, \"English\",+ -- \"Director commentary\", or \"track_2\". For streaming outputs,+ -- MediaConvert passes this information into destination manifests for+ -- display on the end-viewer\'s player device. For outputs in other output+ -- groups, the service ignores this setting.+ streamName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioChannelTaggingSettings', 'audioDescription_audioChannelTaggingSettings' - When you mimic a multi-channel audio layout with multiple mono-channel+-- tracks, you can tag each channel layout manually. For example, you would+-- tag the tracks that contain your left, right, and center audio with Left+-- (L), Right (R), and Center (C), respectively. When you don\'t specify a+-- value, MediaConvert labels your track as Center (C) by default. To use+-- audio layout tagging, your output must be in a QuickTime (.mov)+-- container; your audio codec must be AAC, WAV, or AIFF; and you must set+-- up your audio track to have only one channel.+--+-- 'audioNormalizationSettings', 'audioDescription_audioNormalizationSettings' - Advanced audio normalization settings. Ignore these settings unless you+-- need to comply with a loudness standard.+--+-- 'audioSourceName', 'audioDescription_audioSourceName' - Specifies which audio data to use from each input. In the simplest case,+-- specify an \"Audio Selector\":#inputs-audio_selector by name based on+-- its order within each input. For example if you specify \"Audio Selector+-- 3\", then the third audio selector will be used from each input. If an+-- input does not have an \"Audio Selector 3\", then the audio selector+-- marked as \"default\" in that input will be used. If there is no audio+-- selector marked as \"default\", silence will be inserted for the+-- duration of that input. Alternatively, an \"Audio Selector+-- Group\":#inputs-audio_selector_group name may be specified, with similar+-- default\/silence behavior. If no audio_source_name is specified, then+-- \"Audio Selector 1\" will be chosen automatically.+--+-- 'audioType', 'audioDescription_audioType' - Applies only if Follow Input Audio Type is unchecked (false). A number+-- between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 =+-- Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually+-- Impaired Commentary, 4-255 = Reserved.+--+-- 'audioTypeControl', 'audioDescription_audioTypeControl' - When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type,+-- then that value is passed through to the output. If the input contains+-- no ISO 639 audio_type, the value in Audio Type is included in the+-- output. Otherwise the value in Audio Type is included in the output.+-- Note that this field and audioType are both ignored if+-- audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.+--+-- 'codecSettings', 'audioDescription_codecSettings' - Settings related to audio encoding. The settings in this group vary+-- depending on the value that you choose for your audio codec.+--+-- 'customLanguageCode', 'audioDescription_customLanguageCode' - Specify the language for this audio output track. The service puts this+-- language code into your output audio track when you set Language code+-- control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED).+-- The service also uses your specified custom language code when you set+-- Language code control (AudioLanguageCodeControl) to Follow input+-- (FOLLOW_INPUT), but your input file doesn\'t specify a language code.+-- For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For+-- streaming outputs, you can also use any other code in the full RFC-5646+-- specification. Streaming outputs are those that are in one of the+-- following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth+-- Streaming.+--+-- 'languageCode', 'audioDescription_languageCode' - Indicates the language of the audio output track. The ISO 639 language+-- specified in the \'Language Code\' drop down will be used when \'Follow+-- Input Language Code\' is not selected or when \'Follow Input Language+-- Code\' is selected but there is no ISO 639 language code specified by+-- the input.+--+-- 'languageCodeControl', 'audioDescription_languageCodeControl' - Specify which source for language code takes precedence for this audio+-- track. When you choose Follow input (FOLLOW_INPUT), the service uses the+-- language code from the input track if it\'s present. If there\'s no+-- languge code on the input track, the service uses the code that you+-- specify in the setting Language code (languageCode or+-- customLanguageCode). When you choose Use configured (USE_CONFIGURED),+-- the service uses the language code that you specify.+--+-- 'remixSettings', 'audioDescription_remixSettings' - Advanced audio remixing settings.+--+-- 'streamName', 'audioDescription_streamName' - Specify a label for this output audio stream. For example, \"English\",+-- \"Director commentary\", or \"track_2\". For streaming outputs,+-- MediaConvert passes this information into destination manifests for+-- display on the end-viewer\'s player device. For outputs in other output+-- groups, the service ignores this setting.+newAudioDescription ::+ AudioDescription+newAudioDescription =+ AudioDescription'+ { audioChannelTaggingSettings =+ Prelude.Nothing,+ audioNormalizationSettings = Prelude.Nothing,+ audioSourceName = Prelude.Nothing,+ audioType = Prelude.Nothing,+ audioTypeControl = Prelude.Nothing,+ codecSettings = Prelude.Nothing,+ customLanguageCode = Prelude.Nothing,+ languageCode = Prelude.Nothing,+ languageCodeControl = Prelude.Nothing,+ remixSettings = Prelude.Nothing,+ streamName = Prelude.Nothing+ }++-- | When you mimic a multi-channel audio layout with multiple mono-channel+-- tracks, you can tag each channel layout manually. For example, you would+-- tag the tracks that contain your left, right, and center audio with Left+-- (L), Right (R), and Center (C), respectively. When you don\'t specify a+-- value, MediaConvert labels your track as Center (C) by default. To use+-- audio layout tagging, your output must be in a QuickTime (.mov)+-- container; your audio codec must be AAC, WAV, or AIFF; and you must set+-- up your audio track to have only one channel.+audioDescription_audioChannelTaggingSettings :: Lens.Lens' AudioDescription (Prelude.Maybe AudioChannelTaggingSettings)+audioDescription_audioChannelTaggingSettings = Lens.lens (\AudioDescription' {audioChannelTaggingSettings} -> audioChannelTaggingSettings) (\s@AudioDescription' {} a -> s {audioChannelTaggingSettings = a} :: AudioDescription)++-- | Advanced audio normalization settings. Ignore these settings unless you+-- need to comply with a loudness standard.+audioDescription_audioNormalizationSettings :: Lens.Lens' AudioDescription (Prelude.Maybe AudioNormalizationSettings)+audioDescription_audioNormalizationSettings = Lens.lens (\AudioDescription' {audioNormalizationSettings} -> audioNormalizationSettings) (\s@AudioDescription' {} a -> s {audioNormalizationSettings = a} :: AudioDescription)++-- | Specifies which audio data to use from each input. In the simplest case,+-- specify an \"Audio Selector\":#inputs-audio_selector by name based on+-- its order within each input. For example if you specify \"Audio Selector+-- 3\", then the third audio selector will be used from each input. If an+-- input does not have an \"Audio Selector 3\", then the audio selector+-- marked as \"default\" in that input will be used. If there is no audio+-- selector marked as \"default\", silence will be inserted for the+-- duration of that input. Alternatively, an \"Audio Selector+-- Group\":#inputs-audio_selector_group name may be specified, with similar+-- default\/silence behavior. If no audio_source_name is specified, then+-- \"Audio Selector 1\" will be chosen automatically.+audioDescription_audioSourceName :: Lens.Lens' AudioDescription (Prelude.Maybe Prelude.Text)+audioDescription_audioSourceName = Lens.lens (\AudioDescription' {audioSourceName} -> audioSourceName) (\s@AudioDescription' {} a -> s {audioSourceName = a} :: AudioDescription)++-- | Applies only if Follow Input Audio Type is unchecked (false). A number+-- between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 =+-- Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually+-- Impaired Commentary, 4-255 = Reserved.+audioDescription_audioType :: Lens.Lens' AudioDescription (Prelude.Maybe Prelude.Natural)+audioDescription_audioType = Lens.lens (\AudioDescription' {audioType} -> audioType) (\s@AudioDescription' {} a -> s {audioType = a} :: AudioDescription)++-- | When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type,+-- then that value is passed through to the output. If the input contains+-- no ISO 639 audio_type, the value in Audio Type is included in the+-- output. Otherwise the value in Audio Type is included in the output.+-- Note that this field and audioType are both ignored if+-- audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.+audioDescription_audioTypeControl :: Lens.Lens' AudioDescription (Prelude.Maybe AudioTypeControl)+audioDescription_audioTypeControl = Lens.lens (\AudioDescription' {audioTypeControl} -> audioTypeControl) (\s@AudioDescription' {} a -> s {audioTypeControl = a} :: AudioDescription)++-- | Settings related to audio encoding. The settings in this group vary+-- depending on the value that you choose for your audio codec.+audioDescription_codecSettings :: Lens.Lens' AudioDescription (Prelude.Maybe AudioCodecSettings)+audioDescription_codecSettings = Lens.lens (\AudioDescription' {codecSettings} -> codecSettings) (\s@AudioDescription' {} a -> s {codecSettings = a} :: AudioDescription)++-- | Specify the language for this audio output track. The service puts this+-- language code into your output audio track when you set Language code+-- control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED).+-- The service also uses your specified custom language code when you set+-- Language code control (AudioLanguageCodeControl) to Follow input+-- (FOLLOW_INPUT), but your input file doesn\'t specify a language code.+-- For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For+-- streaming outputs, you can also use any other code in the full RFC-5646+-- specification. Streaming outputs are those that are in one of the+-- following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth+-- Streaming.+audioDescription_customLanguageCode :: Lens.Lens' AudioDescription (Prelude.Maybe Prelude.Text)+audioDescription_customLanguageCode = Lens.lens (\AudioDescription' {customLanguageCode} -> customLanguageCode) (\s@AudioDescription' {} a -> s {customLanguageCode = a} :: AudioDescription)++-- | Indicates the language of the audio output track. The ISO 639 language+-- specified in the \'Language Code\' drop down will be used when \'Follow+-- Input Language Code\' is not selected or when \'Follow Input Language+-- Code\' is selected but there is no ISO 639 language code specified by+-- the input.+audioDescription_languageCode :: Lens.Lens' AudioDescription (Prelude.Maybe LanguageCode)+audioDescription_languageCode = Lens.lens (\AudioDescription' {languageCode} -> languageCode) (\s@AudioDescription' {} a -> s {languageCode = a} :: AudioDescription)++-- | Specify which source for language code takes precedence for this audio+-- track. When you choose Follow input (FOLLOW_INPUT), the service uses the+-- language code from the input track if it\'s present. If there\'s no+-- languge code on the input track, the service uses the code that you+-- specify in the setting Language code (languageCode or+-- customLanguageCode). When you choose Use configured (USE_CONFIGURED),+-- the service uses the language code that you specify.+audioDescription_languageCodeControl :: Lens.Lens' AudioDescription (Prelude.Maybe AudioLanguageCodeControl)+audioDescription_languageCodeControl = Lens.lens (\AudioDescription' {languageCodeControl} -> languageCodeControl) (\s@AudioDescription' {} a -> s {languageCodeControl = a} :: AudioDescription)++-- | Advanced audio remixing settings.+audioDescription_remixSettings :: Lens.Lens' AudioDescription (Prelude.Maybe RemixSettings)+audioDescription_remixSettings = Lens.lens (\AudioDescription' {remixSettings} -> remixSettings) (\s@AudioDescription' {} a -> s {remixSettings = a} :: AudioDescription)++-- | Specify a label for this output audio stream. For example, \"English\",+-- \"Director commentary\", or \"track_2\". For streaming outputs,+-- MediaConvert passes this information into destination manifests for+-- display on the end-viewer\'s player device. For outputs in other output+-- groups, the service ignores this setting.+audioDescription_streamName :: Lens.Lens' AudioDescription (Prelude.Maybe Prelude.Text)+audioDescription_streamName = Lens.lens (\AudioDescription' {streamName} -> streamName) (\s@AudioDescription' {} a -> s {streamName = a} :: AudioDescription)++instance Data.FromJSON AudioDescription where+ parseJSON =+ Data.withObject+ "AudioDescription"+ ( \x ->+ AudioDescription'+ Prelude.<$> (x Data..:? "audioChannelTaggingSettings")+ Prelude.<*> (x Data..:? "audioNormalizationSettings")+ Prelude.<*> (x Data..:? "audioSourceName")+ Prelude.<*> (x Data..:? "audioType")+ Prelude.<*> (x Data..:? "audioTypeControl")+ Prelude.<*> (x Data..:? "codecSettings")+ Prelude.<*> (x Data..:? "customLanguageCode")+ Prelude.<*> (x Data..:? "languageCode")+ Prelude.<*> (x Data..:? "languageCodeControl")+ Prelude.<*> (x Data..:? "remixSettings")+ Prelude.<*> (x Data..:? "streamName")+ )++instance Prelude.Hashable AudioDescription where+ hashWithSalt _salt AudioDescription' {..} =+ _salt+ `Prelude.hashWithSalt` audioChannelTaggingSettings+ `Prelude.hashWithSalt` audioNormalizationSettings+ `Prelude.hashWithSalt` audioSourceName+ `Prelude.hashWithSalt` audioType+ `Prelude.hashWithSalt` audioTypeControl+ `Prelude.hashWithSalt` codecSettings+ `Prelude.hashWithSalt` customLanguageCode+ `Prelude.hashWithSalt` languageCode+ `Prelude.hashWithSalt` languageCodeControl+ `Prelude.hashWithSalt` remixSettings+ `Prelude.hashWithSalt` streamName++instance Prelude.NFData AudioDescription where+ rnf AudioDescription' {..} =+ Prelude.rnf audioChannelTaggingSettings+ `Prelude.seq` Prelude.rnf audioNormalizationSettings+ `Prelude.seq` Prelude.rnf audioSourceName+ `Prelude.seq` Prelude.rnf audioType+ `Prelude.seq` Prelude.rnf audioTypeControl+ `Prelude.seq` Prelude.rnf codecSettings+ `Prelude.seq` Prelude.rnf customLanguageCode+ `Prelude.seq` Prelude.rnf languageCode+ `Prelude.seq` Prelude.rnf languageCodeControl+ `Prelude.seq` Prelude.rnf remixSettings+ `Prelude.seq` Prelude.rnf streamName++instance Data.ToJSON AudioDescription where+ toJSON AudioDescription' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioChannelTaggingSettings" Data..=)+ Prelude.<$> audioChannelTaggingSettings,+ ("audioNormalizationSettings" Data..=)+ Prelude.<$> audioNormalizationSettings,+ ("audioSourceName" Data..=)+ Prelude.<$> audioSourceName,+ ("audioType" Data..=) Prelude.<$> audioType,+ ("audioTypeControl" Data..=)+ Prelude.<$> audioTypeControl,+ ("codecSettings" Data..=) Prelude.<$> codecSettings,+ ("customLanguageCode" Data..=)+ Prelude.<$> customLanguageCode,+ ("languageCode" Data..=) Prelude.<$> languageCode,+ ("languageCodeControl" Data..=)+ Prelude.<$> languageCodeControl,+ ("remixSettings" Data..=) Prelude.<$> remixSettings,+ ("streamName" Data..=) Prelude.<$> streamName+ ]+ )
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioDurationCorrection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioDurationCorrection+ ( AudioDurationCorrection+ ( ..,+ AudioDurationCorrection_AUTO,+ AudioDurationCorrection_DISABLED,+ AudioDurationCorrection_FRAME,+ AudioDurationCorrection_TRACK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Apply audio timing corrections to help synchronize audio and video in+-- your output. To apply timing corrections, your input must meet the+-- following requirements: * Container: MP4, or MOV, with an accurate+-- time-to-sample (STTS) table. * Audio track: AAC. Choose from the+-- following audio timing correction settings: * Disabled (Default): Apply+-- no correction. * Auto: Recommended for most inputs. MediaConvert+-- analyzes the audio timing in your input and determines which correction+-- setting to use, if needed. * Track: Adjust the duration of each audio+-- frame by a constant amount to align the audio track length with STTS+-- duration. Track-level correction does not affect pitch, and is+-- recommended for tonal audio content such as music. * Frame: Adjust the+-- duration of each audio frame by a variable amount to align audio frames+-- with STTS timestamps. No corrections are made to already-aligned frames.+-- Frame-level correction may affect the pitch of corrected frames, and is+-- recommended for atonal audio content such as speech or percussion.+newtype AudioDurationCorrection = AudioDurationCorrection'+ { fromAudioDurationCorrection ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioDurationCorrection_AUTO :: AudioDurationCorrection+pattern AudioDurationCorrection_AUTO = AudioDurationCorrection' "AUTO"++pattern AudioDurationCorrection_DISABLED :: AudioDurationCorrection+pattern AudioDurationCorrection_DISABLED = AudioDurationCorrection' "DISABLED"++pattern AudioDurationCorrection_FRAME :: AudioDurationCorrection+pattern AudioDurationCorrection_FRAME = AudioDurationCorrection' "FRAME"++pattern AudioDurationCorrection_TRACK :: AudioDurationCorrection+pattern AudioDurationCorrection_TRACK = AudioDurationCorrection' "TRACK"++{-# COMPLETE+ AudioDurationCorrection_AUTO,+ AudioDurationCorrection_DISABLED,+ AudioDurationCorrection_FRAME,+ AudioDurationCorrection_TRACK,+ AudioDurationCorrection'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioLanguageCodeControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioLanguageCodeControl+ ( AudioLanguageCodeControl+ ( ..,+ AudioLanguageCodeControl_FOLLOW_INPUT,+ AudioLanguageCodeControl_USE_CONFIGURED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify which source for language code takes precedence for this audio+-- track. When you choose Follow input (FOLLOW_INPUT), the service uses the+-- language code from the input track if it\'s present. If there\'s no+-- languge code on the input track, the service uses the code that you+-- specify in the setting Language code (languageCode or+-- customLanguageCode). When you choose Use configured (USE_CONFIGURED),+-- the service uses the language code that you specify.+newtype AudioLanguageCodeControl = AudioLanguageCodeControl'+ { fromAudioLanguageCodeControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioLanguageCodeControl_FOLLOW_INPUT :: AudioLanguageCodeControl+pattern AudioLanguageCodeControl_FOLLOW_INPUT = AudioLanguageCodeControl' "FOLLOW_INPUT"++pattern AudioLanguageCodeControl_USE_CONFIGURED :: AudioLanguageCodeControl+pattern AudioLanguageCodeControl_USE_CONFIGURED = AudioLanguageCodeControl' "USE_CONFIGURED"++{-# COMPLETE+ AudioLanguageCodeControl_FOLLOW_INPUT,+ AudioLanguageCodeControl_USE_CONFIGURED,+ AudioLanguageCodeControl'+ #-}
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioNormalizationAlgorithm+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioNormalizationAlgorithm+ ( AudioNormalizationAlgorithm+ ( ..,+ AudioNormalizationAlgorithm_ITU_BS_1770_1,+ AudioNormalizationAlgorithm_ITU_BS_1770_2,+ AudioNormalizationAlgorithm_ITU_BS_1770_3,+ AudioNormalizationAlgorithm_ITU_BS_1770_4+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose one of the following audio normalization algorithms: ITU-R+-- BS.1770-1: Ungated loudness. A measurement of ungated average loudness+-- for an entire piece of content, suitable for measurement of short-form+-- content under ATSC recommendation A\/85. Supports up to 5.1 audio+-- channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated+-- average loudness compliant with the requirements of EBU-R128. Supports+-- up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same+-- loudness measurement algorithm as 1770-2, with an updated true peak+-- measurement. ITU-R BS.1770-4: Higher channel count. Allows for more+-- audio channels than the other algorithms, including configurations such+-- as 7.1.+newtype AudioNormalizationAlgorithm = AudioNormalizationAlgorithm'+ { fromAudioNormalizationAlgorithm ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioNormalizationAlgorithm_ITU_BS_1770_1 :: AudioNormalizationAlgorithm+pattern AudioNormalizationAlgorithm_ITU_BS_1770_1 = AudioNormalizationAlgorithm' "ITU_BS_1770_1"++pattern AudioNormalizationAlgorithm_ITU_BS_1770_2 :: AudioNormalizationAlgorithm+pattern AudioNormalizationAlgorithm_ITU_BS_1770_2 = AudioNormalizationAlgorithm' "ITU_BS_1770_2"++pattern AudioNormalizationAlgorithm_ITU_BS_1770_3 :: AudioNormalizationAlgorithm+pattern AudioNormalizationAlgorithm_ITU_BS_1770_3 = AudioNormalizationAlgorithm' "ITU_BS_1770_3"++pattern AudioNormalizationAlgorithm_ITU_BS_1770_4 :: AudioNormalizationAlgorithm+pattern AudioNormalizationAlgorithm_ITU_BS_1770_4 = AudioNormalizationAlgorithm' "ITU_BS_1770_4"++{-# COMPLETE+ AudioNormalizationAlgorithm_ITU_BS_1770_1,+ AudioNormalizationAlgorithm_ITU_BS_1770_2,+ AudioNormalizationAlgorithm_ITU_BS_1770_3,+ AudioNormalizationAlgorithm_ITU_BS_1770_4,+ AudioNormalizationAlgorithm'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioNormalizationAlgorithmControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioNormalizationAlgorithmControl+ ( AudioNormalizationAlgorithmControl+ ( ..,+ AudioNormalizationAlgorithmControl_CORRECT_AUDIO,+ AudioNormalizationAlgorithmControl_MEASURE_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When enabled the output audio is corrected using the chosen algorithm.+-- If disabled, the audio will be measured but not adjusted.+newtype AudioNormalizationAlgorithmControl = AudioNormalizationAlgorithmControl'+ { fromAudioNormalizationAlgorithmControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioNormalizationAlgorithmControl_CORRECT_AUDIO :: AudioNormalizationAlgorithmControl+pattern AudioNormalizationAlgorithmControl_CORRECT_AUDIO = AudioNormalizationAlgorithmControl' "CORRECT_AUDIO"++pattern AudioNormalizationAlgorithmControl_MEASURE_ONLY :: AudioNormalizationAlgorithmControl+pattern AudioNormalizationAlgorithmControl_MEASURE_ONLY = AudioNormalizationAlgorithmControl' "MEASURE_ONLY"++{-# COMPLETE+ AudioNormalizationAlgorithmControl_CORRECT_AUDIO,+ AudioNormalizationAlgorithmControl_MEASURE_ONLY,+ AudioNormalizationAlgorithmControl'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioNormalizationLoudnessLogging+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioNormalizationLoudnessLogging+ ( AudioNormalizationLoudnessLogging+ ( ..,+ AudioNormalizationLoudnessLogging_DONT_LOG,+ AudioNormalizationLoudnessLogging_LOG+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If set to LOG, log each output\'s audio track loudness to a CSV file.+newtype AudioNormalizationLoudnessLogging = AudioNormalizationLoudnessLogging'+ { fromAudioNormalizationLoudnessLogging ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioNormalizationLoudnessLogging_DONT_LOG :: AudioNormalizationLoudnessLogging+pattern AudioNormalizationLoudnessLogging_DONT_LOG = AudioNormalizationLoudnessLogging' "DONT_LOG"++pattern AudioNormalizationLoudnessLogging_LOG :: AudioNormalizationLoudnessLogging+pattern AudioNormalizationLoudnessLogging_LOG = AudioNormalizationLoudnessLogging' "LOG"++{-# COMPLETE+ AudioNormalizationLoudnessLogging_DONT_LOG,+ AudioNormalizationLoudnessLogging_LOG,+ AudioNormalizationLoudnessLogging'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioNormalizationPeakCalculation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioNormalizationPeakCalculation+ ( AudioNormalizationPeakCalculation+ ( ..,+ AudioNormalizationPeakCalculation_NONE,+ AudioNormalizationPeakCalculation_TRUE_PEAK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If set to TRUE_PEAK, calculate and log the TruePeak for each output\'s+-- audio track loudness.+newtype AudioNormalizationPeakCalculation = AudioNormalizationPeakCalculation'+ { fromAudioNormalizationPeakCalculation ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioNormalizationPeakCalculation_NONE :: AudioNormalizationPeakCalculation+pattern AudioNormalizationPeakCalculation_NONE = AudioNormalizationPeakCalculation' "NONE"++pattern AudioNormalizationPeakCalculation_TRUE_PEAK :: AudioNormalizationPeakCalculation+pattern AudioNormalizationPeakCalculation_TRUE_PEAK = AudioNormalizationPeakCalculation' "TRUE_PEAK"++{-# COMPLETE+ AudioNormalizationPeakCalculation_NONE,+ AudioNormalizationPeakCalculation_TRUE_PEAK,+ AudioNormalizationPeakCalculation'+ #-}
@@ -0,0 +1,209 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioNormalizationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioNormalizationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AudioNormalizationAlgorithm+import Amazonka.MediaConvert.Types.AudioNormalizationAlgorithmControl+import Amazonka.MediaConvert.Types.AudioNormalizationLoudnessLogging+import Amazonka.MediaConvert.Types.AudioNormalizationPeakCalculation+import qualified Amazonka.Prelude as Prelude++-- | Advanced audio normalization settings. Ignore these settings unless you+-- need to comply with a loudness standard.+--+-- /See:/ 'newAudioNormalizationSettings' smart constructor.+data AudioNormalizationSettings = AudioNormalizationSettings'+ { -- | Choose one of the following audio normalization algorithms: ITU-R+ -- BS.1770-1: Ungated loudness. A measurement of ungated average loudness+ -- for an entire piece of content, suitable for measurement of short-form+ -- content under ATSC recommendation A\/85. Supports up to 5.1 audio+ -- channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated+ -- average loudness compliant with the requirements of EBU-R128. Supports+ -- up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same+ -- loudness measurement algorithm as 1770-2, with an updated true peak+ -- measurement. ITU-R BS.1770-4: Higher channel count. Allows for more+ -- audio channels than the other algorithms, including configurations such+ -- as 7.1.+ algorithm :: Prelude.Maybe AudioNormalizationAlgorithm,+ -- | When enabled the output audio is corrected using the chosen algorithm.+ -- If disabled, the audio will be measured but not adjusted.+ algorithmControl :: Prelude.Maybe AudioNormalizationAlgorithmControl,+ -- | Content measuring above this level will be corrected to the target+ -- level. Content measuring below this level will not be corrected.+ correctionGateLevel :: Prelude.Maybe Prelude.Int,+ -- | If set to LOG, log each output\'s audio track loudness to a CSV file.+ loudnessLogging :: Prelude.Maybe AudioNormalizationLoudnessLogging,+ -- | If set to TRUE_PEAK, calculate and log the TruePeak for each output\'s+ -- audio track loudness.+ peakCalculation :: Prelude.Maybe AudioNormalizationPeakCalculation,+ -- | When you use Audio normalization (AudioNormalizationSettings),+ -- optionally use this setting to specify a target loudness. If you don\'t+ -- specify a value here, the encoder chooses a value for you, based on the+ -- algorithm that you choose for Algorithm (algorithm). If you choose+ -- algorithm 1770-1, the encoder will choose -24 LKFS; otherwise, the+ -- encoder will choose -23 LKFS.+ targetLkfs :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioNormalizationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithm', 'audioNormalizationSettings_algorithm' - Choose one of the following audio normalization algorithms: ITU-R+-- BS.1770-1: Ungated loudness. A measurement of ungated average loudness+-- for an entire piece of content, suitable for measurement of short-form+-- content under ATSC recommendation A\/85. Supports up to 5.1 audio+-- channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated+-- average loudness compliant with the requirements of EBU-R128. Supports+-- up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same+-- loudness measurement algorithm as 1770-2, with an updated true peak+-- measurement. ITU-R BS.1770-4: Higher channel count. Allows for more+-- audio channels than the other algorithms, including configurations such+-- as 7.1.+--+-- 'algorithmControl', 'audioNormalizationSettings_algorithmControl' - When enabled the output audio is corrected using the chosen algorithm.+-- If disabled, the audio will be measured but not adjusted.+--+-- 'correctionGateLevel', 'audioNormalizationSettings_correctionGateLevel' - Content measuring above this level will be corrected to the target+-- level. Content measuring below this level will not be corrected.+--+-- 'loudnessLogging', 'audioNormalizationSettings_loudnessLogging' - If set to LOG, log each output\'s audio track loudness to a CSV file.+--+-- 'peakCalculation', 'audioNormalizationSettings_peakCalculation' - If set to TRUE_PEAK, calculate and log the TruePeak for each output\'s+-- audio track loudness.+--+-- 'targetLkfs', 'audioNormalizationSettings_targetLkfs' - When you use Audio normalization (AudioNormalizationSettings),+-- optionally use this setting to specify a target loudness. If you don\'t+-- specify a value here, the encoder chooses a value for you, based on the+-- algorithm that you choose for Algorithm (algorithm). If you choose+-- algorithm 1770-1, the encoder will choose -24 LKFS; otherwise, the+-- encoder will choose -23 LKFS.+newAudioNormalizationSettings ::+ AudioNormalizationSettings+newAudioNormalizationSettings =+ AudioNormalizationSettings'+ { algorithm =+ Prelude.Nothing,+ algorithmControl = Prelude.Nothing,+ correctionGateLevel = Prelude.Nothing,+ loudnessLogging = Prelude.Nothing,+ peakCalculation = Prelude.Nothing,+ targetLkfs = Prelude.Nothing+ }++-- | Choose one of the following audio normalization algorithms: ITU-R+-- BS.1770-1: Ungated loudness. A measurement of ungated average loudness+-- for an entire piece of content, suitable for measurement of short-form+-- content under ATSC recommendation A\/85. Supports up to 5.1 audio+-- channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated+-- average loudness compliant with the requirements of EBU-R128. Supports+-- up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same+-- loudness measurement algorithm as 1770-2, with an updated true peak+-- measurement. ITU-R BS.1770-4: Higher channel count. Allows for more+-- audio channels than the other algorithms, including configurations such+-- as 7.1.+audioNormalizationSettings_algorithm :: Lens.Lens' AudioNormalizationSettings (Prelude.Maybe AudioNormalizationAlgorithm)+audioNormalizationSettings_algorithm = Lens.lens (\AudioNormalizationSettings' {algorithm} -> algorithm) (\s@AudioNormalizationSettings' {} a -> s {algorithm = a} :: AudioNormalizationSettings)++-- | When enabled the output audio is corrected using the chosen algorithm.+-- If disabled, the audio will be measured but not adjusted.+audioNormalizationSettings_algorithmControl :: Lens.Lens' AudioNormalizationSettings (Prelude.Maybe AudioNormalizationAlgorithmControl)+audioNormalizationSettings_algorithmControl = Lens.lens (\AudioNormalizationSettings' {algorithmControl} -> algorithmControl) (\s@AudioNormalizationSettings' {} a -> s {algorithmControl = a} :: AudioNormalizationSettings)++-- | Content measuring above this level will be corrected to the target+-- level. Content measuring below this level will not be corrected.+audioNormalizationSettings_correctionGateLevel :: Lens.Lens' AudioNormalizationSettings (Prelude.Maybe Prelude.Int)+audioNormalizationSettings_correctionGateLevel = Lens.lens (\AudioNormalizationSettings' {correctionGateLevel} -> correctionGateLevel) (\s@AudioNormalizationSettings' {} a -> s {correctionGateLevel = a} :: AudioNormalizationSettings)++-- | If set to LOG, log each output\'s audio track loudness to a CSV file.+audioNormalizationSettings_loudnessLogging :: Lens.Lens' AudioNormalizationSettings (Prelude.Maybe AudioNormalizationLoudnessLogging)+audioNormalizationSettings_loudnessLogging = Lens.lens (\AudioNormalizationSettings' {loudnessLogging} -> loudnessLogging) (\s@AudioNormalizationSettings' {} a -> s {loudnessLogging = a} :: AudioNormalizationSettings)++-- | If set to TRUE_PEAK, calculate and log the TruePeak for each output\'s+-- audio track loudness.+audioNormalizationSettings_peakCalculation :: Lens.Lens' AudioNormalizationSettings (Prelude.Maybe AudioNormalizationPeakCalculation)+audioNormalizationSettings_peakCalculation = Lens.lens (\AudioNormalizationSettings' {peakCalculation} -> peakCalculation) (\s@AudioNormalizationSettings' {} a -> s {peakCalculation = a} :: AudioNormalizationSettings)++-- | When you use Audio normalization (AudioNormalizationSettings),+-- optionally use this setting to specify a target loudness. If you don\'t+-- specify a value here, the encoder chooses a value for you, based on the+-- algorithm that you choose for Algorithm (algorithm). If you choose+-- algorithm 1770-1, the encoder will choose -24 LKFS; otherwise, the+-- encoder will choose -23 LKFS.+audioNormalizationSettings_targetLkfs :: Lens.Lens' AudioNormalizationSettings (Prelude.Maybe Prelude.Double)+audioNormalizationSettings_targetLkfs = Lens.lens (\AudioNormalizationSettings' {targetLkfs} -> targetLkfs) (\s@AudioNormalizationSettings' {} a -> s {targetLkfs = a} :: AudioNormalizationSettings)++instance Data.FromJSON AudioNormalizationSettings where+ parseJSON =+ Data.withObject+ "AudioNormalizationSettings"+ ( \x ->+ AudioNormalizationSettings'+ Prelude.<$> (x Data..:? "algorithm")+ Prelude.<*> (x Data..:? "algorithmControl")+ Prelude.<*> (x Data..:? "correctionGateLevel")+ Prelude.<*> (x Data..:? "loudnessLogging")+ Prelude.<*> (x Data..:? "peakCalculation")+ Prelude.<*> (x Data..:? "targetLkfs")+ )++instance Prelude.Hashable AudioNormalizationSettings where+ hashWithSalt _salt AudioNormalizationSettings' {..} =+ _salt+ `Prelude.hashWithSalt` algorithm+ `Prelude.hashWithSalt` algorithmControl+ `Prelude.hashWithSalt` correctionGateLevel+ `Prelude.hashWithSalt` loudnessLogging+ `Prelude.hashWithSalt` peakCalculation+ `Prelude.hashWithSalt` targetLkfs++instance Prelude.NFData AudioNormalizationSettings where+ rnf AudioNormalizationSettings' {..} =+ Prelude.rnf algorithm+ `Prelude.seq` Prelude.rnf algorithmControl+ `Prelude.seq` Prelude.rnf correctionGateLevel+ `Prelude.seq` Prelude.rnf loudnessLogging+ `Prelude.seq` Prelude.rnf peakCalculation+ `Prelude.seq` Prelude.rnf targetLkfs++instance Data.ToJSON AudioNormalizationSettings where+ toJSON AudioNormalizationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("algorithm" Data..=) Prelude.<$> algorithm,+ ("algorithmControl" Data..=)+ Prelude.<$> algorithmControl,+ ("correctionGateLevel" Data..=)+ Prelude.<$> correctionGateLevel,+ ("loudnessLogging" Data..=)+ Prelude.<$> loudnessLogging,+ ("peakCalculation" Data..=)+ Prelude.<$> peakCalculation,+ ("targetLkfs" Data..=) Prelude.<$> targetLkfs+ ]+ )
@@ -0,0 +1,370 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioSelector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AudioDefaultSelection+import Amazonka.MediaConvert.Types.AudioDurationCorrection+import Amazonka.MediaConvert.Types.AudioSelectorType+import Amazonka.MediaConvert.Types.HlsRenditionGroupSettings+import Amazonka.MediaConvert.Types.LanguageCode+import Amazonka.MediaConvert.Types.RemixSettings+import qualified Amazonka.Prelude as Prelude++-- | Use Audio selectors (AudioSelectors) to specify a track or set of tracks+-- from the input that you will use in your outputs. You can use multiple+-- Audio selectors per input.+--+-- /See:/ 'newAudioSelector' smart constructor.+data AudioSelector = AudioSelector'+ { -- | Apply audio timing corrections to help synchronize audio and video in+ -- your output. To apply timing corrections, your input must meet the+ -- following requirements: * Container: MP4, or MOV, with an accurate+ -- time-to-sample (STTS) table. * Audio track: AAC. Choose from the+ -- following audio timing correction settings: * Disabled (Default): Apply+ -- no correction. * Auto: Recommended for most inputs. MediaConvert+ -- analyzes the audio timing in your input and determines which correction+ -- setting to use, if needed. * Track: Adjust the duration of each audio+ -- frame by a constant amount to align the audio track length with STTS+ -- duration. Track-level correction does not affect pitch, and is+ -- recommended for tonal audio content such as music. * Frame: Adjust the+ -- duration of each audio frame by a variable amount to align audio frames+ -- with STTS timestamps. No corrections are made to already-aligned frames.+ -- Frame-level correction may affect the pitch of corrected frames, and is+ -- recommended for atonal audio content such as speech or percussion.+ audioDurationCorrection :: Prelude.Maybe AudioDurationCorrection,+ -- | Selects a specific language code from within an audio source, using the+ -- ISO 639-2 or ISO 639-3 three-letter language code+ customLanguageCode :: Prelude.Maybe Prelude.Text,+ -- | Enable this setting on one audio selector to set it as the default for+ -- the job. The service uses this default for outputs where it can\'t find+ -- the specified input audio. If you don\'t set a default, those outputs+ -- have no audio.+ defaultSelection :: Prelude.Maybe AudioDefaultSelection,+ -- | Specifies audio data from an external file source.+ externalAudioFileInput :: Prelude.Maybe Prelude.Text,+ -- | Settings specific to audio sources in an HLS alternate rendition group.+ -- Specify the properties (renditionGroupId, renditionName or+ -- renditionLanguageCode) to identify the unique audio track among the+ -- alternative rendition groups present in the HLS manifest. If no unique+ -- track is found, or multiple tracks match the properties provided, the+ -- job fails. If no properties in hlsRenditionGroupSettings are specified,+ -- the default audio track within the video segment is chosen. If there is+ -- no audio within video segment, the alternative audio with DEFAULT=YES is+ -- chosen instead.+ hlsRenditionGroupSettings :: Prelude.Maybe HlsRenditionGroupSettings,+ -- | Selects a specific language code from within an audio source.+ languageCode :: Prelude.Maybe LanguageCode,+ -- | Specifies a time delta in milliseconds to offset the audio from the+ -- input video.+ offset :: Prelude.Maybe Prelude.Int,+ -- | Selects a specific PID from within an audio source (e.g. 257 selects PID+ -- 0x101).+ pids :: Prelude.Maybe [Prelude.Natural],+ -- | Use this setting for input streams that contain Dolby E, to have the+ -- service extract specific program data from the track. To select multiple+ -- programs, create multiple selectors with the same Track and different+ -- Program numbers. In the console, this setting is visible when you set+ -- Selector type to Track. Choose the program number from the dropdown+ -- list. If you are sending a JSON file, provide the program ID, which is+ -- part of the audio metadata. If your input file has incorrect metadata,+ -- you can choose All channels instead of a program number to have the+ -- service ignore the program IDs and include all the programs in the+ -- track.+ programSelection :: Prelude.Maybe Prelude.Natural,+ -- | Use these settings to reorder the audio channels of one input to match+ -- those of another input. This allows you to combine the two files into a+ -- single output, one after the other.+ remixSettings :: Prelude.Maybe RemixSettings,+ -- | Specifies the type of the audio selector.+ selectorType :: Prelude.Maybe AudioSelectorType,+ -- | Identify a track from the input audio to include in this selector by+ -- entering the track index number. To include several tracks in a single+ -- audio selector, specify multiple tracks as follows. Using the console,+ -- enter a comma-separated list. For examle, type \"1,2,3\" to include+ -- tracks 1 through 3. Specifying directly in your JSON job file, provide+ -- the track numbers in an array. For example, \"tracks\": [1,2,3].+ tracks :: Prelude.Maybe [Prelude.Natural]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioSelector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioDurationCorrection', 'audioSelector_audioDurationCorrection' - Apply audio timing corrections to help synchronize audio and video in+-- your output. To apply timing corrections, your input must meet the+-- following requirements: * Container: MP4, or MOV, with an accurate+-- time-to-sample (STTS) table. * Audio track: AAC. Choose from the+-- following audio timing correction settings: * Disabled (Default): Apply+-- no correction. * Auto: Recommended for most inputs. MediaConvert+-- analyzes the audio timing in your input and determines which correction+-- setting to use, if needed. * Track: Adjust the duration of each audio+-- frame by a constant amount to align the audio track length with STTS+-- duration. Track-level correction does not affect pitch, and is+-- recommended for tonal audio content such as music. * Frame: Adjust the+-- duration of each audio frame by a variable amount to align audio frames+-- with STTS timestamps. No corrections are made to already-aligned frames.+-- Frame-level correction may affect the pitch of corrected frames, and is+-- recommended for atonal audio content such as speech or percussion.+--+-- 'customLanguageCode', 'audioSelector_customLanguageCode' - Selects a specific language code from within an audio source, using the+-- ISO 639-2 or ISO 639-3 three-letter language code+--+-- 'defaultSelection', 'audioSelector_defaultSelection' - Enable this setting on one audio selector to set it as the default for+-- the job. The service uses this default for outputs where it can\'t find+-- the specified input audio. If you don\'t set a default, those outputs+-- have no audio.+--+-- 'externalAudioFileInput', 'audioSelector_externalAudioFileInput' - Specifies audio data from an external file source.+--+-- 'hlsRenditionGroupSettings', 'audioSelector_hlsRenditionGroupSettings' - Settings specific to audio sources in an HLS alternate rendition group.+-- Specify the properties (renditionGroupId, renditionName or+-- renditionLanguageCode) to identify the unique audio track among the+-- alternative rendition groups present in the HLS manifest. If no unique+-- track is found, or multiple tracks match the properties provided, the+-- job fails. If no properties in hlsRenditionGroupSettings are specified,+-- the default audio track within the video segment is chosen. If there is+-- no audio within video segment, the alternative audio with DEFAULT=YES is+-- chosen instead.+--+-- 'languageCode', 'audioSelector_languageCode' - Selects a specific language code from within an audio source.+--+-- 'offset', 'audioSelector_offset' - Specifies a time delta in milliseconds to offset the audio from the+-- input video.+--+-- 'pids', 'audioSelector_pids' - Selects a specific PID from within an audio source (e.g. 257 selects PID+-- 0x101).+--+-- 'programSelection', 'audioSelector_programSelection' - Use this setting for input streams that contain Dolby E, to have the+-- service extract specific program data from the track. To select multiple+-- programs, create multiple selectors with the same Track and different+-- Program numbers. In the console, this setting is visible when you set+-- Selector type to Track. Choose the program number from the dropdown+-- list. If you are sending a JSON file, provide the program ID, which is+-- part of the audio metadata. If your input file has incorrect metadata,+-- you can choose All channels instead of a program number to have the+-- service ignore the program IDs and include all the programs in the+-- track.+--+-- 'remixSettings', 'audioSelector_remixSettings' - Use these settings to reorder the audio channels of one input to match+-- those of another input. This allows you to combine the two files into a+-- single output, one after the other.+--+-- 'selectorType', 'audioSelector_selectorType' - Specifies the type of the audio selector.+--+-- 'tracks', 'audioSelector_tracks' - Identify a track from the input audio to include in this selector by+-- entering the track index number. To include several tracks in a single+-- audio selector, specify multiple tracks as follows. Using the console,+-- enter a comma-separated list. For examle, type \"1,2,3\" to include+-- tracks 1 through 3. Specifying directly in your JSON job file, provide+-- the track numbers in an array. For example, \"tracks\": [1,2,3].+newAudioSelector ::+ AudioSelector+newAudioSelector =+ AudioSelector'+ { audioDurationCorrection =+ Prelude.Nothing,+ customLanguageCode = Prelude.Nothing,+ defaultSelection = Prelude.Nothing,+ externalAudioFileInput = Prelude.Nothing,+ hlsRenditionGroupSettings = Prelude.Nothing,+ languageCode = Prelude.Nothing,+ offset = Prelude.Nothing,+ pids = Prelude.Nothing,+ programSelection = Prelude.Nothing,+ remixSettings = Prelude.Nothing,+ selectorType = Prelude.Nothing,+ tracks = Prelude.Nothing+ }++-- | Apply audio timing corrections to help synchronize audio and video in+-- your output. To apply timing corrections, your input must meet the+-- following requirements: * Container: MP4, or MOV, with an accurate+-- time-to-sample (STTS) table. * Audio track: AAC. Choose from the+-- following audio timing correction settings: * Disabled (Default): Apply+-- no correction. * Auto: Recommended for most inputs. MediaConvert+-- analyzes the audio timing in your input and determines which correction+-- setting to use, if needed. * Track: Adjust the duration of each audio+-- frame by a constant amount to align the audio track length with STTS+-- duration. Track-level correction does not affect pitch, and is+-- recommended for tonal audio content such as music. * Frame: Adjust the+-- duration of each audio frame by a variable amount to align audio frames+-- with STTS timestamps. No corrections are made to already-aligned frames.+-- Frame-level correction may affect the pitch of corrected frames, and is+-- recommended for atonal audio content such as speech or percussion.+audioSelector_audioDurationCorrection :: Lens.Lens' AudioSelector (Prelude.Maybe AudioDurationCorrection)+audioSelector_audioDurationCorrection = Lens.lens (\AudioSelector' {audioDurationCorrection} -> audioDurationCorrection) (\s@AudioSelector' {} a -> s {audioDurationCorrection = a} :: AudioSelector)++-- | Selects a specific language code from within an audio source, using the+-- ISO 639-2 or ISO 639-3 three-letter language code+audioSelector_customLanguageCode :: Lens.Lens' AudioSelector (Prelude.Maybe Prelude.Text)+audioSelector_customLanguageCode = Lens.lens (\AudioSelector' {customLanguageCode} -> customLanguageCode) (\s@AudioSelector' {} a -> s {customLanguageCode = a} :: AudioSelector)++-- | Enable this setting on one audio selector to set it as the default for+-- the job. The service uses this default for outputs where it can\'t find+-- the specified input audio. If you don\'t set a default, those outputs+-- have no audio.+audioSelector_defaultSelection :: Lens.Lens' AudioSelector (Prelude.Maybe AudioDefaultSelection)+audioSelector_defaultSelection = Lens.lens (\AudioSelector' {defaultSelection} -> defaultSelection) (\s@AudioSelector' {} a -> s {defaultSelection = a} :: AudioSelector)++-- | Specifies audio data from an external file source.+audioSelector_externalAudioFileInput :: Lens.Lens' AudioSelector (Prelude.Maybe Prelude.Text)+audioSelector_externalAudioFileInput = Lens.lens (\AudioSelector' {externalAudioFileInput} -> externalAudioFileInput) (\s@AudioSelector' {} a -> s {externalAudioFileInput = a} :: AudioSelector)++-- | Settings specific to audio sources in an HLS alternate rendition group.+-- Specify the properties (renditionGroupId, renditionName or+-- renditionLanguageCode) to identify the unique audio track among the+-- alternative rendition groups present in the HLS manifest. If no unique+-- track is found, or multiple tracks match the properties provided, the+-- job fails. If no properties in hlsRenditionGroupSettings are specified,+-- the default audio track within the video segment is chosen. If there is+-- no audio within video segment, the alternative audio with DEFAULT=YES is+-- chosen instead.+audioSelector_hlsRenditionGroupSettings :: Lens.Lens' AudioSelector (Prelude.Maybe HlsRenditionGroupSettings)+audioSelector_hlsRenditionGroupSettings = Lens.lens (\AudioSelector' {hlsRenditionGroupSettings} -> hlsRenditionGroupSettings) (\s@AudioSelector' {} a -> s {hlsRenditionGroupSettings = a} :: AudioSelector)++-- | Selects a specific language code from within an audio source.+audioSelector_languageCode :: Lens.Lens' AudioSelector (Prelude.Maybe LanguageCode)+audioSelector_languageCode = Lens.lens (\AudioSelector' {languageCode} -> languageCode) (\s@AudioSelector' {} a -> s {languageCode = a} :: AudioSelector)++-- | Specifies a time delta in milliseconds to offset the audio from the+-- input video.+audioSelector_offset :: Lens.Lens' AudioSelector (Prelude.Maybe Prelude.Int)+audioSelector_offset = Lens.lens (\AudioSelector' {offset} -> offset) (\s@AudioSelector' {} a -> s {offset = a} :: AudioSelector)++-- | Selects a specific PID from within an audio source (e.g. 257 selects PID+-- 0x101).+audioSelector_pids :: Lens.Lens' AudioSelector (Prelude.Maybe [Prelude.Natural])+audioSelector_pids = Lens.lens (\AudioSelector' {pids} -> pids) (\s@AudioSelector' {} a -> s {pids = a} :: AudioSelector) Prelude.. Lens.mapping Lens.coerced++-- | Use this setting for input streams that contain Dolby E, to have the+-- service extract specific program data from the track. To select multiple+-- programs, create multiple selectors with the same Track and different+-- Program numbers. In the console, this setting is visible when you set+-- Selector type to Track. Choose the program number from the dropdown+-- list. If you are sending a JSON file, provide the program ID, which is+-- part of the audio metadata. If your input file has incorrect metadata,+-- you can choose All channels instead of a program number to have the+-- service ignore the program IDs and include all the programs in the+-- track.+audioSelector_programSelection :: Lens.Lens' AudioSelector (Prelude.Maybe Prelude.Natural)+audioSelector_programSelection = Lens.lens (\AudioSelector' {programSelection} -> programSelection) (\s@AudioSelector' {} a -> s {programSelection = a} :: AudioSelector)++-- | Use these settings to reorder the audio channels of one input to match+-- those of another input. This allows you to combine the two files into a+-- single output, one after the other.+audioSelector_remixSettings :: Lens.Lens' AudioSelector (Prelude.Maybe RemixSettings)+audioSelector_remixSettings = Lens.lens (\AudioSelector' {remixSettings} -> remixSettings) (\s@AudioSelector' {} a -> s {remixSettings = a} :: AudioSelector)++-- | Specifies the type of the audio selector.+audioSelector_selectorType :: Lens.Lens' AudioSelector (Prelude.Maybe AudioSelectorType)+audioSelector_selectorType = Lens.lens (\AudioSelector' {selectorType} -> selectorType) (\s@AudioSelector' {} a -> s {selectorType = a} :: AudioSelector)++-- | Identify a track from the input audio to include in this selector by+-- entering the track index number. To include several tracks in a single+-- audio selector, specify multiple tracks as follows. Using the console,+-- enter a comma-separated list. For examle, type \"1,2,3\" to include+-- tracks 1 through 3. Specifying directly in your JSON job file, provide+-- the track numbers in an array. For example, \"tracks\": [1,2,3].+audioSelector_tracks :: Lens.Lens' AudioSelector (Prelude.Maybe [Prelude.Natural])+audioSelector_tracks = Lens.lens (\AudioSelector' {tracks} -> tracks) (\s@AudioSelector' {} a -> s {tracks = a} :: AudioSelector) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AudioSelector where+ parseJSON =+ Data.withObject+ "AudioSelector"+ ( \x ->+ AudioSelector'+ Prelude.<$> (x Data..:? "audioDurationCorrection")+ Prelude.<*> (x Data..:? "customLanguageCode")+ Prelude.<*> (x Data..:? "defaultSelection")+ Prelude.<*> (x Data..:? "externalAudioFileInput")+ Prelude.<*> (x Data..:? "hlsRenditionGroupSettings")+ Prelude.<*> (x Data..:? "languageCode")+ Prelude.<*> (x Data..:? "offset")+ Prelude.<*> (x Data..:? "pids" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "programSelection")+ Prelude.<*> (x Data..:? "remixSettings")+ Prelude.<*> (x Data..:? "selectorType")+ Prelude.<*> (x Data..:? "tracks" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AudioSelector where+ hashWithSalt _salt AudioSelector' {..} =+ _salt+ `Prelude.hashWithSalt` audioDurationCorrection+ `Prelude.hashWithSalt` customLanguageCode+ `Prelude.hashWithSalt` defaultSelection+ `Prelude.hashWithSalt` externalAudioFileInput+ `Prelude.hashWithSalt` hlsRenditionGroupSettings+ `Prelude.hashWithSalt` languageCode+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` pids+ `Prelude.hashWithSalt` programSelection+ `Prelude.hashWithSalt` remixSettings+ `Prelude.hashWithSalt` selectorType+ `Prelude.hashWithSalt` tracks++instance Prelude.NFData AudioSelector where+ rnf AudioSelector' {..} =+ Prelude.rnf audioDurationCorrection+ `Prelude.seq` Prelude.rnf customLanguageCode+ `Prelude.seq` Prelude.rnf defaultSelection+ `Prelude.seq` Prelude.rnf externalAudioFileInput+ `Prelude.seq` Prelude.rnf hlsRenditionGroupSettings+ `Prelude.seq` Prelude.rnf languageCode+ `Prelude.seq` Prelude.rnf offset+ `Prelude.seq` Prelude.rnf pids+ `Prelude.seq` Prelude.rnf programSelection+ `Prelude.seq` Prelude.rnf remixSettings+ `Prelude.seq` Prelude.rnf selectorType+ `Prelude.seq` Prelude.rnf tracks++instance Data.ToJSON AudioSelector where+ toJSON AudioSelector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioDurationCorrection" Data..=)+ Prelude.<$> audioDurationCorrection,+ ("customLanguageCode" Data..=)+ Prelude.<$> customLanguageCode,+ ("defaultSelection" Data..=)+ Prelude.<$> defaultSelection,+ ("externalAudioFileInput" Data..=)+ Prelude.<$> externalAudioFileInput,+ ("hlsRenditionGroupSettings" Data..=)+ Prelude.<$> hlsRenditionGroupSettings,+ ("languageCode" Data..=) Prelude.<$> languageCode,+ ("offset" Data..=) Prelude.<$> offset,+ ("pids" Data..=) Prelude.<$> pids,+ ("programSelection" Data..=)+ Prelude.<$> programSelection,+ ("remixSettings" Data..=) Prelude.<$> remixSettings,+ ("selectorType" Data..=) Prelude.<$> selectorType,+ ("tracks" Data..=) Prelude.<$> tracks+ ]+ )
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioSelectorGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioSelectorGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use audio selector groups to combine multiple sidecar audio inputs so+-- that you can assign them to a single output audio tab+-- (AudioDescription). Note that, if you\'re working with embedded audio,+-- it\'s simpler to assign multiple input tracks into a single audio+-- selector rather than use an audio selector group.+--+-- /See:/ 'newAudioSelectorGroup' smart constructor.+data AudioSelectorGroup = AudioSelectorGroup'+ { -- | Name of an Audio Selector within the same input to include in the group.+ -- Audio selector names are standardized, based on their order within the+ -- input (e.g., \"Audio Selector 1\"). The audio selector name parameter+ -- can be repeated to add any number of audio selectors to the group.+ audioSelectorNames :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioSelectorGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioSelectorNames', 'audioSelectorGroup_audioSelectorNames' - Name of an Audio Selector within the same input to include in the group.+-- Audio selector names are standardized, based on their order within the+-- input (e.g., \"Audio Selector 1\"). The audio selector name parameter+-- can be repeated to add any number of audio selectors to the group.+newAudioSelectorGroup ::+ AudioSelectorGroup+newAudioSelectorGroup =+ AudioSelectorGroup'+ { audioSelectorNames =+ Prelude.Nothing+ }++-- | Name of an Audio Selector within the same input to include in the group.+-- Audio selector names are standardized, based on their order within the+-- input (e.g., \"Audio Selector 1\"). The audio selector name parameter+-- can be repeated to add any number of audio selectors to the group.+audioSelectorGroup_audioSelectorNames :: Lens.Lens' AudioSelectorGroup (Prelude.Maybe [Prelude.Text])+audioSelectorGroup_audioSelectorNames = Lens.lens (\AudioSelectorGroup' {audioSelectorNames} -> audioSelectorNames) (\s@AudioSelectorGroup' {} a -> s {audioSelectorNames = a} :: AudioSelectorGroup) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AudioSelectorGroup where+ parseJSON =+ Data.withObject+ "AudioSelectorGroup"+ ( \x ->+ AudioSelectorGroup'+ Prelude.<$> ( x+ Data..:? "audioSelectorNames"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable AudioSelectorGroup where+ hashWithSalt _salt AudioSelectorGroup' {..} =+ _salt `Prelude.hashWithSalt` audioSelectorNames++instance Prelude.NFData AudioSelectorGroup where+ rnf AudioSelectorGroup' {..} =+ Prelude.rnf audioSelectorNames++instance Data.ToJSON AudioSelectorGroup where+ toJSON AudioSelectorGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioSelectorNames" Data..=)+ Prelude.<$> audioSelectorNames+ ]+ )
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioSelectorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioSelectorType+ ( AudioSelectorType+ ( ..,+ AudioSelectorType_HLS_RENDITION_GROUP,+ AudioSelectorType_LANGUAGE_CODE,+ AudioSelectorType_PID,+ AudioSelectorType_TRACK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the type of the audio selector.+newtype AudioSelectorType = AudioSelectorType'+ { fromAudioSelectorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioSelectorType_HLS_RENDITION_GROUP :: AudioSelectorType+pattern AudioSelectorType_HLS_RENDITION_GROUP = AudioSelectorType' "HLS_RENDITION_GROUP"++pattern AudioSelectorType_LANGUAGE_CODE :: AudioSelectorType+pattern AudioSelectorType_LANGUAGE_CODE = AudioSelectorType' "LANGUAGE_CODE"++pattern AudioSelectorType_PID :: AudioSelectorType+pattern AudioSelectorType_PID = AudioSelectorType' "PID"++pattern AudioSelectorType_TRACK :: AudioSelectorType+pattern AudioSelectorType_TRACK = AudioSelectorType' "TRACK"++{-# COMPLETE+ AudioSelectorType_HLS_RENDITION_GROUP,+ AudioSelectorType_LANGUAGE_CODE,+ AudioSelectorType_PID,+ AudioSelectorType_TRACK,+ AudioSelectorType'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AudioTypeControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AudioTypeControl+ ( AudioTypeControl+ ( ..,+ AudioTypeControl_FOLLOW_INPUT,+ AudioTypeControl_USE_CONFIGURED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type,+-- then that value is passed through to the output. If the input contains+-- no ISO 639 audio_type, the value in Audio Type is included in the+-- output. Otherwise the value in Audio Type is included in the output.+-- Note that this field and audioType are both ignored if+-- audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.+newtype AudioTypeControl = AudioTypeControl'+ { fromAudioTypeControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AudioTypeControl_FOLLOW_INPUT :: AudioTypeControl+pattern AudioTypeControl_FOLLOW_INPUT = AudioTypeControl' "FOLLOW_INPUT"++pattern AudioTypeControl_USE_CONFIGURED :: AudioTypeControl+pattern AudioTypeControl_USE_CONFIGURED = AudioTypeControl' "USE_CONFIGURED"++{-# COMPLETE+ AudioTypeControl_FOLLOW_INPUT,+ AudioTypeControl_USE_CONFIGURED,+ AudioTypeControl'+ #-}
@@ -0,0 +1,299 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AutomatedAbrRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AutomatedAbrRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AllowedRenditionSize+import Amazonka.MediaConvert.Types.ForceIncludeRenditionSize+import Amazonka.MediaConvert.Types.MinBottomRenditionSize+import Amazonka.MediaConvert.Types.MinTopRenditionSize+import Amazonka.MediaConvert.Types.RuleType+import qualified Amazonka.Prelude as Prelude++-- | Specify one or more Automated ABR rule types. Note: Force include and+-- Allowed renditions are mutually exclusive.+--+-- /See:/ 'newAutomatedAbrRule' smart constructor.+data AutomatedAbrRule = AutomatedAbrRule'+ { -- | When customer adds the allowed renditions rule for auto ABR ladder, they+ -- are required to add at leat one rendition to allowedRenditions list+ allowedRenditions :: Prelude.Maybe [AllowedRenditionSize],+ -- | When customer adds the force include renditions rule for auto ABR+ -- ladder, they are required to add at leat one rendition to+ -- forceIncludeRenditions list+ forceIncludeRenditions :: Prelude.Maybe [ForceIncludeRenditionSize],+ -- | Use Min bottom rendition size to specify a minimum size for the lowest+ -- resolution in your ABR stack. * The lowest resolution in your ABR stack+ -- will be equal to or greater than the value that you enter. For example:+ -- If you specify 640x360 the lowest resolution in your ABR stack will be+ -- equal to or greater than to 640x360. * If you specify a Min top+ -- rendition size rule, the value that you specify for Min bottom rendition+ -- size must be less than, or equal to, Min top rendition size.+ minBottomRenditionSize :: Prelude.Maybe MinBottomRenditionSize,+ -- | Use Min top rendition size to specify a minimum size for the highest+ -- resolution in your ABR stack. * The highest resolution in your ABR stack+ -- will be equal to or greater than the value that you enter. For example:+ -- If you specify 1280x720 the highest resolution in your ABR stack will be+ -- equal to or greater than 1280x720. * If you specify a value for Max+ -- resolution, the value that you specify for Min top rendition size must+ -- be less than, or equal to, Max resolution.+ minTopRenditionSize :: Prelude.Maybe MinTopRenditionSize,+ -- | Use Min top rendition size to specify a minimum size for the highest+ -- resolution in your ABR stack. * The highest resolution in your ABR stack+ -- will be equal to or greater than the value that you enter. For example:+ -- If you specify 1280x720 the highest resolution in your ABR stack will be+ -- equal to or greater than 1280x720. * If you specify a value for Max+ -- resolution, the value that you specify for Min top rendition size must+ -- be less than, or equal to, Max resolution. Use Min bottom rendition size+ -- to specify a minimum size for the lowest resolution in your ABR stack. *+ -- The lowest resolution in your ABR stack will be equal to or greater than+ -- the value that you enter. For example: If you specify 640x360 the lowest+ -- resolution in your ABR stack will be equal to or greater than to+ -- 640x360. * If you specify a Min top rendition size rule, the value that+ -- you specify for Min bottom rendition size must be less than, or equal+ -- to, Min top rendition size. Use Force include renditions to specify one+ -- or more resolutions to include your ABR stack. * (Recommended) To+ -- optimize automated ABR, specify as few resolutions as possible. *+ -- (Required) The number of resolutions that you specify must be equal to,+ -- or less than, the Max renditions setting. * If you specify a Min top+ -- rendition size rule, specify at least one resolution that is equal to,+ -- or greater than, Min top rendition size. * If you specify a Min bottom+ -- rendition size rule, only specify resolutions that are equal to, or+ -- greater than, Min bottom rendition size. * If you specify a Force+ -- include renditions rule, do not specify a separate rule for Allowed+ -- renditions. * Note: The ABR stack may include other resolutions that you+ -- do not specify here, depending on the Max renditions setting. Use+ -- Allowed renditions to specify a list of possible resolutions in your ABR+ -- stack. * (Required) The number of resolutions that you specify must be+ -- equal to, or greater than, the Max renditions setting. * MediaConvert+ -- will create an ABR stack exclusively from the list of resolutions that+ -- you specify. * Some resolutions in the Allowed renditions list may not+ -- be included, however you can force a resolution to be included by+ -- setting Required to ENABLED. * You must specify at least one resolution+ -- that is greater than or equal to any resolutions that you specify in Min+ -- top rendition size or Min bottom rendition size. * If you specify+ -- Allowed renditions, you must not specify a separate rule for Force+ -- include renditions.+ type' :: Prelude.Maybe RuleType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutomatedAbrRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedRenditions', 'automatedAbrRule_allowedRenditions' - When customer adds the allowed renditions rule for auto ABR ladder, they+-- are required to add at leat one rendition to allowedRenditions list+--+-- 'forceIncludeRenditions', 'automatedAbrRule_forceIncludeRenditions' - When customer adds the force include renditions rule for auto ABR+-- ladder, they are required to add at leat one rendition to+-- forceIncludeRenditions list+--+-- 'minBottomRenditionSize', 'automatedAbrRule_minBottomRenditionSize' - Use Min bottom rendition size to specify a minimum size for the lowest+-- resolution in your ABR stack. * The lowest resolution in your ABR stack+-- will be equal to or greater than the value that you enter. For example:+-- If you specify 640x360 the lowest resolution in your ABR stack will be+-- equal to or greater than to 640x360. * If you specify a Min top+-- rendition size rule, the value that you specify for Min bottom rendition+-- size must be less than, or equal to, Min top rendition size.+--+-- 'minTopRenditionSize', 'automatedAbrRule_minTopRenditionSize' - Use Min top rendition size to specify a minimum size for the highest+-- resolution in your ABR stack. * The highest resolution in your ABR stack+-- will be equal to or greater than the value that you enter. For example:+-- If you specify 1280x720 the highest resolution in your ABR stack will be+-- equal to or greater than 1280x720. * If you specify a value for Max+-- resolution, the value that you specify for Min top rendition size must+-- be less than, or equal to, Max resolution.+--+-- 'type'', 'automatedAbrRule_type' - Use Min top rendition size to specify a minimum size for the highest+-- resolution in your ABR stack. * The highest resolution in your ABR stack+-- will be equal to or greater than the value that you enter. For example:+-- If you specify 1280x720 the highest resolution in your ABR stack will be+-- equal to or greater than 1280x720. * If you specify a value for Max+-- resolution, the value that you specify for Min top rendition size must+-- be less than, or equal to, Max resolution. Use Min bottom rendition size+-- to specify a minimum size for the lowest resolution in your ABR stack. *+-- The lowest resolution in your ABR stack will be equal to or greater than+-- the value that you enter. For example: If you specify 640x360 the lowest+-- resolution in your ABR stack will be equal to or greater than to+-- 640x360. * If you specify a Min top rendition size rule, the value that+-- you specify for Min bottom rendition size must be less than, or equal+-- to, Min top rendition size. Use Force include renditions to specify one+-- or more resolutions to include your ABR stack. * (Recommended) To+-- optimize automated ABR, specify as few resolutions as possible. *+-- (Required) The number of resolutions that you specify must be equal to,+-- or less than, the Max renditions setting. * If you specify a Min top+-- rendition size rule, specify at least one resolution that is equal to,+-- or greater than, Min top rendition size. * If you specify a Min bottom+-- rendition size rule, only specify resolutions that are equal to, or+-- greater than, Min bottom rendition size. * If you specify a Force+-- include renditions rule, do not specify a separate rule for Allowed+-- renditions. * Note: The ABR stack may include other resolutions that you+-- do not specify here, depending on the Max renditions setting. Use+-- Allowed renditions to specify a list of possible resolutions in your ABR+-- stack. * (Required) The number of resolutions that you specify must be+-- equal to, or greater than, the Max renditions setting. * MediaConvert+-- will create an ABR stack exclusively from the list of resolutions that+-- you specify. * Some resolutions in the Allowed renditions list may not+-- be included, however you can force a resolution to be included by+-- setting Required to ENABLED. * You must specify at least one resolution+-- that is greater than or equal to any resolutions that you specify in Min+-- top rendition size or Min bottom rendition size. * If you specify+-- Allowed renditions, you must not specify a separate rule for Force+-- include renditions.+newAutomatedAbrRule ::+ AutomatedAbrRule+newAutomatedAbrRule =+ AutomatedAbrRule'+ { allowedRenditions =+ Prelude.Nothing,+ forceIncludeRenditions = Prelude.Nothing,+ minBottomRenditionSize = Prelude.Nothing,+ minTopRenditionSize = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | When customer adds the allowed renditions rule for auto ABR ladder, they+-- are required to add at leat one rendition to allowedRenditions list+automatedAbrRule_allowedRenditions :: Lens.Lens' AutomatedAbrRule (Prelude.Maybe [AllowedRenditionSize])+automatedAbrRule_allowedRenditions = Lens.lens (\AutomatedAbrRule' {allowedRenditions} -> allowedRenditions) (\s@AutomatedAbrRule' {} a -> s {allowedRenditions = a} :: AutomatedAbrRule) Prelude.. Lens.mapping Lens.coerced++-- | When customer adds the force include renditions rule for auto ABR+-- ladder, they are required to add at leat one rendition to+-- forceIncludeRenditions list+automatedAbrRule_forceIncludeRenditions :: Lens.Lens' AutomatedAbrRule (Prelude.Maybe [ForceIncludeRenditionSize])+automatedAbrRule_forceIncludeRenditions = Lens.lens (\AutomatedAbrRule' {forceIncludeRenditions} -> forceIncludeRenditions) (\s@AutomatedAbrRule' {} a -> s {forceIncludeRenditions = a} :: AutomatedAbrRule) Prelude.. Lens.mapping Lens.coerced++-- | Use Min bottom rendition size to specify a minimum size for the lowest+-- resolution in your ABR stack. * The lowest resolution in your ABR stack+-- will be equal to or greater than the value that you enter. For example:+-- If you specify 640x360 the lowest resolution in your ABR stack will be+-- equal to or greater than to 640x360. * If you specify a Min top+-- rendition size rule, the value that you specify for Min bottom rendition+-- size must be less than, or equal to, Min top rendition size.+automatedAbrRule_minBottomRenditionSize :: Lens.Lens' AutomatedAbrRule (Prelude.Maybe MinBottomRenditionSize)+automatedAbrRule_minBottomRenditionSize = Lens.lens (\AutomatedAbrRule' {minBottomRenditionSize} -> minBottomRenditionSize) (\s@AutomatedAbrRule' {} a -> s {minBottomRenditionSize = a} :: AutomatedAbrRule)++-- | Use Min top rendition size to specify a minimum size for the highest+-- resolution in your ABR stack. * The highest resolution in your ABR stack+-- will be equal to or greater than the value that you enter. For example:+-- If you specify 1280x720 the highest resolution in your ABR stack will be+-- equal to or greater than 1280x720. * If you specify a value for Max+-- resolution, the value that you specify for Min top rendition size must+-- be less than, or equal to, Max resolution.+automatedAbrRule_minTopRenditionSize :: Lens.Lens' AutomatedAbrRule (Prelude.Maybe MinTopRenditionSize)+automatedAbrRule_minTopRenditionSize = Lens.lens (\AutomatedAbrRule' {minTopRenditionSize} -> minTopRenditionSize) (\s@AutomatedAbrRule' {} a -> s {minTopRenditionSize = a} :: AutomatedAbrRule)++-- | Use Min top rendition size to specify a minimum size for the highest+-- resolution in your ABR stack. * The highest resolution in your ABR stack+-- will be equal to or greater than the value that you enter. For example:+-- If you specify 1280x720 the highest resolution in your ABR stack will be+-- equal to or greater than 1280x720. * If you specify a value for Max+-- resolution, the value that you specify for Min top rendition size must+-- be less than, or equal to, Max resolution. Use Min bottom rendition size+-- to specify a minimum size for the lowest resolution in your ABR stack. *+-- The lowest resolution in your ABR stack will be equal to or greater than+-- the value that you enter. For example: If you specify 640x360 the lowest+-- resolution in your ABR stack will be equal to or greater than to+-- 640x360. * If you specify a Min top rendition size rule, the value that+-- you specify for Min bottom rendition size must be less than, or equal+-- to, Min top rendition size. Use Force include renditions to specify one+-- or more resolutions to include your ABR stack. * (Recommended) To+-- optimize automated ABR, specify as few resolutions as possible. *+-- (Required) The number of resolutions that you specify must be equal to,+-- or less than, the Max renditions setting. * If you specify a Min top+-- rendition size rule, specify at least one resolution that is equal to,+-- or greater than, Min top rendition size. * If you specify a Min bottom+-- rendition size rule, only specify resolutions that are equal to, or+-- greater than, Min bottom rendition size. * If you specify a Force+-- include renditions rule, do not specify a separate rule for Allowed+-- renditions. * Note: The ABR stack may include other resolutions that you+-- do not specify here, depending on the Max renditions setting. Use+-- Allowed renditions to specify a list of possible resolutions in your ABR+-- stack. * (Required) The number of resolutions that you specify must be+-- equal to, or greater than, the Max renditions setting. * MediaConvert+-- will create an ABR stack exclusively from the list of resolutions that+-- you specify. * Some resolutions in the Allowed renditions list may not+-- be included, however you can force a resolution to be included by+-- setting Required to ENABLED. * You must specify at least one resolution+-- that is greater than or equal to any resolutions that you specify in Min+-- top rendition size or Min bottom rendition size. * If you specify+-- Allowed renditions, you must not specify a separate rule for Force+-- include renditions.+automatedAbrRule_type :: Lens.Lens' AutomatedAbrRule (Prelude.Maybe RuleType)+automatedAbrRule_type = Lens.lens (\AutomatedAbrRule' {type'} -> type') (\s@AutomatedAbrRule' {} a -> s {type' = a} :: AutomatedAbrRule)++instance Data.FromJSON AutomatedAbrRule where+ parseJSON =+ Data.withObject+ "AutomatedAbrRule"+ ( \x ->+ AutomatedAbrRule'+ Prelude.<$> ( x+ Data..:? "allowedRenditions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> ( x+ Data..:? "forceIncludeRenditions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "minBottomRenditionSize")+ Prelude.<*> (x Data..:? "minTopRenditionSize")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable AutomatedAbrRule where+ hashWithSalt _salt AutomatedAbrRule' {..} =+ _salt+ `Prelude.hashWithSalt` allowedRenditions+ `Prelude.hashWithSalt` forceIncludeRenditions+ `Prelude.hashWithSalt` minBottomRenditionSize+ `Prelude.hashWithSalt` minTopRenditionSize+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AutomatedAbrRule where+ rnf AutomatedAbrRule' {..} =+ Prelude.rnf allowedRenditions+ `Prelude.seq` Prelude.rnf forceIncludeRenditions+ `Prelude.seq` Prelude.rnf minBottomRenditionSize+ `Prelude.seq` Prelude.rnf minTopRenditionSize+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON AutomatedAbrRule where+ toJSON AutomatedAbrRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("allowedRenditions" Data..=)+ Prelude.<$> allowedRenditions,+ ("forceIncludeRenditions" Data..=)+ Prelude.<$> forceIncludeRenditions,+ ("minBottomRenditionSize" Data..=)+ Prelude.<$> minBottomRenditionSize,+ ("minTopRenditionSize" Data..=)+ Prelude.<$> minTopRenditionSize,+ ("type" Data..=) Prelude.<$> type'+ ]+ )
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AutomatedAbrSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AutomatedAbrSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AutomatedAbrRule+import qualified Amazonka.Prelude as Prelude++-- | Use automated ABR to have MediaConvert set up the renditions in your ABR+-- package for you automatically, based on characteristics of your input+-- video. This feature optimizes video quality while minimizing the overall+-- size of your ABR package.+--+-- /See:/ 'newAutomatedAbrSettings' smart constructor.+data AutomatedAbrSettings = AutomatedAbrSettings'+ { -- | Optional. The maximum target bit rate used in your automated ABR stack.+ -- Use this value to set an upper limit on the bandwidth consumed by the+ -- highest-quality rendition. This is the rendition that is delivered to+ -- viewers with the fastest internet connections. If you don\'t specify a+ -- value, MediaConvert uses 8,000,000 (8 mb\/s) by default.+ maxAbrBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Optional. The maximum number of renditions that MediaConvert will create+ -- in your automated ABR stack. The number of renditions is determined+ -- automatically, based on analysis of each job, but will never exceed this+ -- limit. When you set this to Auto in the console, which is equivalent to+ -- excluding it from your JSON job specification, MediaConvert defaults to+ -- a limit of 15.+ maxRenditions :: Prelude.Maybe Prelude.Natural,+ -- | Optional. The minimum target bitrate used in your automated ABR stack.+ -- Use this value to set a lower limit on the bitrate of video delivered to+ -- viewers with slow internet connections. If you don\'t specify a value,+ -- MediaConvert uses 600,000 (600 kb\/s) by default.+ minAbrBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Use Automated ABR rules to specify restrictions for the+ -- rendition sizes MediaConvert will create in your ABR stack. You can use+ -- these rules if your ABR workflow has specific rendition size+ -- requirements, but you still want MediaConvert to optimize for video+ -- quality and overall file size.+ rules :: Prelude.Maybe [AutomatedAbrRule]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutomatedAbrSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxAbrBitrate', 'automatedAbrSettings_maxAbrBitrate' - Optional. The maximum target bit rate used in your automated ABR stack.+-- Use this value to set an upper limit on the bandwidth consumed by the+-- highest-quality rendition. This is the rendition that is delivered to+-- viewers with the fastest internet connections. If you don\'t specify a+-- value, MediaConvert uses 8,000,000 (8 mb\/s) by default.+--+-- 'maxRenditions', 'automatedAbrSettings_maxRenditions' - Optional. The maximum number of renditions that MediaConvert will create+-- in your automated ABR stack. The number of renditions is determined+-- automatically, based on analysis of each job, but will never exceed this+-- limit. When you set this to Auto in the console, which is equivalent to+-- excluding it from your JSON job specification, MediaConvert defaults to+-- a limit of 15.+--+-- 'minAbrBitrate', 'automatedAbrSettings_minAbrBitrate' - Optional. The minimum target bitrate used in your automated ABR stack.+-- Use this value to set a lower limit on the bitrate of video delivered to+-- viewers with slow internet connections. If you don\'t specify a value,+-- MediaConvert uses 600,000 (600 kb\/s) by default.+--+-- 'rules', 'automatedAbrSettings_rules' - Optional. Use Automated ABR rules to specify restrictions for the+-- rendition sizes MediaConvert will create in your ABR stack. You can use+-- these rules if your ABR workflow has specific rendition size+-- requirements, but you still want MediaConvert to optimize for video+-- quality and overall file size.+newAutomatedAbrSettings ::+ AutomatedAbrSettings+newAutomatedAbrSettings =+ AutomatedAbrSettings'+ { maxAbrBitrate =+ Prelude.Nothing,+ maxRenditions = Prelude.Nothing,+ minAbrBitrate = Prelude.Nothing,+ rules = Prelude.Nothing+ }++-- | Optional. The maximum target bit rate used in your automated ABR stack.+-- Use this value to set an upper limit on the bandwidth consumed by the+-- highest-quality rendition. This is the rendition that is delivered to+-- viewers with the fastest internet connections. If you don\'t specify a+-- value, MediaConvert uses 8,000,000 (8 mb\/s) by default.+automatedAbrSettings_maxAbrBitrate :: Lens.Lens' AutomatedAbrSettings (Prelude.Maybe Prelude.Natural)+automatedAbrSettings_maxAbrBitrate = Lens.lens (\AutomatedAbrSettings' {maxAbrBitrate} -> maxAbrBitrate) (\s@AutomatedAbrSettings' {} a -> s {maxAbrBitrate = a} :: AutomatedAbrSettings)++-- | Optional. The maximum number of renditions that MediaConvert will create+-- in your automated ABR stack. The number of renditions is determined+-- automatically, based on analysis of each job, but will never exceed this+-- limit. When you set this to Auto in the console, which is equivalent to+-- excluding it from your JSON job specification, MediaConvert defaults to+-- a limit of 15.+automatedAbrSettings_maxRenditions :: Lens.Lens' AutomatedAbrSettings (Prelude.Maybe Prelude.Natural)+automatedAbrSettings_maxRenditions = Lens.lens (\AutomatedAbrSettings' {maxRenditions} -> maxRenditions) (\s@AutomatedAbrSettings' {} a -> s {maxRenditions = a} :: AutomatedAbrSettings)++-- | Optional. The minimum target bitrate used in your automated ABR stack.+-- Use this value to set a lower limit on the bitrate of video delivered to+-- viewers with slow internet connections. If you don\'t specify a value,+-- MediaConvert uses 600,000 (600 kb\/s) by default.+automatedAbrSettings_minAbrBitrate :: Lens.Lens' AutomatedAbrSettings (Prelude.Maybe Prelude.Natural)+automatedAbrSettings_minAbrBitrate = Lens.lens (\AutomatedAbrSettings' {minAbrBitrate} -> minAbrBitrate) (\s@AutomatedAbrSettings' {} a -> s {minAbrBitrate = a} :: AutomatedAbrSettings)++-- | Optional. Use Automated ABR rules to specify restrictions for the+-- rendition sizes MediaConvert will create in your ABR stack. You can use+-- these rules if your ABR workflow has specific rendition size+-- requirements, but you still want MediaConvert to optimize for video+-- quality and overall file size.+automatedAbrSettings_rules :: Lens.Lens' AutomatedAbrSettings (Prelude.Maybe [AutomatedAbrRule])+automatedAbrSettings_rules = Lens.lens (\AutomatedAbrSettings' {rules} -> rules) (\s@AutomatedAbrSettings' {} a -> s {rules = a} :: AutomatedAbrSettings) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AutomatedAbrSettings where+ parseJSON =+ Data.withObject+ "AutomatedAbrSettings"+ ( \x ->+ AutomatedAbrSettings'+ Prelude.<$> (x Data..:? "maxAbrBitrate")+ Prelude.<*> (x Data..:? "maxRenditions")+ Prelude.<*> (x Data..:? "minAbrBitrate")+ Prelude.<*> (x Data..:? "rules" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AutomatedAbrSettings where+ hashWithSalt _salt AutomatedAbrSettings' {..} =+ _salt+ `Prelude.hashWithSalt` maxAbrBitrate+ `Prelude.hashWithSalt` maxRenditions+ `Prelude.hashWithSalt` minAbrBitrate+ `Prelude.hashWithSalt` rules++instance Prelude.NFData AutomatedAbrSettings where+ rnf AutomatedAbrSettings' {..} =+ Prelude.rnf maxAbrBitrate+ `Prelude.seq` Prelude.rnf maxRenditions+ `Prelude.seq` Prelude.rnf minAbrBitrate+ `Prelude.seq` Prelude.rnf rules++instance Data.ToJSON AutomatedAbrSettings where+ toJSON AutomatedAbrSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxAbrBitrate" Data..=) Prelude.<$> maxAbrBitrate,+ ("maxRenditions" Data..=) Prelude.<$> maxRenditions,+ ("minAbrBitrate" Data..=) Prelude.<$> minAbrBitrate,+ ("rules" Data..=) Prelude.<$> rules+ ]+ )
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AutomatedEncodingSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AutomatedEncodingSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AutomatedAbrSettings+import qualified Amazonka.Prelude as Prelude++-- | Use automated encoding to have MediaConvert choose your encoding+-- settings for you, based on characteristics of your input video.+--+-- /See:/ 'newAutomatedEncodingSettings' smart constructor.+data AutomatedEncodingSettings = AutomatedEncodingSettings'+ { -- | Use automated ABR to have MediaConvert set up the renditions in your ABR+ -- package for you automatically, based on characteristics of your input+ -- video. This feature optimizes video quality while minimizing the overall+ -- size of your ABR package.+ abrSettings :: Prelude.Maybe AutomatedAbrSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutomatedEncodingSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abrSettings', 'automatedEncodingSettings_abrSettings' - Use automated ABR to have MediaConvert set up the renditions in your ABR+-- package for you automatically, based on characteristics of your input+-- video. This feature optimizes video quality while minimizing the overall+-- size of your ABR package.+newAutomatedEncodingSettings ::+ AutomatedEncodingSettings+newAutomatedEncodingSettings =+ AutomatedEncodingSettings'+ { abrSettings =+ Prelude.Nothing+ }++-- | Use automated ABR to have MediaConvert set up the renditions in your ABR+-- package for you automatically, based on characteristics of your input+-- video. This feature optimizes video quality while minimizing the overall+-- size of your ABR package.+automatedEncodingSettings_abrSettings :: Lens.Lens' AutomatedEncodingSettings (Prelude.Maybe AutomatedAbrSettings)+automatedEncodingSettings_abrSettings = Lens.lens (\AutomatedEncodingSettings' {abrSettings} -> abrSettings) (\s@AutomatedEncodingSettings' {} a -> s {abrSettings = a} :: AutomatedEncodingSettings)++instance Data.FromJSON AutomatedEncodingSettings where+ parseJSON =+ Data.withObject+ "AutomatedEncodingSettings"+ ( \x ->+ AutomatedEncodingSettings'+ Prelude.<$> (x Data..:? "abrSettings")+ )++instance Prelude.Hashable AutomatedEncodingSettings where+ hashWithSalt _salt AutomatedEncodingSettings' {..} =+ _salt `Prelude.hashWithSalt` abrSettings++instance Prelude.NFData AutomatedEncodingSettings where+ rnf AutomatedEncodingSettings' {..} =+ Prelude.rnf abrSettings++instance Data.ToJSON AutomatedEncodingSettings where+ toJSON AutomatedEncodingSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [("abrSettings" Data..=) Prelude.<$> abrSettings]+ )
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1AdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1AdaptiveQuantization+ ( Av1AdaptiveQuantization+ ( ..,+ Av1AdaptiveQuantization_HIGH,+ Av1AdaptiveQuantization_HIGHER,+ Av1AdaptiveQuantization_LOW,+ Av1AdaptiveQuantization_MAX,+ Av1AdaptiveQuantization_MEDIUM,+ Av1AdaptiveQuantization_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the strength of any adaptive quantization filters that you+-- enable. The value that you choose here applies to Spatial adaptive+-- quantization (spatialAdaptiveQuantization).+newtype Av1AdaptiveQuantization = Av1AdaptiveQuantization'+ { fromAv1AdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Av1AdaptiveQuantization_HIGH :: Av1AdaptiveQuantization+pattern Av1AdaptiveQuantization_HIGH = Av1AdaptiveQuantization' "HIGH"++pattern Av1AdaptiveQuantization_HIGHER :: Av1AdaptiveQuantization+pattern Av1AdaptiveQuantization_HIGHER = Av1AdaptiveQuantization' "HIGHER"++pattern Av1AdaptiveQuantization_LOW :: Av1AdaptiveQuantization+pattern Av1AdaptiveQuantization_LOW = Av1AdaptiveQuantization' "LOW"++pattern Av1AdaptiveQuantization_MAX :: Av1AdaptiveQuantization+pattern Av1AdaptiveQuantization_MAX = Av1AdaptiveQuantization' "MAX"++pattern Av1AdaptiveQuantization_MEDIUM :: Av1AdaptiveQuantization+pattern Av1AdaptiveQuantization_MEDIUM = Av1AdaptiveQuantization' "MEDIUM"++pattern Av1AdaptiveQuantization_OFF :: Av1AdaptiveQuantization+pattern Av1AdaptiveQuantization_OFF = Av1AdaptiveQuantization' "OFF"++{-# COMPLETE+ Av1AdaptiveQuantization_HIGH,+ Av1AdaptiveQuantization_HIGHER,+ Av1AdaptiveQuantization_LOW,+ Av1AdaptiveQuantization_MAX,+ Av1AdaptiveQuantization_MEDIUM,+ Av1AdaptiveQuantization_OFF,+ Av1AdaptiveQuantization'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1BitDepth+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1BitDepth+ ( Av1BitDepth+ ( ..,+ Av1BitDepth_BIT_10,+ Av1BitDepth_BIT_8+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the Bit depth (Av1BitDepth). You can choose 8-bit (BIT_8) or+-- 10-bit (BIT_10).+newtype Av1BitDepth = Av1BitDepth'+ { fromAv1BitDepth ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Av1BitDepth_BIT_10 :: Av1BitDepth+pattern Av1BitDepth_BIT_10 = Av1BitDepth' "BIT_10"++pattern Av1BitDepth_BIT_8 :: Av1BitDepth+pattern Av1BitDepth_BIT_8 = Av1BitDepth' "BIT_8"++{-# COMPLETE+ Av1BitDepth_BIT_10,+ Av1BitDepth_BIT_8,+ Av1BitDepth'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1FramerateControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1FramerateControl+ ( Av1FramerateControl+ ( ..,+ Av1FramerateControl_INITIALIZE_FROM_SOURCE,+ Av1FramerateControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+newtype Av1FramerateControl = Av1FramerateControl'+ { fromAv1FramerateControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Av1FramerateControl_INITIALIZE_FROM_SOURCE :: Av1FramerateControl+pattern Av1FramerateControl_INITIALIZE_FROM_SOURCE = Av1FramerateControl' "INITIALIZE_FROM_SOURCE"++pattern Av1FramerateControl_SPECIFIED :: Av1FramerateControl+pattern Av1FramerateControl_SPECIFIED = Av1FramerateControl' "SPECIFIED"++{-# COMPLETE+ Av1FramerateControl_INITIALIZE_FROM_SOURCE,+ Av1FramerateControl_SPECIFIED,+ Av1FramerateControl'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1FramerateConversionAlgorithm+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1FramerateConversionAlgorithm+ ( Av1FramerateConversionAlgorithm+ ( ..,+ Av1FramerateConversionAlgorithm_DUPLICATE_DROP,+ Av1FramerateConversionAlgorithm_FRAMEFORMER,+ Av1FramerateConversionAlgorithm_INTERPOLATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+newtype Av1FramerateConversionAlgorithm = Av1FramerateConversionAlgorithm'+ { fromAv1FramerateConversionAlgorithm ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Av1FramerateConversionAlgorithm_DUPLICATE_DROP :: Av1FramerateConversionAlgorithm+pattern Av1FramerateConversionAlgorithm_DUPLICATE_DROP = Av1FramerateConversionAlgorithm' "DUPLICATE_DROP"++pattern Av1FramerateConversionAlgorithm_FRAMEFORMER :: Av1FramerateConversionAlgorithm+pattern Av1FramerateConversionAlgorithm_FRAMEFORMER = Av1FramerateConversionAlgorithm' "FRAMEFORMER"++pattern Av1FramerateConversionAlgorithm_INTERPOLATE :: Av1FramerateConversionAlgorithm+pattern Av1FramerateConversionAlgorithm_INTERPOLATE = Av1FramerateConversionAlgorithm' "INTERPOLATE"++{-# COMPLETE+ Av1FramerateConversionAlgorithm_DUPLICATE_DROP,+ Av1FramerateConversionAlgorithm_FRAMEFORMER,+ Av1FramerateConversionAlgorithm_INTERPOLATE,+ Av1FramerateConversionAlgorithm'+ #-}
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1QvbrSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1QvbrSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Settings for quality-defined variable bitrate encoding with the AV1+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+--+-- /See:/ 'newAv1QvbrSettings' smart constructor.+data Av1QvbrSettings = Av1QvbrSettings'+ { -- | Use this setting only when you set Rate control mode (RateControlMode)+ -- to QVBR. Specify the target quality level for this output. MediaConvert+ -- determines the right number of bits to use for each part of the video to+ -- maintain the video quality that you specify. When you keep the default+ -- value, AUTO, MediaConvert picks a quality level for you, based on+ -- characteristics of your input video. If you prefer to specify a quality+ -- level, specify a number from 1 through 10. Use higher numbers for+ -- greater quality. Level 10 results in nearly lossless compression. The+ -- quality level for most broadcast-quality transcodes is between 6 and 9.+ -- Optionally, to specify a value between whole numbers, also provide a+ -- value for the setting qvbrQualityLevelFineTune. For example, if you want+ -- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+ -- qvbrQualityLevelFineTune to .33.+ qvbrQualityLevel :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Specify a value here to set the QVBR quality to a level that+ -- is between whole numbers. For example, if you want your QVBR quality+ -- level to be 7.33, set qvbrQualityLevel to 7 and set+ -- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+ -- level to the nearest third of a whole number. For example, if you set+ -- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+ -- actual QVBR quality level is 7.33.+ qvbrQualityLevelFineTune :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Av1QvbrSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'qvbrQualityLevel', 'av1QvbrSettings_qvbrQualityLevel' - Use this setting only when you set Rate control mode (RateControlMode)+-- to QVBR. Specify the target quality level for this output. MediaConvert+-- determines the right number of bits to use for each part of the video to+-- maintain the video quality that you specify. When you keep the default+-- value, AUTO, MediaConvert picks a quality level for you, based on+-- characteristics of your input video. If you prefer to specify a quality+-- level, specify a number from 1 through 10. Use higher numbers for+-- greater quality. Level 10 results in nearly lossless compression. The+-- quality level for most broadcast-quality transcodes is between 6 and 9.+-- Optionally, to specify a value between whole numbers, also provide a+-- value for the setting qvbrQualityLevelFineTune. For example, if you want+-- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33.+--+-- 'qvbrQualityLevelFineTune', 'av1QvbrSettings_qvbrQualityLevelFineTune' - Optional. Specify a value here to set the QVBR quality to a level that+-- is between whole numbers. For example, if you want your QVBR quality+-- level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+-- level to the nearest third of a whole number. For example, if you set+-- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+-- actual QVBR quality level is 7.33.+newAv1QvbrSettings ::+ Av1QvbrSettings+newAv1QvbrSettings =+ Av1QvbrSettings'+ { qvbrQualityLevel =+ Prelude.Nothing,+ qvbrQualityLevelFineTune = Prelude.Nothing+ }++-- | Use this setting only when you set Rate control mode (RateControlMode)+-- to QVBR. Specify the target quality level for this output. MediaConvert+-- determines the right number of bits to use for each part of the video to+-- maintain the video quality that you specify. When you keep the default+-- value, AUTO, MediaConvert picks a quality level for you, based on+-- characteristics of your input video. If you prefer to specify a quality+-- level, specify a number from 1 through 10. Use higher numbers for+-- greater quality. Level 10 results in nearly lossless compression. The+-- quality level for most broadcast-quality transcodes is between 6 and 9.+-- Optionally, to specify a value between whole numbers, also provide a+-- value for the setting qvbrQualityLevelFineTune. For example, if you want+-- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33.+av1QvbrSettings_qvbrQualityLevel :: Lens.Lens' Av1QvbrSettings (Prelude.Maybe Prelude.Natural)+av1QvbrSettings_qvbrQualityLevel = Lens.lens (\Av1QvbrSettings' {qvbrQualityLevel} -> qvbrQualityLevel) (\s@Av1QvbrSettings' {} a -> s {qvbrQualityLevel = a} :: Av1QvbrSettings)++-- | Optional. Specify a value here to set the QVBR quality to a level that+-- is between whole numbers. For example, if you want your QVBR quality+-- level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+-- level to the nearest third of a whole number. For example, if you set+-- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+-- actual QVBR quality level is 7.33.+av1QvbrSettings_qvbrQualityLevelFineTune :: Lens.Lens' Av1QvbrSettings (Prelude.Maybe Prelude.Double)+av1QvbrSettings_qvbrQualityLevelFineTune = Lens.lens (\Av1QvbrSettings' {qvbrQualityLevelFineTune} -> qvbrQualityLevelFineTune) (\s@Av1QvbrSettings' {} a -> s {qvbrQualityLevelFineTune = a} :: Av1QvbrSettings)++instance Data.FromJSON Av1QvbrSettings where+ parseJSON =+ Data.withObject+ "Av1QvbrSettings"+ ( \x ->+ Av1QvbrSettings'+ Prelude.<$> (x Data..:? "qvbrQualityLevel")+ Prelude.<*> (x Data..:? "qvbrQualityLevelFineTune")+ )++instance Prelude.Hashable Av1QvbrSettings where+ hashWithSalt _salt Av1QvbrSettings' {..} =+ _salt+ `Prelude.hashWithSalt` qvbrQualityLevel+ `Prelude.hashWithSalt` qvbrQualityLevelFineTune++instance Prelude.NFData Av1QvbrSettings where+ rnf Av1QvbrSettings' {..} =+ Prelude.rnf qvbrQualityLevel+ `Prelude.seq` Prelude.rnf qvbrQualityLevelFineTune++instance Data.ToJSON Av1QvbrSettings where+ toJSON Av1QvbrSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("qvbrQualityLevel" Data..=)+ Prelude.<$> qvbrQualityLevel,+ ("qvbrQualityLevelFineTune" Data..=)+ Prelude.<$> qvbrQualityLevelFineTune+ ]+ )
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1RateControlMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1RateControlMode+ ( Av1RateControlMode+ ( ..,+ Av1RateControlMode_QVBR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | \'With AV1 outputs, for rate control mode, MediaConvert supports only+-- quality-defined variable bitrate (QVBR). You can\'\'t use CBR or VBR.\'+newtype Av1RateControlMode = Av1RateControlMode'+ { fromAv1RateControlMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Av1RateControlMode_QVBR :: Av1RateControlMode+pattern Av1RateControlMode_QVBR = Av1RateControlMode' "QVBR"++{-# COMPLETE+ Av1RateControlMode_QVBR,+ Av1RateControlMode'+ #-}
@@ -0,0 +1,449 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1Settings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1Settings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.Av1AdaptiveQuantization+import Amazonka.MediaConvert.Types.Av1BitDepth+import Amazonka.MediaConvert.Types.Av1FramerateControl+import Amazonka.MediaConvert.Types.Av1FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.Av1QvbrSettings+import Amazonka.MediaConvert.Types.Av1RateControlMode+import Amazonka.MediaConvert.Types.Av1SpatialAdaptiveQuantization+import qualified Amazonka.Prelude as Prelude++-- | Required when you set Codec, under VideoDescription>CodecSettings to the+-- value AV1.+--+-- /See:/ 'newAv1Settings' smart constructor.+data Av1Settings = Av1Settings'+ { -- | Specify the strength of any adaptive quantization filters that you+ -- enable. The value that you choose here applies to Spatial adaptive+ -- quantization (spatialAdaptiveQuantization).+ adaptiveQuantization :: Prelude.Maybe Av1AdaptiveQuantization,+ -- | Specify the Bit depth (Av1BitDepth). You can choose 8-bit (BIT_8) or+ -- 10-bit (BIT_10).+ bitDepth :: Prelude.Maybe Av1BitDepth,+ -- | If you are using the console, use the Framerate setting to specify the+ -- frame rate for this output. If you want to keep the same frame rate as+ -- the input video, choose Follow source. If you want to do frame rate+ -- conversion, choose a frame rate from the dropdown list or choose Custom.+ -- The framerates shown in the dropdown list are decimal approximations of+ -- fractions. If you choose Custom, specify your frame rate as a fraction.+ -- If you are creating your transcoding job specification as a JSON file+ -- without the console, use FramerateControl to specify which value the+ -- service uses for the frame rate for this output. Choose+ -- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+ -- from the input. Choose SPECIFIED if you want the service to use the+ -- frame rate you specify in the settings FramerateNumerator and+ -- FramerateDenominator.+ framerateControl :: Prelude.Maybe Av1FramerateControl,+ -- | Choose the method that you want MediaConvert to use when increasing or+ -- decreasing the frame rate. We recommend using drop duplicate+ -- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+ -- 30 fps. For numerically complex conversions, you can use interpolate+ -- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+ -- might introduce undesirable video artifacts. For complex frame rate+ -- conversions, especially if your source video has already been converted+ -- from its original cadence, use FrameFormer (FRAMEFORMER) to do+ -- motion-compensated interpolation. FrameFormer chooses the best+ -- conversion method frame by frame. Note that using FrameFormer increases+ -- the transcoding time and incurs a significant add-on cost.+ framerateConversionAlgorithm :: Prelude.Maybe Av1FramerateConversionAlgorithm,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateDenominator to specify the denominator of this+ -- fraction. In this example, use 1001 for the value of+ -- FramerateDenominator. When you use the console for transcode jobs that+ -- use frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateDenominator :: Prelude.Maybe Prelude.Natural,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateNumerator to specify the numerator of this+ -- fraction. In this example, use 24000 for the value of+ -- FramerateNumerator. When you use the console for transcode jobs that use+ -- frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateNumerator :: Prelude.Maybe Prelude.Natural,+ -- | Specify the GOP length (keyframe interval) in frames. With AV1,+ -- MediaConvert doesn\'t support GOP length in seconds. This value must be+ -- greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x),+ -- where x is an integer value.+ gopSize :: Prelude.Maybe Prelude.Double,+ -- | Maximum bitrate in bits\/second. For example, enter five megabits per+ -- second as 5000000. Required when Rate control mode is QVBR.+ maxBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Specify from the number of B-frames, in the range of 0-15. For AV1+ -- encoding, we recommend using 7 or 15. Choose a larger number for a lower+ -- bitrate and smaller file size; choose a smaller number for better video+ -- quality.+ numberBFramesBetweenReferenceFrames :: Prelude.Maybe Prelude.Natural,+ -- | Settings for quality-defined variable bitrate encoding with the H.265+ -- codec. Use these settings only when you set QVBR for Rate control mode+ -- (RateControlMode).+ qvbrSettings :: Prelude.Maybe Av1QvbrSettings,+ -- | \'With AV1 outputs, for rate control mode, MediaConvert supports only+ -- quality-defined variable bitrate (QVBR). You can\'\'t use CBR or VBR.\'+ rateControlMode :: Prelude.Maybe Av1RateControlMode,+ -- | Specify the number of slices per picture. This value must be 1, 2, 4, 8,+ -- 16, or 32. For progressive pictures, this value must be less than or+ -- equal to the number of macroblock rows. For interlaced pictures, this+ -- value must be less than or equal to half the number of macroblock rows.+ slices :: Prelude.Maybe Prelude.Natural,+ -- | Keep the default value, Enabled (ENABLED), to adjust quantization within+ -- each frame based on spatial variation of content complexity. When you+ -- enable this feature, the encoder uses fewer bits on areas that can+ -- sustain more distortion with no noticeable visual degradation and uses+ -- more bits on areas where any small distortion will be noticeable. For+ -- example, complex textured blocks are encoded with fewer bits and smooth+ -- textured blocks are encoded with more bits. Enabling this feature will+ -- almost always improve your video quality. Note, though, that this+ -- feature doesn\'t take into account where the viewer\'s attention is+ -- likely to be. If viewers are likely to be focusing their attention on a+ -- part of the screen with a lot of complex texture, you might choose to+ -- disable this feature. Related setting: When you enable spatial adaptive+ -- quantization, set the value for Adaptive quantization+ -- (adaptiveQuantization) depending on your content. For homogeneous+ -- content, such as cartoons and video games, set it to Low. For content+ -- with a wider variety of textures, set it to High or Higher.+ spatialAdaptiveQuantization :: Prelude.Maybe Av1SpatialAdaptiveQuantization+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Av1Settings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adaptiveQuantization', 'av1Settings_adaptiveQuantization' - Specify the strength of any adaptive quantization filters that you+-- enable. The value that you choose here applies to Spatial adaptive+-- quantization (spatialAdaptiveQuantization).+--+-- 'bitDepth', 'av1Settings_bitDepth' - Specify the Bit depth (Av1BitDepth). You can choose 8-bit (BIT_8) or+-- 10-bit (BIT_10).+--+-- 'framerateControl', 'av1Settings_framerateControl' - If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+--+-- 'framerateConversionAlgorithm', 'av1Settings_framerateConversionAlgorithm' - Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+--+-- 'framerateDenominator', 'av1Settings_framerateDenominator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'framerateNumerator', 'av1Settings_framerateNumerator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'gopSize', 'av1Settings_gopSize' - Specify the GOP length (keyframe interval) in frames. With AV1,+-- MediaConvert doesn\'t support GOP length in seconds. This value must be+-- greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x),+-- where x is an integer value.+--+-- 'maxBitrate', 'av1Settings_maxBitrate' - Maximum bitrate in bits\/second. For example, enter five megabits per+-- second as 5000000. Required when Rate control mode is QVBR.+--+-- 'numberBFramesBetweenReferenceFrames', 'av1Settings_numberBFramesBetweenReferenceFrames' - Specify from the number of B-frames, in the range of 0-15. For AV1+-- encoding, we recommend using 7 or 15. Choose a larger number for a lower+-- bitrate and smaller file size; choose a smaller number for better video+-- quality.+--+-- 'qvbrSettings', 'av1Settings_qvbrSettings' - Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+--+-- 'rateControlMode', 'av1Settings_rateControlMode' - \'With AV1 outputs, for rate control mode, MediaConvert supports only+-- quality-defined variable bitrate (QVBR). You can\'\'t use CBR or VBR.\'+--+-- 'slices', 'av1Settings_slices' - Specify the number of slices per picture. This value must be 1, 2, 4, 8,+-- 16, or 32. For progressive pictures, this value must be less than or+-- equal to the number of macroblock rows. For interlaced pictures, this+-- value must be less than or equal to half the number of macroblock rows.+--+-- 'spatialAdaptiveQuantization', 'av1Settings_spatialAdaptiveQuantization' - Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on spatial variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas that can+-- sustain more distortion with no noticeable visual degradation and uses+-- more bits on areas where any small distortion will be noticeable. For+-- example, complex textured blocks are encoded with fewer bits and smooth+-- textured blocks are encoded with more bits. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen with a lot of complex texture, you might choose to+-- disable this feature. Related setting: When you enable spatial adaptive+-- quantization, set the value for Adaptive quantization+-- (adaptiveQuantization) depending on your content. For homogeneous+-- content, such as cartoons and video games, set it to Low. For content+-- with a wider variety of textures, set it to High or Higher.+newAv1Settings ::+ Av1Settings+newAv1Settings =+ Av1Settings'+ { adaptiveQuantization =+ Prelude.Nothing,+ bitDepth = Prelude.Nothing,+ framerateControl = Prelude.Nothing,+ framerateConversionAlgorithm = Prelude.Nothing,+ framerateDenominator = Prelude.Nothing,+ framerateNumerator = Prelude.Nothing,+ gopSize = Prelude.Nothing,+ maxBitrate = Prelude.Nothing,+ numberBFramesBetweenReferenceFrames =+ Prelude.Nothing,+ qvbrSettings = Prelude.Nothing,+ rateControlMode = Prelude.Nothing,+ slices = Prelude.Nothing,+ spatialAdaptiveQuantization = Prelude.Nothing+ }++-- | Specify the strength of any adaptive quantization filters that you+-- enable. The value that you choose here applies to Spatial adaptive+-- quantization (spatialAdaptiveQuantization).+av1Settings_adaptiveQuantization :: Lens.Lens' Av1Settings (Prelude.Maybe Av1AdaptiveQuantization)+av1Settings_adaptiveQuantization = Lens.lens (\Av1Settings' {adaptiveQuantization} -> adaptiveQuantization) (\s@Av1Settings' {} a -> s {adaptiveQuantization = a} :: Av1Settings)++-- | Specify the Bit depth (Av1BitDepth). You can choose 8-bit (BIT_8) or+-- 10-bit (BIT_10).+av1Settings_bitDepth :: Lens.Lens' Av1Settings (Prelude.Maybe Av1BitDepth)+av1Settings_bitDepth = Lens.lens (\Av1Settings' {bitDepth} -> bitDepth) (\s@Av1Settings' {} a -> s {bitDepth = a} :: Av1Settings)++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+av1Settings_framerateControl :: Lens.Lens' Av1Settings (Prelude.Maybe Av1FramerateControl)+av1Settings_framerateControl = Lens.lens (\Av1Settings' {framerateControl} -> framerateControl) (\s@Av1Settings' {} a -> s {framerateControl = a} :: Av1Settings)++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+av1Settings_framerateConversionAlgorithm :: Lens.Lens' Av1Settings (Prelude.Maybe Av1FramerateConversionAlgorithm)+av1Settings_framerateConversionAlgorithm = Lens.lens (\Av1Settings' {framerateConversionAlgorithm} -> framerateConversionAlgorithm) (\s@Av1Settings' {} a -> s {framerateConversionAlgorithm = a} :: Av1Settings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+av1Settings_framerateDenominator :: Lens.Lens' Av1Settings (Prelude.Maybe Prelude.Natural)+av1Settings_framerateDenominator = Lens.lens (\Av1Settings' {framerateDenominator} -> framerateDenominator) (\s@Av1Settings' {} a -> s {framerateDenominator = a} :: Av1Settings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+av1Settings_framerateNumerator :: Lens.Lens' Av1Settings (Prelude.Maybe Prelude.Natural)+av1Settings_framerateNumerator = Lens.lens (\Av1Settings' {framerateNumerator} -> framerateNumerator) (\s@Av1Settings' {} a -> s {framerateNumerator = a} :: Av1Settings)++-- | Specify the GOP length (keyframe interval) in frames. With AV1,+-- MediaConvert doesn\'t support GOP length in seconds. This value must be+-- greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x),+-- where x is an integer value.+av1Settings_gopSize :: Lens.Lens' Av1Settings (Prelude.Maybe Prelude.Double)+av1Settings_gopSize = Lens.lens (\Av1Settings' {gopSize} -> gopSize) (\s@Av1Settings' {} a -> s {gopSize = a} :: Av1Settings)++-- | Maximum bitrate in bits\/second. For example, enter five megabits per+-- second as 5000000. Required when Rate control mode is QVBR.+av1Settings_maxBitrate :: Lens.Lens' Av1Settings (Prelude.Maybe Prelude.Natural)+av1Settings_maxBitrate = Lens.lens (\Av1Settings' {maxBitrate} -> maxBitrate) (\s@Av1Settings' {} a -> s {maxBitrate = a} :: Av1Settings)++-- | Specify from the number of B-frames, in the range of 0-15. For AV1+-- encoding, we recommend using 7 or 15. Choose a larger number for a lower+-- bitrate and smaller file size; choose a smaller number for better video+-- quality.+av1Settings_numberBFramesBetweenReferenceFrames :: Lens.Lens' Av1Settings (Prelude.Maybe Prelude.Natural)+av1Settings_numberBFramesBetweenReferenceFrames = Lens.lens (\Av1Settings' {numberBFramesBetweenReferenceFrames} -> numberBFramesBetweenReferenceFrames) (\s@Av1Settings' {} a -> s {numberBFramesBetweenReferenceFrames = a} :: Av1Settings)++-- | Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+av1Settings_qvbrSettings :: Lens.Lens' Av1Settings (Prelude.Maybe Av1QvbrSettings)+av1Settings_qvbrSettings = Lens.lens (\Av1Settings' {qvbrSettings} -> qvbrSettings) (\s@Av1Settings' {} a -> s {qvbrSettings = a} :: Av1Settings)++-- | \'With AV1 outputs, for rate control mode, MediaConvert supports only+-- quality-defined variable bitrate (QVBR). You can\'\'t use CBR or VBR.\'+av1Settings_rateControlMode :: Lens.Lens' Av1Settings (Prelude.Maybe Av1RateControlMode)+av1Settings_rateControlMode = Lens.lens (\Av1Settings' {rateControlMode} -> rateControlMode) (\s@Av1Settings' {} a -> s {rateControlMode = a} :: Av1Settings)++-- | Specify the number of slices per picture. This value must be 1, 2, 4, 8,+-- 16, or 32. For progressive pictures, this value must be less than or+-- equal to the number of macroblock rows. For interlaced pictures, this+-- value must be less than or equal to half the number of macroblock rows.+av1Settings_slices :: Lens.Lens' Av1Settings (Prelude.Maybe Prelude.Natural)+av1Settings_slices = Lens.lens (\Av1Settings' {slices} -> slices) (\s@Av1Settings' {} a -> s {slices = a} :: Av1Settings)++-- | Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on spatial variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas that can+-- sustain more distortion with no noticeable visual degradation and uses+-- more bits on areas where any small distortion will be noticeable. For+-- example, complex textured blocks are encoded with fewer bits and smooth+-- textured blocks are encoded with more bits. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen with a lot of complex texture, you might choose to+-- disable this feature. Related setting: When you enable spatial adaptive+-- quantization, set the value for Adaptive quantization+-- (adaptiveQuantization) depending on your content. For homogeneous+-- content, such as cartoons and video games, set it to Low. For content+-- with a wider variety of textures, set it to High or Higher.+av1Settings_spatialAdaptiveQuantization :: Lens.Lens' Av1Settings (Prelude.Maybe Av1SpatialAdaptiveQuantization)+av1Settings_spatialAdaptiveQuantization = Lens.lens (\Av1Settings' {spatialAdaptiveQuantization} -> spatialAdaptiveQuantization) (\s@Av1Settings' {} a -> s {spatialAdaptiveQuantization = a} :: Av1Settings)++instance Data.FromJSON Av1Settings where+ parseJSON =+ Data.withObject+ "Av1Settings"+ ( \x ->+ Av1Settings'+ Prelude.<$> (x Data..:? "adaptiveQuantization")+ Prelude.<*> (x Data..:? "bitDepth")+ Prelude.<*> (x Data..:? "framerateControl")+ Prelude.<*> (x Data..:? "framerateConversionAlgorithm")+ Prelude.<*> (x Data..:? "framerateDenominator")+ Prelude.<*> (x Data..:? "framerateNumerator")+ Prelude.<*> (x Data..:? "gopSize")+ Prelude.<*> (x Data..:? "maxBitrate")+ Prelude.<*> (x Data..:? "numberBFramesBetweenReferenceFrames")+ Prelude.<*> (x Data..:? "qvbrSettings")+ Prelude.<*> (x Data..:? "rateControlMode")+ Prelude.<*> (x Data..:? "slices")+ Prelude.<*> (x Data..:? "spatialAdaptiveQuantization")+ )++instance Prelude.Hashable Av1Settings where+ hashWithSalt _salt Av1Settings' {..} =+ _salt+ `Prelude.hashWithSalt` adaptiveQuantization+ `Prelude.hashWithSalt` bitDepth+ `Prelude.hashWithSalt` framerateControl+ `Prelude.hashWithSalt` framerateConversionAlgorithm+ `Prelude.hashWithSalt` framerateDenominator+ `Prelude.hashWithSalt` framerateNumerator+ `Prelude.hashWithSalt` gopSize+ `Prelude.hashWithSalt` maxBitrate+ `Prelude.hashWithSalt` numberBFramesBetweenReferenceFrames+ `Prelude.hashWithSalt` qvbrSettings+ `Prelude.hashWithSalt` rateControlMode+ `Prelude.hashWithSalt` slices+ `Prelude.hashWithSalt` spatialAdaptiveQuantization++instance Prelude.NFData Av1Settings where+ rnf Av1Settings' {..} =+ Prelude.rnf adaptiveQuantization+ `Prelude.seq` Prelude.rnf bitDepth+ `Prelude.seq` Prelude.rnf framerateControl+ `Prelude.seq` Prelude.rnf framerateConversionAlgorithm+ `Prelude.seq` Prelude.rnf framerateDenominator+ `Prelude.seq` Prelude.rnf framerateNumerator+ `Prelude.seq` Prelude.rnf gopSize+ `Prelude.seq` Prelude.rnf maxBitrate+ `Prelude.seq` Prelude.rnf numberBFramesBetweenReferenceFrames+ `Prelude.seq` Prelude.rnf qvbrSettings+ `Prelude.seq` Prelude.rnf rateControlMode+ `Prelude.seq` Prelude.rnf slices+ `Prelude.seq` Prelude.rnf spatialAdaptiveQuantization++instance Data.ToJSON Av1Settings where+ toJSON Av1Settings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adaptiveQuantization" Data..=)+ Prelude.<$> adaptiveQuantization,+ ("bitDepth" Data..=) Prelude.<$> bitDepth,+ ("framerateControl" Data..=)+ Prelude.<$> framerateControl,+ ("framerateConversionAlgorithm" Data..=)+ Prelude.<$> framerateConversionAlgorithm,+ ("framerateDenominator" Data..=)+ Prelude.<$> framerateDenominator,+ ("framerateNumerator" Data..=)+ Prelude.<$> framerateNumerator,+ ("gopSize" Data..=) Prelude.<$> gopSize,+ ("maxBitrate" Data..=) Prelude.<$> maxBitrate,+ ("numberBFramesBetweenReferenceFrames" Data..=)+ Prelude.<$> numberBFramesBetweenReferenceFrames,+ ("qvbrSettings" Data..=) Prelude.<$> qvbrSettings,+ ("rateControlMode" Data..=)+ Prelude.<$> rateControlMode,+ ("slices" Data..=) Prelude.<$> slices,+ ("spatialAdaptiveQuantization" Data..=)+ Prelude.<$> spatialAdaptiveQuantization+ ]+ )
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Av1SpatialAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Av1SpatialAdaptiveQuantization+ ( Av1SpatialAdaptiveQuantization+ ( ..,+ Av1SpatialAdaptiveQuantization_DISABLED,+ Av1SpatialAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on spatial variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas that can+-- sustain more distortion with no noticeable visual degradation and uses+-- more bits on areas where any small distortion will be noticeable. For+-- example, complex textured blocks are encoded with fewer bits and smooth+-- textured blocks are encoded with more bits. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen with a lot of complex texture, you might choose to+-- disable this feature. Related setting: When you enable spatial adaptive+-- quantization, set the value for Adaptive quantization+-- (adaptiveQuantization) depending on your content. For homogeneous+-- content, such as cartoons and video games, set it to Low. For content+-- with a wider variety of textures, set it to High or Higher.+newtype Av1SpatialAdaptiveQuantization = Av1SpatialAdaptiveQuantization'+ { fromAv1SpatialAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Av1SpatialAdaptiveQuantization_DISABLED :: Av1SpatialAdaptiveQuantization+pattern Av1SpatialAdaptiveQuantization_DISABLED = Av1SpatialAdaptiveQuantization' "DISABLED"++pattern Av1SpatialAdaptiveQuantization_ENABLED :: Av1SpatialAdaptiveQuantization+pattern Av1SpatialAdaptiveQuantization_ENABLED = Av1SpatialAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ Av1SpatialAdaptiveQuantization_DISABLED,+ Av1SpatialAdaptiveQuantization_ENABLED,+ Av1SpatialAdaptiveQuantization'+ #-}
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvailBlanking+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvailBlanking where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use ad avail blanking settings to specify your output content during+-- SCTE-35 triggered ad avails. You can blank your video or overlay it with+-- an image. MediaConvert also removes any audio and embedded captions+-- during the ad avail. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ad-avail-blanking.html.+--+-- /See:/ 'newAvailBlanking' smart constructor.+data AvailBlanking = AvailBlanking'+ { -- | Blanking image to be used. Leave empty for solid black. Only bmp and png+ -- images are supported.+ availBlankingImage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AvailBlanking' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availBlankingImage', 'availBlanking_availBlankingImage' - Blanking image to be used. Leave empty for solid black. Only bmp and png+-- images are supported.+newAvailBlanking ::+ AvailBlanking+newAvailBlanking =+ AvailBlanking'+ { availBlankingImage =+ Prelude.Nothing+ }++-- | Blanking image to be used. Leave empty for solid black. Only bmp and png+-- images are supported.+availBlanking_availBlankingImage :: Lens.Lens' AvailBlanking (Prelude.Maybe Prelude.Text)+availBlanking_availBlankingImage = Lens.lens (\AvailBlanking' {availBlankingImage} -> availBlankingImage) (\s@AvailBlanking' {} a -> s {availBlankingImage = a} :: AvailBlanking)++instance Data.FromJSON AvailBlanking where+ parseJSON =+ Data.withObject+ "AvailBlanking"+ ( \x ->+ AvailBlanking'+ Prelude.<$> (x Data..:? "availBlankingImage")+ )++instance Prelude.Hashable AvailBlanking where+ hashWithSalt _salt AvailBlanking' {..} =+ _salt `Prelude.hashWithSalt` availBlankingImage++instance Prelude.NFData AvailBlanking where+ rnf AvailBlanking' {..} =+ Prelude.rnf availBlankingImage++instance Data.ToJSON AvailBlanking where+ toJSON AvailBlanking' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("availBlankingImage" Data..=)+ Prelude.<$> availBlankingImage+ ]+ )
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraClass+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraClass+ ( AvcIntraClass+ ( ..,+ AvcIntraClass_CLASS_100,+ AvcIntraClass_CLASS_200,+ AvcIntraClass_CLASS_4K_2K,+ AvcIntraClass_CLASS_50+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the AVC-Intra class of your output. The AVC-Intra class+-- selection determines the output video bit rate depending on the frame+-- rate of the output. Outputs with higher class values have higher+-- bitrates and improved image quality. Note that for Class 4K\/2K,+-- MediaConvert supports only 4:2:2 chroma subsampling.+newtype AvcIntraClass = AvcIntraClass'+ { fromAvcIntraClass ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraClass_CLASS_100 :: AvcIntraClass+pattern AvcIntraClass_CLASS_100 = AvcIntraClass' "CLASS_100"++pattern AvcIntraClass_CLASS_200 :: AvcIntraClass+pattern AvcIntraClass_CLASS_200 = AvcIntraClass' "CLASS_200"++pattern AvcIntraClass_CLASS_4K_2K :: AvcIntraClass+pattern AvcIntraClass_CLASS_4K_2K = AvcIntraClass' "CLASS_4K_2K"++pattern AvcIntraClass_CLASS_50 :: AvcIntraClass+pattern AvcIntraClass_CLASS_50 = AvcIntraClass' "CLASS_50"++{-# COMPLETE+ AvcIntraClass_CLASS_100,+ AvcIntraClass_CLASS_200,+ AvcIntraClass_CLASS_4K_2K,+ AvcIntraClass_CLASS_50,+ AvcIntraClass'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraFramerateControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraFramerateControl+ ( AvcIntraFramerateControl+ ( ..,+ AvcIntraFramerateControl_INITIALIZE_FROM_SOURCE,+ AvcIntraFramerateControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+newtype AvcIntraFramerateControl = AvcIntraFramerateControl'+ { fromAvcIntraFramerateControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraFramerateControl_INITIALIZE_FROM_SOURCE :: AvcIntraFramerateControl+pattern AvcIntraFramerateControl_INITIALIZE_FROM_SOURCE = AvcIntraFramerateControl' "INITIALIZE_FROM_SOURCE"++pattern AvcIntraFramerateControl_SPECIFIED :: AvcIntraFramerateControl+pattern AvcIntraFramerateControl_SPECIFIED = AvcIntraFramerateControl' "SPECIFIED"++{-# COMPLETE+ AvcIntraFramerateControl_INITIALIZE_FROM_SOURCE,+ AvcIntraFramerateControl_SPECIFIED,+ AvcIntraFramerateControl'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraFramerateConversionAlgorithm+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraFramerateConversionAlgorithm+ ( AvcIntraFramerateConversionAlgorithm+ ( ..,+ AvcIntraFramerateConversionAlgorithm_DUPLICATE_DROP,+ AvcIntraFramerateConversionAlgorithm_FRAMEFORMER,+ AvcIntraFramerateConversionAlgorithm_INTERPOLATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+newtype AvcIntraFramerateConversionAlgorithm = AvcIntraFramerateConversionAlgorithm'+ { fromAvcIntraFramerateConversionAlgorithm ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraFramerateConversionAlgorithm_DUPLICATE_DROP :: AvcIntraFramerateConversionAlgorithm+pattern AvcIntraFramerateConversionAlgorithm_DUPLICATE_DROP = AvcIntraFramerateConversionAlgorithm' "DUPLICATE_DROP"++pattern AvcIntraFramerateConversionAlgorithm_FRAMEFORMER :: AvcIntraFramerateConversionAlgorithm+pattern AvcIntraFramerateConversionAlgorithm_FRAMEFORMER = AvcIntraFramerateConversionAlgorithm' "FRAMEFORMER"++pattern AvcIntraFramerateConversionAlgorithm_INTERPOLATE :: AvcIntraFramerateConversionAlgorithm+pattern AvcIntraFramerateConversionAlgorithm_INTERPOLATE = AvcIntraFramerateConversionAlgorithm' "INTERPOLATE"++{-# COMPLETE+ AvcIntraFramerateConversionAlgorithm_DUPLICATE_DROP,+ AvcIntraFramerateConversionAlgorithm_FRAMEFORMER,+ AvcIntraFramerateConversionAlgorithm_INTERPOLATE,+ AvcIntraFramerateConversionAlgorithm'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraInterlaceMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraInterlaceMode+ ( AvcIntraInterlaceMode+ ( ..,+ AvcIntraInterlaceMode_BOTTOM_FIELD,+ AvcIntraInterlaceMode_FOLLOW_BOTTOM_FIELD,+ AvcIntraInterlaceMode_FOLLOW_TOP_FIELD,+ AvcIntraInterlaceMode_PROGRESSIVE,+ AvcIntraInterlaceMode_TOP_FIELD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+newtype AvcIntraInterlaceMode = AvcIntraInterlaceMode'+ { fromAvcIntraInterlaceMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraInterlaceMode_BOTTOM_FIELD :: AvcIntraInterlaceMode+pattern AvcIntraInterlaceMode_BOTTOM_FIELD = AvcIntraInterlaceMode' "BOTTOM_FIELD"++pattern AvcIntraInterlaceMode_FOLLOW_BOTTOM_FIELD :: AvcIntraInterlaceMode+pattern AvcIntraInterlaceMode_FOLLOW_BOTTOM_FIELD = AvcIntraInterlaceMode' "FOLLOW_BOTTOM_FIELD"++pattern AvcIntraInterlaceMode_FOLLOW_TOP_FIELD :: AvcIntraInterlaceMode+pattern AvcIntraInterlaceMode_FOLLOW_TOP_FIELD = AvcIntraInterlaceMode' "FOLLOW_TOP_FIELD"++pattern AvcIntraInterlaceMode_PROGRESSIVE :: AvcIntraInterlaceMode+pattern AvcIntraInterlaceMode_PROGRESSIVE = AvcIntraInterlaceMode' "PROGRESSIVE"++pattern AvcIntraInterlaceMode_TOP_FIELD :: AvcIntraInterlaceMode+pattern AvcIntraInterlaceMode_TOP_FIELD = AvcIntraInterlaceMode' "TOP_FIELD"++{-# COMPLETE+ AvcIntraInterlaceMode_BOTTOM_FIELD,+ AvcIntraInterlaceMode_FOLLOW_BOTTOM_FIELD,+ AvcIntraInterlaceMode_FOLLOW_TOP_FIELD,+ AvcIntraInterlaceMode_PROGRESSIVE,+ AvcIntraInterlaceMode_TOP_FIELD,+ AvcIntraInterlaceMode'+ #-}
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraScanTypeConversionMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraScanTypeConversionMode+ ( AvcIntraScanTypeConversionMode+ ( ..,+ AvcIntraScanTypeConversionMode_INTERLACED,+ AvcIntraScanTypeConversionMode_INTERLACED_OPTIMIZE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+newtype AvcIntraScanTypeConversionMode = AvcIntraScanTypeConversionMode'+ { fromAvcIntraScanTypeConversionMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraScanTypeConversionMode_INTERLACED :: AvcIntraScanTypeConversionMode+pattern AvcIntraScanTypeConversionMode_INTERLACED = AvcIntraScanTypeConversionMode' "INTERLACED"++pattern AvcIntraScanTypeConversionMode_INTERLACED_OPTIMIZE :: AvcIntraScanTypeConversionMode+pattern AvcIntraScanTypeConversionMode_INTERLACED_OPTIMIZE = AvcIntraScanTypeConversionMode' "INTERLACED_OPTIMIZE"++{-# COMPLETE+ AvcIntraScanTypeConversionMode_INTERLACED,+ AvcIntraScanTypeConversionMode_INTERLACED_OPTIMIZE,+ AvcIntraScanTypeConversionMode'+ #-}
@@ -0,0 +1,450 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AvcIntraClass+import Amazonka.MediaConvert.Types.AvcIntraFramerateControl+import Amazonka.MediaConvert.Types.AvcIntraFramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.AvcIntraInterlaceMode+import Amazonka.MediaConvert.Types.AvcIntraScanTypeConversionMode+import Amazonka.MediaConvert.Types.AvcIntraSlowPal+import Amazonka.MediaConvert.Types.AvcIntraTelecine+import Amazonka.MediaConvert.Types.AvcIntraUhdSettings+import qualified Amazonka.Prelude as Prelude++-- | Required when you choose AVC-Intra for your output video codec. For more+-- information about the AVC-Intra settings, see the relevant+-- specification. For detailed information about SD and HD in AVC-Intra,+-- see https:\/\/ieeexplore.ieee.org\/document\/7290936. For information+-- about 4K\/2K in AVC-Intra, see+-- https:\/\/pro-av.panasonic.net\/en\/avc-ultra\/AVC-ULTRAoverview.pdf.+--+-- /See:/ 'newAvcIntraSettings' smart constructor.+data AvcIntraSettings = AvcIntraSettings'+ { -- | Specify the AVC-Intra class of your output. The AVC-Intra class+ -- selection determines the output video bit rate depending on the frame+ -- rate of the output. Outputs with higher class values have higher+ -- bitrates and improved image quality. Note that for Class 4K\/2K,+ -- MediaConvert supports only 4:2:2 chroma subsampling.+ avcIntraClass :: Prelude.Maybe AvcIntraClass,+ -- | Optional when you set AVC-Intra class (avcIntraClass) to Class 4K\/2K+ -- (CLASS_4K_2K). When you set AVC-Intra class to a different value, this+ -- object isn\'t allowed.+ avcIntraUhdSettings :: Prelude.Maybe AvcIntraUhdSettings,+ -- | If you are using the console, use the Framerate setting to specify the+ -- frame rate for this output. If you want to keep the same frame rate as+ -- the input video, choose Follow source. If you want to do frame rate+ -- conversion, choose a frame rate from the dropdown list or choose Custom.+ -- The framerates shown in the dropdown list are decimal approximations of+ -- fractions. If you choose Custom, specify your frame rate as a fraction.+ -- If you are creating your transcoding job specification as a JSON file+ -- without the console, use FramerateControl to specify which value the+ -- service uses for the frame rate for this output. Choose+ -- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+ -- from the input. Choose SPECIFIED if you want the service to use the+ -- frame rate you specify in the settings FramerateNumerator and+ -- FramerateDenominator.+ framerateControl :: Prelude.Maybe AvcIntraFramerateControl,+ -- | Choose the method that you want MediaConvert to use when increasing or+ -- decreasing the frame rate. We recommend using drop duplicate+ -- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+ -- 30 fps. For numerically complex conversions, you can use interpolate+ -- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+ -- might introduce undesirable video artifacts. For complex frame rate+ -- conversions, especially if your source video has already been converted+ -- from its original cadence, use FrameFormer (FRAMEFORMER) to do+ -- motion-compensated interpolation. FrameFormer chooses the best+ -- conversion method frame by frame. Note that using FrameFormer increases+ -- the transcoding time and incurs a significant add-on cost.+ framerateConversionAlgorithm :: Prelude.Maybe AvcIntraFramerateConversionAlgorithm,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateDenominator to specify the denominator of this+ -- fraction. In this example, use 1001 for the value of+ -- FramerateDenominator. When you use the console for transcode jobs that+ -- use frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateDenominator :: Prelude.Maybe Prelude.Natural,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateNumerator to specify the numerator of this+ -- fraction. In this example, use 24000 for the value of+ -- FramerateNumerator. When you use the console for transcode jobs that use+ -- frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateNumerator :: Prelude.Maybe Prelude.Natural,+ -- | Choose the scan line type for the output. Keep the default value,+ -- Progressive (PROGRESSIVE) to create a progressive output, regardless of+ -- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+ -- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+ -- the same field polarity throughout. Use Follow, default top+ -- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+ -- produce outputs with the same field polarity as the source. For jobs+ -- that have multiple inputs, the output field polarity might change over+ -- the course of the output. Follow behavior depends on the input scan+ -- type. If the source is interlaced, the output will be interlaced with+ -- the same polarity as the source. If the source is progressive, the+ -- output will be interlaced with top field bottom field first, depending+ -- on which of the Follow options you choose.+ interlaceMode :: Prelude.Maybe AvcIntraInterlaceMode,+ -- | Use this setting for interlaced outputs, when your output frame rate is+ -- half of your input frame rate. In this situation, choose Optimized+ -- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+ -- output. In this case, each progressive frame from the input corresponds+ -- to an interlaced field in the output. Keep the default value, Basic+ -- interlacing (INTERLACED), for all other output frame rates. With basic+ -- interlacing, MediaConvert performs any frame rate conversion first and+ -- then interlaces the frames. When you choose Optimized interlacing and+ -- you set your output frame rate to a value that isn\'t suitable for+ -- optimized interlacing, MediaConvert automatically falls back to basic+ -- interlacing. Required settings: To use optimized interlacing, you must+ -- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+ -- optimized interlacing for hard telecine outputs. You must also set+ -- Interlace mode (interlaceMode) to a value other than Progressive+ -- (PROGRESSIVE).+ scanTypeConversionMode :: Prelude.Maybe AvcIntraScanTypeConversionMode,+ -- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+ -- per second (fps). Enable slow PAL to create a 25 fps output. When you+ -- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+ -- resamples your audio to keep it synchronized with the video. Note that+ -- enabling this setting will slightly reduce the duration of your video.+ -- Required settings: You must also set Framerate to 25. In your JSON job+ -- specification, set (framerateControl) to (SPECIFIED),+ -- (framerateNumerator) to 25 and (framerateDenominator) to 1.+ slowPal :: Prelude.Maybe AvcIntraSlowPal,+ -- | When you do frame rate conversion from 23.976 frames per second (fps) to+ -- 29.97 fps, and your output scan type is interlaced, you can optionally+ -- enable hard telecine (HARD) to create a smoother picture. When you keep+ -- the default value, None (NONE), MediaConvert does a standard frame rate+ -- conversion to 29.97 without doing anything with the field polarity to+ -- create a smoother picture.+ telecine :: Prelude.Maybe AvcIntraTelecine+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AvcIntraSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'avcIntraClass', 'avcIntraSettings_avcIntraClass' - Specify the AVC-Intra class of your output. The AVC-Intra class+-- selection determines the output video bit rate depending on the frame+-- rate of the output. Outputs with higher class values have higher+-- bitrates and improved image quality. Note that for Class 4K\/2K,+-- MediaConvert supports only 4:2:2 chroma subsampling.+--+-- 'avcIntraUhdSettings', 'avcIntraSettings_avcIntraUhdSettings' - Optional when you set AVC-Intra class (avcIntraClass) to Class 4K\/2K+-- (CLASS_4K_2K). When you set AVC-Intra class to a different value, this+-- object isn\'t allowed.+--+-- 'framerateControl', 'avcIntraSettings_framerateControl' - If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+--+-- 'framerateConversionAlgorithm', 'avcIntraSettings_framerateConversionAlgorithm' - Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+--+-- 'framerateDenominator', 'avcIntraSettings_framerateDenominator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'framerateNumerator', 'avcIntraSettings_framerateNumerator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'interlaceMode', 'avcIntraSettings_interlaceMode' - Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+--+-- 'scanTypeConversionMode', 'avcIntraSettings_scanTypeConversionMode' - Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+--+-- 'slowPal', 'avcIntraSettings_slowPal' - Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+--+-- 'telecine', 'avcIntraSettings_telecine' - When you do frame rate conversion from 23.976 frames per second (fps) to+-- 29.97 fps, and your output scan type is interlaced, you can optionally+-- enable hard telecine (HARD) to create a smoother picture. When you keep+-- the default value, None (NONE), MediaConvert does a standard frame rate+-- conversion to 29.97 without doing anything with the field polarity to+-- create a smoother picture.+newAvcIntraSettings ::+ AvcIntraSettings+newAvcIntraSettings =+ AvcIntraSettings'+ { avcIntraClass = Prelude.Nothing,+ avcIntraUhdSettings = Prelude.Nothing,+ framerateControl = Prelude.Nothing,+ framerateConversionAlgorithm = Prelude.Nothing,+ framerateDenominator = Prelude.Nothing,+ framerateNumerator = Prelude.Nothing,+ interlaceMode = Prelude.Nothing,+ scanTypeConversionMode = Prelude.Nothing,+ slowPal = Prelude.Nothing,+ telecine = Prelude.Nothing+ }++-- | Specify the AVC-Intra class of your output. The AVC-Intra class+-- selection determines the output video bit rate depending on the frame+-- rate of the output. Outputs with higher class values have higher+-- bitrates and improved image quality. Note that for Class 4K\/2K,+-- MediaConvert supports only 4:2:2 chroma subsampling.+avcIntraSettings_avcIntraClass :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraClass)+avcIntraSettings_avcIntraClass = Lens.lens (\AvcIntraSettings' {avcIntraClass} -> avcIntraClass) (\s@AvcIntraSettings' {} a -> s {avcIntraClass = a} :: AvcIntraSettings)++-- | Optional when you set AVC-Intra class (avcIntraClass) to Class 4K\/2K+-- (CLASS_4K_2K). When you set AVC-Intra class to a different value, this+-- object isn\'t allowed.+avcIntraSettings_avcIntraUhdSettings :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraUhdSettings)+avcIntraSettings_avcIntraUhdSettings = Lens.lens (\AvcIntraSettings' {avcIntraUhdSettings} -> avcIntraUhdSettings) (\s@AvcIntraSettings' {} a -> s {avcIntraUhdSettings = a} :: AvcIntraSettings)++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+avcIntraSettings_framerateControl :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraFramerateControl)+avcIntraSettings_framerateControl = Lens.lens (\AvcIntraSettings' {framerateControl} -> framerateControl) (\s@AvcIntraSettings' {} a -> s {framerateControl = a} :: AvcIntraSettings)++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+avcIntraSettings_framerateConversionAlgorithm :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraFramerateConversionAlgorithm)+avcIntraSettings_framerateConversionAlgorithm = Lens.lens (\AvcIntraSettings' {framerateConversionAlgorithm} -> framerateConversionAlgorithm) (\s@AvcIntraSettings' {} a -> s {framerateConversionAlgorithm = a} :: AvcIntraSettings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+avcIntraSettings_framerateDenominator :: Lens.Lens' AvcIntraSettings (Prelude.Maybe Prelude.Natural)+avcIntraSettings_framerateDenominator = Lens.lens (\AvcIntraSettings' {framerateDenominator} -> framerateDenominator) (\s@AvcIntraSettings' {} a -> s {framerateDenominator = a} :: AvcIntraSettings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+avcIntraSettings_framerateNumerator :: Lens.Lens' AvcIntraSettings (Prelude.Maybe Prelude.Natural)+avcIntraSettings_framerateNumerator = Lens.lens (\AvcIntraSettings' {framerateNumerator} -> framerateNumerator) (\s@AvcIntraSettings' {} a -> s {framerateNumerator = a} :: AvcIntraSettings)++-- | Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+avcIntraSettings_interlaceMode :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraInterlaceMode)+avcIntraSettings_interlaceMode = Lens.lens (\AvcIntraSettings' {interlaceMode} -> interlaceMode) (\s@AvcIntraSettings' {} a -> s {interlaceMode = a} :: AvcIntraSettings)++-- | Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+avcIntraSettings_scanTypeConversionMode :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraScanTypeConversionMode)+avcIntraSettings_scanTypeConversionMode = Lens.lens (\AvcIntraSettings' {scanTypeConversionMode} -> scanTypeConversionMode) (\s@AvcIntraSettings' {} a -> s {scanTypeConversionMode = a} :: AvcIntraSettings)++-- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+avcIntraSettings_slowPal :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraSlowPal)+avcIntraSettings_slowPal = Lens.lens (\AvcIntraSettings' {slowPal} -> slowPal) (\s@AvcIntraSettings' {} a -> s {slowPal = a} :: AvcIntraSettings)++-- | When you do frame rate conversion from 23.976 frames per second (fps) to+-- 29.97 fps, and your output scan type is interlaced, you can optionally+-- enable hard telecine (HARD) to create a smoother picture. When you keep+-- the default value, None (NONE), MediaConvert does a standard frame rate+-- conversion to 29.97 without doing anything with the field polarity to+-- create a smoother picture.+avcIntraSettings_telecine :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraTelecine)+avcIntraSettings_telecine = Lens.lens (\AvcIntraSettings' {telecine} -> telecine) (\s@AvcIntraSettings' {} a -> s {telecine = a} :: AvcIntraSettings)++instance Data.FromJSON AvcIntraSettings where+ parseJSON =+ Data.withObject+ "AvcIntraSettings"+ ( \x ->+ AvcIntraSettings'+ Prelude.<$> (x Data..:? "avcIntraClass")+ Prelude.<*> (x Data..:? "avcIntraUhdSettings")+ Prelude.<*> (x Data..:? "framerateControl")+ Prelude.<*> (x Data..:? "framerateConversionAlgorithm")+ Prelude.<*> (x Data..:? "framerateDenominator")+ Prelude.<*> (x Data..:? "framerateNumerator")+ Prelude.<*> (x Data..:? "interlaceMode")+ Prelude.<*> (x Data..:? "scanTypeConversionMode")+ Prelude.<*> (x Data..:? "slowPal")+ Prelude.<*> (x Data..:? "telecine")+ )++instance Prelude.Hashable AvcIntraSettings where+ hashWithSalt _salt AvcIntraSettings' {..} =+ _salt+ `Prelude.hashWithSalt` avcIntraClass+ `Prelude.hashWithSalt` avcIntraUhdSettings+ `Prelude.hashWithSalt` framerateControl+ `Prelude.hashWithSalt` framerateConversionAlgorithm+ `Prelude.hashWithSalt` framerateDenominator+ `Prelude.hashWithSalt` framerateNumerator+ `Prelude.hashWithSalt` interlaceMode+ `Prelude.hashWithSalt` scanTypeConversionMode+ `Prelude.hashWithSalt` slowPal+ `Prelude.hashWithSalt` telecine++instance Prelude.NFData AvcIntraSettings where+ rnf AvcIntraSettings' {..} =+ Prelude.rnf avcIntraClass+ `Prelude.seq` Prelude.rnf avcIntraUhdSettings+ `Prelude.seq` Prelude.rnf framerateControl+ `Prelude.seq` Prelude.rnf framerateConversionAlgorithm+ `Prelude.seq` Prelude.rnf framerateDenominator+ `Prelude.seq` Prelude.rnf framerateNumerator+ `Prelude.seq` Prelude.rnf interlaceMode+ `Prelude.seq` Prelude.rnf scanTypeConversionMode+ `Prelude.seq` Prelude.rnf slowPal+ `Prelude.seq` Prelude.rnf telecine++instance Data.ToJSON AvcIntraSettings where+ toJSON AvcIntraSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("avcIntraClass" Data..=) Prelude.<$> avcIntraClass,+ ("avcIntraUhdSettings" Data..=)+ Prelude.<$> avcIntraUhdSettings,+ ("framerateControl" Data..=)+ Prelude.<$> framerateControl,+ ("framerateConversionAlgorithm" Data..=)+ Prelude.<$> framerateConversionAlgorithm,+ ("framerateDenominator" Data..=)+ Prelude.<$> framerateDenominator,+ ("framerateNumerator" Data..=)+ Prelude.<$> framerateNumerator,+ ("interlaceMode" Data..=) Prelude.<$> interlaceMode,+ ("scanTypeConversionMode" Data..=)+ Prelude.<$> scanTypeConversionMode,+ ("slowPal" Data..=) Prelude.<$> slowPal,+ ("telecine" Data..=) Prelude.<$> telecine+ ]+ )
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraSlowPal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraSlowPal+ ( AvcIntraSlowPal+ ( ..,+ AvcIntraSlowPal_DISABLED,+ AvcIntraSlowPal_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+newtype AvcIntraSlowPal = AvcIntraSlowPal'+ { fromAvcIntraSlowPal ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraSlowPal_DISABLED :: AvcIntraSlowPal+pattern AvcIntraSlowPal_DISABLED = AvcIntraSlowPal' "DISABLED"++pattern AvcIntraSlowPal_ENABLED :: AvcIntraSlowPal+pattern AvcIntraSlowPal_ENABLED = AvcIntraSlowPal' "ENABLED"++{-# COMPLETE+ AvcIntraSlowPal_DISABLED,+ AvcIntraSlowPal_ENABLED,+ AvcIntraSlowPal'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraTelecine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraTelecine+ ( AvcIntraTelecine+ ( ..,+ AvcIntraTelecine_HARD,+ AvcIntraTelecine_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you do frame rate conversion from 23.976 frames per second (fps) to+-- 29.97 fps, and your output scan type is interlaced, you can optionally+-- enable hard telecine (HARD) to create a smoother picture. When you keep+-- the default value, None (NONE), MediaConvert does a standard frame rate+-- conversion to 29.97 without doing anything with the field polarity to+-- create a smoother picture.+newtype AvcIntraTelecine = AvcIntraTelecine'+ { fromAvcIntraTelecine ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraTelecine_HARD :: AvcIntraTelecine+pattern AvcIntraTelecine_HARD = AvcIntraTelecine' "HARD"++pattern AvcIntraTelecine_NONE :: AvcIntraTelecine+pattern AvcIntraTelecine_NONE = AvcIntraTelecine' "NONE"++{-# COMPLETE+ AvcIntraTelecine_HARD,+ AvcIntraTelecine_NONE,+ AvcIntraTelecine'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraUhdQualityTuningLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraUhdQualityTuningLevel+ ( AvcIntraUhdQualityTuningLevel+ ( ..,+ AvcIntraUhdQualityTuningLevel_MULTI_PASS,+ AvcIntraUhdQualityTuningLevel_SINGLE_PASS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- many transcoding passes MediaConvert does with your video. When you+-- choose Multi-pass (MULTI_PASS), your video quality is better and your+-- output bitrate is more accurate. That is, the actual bitrate of your+-- output is closer to the target bitrate defined in the specification.+-- When you choose Single-pass (SINGLE_PASS), your encoding time is faster.+-- The default behavior is Single-pass (SINGLE_PASS).+newtype AvcIntraUhdQualityTuningLevel = AvcIntraUhdQualityTuningLevel'+ { fromAvcIntraUhdQualityTuningLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AvcIntraUhdQualityTuningLevel_MULTI_PASS :: AvcIntraUhdQualityTuningLevel+pattern AvcIntraUhdQualityTuningLevel_MULTI_PASS = AvcIntraUhdQualityTuningLevel' "MULTI_PASS"++pattern AvcIntraUhdQualityTuningLevel_SINGLE_PASS :: AvcIntraUhdQualityTuningLevel+pattern AvcIntraUhdQualityTuningLevel_SINGLE_PASS = AvcIntraUhdQualityTuningLevel' "SINGLE_PASS"++{-# COMPLETE+ AvcIntraUhdQualityTuningLevel_MULTI_PASS,+ AvcIntraUhdQualityTuningLevel_SINGLE_PASS,+ AvcIntraUhdQualityTuningLevel'+ #-}
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.AvcIntraUhdSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.AvcIntraUhdSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AvcIntraUhdQualityTuningLevel+import qualified Amazonka.Prelude as Prelude++-- | Optional when you set AVC-Intra class (avcIntraClass) to Class 4K\/2K+-- (CLASS_4K_2K). When you set AVC-Intra class to a different value, this+-- object isn\'t allowed.+--+-- /See:/ 'newAvcIntraUhdSettings' smart constructor.+data AvcIntraUhdSettings = AvcIntraUhdSettings'+ { -- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+ -- many transcoding passes MediaConvert does with your video. When you+ -- choose Multi-pass (MULTI_PASS), your video quality is better and your+ -- output bitrate is more accurate. That is, the actual bitrate of your+ -- output is closer to the target bitrate defined in the specification.+ -- When you choose Single-pass (SINGLE_PASS), your encoding time is faster.+ -- The default behavior is Single-pass (SINGLE_PASS).+ qualityTuningLevel :: Prelude.Maybe AvcIntraUhdQualityTuningLevel+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AvcIntraUhdSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'qualityTuningLevel', 'avcIntraUhdSettings_qualityTuningLevel' - Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- many transcoding passes MediaConvert does with your video. When you+-- choose Multi-pass (MULTI_PASS), your video quality is better and your+-- output bitrate is more accurate. That is, the actual bitrate of your+-- output is closer to the target bitrate defined in the specification.+-- When you choose Single-pass (SINGLE_PASS), your encoding time is faster.+-- The default behavior is Single-pass (SINGLE_PASS).+newAvcIntraUhdSettings ::+ AvcIntraUhdSettings+newAvcIntraUhdSettings =+ AvcIntraUhdSettings'+ { qualityTuningLevel =+ Prelude.Nothing+ }++-- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- many transcoding passes MediaConvert does with your video. When you+-- choose Multi-pass (MULTI_PASS), your video quality is better and your+-- output bitrate is more accurate. That is, the actual bitrate of your+-- output is closer to the target bitrate defined in the specification.+-- When you choose Single-pass (SINGLE_PASS), your encoding time is faster.+-- The default behavior is Single-pass (SINGLE_PASS).+avcIntraUhdSettings_qualityTuningLevel :: Lens.Lens' AvcIntraUhdSettings (Prelude.Maybe AvcIntraUhdQualityTuningLevel)+avcIntraUhdSettings_qualityTuningLevel = Lens.lens (\AvcIntraUhdSettings' {qualityTuningLevel} -> qualityTuningLevel) (\s@AvcIntraUhdSettings' {} a -> s {qualityTuningLevel = a} :: AvcIntraUhdSettings)++instance Data.FromJSON AvcIntraUhdSettings where+ parseJSON =+ Data.withObject+ "AvcIntraUhdSettings"+ ( \x ->+ AvcIntraUhdSettings'+ Prelude.<$> (x Data..:? "qualityTuningLevel")+ )++instance Prelude.Hashable AvcIntraUhdSettings where+ hashWithSalt _salt AvcIntraUhdSettings' {..} =+ _salt `Prelude.hashWithSalt` qualityTuningLevel++instance Prelude.NFData AvcIntraUhdSettings where+ rnf AvcIntraUhdSettings' {..} =+ Prelude.rnf qualityTuningLevel++instance Data.ToJSON AvcIntraUhdSettings where+ toJSON AvcIntraUhdSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("qualityTuningLevel" Data..=)+ Prelude.<$> qualityTuningLevel+ ]+ )
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BillingTagsSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BillingTagsSource+ ( BillingTagsSource+ ( ..,+ BillingTagsSource_JOB,+ BillingTagsSource_JOB_TEMPLATE,+ BillingTagsSource_PRESET,+ BillingTagsSource_QUEUE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The tag type that AWS Billing and Cost Management will use to sort your+-- AWS Elemental MediaConvert costs on any billing report that you set up.+newtype BillingTagsSource = BillingTagsSource'+ { fromBillingTagsSource ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BillingTagsSource_JOB :: BillingTagsSource+pattern BillingTagsSource_JOB = BillingTagsSource' "JOB"++pattern BillingTagsSource_JOB_TEMPLATE :: BillingTagsSource+pattern BillingTagsSource_JOB_TEMPLATE = BillingTagsSource' "JOB_TEMPLATE"++pattern BillingTagsSource_PRESET :: BillingTagsSource+pattern BillingTagsSource_PRESET = BillingTagsSource' "PRESET"++pattern BillingTagsSource_QUEUE :: BillingTagsSource+pattern BillingTagsSource_QUEUE = BillingTagsSource' "QUEUE"++{-# COMPLETE+ BillingTagsSource_JOB,+ BillingTagsSource_JOB_TEMPLATE,+ BillingTagsSource_PRESET,+ BillingTagsSource_QUEUE,+ BillingTagsSource'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurnInSubtitleStylePassthrough+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurnInSubtitleStylePassthrough+ ( BurnInSubtitleStylePassthrough+ ( ..,+ BurnInSubtitleStylePassthrough_DISABLED,+ BurnInSubtitleStylePassthrough_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Set Style passthrough (StylePassthrough) to ENABLED to use the available+-- style, color, and position information from your input captions.+-- MediaConvert uses default settings for any missing style and position+-- information in your input captions. Set Style passthrough to DISABLED,+-- or leave blank, to ignore the style and position information from your+-- input captions and use default settings: white text with black+-- outlining, bottom-center positioning, and automatic sizing. Whether you+-- set Style passthrough to enabled or not, you can also choose to manually+-- override any of the individual style and position settings.+newtype BurnInSubtitleStylePassthrough = BurnInSubtitleStylePassthrough'+ { fromBurnInSubtitleStylePassthrough ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurnInSubtitleStylePassthrough_DISABLED :: BurnInSubtitleStylePassthrough+pattern BurnInSubtitleStylePassthrough_DISABLED = BurnInSubtitleStylePassthrough' "DISABLED"++pattern BurnInSubtitleStylePassthrough_ENABLED :: BurnInSubtitleStylePassthrough+pattern BurnInSubtitleStylePassthrough_ENABLED = BurnInSubtitleStylePassthrough' "ENABLED"++{-# COMPLETE+ BurnInSubtitleStylePassthrough_DISABLED,+ BurnInSubtitleStylePassthrough_ENABLED,+ BurnInSubtitleStylePassthrough'+ #-}
@@ -0,0 +1,610 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninDestinationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninDestinationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.BurnInSubtitleStylePassthrough+import Amazonka.MediaConvert.Types.BurninSubtitleAlignment+import Amazonka.MediaConvert.Types.BurninSubtitleApplyFontColor+import Amazonka.MediaConvert.Types.BurninSubtitleBackgroundColor+import Amazonka.MediaConvert.Types.BurninSubtitleFallbackFont+import Amazonka.MediaConvert.Types.BurninSubtitleFontColor+import Amazonka.MediaConvert.Types.BurninSubtitleOutlineColor+import Amazonka.MediaConvert.Types.BurninSubtitleShadowColor+import Amazonka.MediaConvert.Types.BurninSubtitleTeletextSpacing+import Amazonka.MediaConvert.Types.FontScript+import qualified Amazonka.Prelude as Prelude++-- | Burn-in is a captions delivery method, rather than a captions format.+-- Burn-in writes the captions directly on your video frames, replacing+-- pixels of video content with the captions. Set up burn-in captions in+-- the same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/burn-in-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- BURN_IN.+--+-- /See:/ 'newBurninDestinationSettings' smart constructor.+data BurninDestinationSettings = BurninDestinationSettings'+ { -- | Specify the alignment of your captions. If no explicit x_position is+ -- provided, setting alignment to centered will placethe captions at the+ -- bottom center of the output. Similarly, setting a left alignment+ -- willalign captions to the bottom left of the output. If x and y+ -- positions are given in conjunction with the alignment parameter, the+ -- font will be justified (either left or centered) relative to those+ -- coordinates.+ alignment :: Prelude.Maybe BurninSubtitleAlignment,+ -- | Ignore this setting unless Style passthrough (StylePassthrough) is set+ -- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+ -- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+ -- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+ -- leave blank, your font color setting only applies to white text in your+ -- input captions. For example, if your font color setting is Yellow, and+ -- your input captions have red and white text, your output captions will+ -- have red and yellow text. When you choose ALL_TEXT, your font color+ -- setting applies to all of your output captions text.+ applyFontColor :: Prelude.Maybe BurninSubtitleApplyFontColor,+ -- | Specify the color of the rectangle behind the captions. Leave background+ -- color (BackgroundColor) blank and set Style passthrough+ -- (StylePassthrough) to enabled to use the background color data from your+ -- input captions, if present.+ backgroundColor :: Prelude.Maybe BurninSubtitleBackgroundColor,+ -- | Specify the opacity of the background rectangle. Enter a value from 0 to+ -- 255, where 0 is transparent and 255 is opaque. If Style passthrough+ -- (StylePassthrough) is set to enabled, leave blank to pass through the+ -- background style information in your input captions to your output+ -- captions. If Style passthrough is set to disabled, leave blank to use a+ -- value of 0 and remove all backgrounds from your output captions.+ backgroundOpacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify the font that you want the service to use for your burn in+ -- captions when your input captions specify a font that MediaConvert+ -- doesn\'t support. When you set Fallback font (FallbackFont) to best+ -- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+ -- that most closely matches the font that your input captions specify.+ -- When there are multiple unsupported fonts in your input captions,+ -- MediaConvert matches each font with the supported font that matches+ -- best. When you explicitly choose a replacement font, MediaConvert uses+ -- that font to replace all unsupported fonts from your input.+ fallbackFont :: Prelude.Maybe BurninSubtitleFallbackFont,+ -- | Specify the color of the burned-in captions text. Leave Font color+ -- (FontColor) blank and set Style passthrough (StylePassthrough) to+ -- enabled to use the font color data from your input captions, if present.+ fontColor :: Prelude.Maybe BurninSubtitleFontColor,+ -- | Specify the opacity of the burned-in captions. 255 is opaque; 0 is+ -- transparent.+ fontOpacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify the Font resolution (FontResolution) in DPI (dots per inch).+ fontResolution :: Prelude.Maybe Prelude.Natural,+ -- | Set Font script (FontScript) to Automatically determined (AUTOMATIC), or+ -- leave blank, to automatically determine the font script in your input+ -- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional+ -- Chinese (HANT) if your input font script uses Simplified or Traditional+ -- Chinese.+ fontScript :: Prelude.Maybe FontScript,+ -- | Specify the Font size (FontSize) in pixels. Must be a positive integer.+ -- Set to 0, or leave blank, for automatic font size.+ fontSize :: Prelude.Maybe Prelude.Natural,+ -- | Ignore this setting unless your Font color is set to Hex. Enter either+ -- six or eight hexidecimal digits, representing red, green, and blue, with+ -- two optional extra digits for alpha. For example a value of 1122AABB is+ -- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an+ -- alpha value of 0xBB.+ hexFontColor :: Prelude.Maybe Prelude.Text,+ -- | Specify font outline color. Leave Outline color (OutlineColor) blank and+ -- set Style passthrough (StylePassthrough) to enabled to use the font+ -- outline color data from your input captions, if present.+ outlineColor :: Prelude.Maybe BurninSubtitleOutlineColor,+ -- | Specify the Outline size (OutlineSize) of the caption text, in pixels.+ -- Leave Outline size blank and set Style passthrough (StylePassthrough) to+ -- enabled to use the outline size data from your input captions, if+ -- present.+ outlineSize :: Prelude.Maybe Prelude.Natural,+ -- | Specify the color of the shadow cast by the captions. Leave Shadow color+ -- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+ -- enabled to use the shadow color data from your input captions, if+ -- present.+ shadowColor :: Prelude.Maybe BurninSubtitleShadowColor,+ -- | Specify the opacity of the shadow. Enter a value from 0 to 255, where 0+ -- is transparent and 255 is opaque. If Style passthrough+ -- (StylePassthrough) is set to Enabled, leave Shadow opacity+ -- (ShadowOpacity) blank to pass through the shadow style information in+ -- your input captions to your output captions. If Style passthrough is set+ -- to disabled, leave blank to use a value of 0 and remove all shadows from+ -- your output captions.+ shadowOpacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify the horizontal offset of the shadow, relative to the captions in+ -- pixels. A value of -2 would result in a shadow offset 2 pixels to the+ -- left.+ shadowXOffset :: Prelude.Maybe Prelude.Int,+ -- | Specify the vertical offset of the shadow relative to the captions in+ -- pixels. A value of -2 would result in a shadow offset 2 pixels above the+ -- text. Leave Shadow y-offset (ShadowYOffset) blank and set Style+ -- passthrough (StylePassthrough) to enabled to use the shadow y-offset+ -- data from your input captions, if present.+ shadowYOffset :: Prelude.Maybe Prelude.Int,+ -- | Set Style passthrough (StylePassthrough) to ENABLED to use the available+ -- style, color, and position information from your input captions.+ -- MediaConvert uses default settings for any missing style and position+ -- information in your input captions. Set Style passthrough to DISABLED,+ -- or leave blank, to ignore the style and position information from your+ -- input captions and use default settings: white text with black+ -- outlining, bottom-center positioning, and automatic sizing. Whether you+ -- set Style passthrough to enabled or not, you can also choose to manually+ -- override any of the individual style and position settings.+ stylePassthrough :: Prelude.Maybe BurnInSubtitleStylePassthrough,+ -- | Specify whether the text spacing (TeletextSpacing) in your captions is+ -- set by the captions grid, or varies depending on letter width. Choose+ -- fixed grid (FIXED_GRID) to conform to the spacing specified in the+ -- captions file more accurately. Choose proportional (PROPORTIONAL) to+ -- make the text easier to read for closed captions.+ teletextSpacing :: Prelude.Maybe BurninSubtitleTeletextSpacing,+ -- | Specify the horizontal position (XPosition) of the captions, relative to+ -- the left side of the output in pixels. A value of 10 would result in the+ -- captions starting 10 pixels from the left of the output. If no explicit+ -- x_position is provided, the horizontal caption position will be+ -- determined by the alignment parameter.+ xPosition :: Prelude.Maybe Prelude.Natural,+ -- | Specify the vertical position (YPosition) of the captions, relative to+ -- the top of the output in pixels. A value of 10 would result in the+ -- captions starting 10 pixels from the top of the output. If no explicit+ -- y_position is provided, the caption will be positioned towards the+ -- bottom of the output.+ yPosition :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BurninDestinationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alignment', 'burninDestinationSettings_alignment' - Specify the alignment of your captions. If no explicit x_position is+-- provided, setting alignment to centered will placethe captions at the+-- bottom center of the output. Similarly, setting a left alignment+-- willalign captions to the bottom left of the output. If x and y+-- positions are given in conjunction with the alignment parameter, the+-- font will be justified (either left or centered) relative to those+-- coordinates.+--+-- 'applyFontColor', 'burninDestinationSettings_applyFontColor' - Ignore this setting unless Style passthrough (StylePassthrough) is set+-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+-- leave blank, your font color setting only applies to white text in your+-- input captions. For example, if your font color setting is Yellow, and+-- your input captions have red and white text, your output captions will+-- have red and yellow text. When you choose ALL_TEXT, your font color+-- setting applies to all of your output captions text.+--+-- 'backgroundColor', 'burninDestinationSettings_backgroundColor' - Specify the color of the rectangle behind the captions. Leave background+-- color (BackgroundColor) blank and set Style passthrough+-- (StylePassthrough) to enabled to use the background color data from your+-- input captions, if present.+--+-- 'backgroundOpacity', 'burninDestinationSettings_backgroundOpacity' - Specify the opacity of the background rectangle. Enter a value from 0 to+-- 255, where 0 is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to enabled, leave blank to pass through the+-- background style information in your input captions to your output+-- captions. If Style passthrough is set to disabled, leave blank to use a+-- value of 0 and remove all backgrounds from your output captions.+--+-- 'fallbackFont', 'burninDestinationSettings_fallbackFont' - Specify the font that you want the service to use for your burn in+-- captions when your input captions specify a font that MediaConvert+-- doesn\'t support. When you set Fallback font (FallbackFont) to best+-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+-- that most closely matches the font that your input captions specify.+-- When there are multiple unsupported fonts in your input captions,+-- MediaConvert matches each font with the supported font that matches+-- best. When you explicitly choose a replacement font, MediaConvert uses+-- that font to replace all unsupported fonts from your input.+--+-- 'fontColor', 'burninDestinationSettings_fontColor' - Specify the color of the burned-in captions text. Leave Font color+-- (FontColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the font color data from your input captions, if present.+--+-- 'fontOpacity', 'burninDestinationSettings_fontOpacity' - Specify the opacity of the burned-in captions. 255 is opaque; 0 is+-- transparent.+--+-- 'fontResolution', 'burninDestinationSettings_fontResolution' - Specify the Font resolution (FontResolution) in DPI (dots per inch).+--+-- 'fontScript', 'burninDestinationSettings_fontScript' - Set Font script (FontScript) to Automatically determined (AUTOMATIC), or+-- leave blank, to automatically determine the font script in your input+-- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional+-- Chinese (HANT) if your input font script uses Simplified or Traditional+-- Chinese.+--+-- 'fontSize', 'burninDestinationSettings_fontSize' - Specify the Font size (FontSize) in pixels. Must be a positive integer.+-- Set to 0, or leave blank, for automatic font size.+--+-- 'hexFontColor', 'burninDestinationSettings_hexFontColor' - Ignore this setting unless your Font color is set to Hex. Enter either+-- six or eight hexidecimal digits, representing red, green, and blue, with+-- two optional extra digits for alpha. For example a value of 1122AABB is+-- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an+-- alpha value of 0xBB.+--+-- 'outlineColor', 'burninDestinationSettings_outlineColor' - Specify font outline color. Leave Outline color (OutlineColor) blank and+-- set Style passthrough (StylePassthrough) to enabled to use the font+-- outline color data from your input captions, if present.+--+-- 'outlineSize', 'burninDestinationSettings_outlineSize' - Specify the Outline size (OutlineSize) of the caption text, in pixels.+-- Leave Outline size blank and set Style passthrough (StylePassthrough) to+-- enabled to use the outline size data from your input captions, if+-- present.+--+-- 'shadowColor', 'burninDestinationSettings_shadowColor' - Specify the color of the shadow cast by the captions. Leave Shadow color+-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the shadow color data from your input captions, if+-- present.+--+-- 'shadowOpacity', 'burninDestinationSettings_shadowOpacity' - Specify the opacity of the shadow. Enter a value from 0 to 255, where 0+-- is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to Enabled, leave Shadow opacity+-- (ShadowOpacity) blank to pass through the shadow style information in+-- your input captions to your output captions. If Style passthrough is set+-- to disabled, leave blank to use a value of 0 and remove all shadows from+-- your output captions.+--+-- 'shadowXOffset', 'burninDestinationSettings_shadowXOffset' - Specify the horizontal offset of the shadow, relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels to the+-- left.+--+-- 'shadowYOffset', 'burninDestinationSettings_shadowYOffset' - Specify the vertical offset of the shadow relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels above the+-- text. Leave Shadow y-offset (ShadowYOffset) blank and set Style+-- passthrough (StylePassthrough) to enabled to use the shadow y-offset+-- data from your input captions, if present.+--+-- 'stylePassthrough', 'burninDestinationSettings_stylePassthrough' - Set Style passthrough (StylePassthrough) to ENABLED to use the available+-- style, color, and position information from your input captions.+-- MediaConvert uses default settings for any missing style and position+-- information in your input captions. Set Style passthrough to DISABLED,+-- or leave blank, to ignore the style and position information from your+-- input captions and use default settings: white text with black+-- outlining, bottom-center positioning, and automatic sizing. Whether you+-- set Style passthrough to enabled or not, you can also choose to manually+-- override any of the individual style and position settings.+--+-- 'teletextSpacing', 'burninDestinationSettings_teletextSpacing' - Specify whether the text spacing (TeletextSpacing) in your captions is+-- set by the captions grid, or varies depending on letter width. Choose+-- fixed grid (FIXED_GRID) to conform to the spacing specified in the+-- captions file more accurately. Choose proportional (PROPORTIONAL) to+-- make the text easier to read for closed captions.+--+-- 'xPosition', 'burninDestinationSettings_xPosition' - Specify the horizontal position (XPosition) of the captions, relative to+-- the left side of the output in pixels. A value of 10 would result in the+-- captions starting 10 pixels from the left of the output. If no explicit+-- x_position is provided, the horizontal caption position will be+-- determined by the alignment parameter.+--+-- 'yPosition', 'burninDestinationSettings_yPosition' - Specify the vertical position (YPosition) of the captions, relative to+-- the top of the output in pixels. A value of 10 would result in the+-- captions starting 10 pixels from the top of the output. If no explicit+-- y_position is provided, the caption will be positioned towards the+-- bottom of the output.+newBurninDestinationSettings ::+ BurninDestinationSettings+newBurninDestinationSettings =+ BurninDestinationSettings'+ { alignment =+ Prelude.Nothing,+ applyFontColor = Prelude.Nothing,+ backgroundColor = Prelude.Nothing,+ backgroundOpacity = Prelude.Nothing,+ fallbackFont = Prelude.Nothing,+ fontColor = Prelude.Nothing,+ fontOpacity = Prelude.Nothing,+ fontResolution = Prelude.Nothing,+ fontScript = Prelude.Nothing,+ fontSize = Prelude.Nothing,+ hexFontColor = Prelude.Nothing,+ outlineColor = Prelude.Nothing,+ outlineSize = Prelude.Nothing,+ shadowColor = Prelude.Nothing,+ shadowOpacity = Prelude.Nothing,+ shadowXOffset = Prelude.Nothing,+ shadowYOffset = Prelude.Nothing,+ stylePassthrough = Prelude.Nothing,+ teletextSpacing = Prelude.Nothing,+ xPosition = Prelude.Nothing,+ yPosition = Prelude.Nothing+ }++-- | Specify the alignment of your captions. If no explicit x_position is+-- provided, setting alignment to centered will placethe captions at the+-- bottom center of the output. Similarly, setting a left alignment+-- willalign captions to the bottom left of the output. If x and y+-- positions are given in conjunction with the alignment parameter, the+-- font will be justified (either left or centered) relative to those+-- coordinates.+burninDestinationSettings_alignment :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleAlignment)+burninDestinationSettings_alignment = Lens.lens (\BurninDestinationSettings' {alignment} -> alignment) (\s@BurninDestinationSettings' {} a -> s {alignment = a} :: BurninDestinationSettings)++-- | Ignore this setting unless Style passthrough (StylePassthrough) is set+-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+-- leave blank, your font color setting only applies to white text in your+-- input captions. For example, if your font color setting is Yellow, and+-- your input captions have red and white text, your output captions will+-- have red and yellow text. When you choose ALL_TEXT, your font color+-- setting applies to all of your output captions text.+burninDestinationSettings_applyFontColor :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleApplyFontColor)+burninDestinationSettings_applyFontColor = Lens.lens (\BurninDestinationSettings' {applyFontColor} -> applyFontColor) (\s@BurninDestinationSettings' {} a -> s {applyFontColor = a} :: BurninDestinationSettings)++-- | Specify the color of the rectangle behind the captions. Leave background+-- color (BackgroundColor) blank and set Style passthrough+-- (StylePassthrough) to enabled to use the background color data from your+-- input captions, if present.+burninDestinationSettings_backgroundColor :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleBackgroundColor)+burninDestinationSettings_backgroundColor = Lens.lens (\BurninDestinationSettings' {backgroundColor} -> backgroundColor) (\s@BurninDestinationSettings' {} a -> s {backgroundColor = a} :: BurninDestinationSettings)++-- | Specify the opacity of the background rectangle. Enter a value from 0 to+-- 255, where 0 is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to enabled, leave blank to pass through the+-- background style information in your input captions to your output+-- captions. If Style passthrough is set to disabled, leave blank to use a+-- value of 0 and remove all backgrounds from your output captions.+burninDestinationSettings_backgroundOpacity :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_backgroundOpacity = Lens.lens (\BurninDestinationSettings' {backgroundOpacity} -> backgroundOpacity) (\s@BurninDestinationSettings' {} a -> s {backgroundOpacity = a} :: BurninDestinationSettings)++-- | Specify the font that you want the service to use for your burn in+-- captions when your input captions specify a font that MediaConvert+-- doesn\'t support. When you set Fallback font (FallbackFont) to best+-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+-- that most closely matches the font that your input captions specify.+-- When there are multiple unsupported fonts in your input captions,+-- MediaConvert matches each font with the supported font that matches+-- best. When you explicitly choose a replacement font, MediaConvert uses+-- that font to replace all unsupported fonts from your input.+burninDestinationSettings_fallbackFont :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleFallbackFont)+burninDestinationSettings_fallbackFont = Lens.lens (\BurninDestinationSettings' {fallbackFont} -> fallbackFont) (\s@BurninDestinationSettings' {} a -> s {fallbackFont = a} :: BurninDestinationSettings)++-- | Specify the color of the burned-in captions text. Leave Font color+-- (FontColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the font color data from your input captions, if present.+burninDestinationSettings_fontColor :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleFontColor)+burninDestinationSettings_fontColor = Lens.lens (\BurninDestinationSettings' {fontColor} -> fontColor) (\s@BurninDestinationSettings' {} a -> s {fontColor = a} :: BurninDestinationSettings)++-- | Specify the opacity of the burned-in captions. 255 is opaque; 0 is+-- transparent.+burninDestinationSettings_fontOpacity :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_fontOpacity = Lens.lens (\BurninDestinationSettings' {fontOpacity} -> fontOpacity) (\s@BurninDestinationSettings' {} a -> s {fontOpacity = a} :: BurninDestinationSettings)++-- | Specify the Font resolution (FontResolution) in DPI (dots per inch).+burninDestinationSettings_fontResolution :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_fontResolution = Lens.lens (\BurninDestinationSettings' {fontResolution} -> fontResolution) (\s@BurninDestinationSettings' {} a -> s {fontResolution = a} :: BurninDestinationSettings)++-- | Set Font script (FontScript) to Automatically determined (AUTOMATIC), or+-- leave blank, to automatically determine the font script in your input+-- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional+-- Chinese (HANT) if your input font script uses Simplified or Traditional+-- Chinese.+burninDestinationSettings_fontScript :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe FontScript)+burninDestinationSettings_fontScript = Lens.lens (\BurninDestinationSettings' {fontScript} -> fontScript) (\s@BurninDestinationSettings' {} a -> s {fontScript = a} :: BurninDestinationSettings)++-- | Specify the Font size (FontSize) in pixels. Must be a positive integer.+-- Set to 0, or leave blank, for automatic font size.+burninDestinationSettings_fontSize :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_fontSize = Lens.lens (\BurninDestinationSettings' {fontSize} -> fontSize) (\s@BurninDestinationSettings' {} a -> s {fontSize = a} :: BurninDestinationSettings)++-- | Ignore this setting unless your Font color is set to Hex. Enter either+-- six or eight hexidecimal digits, representing red, green, and blue, with+-- two optional extra digits for alpha. For example a value of 1122AABB is+-- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an+-- alpha value of 0xBB.+burninDestinationSettings_hexFontColor :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Text)+burninDestinationSettings_hexFontColor = Lens.lens (\BurninDestinationSettings' {hexFontColor} -> hexFontColor) (\s@BurninDestinationSettings' {} a -> s {hexFontColor = a} :: BurninDestinationSettings)++-- | Specify font outline color. Leave Outline color (OutlineColor) blank and+-- set Style passthrough (StylePassthrough) to enabled to use the font+-- outline color data from your input captions, if present.+burninDestinationSettings_outlineColor :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleOutlineColor)+burninDestinationSettings_outlineColor = Lens.lens (\BurninDestinationSettings' {outlineColor} -> outlineColor) (\s@BurninDestinationSettings' {} a -> s {outlineColor = a} :: BurninDestinationSettings)++-- | Specify the Outline size (OutlineSize) of the caption text, in pixels.+-- Leave Outline size blank and set Style passthrough (StylePassthrough) to+-- enabled to use the outline size data from your input captions, if+-- present.+burninDestinationSettings_outlineSize :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_outlineSize = Lens.lens (\BurninDestinationSettings' {outlineSize} -> outlineSize) (\s@BurninDestinationSettings' {} a -> s {outlineSize = a} :: BurninDestinationSettings)++-- | Specify the color of the shadow cast by the captions. Leave Shadow color+-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the shadow color data from your input captions, if+-- present.+burninDestinationSettings_shadowColor :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleShadowColor)+burninDestinationSettings_shadowColor = Lens.lens (\BurninDestinationSettings' {shadowColor} -> shadowColor) (\s@BurninDestinationSettings' {} a -> s {shadowColor = a} :: BurninDestinationSettings)++-- | Specify the opacity of the shadow. Enter a value from 0 to 255, where 0+-- is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to Enabled, leave Shadow opacity+-- (ShadowOpacity) blank to pass through the shadow style information in+-- your input captions to your output captions. If Style passthrough is set+-- to disabled, leave blank to use a value of 0 and remove all shadows from+-- your output captions.+burninDestinationSettings_shadowOpacity :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_shadowOpacity = Lens.lens (\BurninDestinationSettings' {shadowOpacity} -> shadowOpacity) (\s@BurninDestinationSettings' {} a -> s {shadowOpacity = a} :: BurninDestinationSettings)++-- | Specify the horizontal offset of the shadow, relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels to the+-- left.+burninDestinationSettings_shadowXOffset :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Int)+burninDestinationSettings_shadowXOffset = Lens.lens (\BurninDestinationSettings' {shadowXOffset} -> shadowXOffset) (\s@BurninDestinationSettings' {} a -> s {shadowXOffset = a} :: BurninDestinationSettings)++-- | Specify the vertical offset of the shadow relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels above the+-- text. Leave Shadow y-offset (ShadowYOffset) blank and set Style+-- passthrough (StylePassthrough) to enabled to use the shadow y-offset+-- data from your input captions, if present.+burninDestinationSettings_shadowYOffset :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Int)+burninDestinationSettings_shadowYOffset = Lens.lens (\BurninDestinationSettings' {shadowYOffset} -> shadowYOffset) (\s@BurninDestinationSettings' {} a -> s {shadowYOffset = a} :: BurninDestinationSettings)++-- | Set Style passthrough (StylePassthrough) to ENABLED to use the available+-- style, color, and position information from your input captions.+-- MediaConvert uses default settings for any missing style and position+-- information in your input captions. Set Style passthrough to DISABLED,+-- or leave blank, to ignore the style and position information from your+-- input captions and use default settings: white text with black+-- outlining, bottom-center positioning, and automatic sizing. Whether you+-- set Style passthrough to enabled or not, you can also choose to manually+-- override any of the individual style and position settings.+burninDestinationSettings_stylePassthrough :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurnInSubtitleStylePassthrough)+burninDestinationSettings_stylePassthrough = Lens.lens (\BurninDestinationSettings' {stylePassthrough} -> stylePassthrough) (\s@BurninDestinationSettings' {} a -> s {stylePassthrough = a} :: BurninDestinationSettings)++-- | Specify whether the text spacing (TeletextSpacing) in your captions is+-- set by the captions grid, or varies depending on letter width. Choose+-- fixed grid (FIXED_GRID) to conform to the spacing specified in the+-- captions file more accurately. Choose proportional (PROPORTIONAL) to+-- make the text easier to read for closed captions.+burninDestinationSettings_teletextSpacing :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe BurninSubtitleTeletextSpacing)+burninDestinationSettings_teletextSpacing = Lens.lens (\BurninDestinationSettings' {teletextSpacing} -> teletextSpacing) (\s@BurninDestinationSettings' {} a -> s {teletextSpacing = a} :: BurninDestinationSettings)++-- | Specify the horizontal position (XPosition) of the captions, relative to+-- the left side of the output in pixels. A value of 10 would result in the+-- captions starting 10 pixels from the left of the output. If no explicit+-- x_position is provided, the horizontal caption position will be+-- determined by the alignment parameter.+burninDestinationSettings_xPosition :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_xPosition = Lens.lens (\BurninDestinationSettings' {xPosition} -> xPosition) (\s@BurninDestinationSettings' {} a -> s {xPosition = a} :: BurninDestinationSettings)++-- | Specify the vertical position (YPosition) of the captions, relative to+-- the top of the output in pixels. A value of 10 would result in the+-- captions starting 10 pixels from the top of the output. If no explicit+-- y_position is provided, the caption will be positioned towards the+-- bottom of the output.+burninDestinationSettings_yPosition :: Lens.Lens' BurninDestinationSettings (Prelude.Maybe Prelude.Natural)+burninDestinationSettings_yPosition = Lens.lens (\BurninDestinationSettings' {yPosition} -> yPosition) (\s@BurninDestinationSettings' {} a -> s {yPosition = a} :: BurninDestinationSettings)++instance Data.FromJSON BurninDestinationSettings where+ parseJSON =+ Data.withObject+ "BurninDestinationSettings"+ ( \x ->+ BurninDestinationSettings'+ Prelude.<$> (x Data..:? "alignment")+ Prelude.<*> (x Data..:? "applyFontColor")+ Prelude.<*> (x Data..:? "backgroundColor")+ Prelude.<*> (x Data..:? "backgroundOpacity")+ Prelude.<*> (x Data..:? "fallbackFont")+ Prelude.<*> (x Data..:? "fontColor")+ Prelude.<*> (x Data..:? "fontOpacity")+ Prelude.<*> (x Data..:? "fontResolution")+ Prelude.<*> (x Data..:? "fontScript")+ Prelude.<*> (x Data..:? "fontSize")+ Prelude.<*> (x Data..:? "hexFontColor")+ Prelude.<*> (x Data..:? "outlineColor")+ Prelude.<*> (x Data..:? "outlineSize")+ Prelude.<*> (x Data..:? "shadowColor")+ Prelude.<*> (x Data..:? "shadowOpacity")+ Prelude.<*> (x Data..:? "shadowXOffset")+ Prelude.<*> (x Data..:? "shadowYOffset")+ Prelude.<*> (x Data..:? "stylePassthrough")+ Prelude.<*> (x Data..:? "teletextSpacing")+ Prelude.<*> (x Data..:? "xPosition")+ Prelude.<*> (x Data..:? "yPosition")+ )++instance Prelude.Hashable BurninDestinationSettings where+ hashWithSalt _salt BurninDestinationSettings' {..} =+ _salt+ `Prelude.hashWithSalt` alignment+ `Prelude.hashWithSalt` applyFontColor+ `Prelude.hashWithSalt` backgroundColor+ `Prelude.hashWithSalt` backgroundOpacity+ `Prelude.hashWithSalt` fallbackFont+ `Prelude.hashWithSalt` fontColor+ `Prelude.hashWithSalt` fontOpacity+ `Prelude.hashWithSalt` fontResolution+ `Prelude.hashWithSalt` fontScript+ `Prelude.hashWithSalt` fontSize+ `Prelude.hashWithSalt` hexFontColor+ `Prelude.hashWithSalt` outlineColor+ `Prelude.hashWithSalt` outlineSize+ `Prelude.hashWithSalt` shadowColor+ `Prelude.hashWithSalt` shadowOpacity+ `Prelude.hashWithSalt` shadowXOffset+ `Prelude.hashWithSalt` shadowYOffset+ `Prelude.hashWithSalt` stylePassthrough+ `Prelude.hashWithSalt` teletextSpacing+ `Prelude.hashWithSalt` xPosition+ `Prelude.hashWithSalt` yPosition++instance Prelude.NFData BurninDestinationSettings where+ rnf BurninDestinationSettings' {..} =+ Prelude.rnf alignment+ `Prelude.seq` Prelude.rnf applyFontColor+ `Prelude.seq` Prelude.rnf backgroundColor+ `Prelude.seq` Prelude.rnf backgroundOpacity+ `Prelude.seq` Prelude.rnf fallbackFont+ `Prelude.seq` Prelude.rnf fontColor+ `Prelude.seq` Prelude.rnf fontOpacity+ `Prelude.seq` Prelude.rnf fontResolution+ `Prelude.seq` Prelude.rnf fontScript+ `Prelude.seq` Prelude.rnf fontSize+ `Prelude.seq` Prelude.rnf hexFontColor+ `Prelude.seq` Prelude.rnf outlineColor+ `Prelude.seq` Prelude.rnf outlineSize+ `Prelude.seq` Prelude.rnf shadowColor+ `Prelude.seq` Prelude.rnf shadowOpacity+ `Prelude.seq` Prelude.rnf shadowXOffset+ `Prelude.seq` Prelude.rnf shadowYOffset+ `Prelude.seq` Prelude.rnf stylePassthrough+ `Prelude.seq` Prelude.rnf teletextSpacing+ `Prelude.seq` Prelude.rnf xPosition+ `Prelude.seq` Prelude.rnf yPosition++instance Data.ToJSON BurninDestinationSettings where+ toJSON BurninDestinationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alignment" Data..=) Prelude.<$> alignment,+ ("applyFontColor" Data..=)+ Prelude.<$> applyFontColor,+ ("backgroundColor" Data..=)+ Prelude.<$> backgroundColor,+ ("backgroundOpacity" Data..=)+ Prelude.<$> backgroundOpacity,+ ("fallbackFont" Data..=) Prelude.<$> fallbackFont,+ ("fontColor" Data..=) Prelude.<$> fontColor,+ ("fontOpacity" Data..=) Prelude.<$> fontOpacity,+ ("fontResolution" Data..=)+ Prelude.<$> fontResolution,+ ("fontScript" Data..=) Prelude.<$> fontScript,+ ("fontSize" Data..=) Prelude.<$> fontSize,+ ("hexFontColor" Data..=) Prelude.<$> hexFontColor,+ ("outlineColor" Data..=) Prelude.<$> outlineColor,+ ("outlineSize" Data..=) Prelude.<$> outlineSize,+ ("shadowColor" Data..=) Prelude.<$> shadowColor,+ ("shadowOpacity" Data..=) Prelude.<$> shadowOpacity,+ ("shadowXOffset" Data..=) Prelude.<$> shadowXOffset,+ ("shadowYOffset" Data..=) Prelude.<$> shadowYOffset,+ ("stylePassthrough" Data..=)+ Prelude.<$> stylePassthrough,+ ("teletextSpacing" Data..=)+ Prelude.<$> teletextSpacing,+ ("xPosition" Data..=) Prelude.<$> xPosition,+ ("yPosition" Data..=) Prelude.<$> yPosition+ ]+ )
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleAlignment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleAlignment+ ( BurninSubtitleAlignment+ ( ..,+ BurninSubtitleAlignment_AUTO,+ BurninSubtitleAlignment_CENTERED,+ BurninSubtitleAlignment_LEFT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the alignment of your captions. If no explicit x_position is+-- provided, setting alignment to centered will placethe captions at the+-- bottom center of the output. Similarly, setting a left alignment+-- willalign captions to the bottom left of the output. If x and y+-- positions are given in conjunction with the alignment parameter, the+-- font will be justified (either left or centered) relative to those+-- coordinates.+newtype BurninSubtitleAlignment = BurninSubtitleAlignment'+ { fromBurninSubtitleAlignment ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleAlignment_AUTO :: BurninSubtitleAlignment+pattern BurninSubtitleAlignment_AUTO = BurninSubtitleAlignment' "AUTO"++pattern BurninSubtitleAlignment_CENTERED :: BurninSubtitleAlignment+pattern BurninSubtitleAlignment_CENTERED = BurninSubtitleAlignment' "CENTERED"++pattern BurninSubtitleAlignment_LEFT :: BurninSubtitleAlignment+pattern BurninSubtitleAlignment_LEFT = BurninSubtitleAlignment' "LEFT"++{-# COMPLETE+ BurninSubtitleAlignment_AUTO,+ BurninSubtitleAlignment_CENTERED,+ BurninSubtitleAlignment_LEFT,+ BurninSubtitleAlignment'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleApplyFontColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleApplyFontColor+ ( BurninSubtitleApplyFontColor+ ( ..,+ BurninSubtitleApplyFontColor_ALL_TEXT,+ BurninSubtitleApplyFontColor_WHITE_TEXT_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless Style passthrough (StylePassthrough) is set+-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+-- leave blank, your font color setting only applies to white text in your+-- input captions. For example, if your font color setting is Yellow, and+-- your input captions have red and white text, your output captions will+-- have red and yellow text. When you choose ALL_TEXT, your font color+-- setting applies to all of your output captions text.+newtype BurninSubtitleApplyFontColor = BurninSubtitleApplyFontColor'+ { fromBurninSubtitleApplyFontColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleApplyFontColor_ALL_TEXT :: BurninSubtitleApplyFontColor+pattern BurninSubtitleApplyFontColor_ALL_TEXT = BurninSubtitleApplyFontColor' "ALL_TEXT"++pattern BurninSubtitleApplyFontColor_WHITE_TEXT_ONLY :: BurninSubtitleApplyFontColor+pattern BurninSubtitleApplyFontColor_WHITE_TEXT_ONLY = BurninSubtitleApplyFontColor' "WHITE_TEXT_ONLY"++{-# COMPLETE+ BurninSubtitleApplyFontColor_ALL_TEXT,+ BurninSubtitleApplyFontColor_WHITE_TEXT_ONLY,+ BurninSubtitleApplyFontColor'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleBackgroundColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleBackgroundColor+ ( BurninSubtitleBackgroundColor+ ( ..,+ BurninSubtitleBackgroundColor_AUTO,+ BurninSubtitleBackgroundColor_BLACK,+ BurninSubtitleBackgroundColor_NONE,+ BurninSubtitleBackgroundColor_WHITE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color of the rectangle behind the captions. Leave background+-- color (BackgroundColor) blank and set Style passthrough+-- (StylePassthrough) to enabled to use the background color data from your+-- input captions, if present.+newtype BurninSubtitleBackgroundColor = BurninSubtitleBackgroundColor'+ { fromBurninSubtitleBackgroundColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleBackgroundColor_AUTO :: BurninSubtitleBackgroundColor+pattern BurninSubtitleBackgroundColor_AUTO = BurninSubtitleBackgroundColor' "AUTO"++pattern BurninSubtitleBackgroundColor_BLACK :: BurninSubtitleBackgroundColor+pattern BurninSubtitleBackgroundColor_BLACK = BurninSubtitleBackgroundColor' "BLACK"++pattern BurninSubtitleBackgroundColor_NONE :: BurninSubtitleBackgroundColor+pattern BurninSubtitleBackgroundColor_NONE = BurninSubtitleBackgroundColor' "NONE"++pattern BurninSubtitleBackgroundColor_WHITE :: BurninSubtitleBackgroundColor+pattern BurninSubtitleBackgroundColor_WHITE = BurninSubtitleBackgroundColor' "WHITE"++{-# COMPLETE+ BurninSubtitleBackgroundColor_AUTO,+ BurninSubtitleBackgroundColor_BLACK,+ BurninSubtitleBackgroundColor_NONE,+ BurninSubtitleBackgroundColor_WHITE,+ BurninSubtitleBackgroundColor'+ #-}
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleFallbackFont+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleFallbackFont+ ( BurninSubtitleFallbackFont+ ( ..,+ BurninSubtitleFallbackFont_BEST_MATCH,+ BurninSubtitleFallbackFont_MONOSPACED_SANSSERIF,+ BurninSubtitleFallbackFont_MONOSPACED_SERIF,+ BurninSubtitleFallbackFont_PROPORTIONAL_SANSSERIF,+ BurninSubtitleFallbackFont_PROPORTIONAL_SERIF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the font that you want the service to use for your burn in+-- captions when your input captions specify a font that MediaConvert+-- doesn\'t support. When you set Fallback font (FallbackFont) to best+-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+-- that most closely matches the font that your input captions specify.+-- When there are multiple unsupported fonts in your input captions,+-- MediaConvert matches each font with the supported font that matches+-- best. When you explicitly choose a replacement font, MediaConvert uses+-- that font to replace all unsupported fonts from your input.+newtype BurninSubtitleFallbackFont = BurninSubtitleFallbackFont'+ { fromBurninSubtitleFallbackFont ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleFallbackFont_BEST_MATCH :: BurninSubtitleFallbackFont+pattern BurninSubtitleFallbackFont_BEST_MATCH = BurninSubtitleFallbackFont' "BEST_MATCH"++pattern BurninSubtitleFallbackFont_MONOSPACED_SANSSERIF :: BurninSubtitleFallbackFont+pattern BurninSubtitleFallbackFont_MONOSPACED_SANSSERIF = BurninSubtitleFallbackFont' "MONOSPACED_SANSSERIF"++pattern BurninSubtitleFallbackFont_MONOSPACED_SERIF :: BurninSubtitleFallbackFont+pattern BurninSubtitleFallbackFont_MONOSPACED_SERIF = BurninSubtitleFallbackFont' "MONOSPACED_SERIF"++pattern BurninSubtitleFallbackFont_PROPORTIONAL_SANSSERIF :: BurninSubtitleFallbackFont+pattern BurninSubtitleFallbackFont_PROPORTIONAL_SANSSERIF = BurninSubtitleFallbackFont' "PROPORTIONAL_SANSSERIF"++pattern BurninSubtitleFallbackFont_PROPORTIONAL_SERIF :: BurninSubtitleFallbackFont+pattern BurninSubtitleFallbackFont_PROPORTIONAL_SERIF = BurninSubtitleFallbackFont' "PROPORTIONAL_SERIF"++{-# COMPLETE+ BurninSubtitleFallbackFont_BEST_MATCH,+ BurninSubtitleFallbackFont_MONOSPACED_SANSSERIF,+ BurninSubtitleFallbackFont_MONOSPACED_SERIF,+ BurninSubtitleFallbackFont_PROPORTIONAL_SANSSERIF,+ BurninSubtitleFallbackFont_PROPORTIONAL_SERIF,+ BurninSubtitleFallbackFont'+ #-}
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleFontColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleFontColor+ ( BurninSubtitleFontColor+ ( ..,+ BurninSubtitleFontColor_AUTO,+ BurninSubtitleFontColor_BLACK,+ BurninSubtitleFontColor_BLUE,+ BurninSubtitleFontColor_GREEN,+ BurninSubtitleFontColor_HEX,+ BurninSubtitleFontColor_RED,+ BurninSubtitleFontColor_WHITE,+ BurninSubtitleFontColor_YELLOW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color of the burned-in captions text. Leave Font color+-- (FontColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the font color data from your input captions, if present.+newtype BurninSubtitleFontColor = BurninSubtitleFontColor'+ { fromBurninSubtitleFontColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleFontColor_AUTO :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_AUTO = BurninSubtitleFontColor' "AUTO"++pattern BurninSubtitleFontColor_BLACK :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_BLACK = BurninSubtitleFontColor' "BLACK"++pattern BurninSubtitleFontColor_BLUE :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_BLUE = BurninSubtitleFontColor' "BLUE"++pattern BurninSubtitleFontColor_GREEN :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_GREEN = BurninSubtitleFontColor' "GREEN"++pattern BurninSubtitleFontColor_HEX :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_HEX = BurninSubtitleFontColor' "HEX"++pattern BurninSubtitleFontColor_RED :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_RED = BurninSubtitleFontColor' "RED"++pattern BurninSubtitleFontColor_WHITE :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_WHITE = BurninSubtitleFontColor' "WHITE"++pattern BurninSubtitleFontColor_YELLOW :: BurninSubtitleFontColor+pattern BurninSubtitleFontColor_YELLOW = BurninSubtitleFontColor' "YELLOW"++{-# COMPLETE+ BurninSubtitleFontColor_AUTO,+ BurninSubtitleFontColor_BLACK,+ BurninSubtitleFontColor_BLUE,+ BurninSubtitleFontColor_GREEN,+ BurninSubtitleFontColor_HEX,+ BurninSubtitleFontColor_RED,+ BurninSubtitleFontColor_WHITE,+ BurninSubtitleFontColor_YELLOW,+ BurninSubtitleFontColor'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleOutlineColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleOutlineColor+ ( BurninSubtitleOutlineColor+ ( ..,+ BurninSubtitleOutlineColor_AUTO,+ BurninSubtitleOutlineColor_BLACK,+ BurninSubtitleOutlineColor_BLUE,+ BurninSubtitleOutlineColor_GREEN,+ BurninSubtitleOutlineColor_RED,+ BurninSubtitleOutlineColor_WHITE,+ BurninSubtitleOutlineColor_YELLOW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify font outline color. Leave Outline color (OutlineColor) blank and+-- set Style passthrough (StylePassthrough) to enabled to use the font+-- outline color data from your input captions, if present.+newtype BurninSubtitleOutlineColor = BurninSubtitleOutlineColor'+ { fromBurninSubtitleOutlineColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleOutlineColor_AUTO :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_AUTO = BurninSubtitleOutlineColor' "AUTO"++pattern BurninSubtitleOutlineColor_BLACK :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_BLACK = BurninSubtitleOutlineColor' "BLACK"++pattern BurninSubtitleOutlineColor_BLUE :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_BLUE = BurninSubtitleOutlineColor' "BLUE"++pattern BurninSubtitleOutlineColor_GREEN :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_GREEN = BurninSubtitleOutlineColor' "GREEN"++pattern BurninSubtitleOutlineColor_RED :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_RED = BurninSubtitleOutlineColor' "RED"++pattern BurninSubtitleOutlineColor_WHITE :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_WHITE = BurninSubtitleOutlineColor' "WHITE"++pattern BurninSubtitleOutlineColor_YELLOW :: BurninSubtitleOutlineColor+pattern BurninSubtitleOutlineColor_YELLOW = BurninSubtitleOutlineColor' "YELLOW"++{-# COMPLETE+ BurninSubtitleOutlineColor_AUTO,+ BurninSubtitleOutlineColor_BLACK,+ BurninSubtitleOutlineColor_BLUE,+ BurninSubtitleOutlineColor_GREEN,+ BurninSubtitleOutlineColor_RED,+ BurninSubtitleOutlineColor_WHITE,+ BurninSubtitleOutlineColor_YELLOW,+ BurninSubtitleOutlineColor'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleShadowColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleShadowColor+ ( BurninSubtitleShadowColor+ ( ..,+ BurninSubtitleShadowColor_AUTO,+ BurninSubtitleShadowColor_BLACK,+ BurninSubtitleShadowColor_NONE,+ BurninSubtitleShadowColor_WHITE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color of the shadow cast by the captions. Leave Shadow color+-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the shadow color data from your input captions, if+-- present.+newtype BurninSubtitleShadowColor = BurninSubtitleShadowColor'+ { fromBurninSubtitleShadowColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleShadowColor_AUTO :: BurninSubtitleShadowColor+pattern BurninSubtitleShadowColor_AUTO = BurninSubtitleShadowColor' "AUTO"++pattern BurninSubtitleShadowColor_BLACK :: BurninSubtitleShadowColor+pattern BurninSubtitleShadowColor_BLACK = BurninSubtitleShadowColor' "BLACK"++pattern BurninSubtitleShadowColor_NONE :: BurninSubtitleShadowColor+pattern BurninSubtitleShadowColor_NONE = BurninSubtitleShadowColor' "NONE"++pattern BurninSubtitleShadowColor_WHITE :: BurninSubtitleShadowColor+pattern BurninSubtitleShadowColor_WHITE = BurninSubtitleShadowColor' "WHITE"++{-# COMPLETE+ BurninSubtitleShadowColor_AUTO,+ BurninSubtitleShadowColor_BLACK,+ BurninSubtitleShadowColor_NONE,+ BurninSubtitleShadowColor_WHITE,+ BurninSubtitleShadowColor'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.BurninSubtitleTeletextSpacing+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.BurninSubtitleTeletextSpacing+ ( BurninSubtitleTeletextSpacing+ ( ..,+ BurninSubtitleTeletextSpacing_AUTO,+ BurninSubtitleTeletextSpacing_FIXED_GRID,+ BurninSubtitleTeletextSpacing_PROPORTIONAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether the text spacing (TeletextSpacing) in your captions is+-- set by the captions grid, or varies depending on letter width. Choose+-- fixed grid (FIXED_GRID) to conform to the spacing specified in the+-- captions file more accurately. Choose proportional (PROPORTIONAL) to+-- make the text easier to read for closed captions.+newtype BurninSubtitleTeletextSpacing = BurninSubtitleTeletextSpacing'+ { fromBurninSubtitleTeletextSpacing ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BurninSubtitleTeletextSpacing_AUTO :: BurninSubtitleTeletextSpacing+pattern BurninSubtitleTeletextSpacing_AUTO = BurninSubtitleTeletextSpacing' "AUTO"++pattern BurninSubtitleTeletextSpacing_FIXED_GRID :: BurninSubtitleTeletextSpacing+pattern BurninSubtitleTeletextSpacing_FIXED_GRID = BurninSubtitleTeletextSpacing' "FIXED_GRID"++pattern BurninSubtitleTeletextSpacing_PROPORTIONAL :: BurninSubtitleTeletextSpacing+pattern BurninSubtitleTeletextSpacing_PROPORTIONAL = BurninSubtitleTeletextSpacing' "PROPORTIONAL"++{-# COMPLETE+ BurninSubtitleTeletextSpacing_AUTO,+ BurninSubtitleTeletextSpacing_FIXED_GRID,+ BurninSubtitleTeletextSpacing_PROPORTIONAL,+ BurninSubtitleTeletextSpacing'+ #-}
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionDescription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CaptionDestinationSettings+import Amazonka.MediaConvert.Types.LanguageCode+import qualified Amazonka.Prelude as Prelude++-- | This object holds groups of settings related to captions for one output.+-- For each output that has captions, include one instance of+-- CaptionDescriptions.+--+-- /See:/ 'newCaptionDescription' smart constructor.+data CaptionDescription = CaptionDescription'+ { -- | Specifies which \"Caption Selector\":#inputs-caption_selector to use+ -- from each input when generating captions. The name should be of the+ -- format \"Caption Selector \", which denotes that the Nth Caption+ -- Selector will be used from each input.+ captionSelectorName :: Prelude.Maybe Prelude.Text,+ -- | Specify the language for this captions output track. For most captions+ -- output formats, the encoder puts this language information in the output+ -- captions metadata. If your output captions format is DVB-Sub or Burn in,+ -- the encoder uses this language information when automatically selecting+ -- the font script for rendering the captions text. For all outputs, you+ -- can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can+ -- also use any other code in the full RFC-5646 specification. Streaming+ -- outputs are those that are in one of the following output groups: CMAF,+ -- DASH ISO, Apple HLS, or Microsoft Smooth Streaming.+ customLanguageCode :: Prelude.Maybe Prelude.Text,+ -- | Settings related to one captions tab on the MediaConvert console. In+ -- your job JSON, an instance of captions DestinationSettings is equivalent+ -- to one captions tab in the console. Usually, one captions tab+ -- corresponds to one output captions track. Depending on your output+ -- captions format, one tab might correspond to a set of output captions+ -- tracks. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+ destinationSettings :: Prelude.Maybe CaptionDestinationSettings,+ -- | Specify the language of this captions output track. For most captions+ -- output formats, the encoder puts this language information in the output+ -- captions metadata. If your output captions format is DVB-Sub or Burn in,+ -- the encoder uses this language information to choose the font language+ -- for rendering the captions text.+ languageCode :: Prelude.Maybe LanguageCode,+ -- | Specify a label for this set of output captions. For example,+ -- \"English\", \"Director commentary\", or \"track_2\". For streaming+ -- outputs, MediaConvert passes this information into destination manifests+ -- for display on the end-viewer\'s player device. For outputs in other+ -- output groups, the service ignores this setting.+ languageDescription :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CaptionDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'captionSelectorName', 'captionDescription_captionSelectorName' - Specifies which \"Caption Selector\":#inputs-caption_selector to use+-- from each input when generating captions. The name should be of the+-- format \"Caption Selector \", which denotes that the Nth Caption+-- Selector will be used from each input.+--+-- 'customLanguageCode', 'captionDescription_customLanguageCode' - Specify the language for this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information when automatically selecting+-- the font script for rendering the captions text. For all outputs, you+-- can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can+-- also use any other code in the full RFC-5646 specification. Streaming+-- outputs are those that are in one of the following output groups: CMAF,+-- DASH ISO, Apple HLS, or Microsoft Smooth Streaming.+--+-- 'destinationSettings', 'captionDescription_destinationSettings' - Settings related to one captions tab on the MediaConvert console. In+-- your job JSON, an instance of captions DestinationSettings is equivalent+-- to one captions tab in the console. Usually, one captions tab+-- corresponds to one output captions track. Depending on your output+-- captions format, one tab might correspond to a set of output captions+-- tracks. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+--+-- 'languageCode', 'captionDescription_languageCode' - Specify the language of this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information to choose the font language+-- for rendering the captions text.+--+-- 'languageDescription', 'captionDescription_languageDescription' - Specify a label for this set of output captions. For example,+-- \"English\", \"Director commentary\", or \"track_2\". For streaming+-- outputs, MediaConvert passes this information into destination manifests+-- for display on the end-viewer\'s player device. For outputs in other+-- output groups, the service ignores this setting.+newCaptionDescription ::+ CaptionDescription+newCaptionDescription =+ CaptionDescription'+ { captionSelectorName =+ Prelude.Nothing,+ customLanguageCode = Prelude.Nothing,+ destinationSettings = Prelude.Nothing,+ languageCode = Prelude.Nothing,+ languageDescription = Prelude.Nothing+ }++-- | Specifies which \"Caption Selector\":#inputs-caption_selector to use+-- from each input when generating captions. The name should be of the+-- format \"Caption Selector \", which denotes that the Nth Caption+-- Selector will be used from each input.+captionDescription_captionSelectorName :: Lens.Lens' CaptionDescription (Prelude.Maybe Prelude.Text)+captionDescription_captionSelectorName = Lens.lens (\CaptionDescription' {captionSelectorName} -> captionSelectorName) (\s@CaptionDescription' {} a -> s {captionSelectorName = a} :: CaptionDescription)++-- | Specify the language for this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information when automatically selecting+-- the font script for rendering the captions text. For all outputs, you+-- can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can+-- also use any other code in the full RFC-5646 specification. Streaming+-- outputs are those that are in one of the following output groups: CMAF,+-- DASH ISO, Apple HLS, or Microsoft Smooth Streaming.+captionDescription_customLanguageCode :: Lens.Lens' CaptionDescription (Prelude.Maybe Prelude.Text)+captionDescription_customLanguageCode = Lens.lens (\CaptionDescription' {customLanguageCode} -> customLanguageCode) (\s@CaptionDescription' {} a -> s {customLanguageCode = a} :: CaptionDescription)++-- | Settings related to one captions tab on the MediaConvert console. In+-- your job JSON, an instance of captions DestinationSettings is equivalent+-- to one captions tab in the console. Usually, one captions tab+-- corresponds to one output captions track. Depending on your output+-- captions format, one tab might correspond to a set of output captions+-- tracks. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+captionDescription_destinationSettings :: Lens.Lens' CaptionDescription (Prelude.Maybe CaptionDestinationSettings)+captionDescription_destinationSettings = Lens.lens (\CaptionDescription' {destinationSettings} -> destinationSettings) (\s@CaptionDescription' {} a -> s {destinationSettings = a} :: CaptionDescription)++-- | Specify the language of this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information to choose the font language+-- for rendering the captions text.+captionDescription_languageCode :: Lens.Lens' CaptionDescription (Prelude.Maybe LanguageCode)+captionDescription_languageCode = Lens.lens (\CaptionDescription' {languageCode} -> languageCode) (\s@CaptionDescription' {} a -> s {languageCode = a} :: CaptionDescription)++-- | Specify a label for this set of output captions. For example,+-- \"English\", \"Director commentary\", or \"track_2\". For streaming+-- outputs, MediaConvert passes this information into destination manifests+-- for display on the end-viewer\'s player device. For outputs in other+-- output groups, the service ignores this setting.+captionDescription_languageDescription :: Lens.Lens' CaptionDescription (Prelude.Maybe Prelude.Text)+captionDescription_languageDescription = Lens.lens (\CaptionDescription' {languageDescription} -> languageDescription) (\s@CaptionDescription' {} a -> s {languageDescription = a} :: CaptionDescription)++instance Data.FromJSON CaptionDescription where+ parseJSON =+ Data.withObject+ "CaptionDescription"+ ( \x ->+ CaptionDescription'+ Prelude.<$> (x Data..:? "captionSelectorName")+ Prelude.<*> (x Data..:? "customLanguageCode")+ Prelude.<*> (x Data..:? "destinationSettings")+ Prelude.<*> (x Data..:? "languageCode")+ Prelude.<*> (x Data..:? "languageDescription")+ )++instance Prelude.Hashable CaptionDescription where+ hashWithSalt _salt CaptionDescription' {..} =+ _salt+ `Prelude.hashWithSalt` captionSelectorName+ `Prelude.hashWithSalt` customLanguageCode+ `Prelude.hashWithSalt` destinationSettings+ `Prelude.hashWithSalt` languageCode+ `Prelude.hashWithSalt` languageDescription++instance Prelude.NFData CaptionDescription where+ rnf CaptionDescription' {..} =+ Prelude.rnf captionSelectorName+ `Prelude.seq` Prelude.rnf customLanguageCode+ `Prelude.seq` Prelude.rnf destinationSettings+ `Prelude.seq` Prelude.rnf languageCode+ `Prelude.seq` Prelude.rnf languageDescription++instance Data.ToJSON CaptionDescription where+ toJSON CaptionDescription' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("captionSelectorName" Data..=)+ Prelude.<$> captionSelectorName,+ ("customLanguageCode" Data..=)+ Prelude.<$> customLanguageCode,+ ("destinationSettings" Data..=)+ Prelude.<$> destinationSettings,+ ("languageCode" Data..=) Prelude.<$> languageCode,+ ("languageDescription" Data..=)+ Prelude.<$> languageDescription+ ]+ )
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionDescriptionPreset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionDescriptionPreset where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CaptionDestinationSettings+import Amazonka.MediaConvert.Types.LanguageCode+import qualified Amazonka.Prelude as Prelude++-- | Caption Description for preset+--+-- /See:/ 'newCaptionDescriptionPreset' smart constructor.+data CaptionDescriptionPreset = CaptionDescriptionPreset'+ { -- | Specify the language for this captions output track. For most captions+ -- output formats, the encoder puts this language information in the output+ -- captions metadata. If your output captions format is DVB-Sub or Burn in,+ -- the encoder uses this language information when automatically selecting+ -- the font script for rendering the captions text. For all outputs, you+ -- can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can+ -- also use any other code in the full RFC-5646 specification. Streaming+ -- outputs are those that are in one of the following output groups: CMAF,+ -- DASH ISO, Apple HLS, or Microsoft Smooth Streaming.+ customLanguageCode :: Prelude.Maybe Prelude.Text,+ -- | Settings related to one captions tab on the MediaConvert console. In+ -- your job JSON, an instance of captions DestinationSettings is equivalent+ -- to one captions tab in the console. Usually, one captions tab+ -- corresponds to one output captions track. Depending on your output+ -- captions format, one tab might correspond to a set of output captions+ -- tracks. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+ destinationSettings :: Prelude.Maybe CaptionDestinationSettings,+ -- | Specify the language of this captions output track. For most captions+ -- output formats, the encoder puts this language information in the output+ -- captions metadata. If your output captions format is DVB-Sub or Burn in,+ -- the encoder uses this language information to choose the font language+ -- for rendering the captions text.+ languageCode :: Prelude.Maybe LanguageCode,+ -- | Specify a label for this set of output captions. For example,+ -- \"English\", \"Director commentary\", or \"track_2\". For streaming+ -- outputs, MediaConvert passes this information into destination manifests+ -- for display on the end-viewer\'s player device. For outputs in other+ -- output groups, the service ignores this setting.+ languageDescription :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CaptionDescriptionPreset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLanguageCode', 'captionDescriptionPreset_customLanguageCode' - Specify the language for this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information when automatically selecting+-- the font script for rendering the captions text. For all outputs, you+-- can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can+-- also use any other code in the full RFC-5646 specification. Streaming+-- outputs are those that are in one of the following output groups: CMAF,+-- DASH ISO, Apple HLS, or Microsoft Smooth Streaming.+--+-- 'destinationSettings', 'captionDescriptionPreset_destinationSettings' - Settings related to one captions tab on the MediaConvert console. In+-- your job JSON, an instance of captions DestinationSettings is equivalent+-- to one captions tab in the console. Usually, one captions tab+-- corresponds to one output captions track. Depending on your output+-- captions format, one tab might correspond to a set of output captions+-- tracks. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+--+-- 'languageCode', 'captionDescriptionPreset_languageCode' - Specify the language of this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information to choose the font language+-- for rendering the captions text.+--+-- 'languageDescription', 'captionDescriptionPreset_languageDescription' - Specify a label for this set of output captions. For example,+-- \"English\", \"Director commentary\", or \"track_2\". For streaming+-- outputs, MediaConvert passes this information into destination manifests+-- for display on the end-viewer\'s player device. For outputs in other+-- output groups, the service ignores this setting.+newCaptionDescriptionPreset ::+ CaptionDescriptionPreset+newCaptionDescriptionPreset =+ CaptionDescriptionPreset'+ { customLanguageCode =+ Prelude.Nothing,+ destinationSettings = Prelude.Nothing,+ languageCode = Prelude.Nothing,+ languageDescription = Prelude.Nothing+ }++-- | Specify the language for this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information when automatically selecting+-- the font script for rendering the captions text. For all outputs, you+-- can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can+-- also use any other code in the full RFC-5646 specification. Streaming+-- outputs are those that are in one of the following output groups: CMAF,+-- DASH ISO, Apple HLS, or Microsoft Smooth Streaming.+captionDescriptionPreset_customLanguageCode :: Lens.Lens' CaptionDescriptionPreset (Prelude.Maybe Prelude.Text)+captionDescriptionPreset_customLanguageCode = Lens.lens (\CaptionDescriptionPreset' {customLanguageCode} -> customLanguageCode) (\s@CaptionDescriptionPreset' {} a -> s {customLanguageCode = a} :: CaptionDescriptionPreset)++-- | Settings related to one captions tab on the MediaConvert console. In+-- your job JSON, an instance of captions DestinationSettings is equivalent+-- to one captions tab in the console. Usually, one captions tab+-- corresponds to one output captions track. Depending on your output+-- captions format, one tab might correspond to a set of output captions+-- tracks. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+captionDescriptionPreset_destinationSettings :: Lens.Lens' CaptionDescriptionPreset (Prelude.Maybe CaptionDestinationSettings)+captionDescriptionPreset_destinationSettings = Lens.lens (\CaptionDescriptionPreset' {destinationSettings} -> destinationSettings) (\s@CaptionDescriptionPreset' {} a -> s {destinationSettings = a} :: CaptionDescriptionPreset)++-- | Specify the language of this captions output track. For most captions+-- output formats, the encoder puts this language information in the output+-- captions metadata. If your output captions format is DVB-Sub or Burn in,+-- the encoder uses this language information to choose the font language+-- for rendering the captions text.+captionDescriptionPreset_languageCode :: Lens.Lens' CaptionDescriptionPreset (Prelude.Maybe LanguageCode)+captionDescriptionPreset_languageCode = Lens.lens (\CaptionDescriptionPreset' {languageCode} -> languageCode) (\s@CaptionDescriptionPreset' {} a -> s {languageCode = a} :: CaptionDescriptionPreset)++-- | Specify a label for this set of output captions. For example,+-- \"English\", \"Director commentary\", or \"track_2\". For streaming+-- outputs, MediaConvert passes this information into destination manifests+-- for display on the end-viewer\'s player device. For outputs in other+-- output groups, the service ignores this setting.+captionDescriptionPreset_languageDescription :: Lens.Lens' CaptionDescriptionPreset (Prelude.Maybe Prelude.Text)+captionDescriptionPreset_languageDescription = Lens.lens (\CaptionDescriptionPreset' {languageDescription} -> languageDescription) (\s@CaptionDescriptionPreset' {} a -> s {languageDescription = a} :: CaptionDescriptionPreset)++instance Data.FromJSON CaptionDescriptionPreset where+ parseJSON =+ Data.withObject+ "CaptionDescriptionPreset"+ ( \x ->+ CaptionDescriptionPreset'+ Prelude.<$> (x Data..:? "customLanguageCode")+ Prelude.<*> (x Data..:? "destinationSettings")+ Prelude.<*> (x Data..:? "languageCode")+ Prelude.<*> (x Data..:? "languageDescription")+ )++instance Prelude.Hashable CaptionDescriptionPreset where+ hashWithSalt _salt CaptionDescriptionPreset' {..} =+ _salt+ `Prelude.hashWithSalt` customLanguageCode+ `Prelude.hashWithSalt` destinationSettings+ `Prelude.hashWithSalt` languageCode+ `Prelude.hashWithSalt` languageDescription++instance Prelude.NFData CaptionDescriptionPreset where+ rnf CaptionDescriptionPreset' {..} =+ Prelude.rnf customLanguageCode+ `Prelude.seq` Prelude.rnf destinationSettings+ `Prelude.seq` Prelude.rnf languageCode+ `Prelude.seq` Prelude.rnf languageDescription++instance Data.ToJSON CaptionDescriptionPreset where+ toJSON CaptionDescriptionPreset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("customLanguageCode" Data..=)+ Prelude.<$> customLanguageCode,+ ("destinationSettings" Data..=)+ Prelude.<$> destinationSettings,+ ("languageCode" Data..=) Prelude.<$> languageCode,+ ("languageDescription" Data..=)+ Prelude.<$> languageDescription+ ]+ )
@@ -0,0 +1,407 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionDestinationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionDestinationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.BurninDestinationSettings+import Amazonka.MediaConvert.Types.CaptionDestinationType+import Amazonka.MediaConvert.Types.DvbSubDestinationSettings+import Amazonka.MediaConvert.Types.EmbeddedDestinationSettings+import Amazonka.MediaConvert.Types.ImscDestinationSettings+import Amazonka.MediaConvert.Types.SccDestinationSettings+import Amazonka.MediaConvert.Types.SrtDestinationSettings+import Amazonka.MediaConvert.Types.TeletextDestinationSettings+import Amazonka.MediaConvert.Types.TtmlDestinationSettings+import Amazonka.MediaConvert.Types.WebvttDestinationSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings related to one captions tab on the MediaConvert console. In+-- your job JSON, an instance of captions DestinationSettings is equivalent+-- to one captions tab in the console. Usually, one captions tab+-- corresponds to one output captions track. Depending on your output+-- captions format, one tab might correspond to a set of output captions+-- tracks. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/including-captions.html.+--+-- /See:/ 'newCaptionDestinationSettings' smart constructor.+data CaptionDestinationSettings = CaptionDestinationSettings'+ { -- | Burn-in is a captions delivery method, rather than a captions format.+ -- Burn-in writes the captions directly on your video frames, replacing+ -- pixels of video content with the captions. Set up burn-in captions in+ -- the same output as your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/burn-in-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to+ -- BURN_IN.+ burninDestinationSettings :: Prelude.Maybe BurninDestinationSettings,+ -- | Specify the format for this set of captions on this output. The default+ -- format is embedded without SCTE-20. Note that your choice of video+ -- output container constrains your choice of output captions format. For+ -- more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/captions-support-tables.html.+ -- If you are using SCTE-20 and you want to create an output that complies+ -- with the SCTE-43 spec, choose SCTE-20 plus embedded+ -- (SCTE20_PLUS_EMBEDDED). To create a non-compliant output where the+ -- embedded captions come first, choose Embedded plus SCTE-20+ -- (EMBEDDED_PLUS_SCTE20).+ destinationType :: Prelude.Maybe CaptionDestinationType,+ -- | Settings related to DVB-Sub captions. Set up DVB-Sub captions in the+ -- same output as your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/dvb-sub-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to+ -- DVB_SUB.+ dvbSubDestinationSettings :: Prelude.Maybe DvbSubDestinationSettings,+ -- | Settings related to CEA\/EIA-608 and CEA\/EIA-708 (also called embedded+ -- or ancillary) captions. Set up embedded captions in the same output as+ -- your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/embedded-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to+ -- EMBEDDED, EMBEDDED_PLUS_SCTE20, or SCTE20_PLUS_EMBEDDED.+ embeddedDestinationSettings :: Prelude.Maybe EmbeddedDestinationSettings,+ -- | Settings related to IMSC captions. IMSC is a sidecar format that holds+ -- captions in a file that is separate from the video container. Set up+ -- sidecar captions in the same output group, but different output from+ -- your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to IMSC.+ imscDestinationSettings :: Prelude.Maybe ImscDestinationSettings,+ -- | Settings related to SCC captions. SCC is a sidecar format that holds+ -- captions in a file that is separate from the video container. Set up+ -- sidecar captions in the same output group, but different output from+ -- your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/scc-srt-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to SCC.+ sccDestinationSettings :: Prelude.Maybe SccDestinationSettings,+ -- | Settings related to SRT captions. SRT is a sidecar format that holds+ -- captions in a file that is separate from the video container. Set up+ -- sidecar captions in the same output group, but different output from+ -- your video. When you work directly in your JSON job specification,+ -- include this object and any required children when you set+ -- destinationType to SRT.+ srtDestinationSettings :: Prelude.Maybe SrtDestinationSettings,+ -- | Settings related to teletext captions. Set up teletext captions in the+ -- same output as your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/teletext-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to+ -- TELETEXT.+ teletextDestinationSettings :: Prelude.Maybe TeletextDestinationSettings,+ -- | Settings related to TTML captions. TTML is a sidecar format that holds+ -- captions in a file that is separate from the video container. Set up+ -- sidecar captions in the same output group, but different output from+ -- your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to TTML.+ ttmlDestinationSettings :: Prelude.Maybe TtmlDestinationSettings,+ -- | Settings related to WebVTT captions. WebVTT is a sidecar format that+ -- holds captions in a file that is separate from the video container. Set+ -- up sidecar captions in the same output group, but different output from+ -- your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+ -- When you work directly in your JSON job specification, include this+ -- object and any required children when you set destinationType to WebVTT.+ webvttDestinationSettings :: Prelude.Maybe WebvttDestinationSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CaptionDestinationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'burninDestinationSettings', 'captionDestinationSettings_burninDestinationSettings' - Burn-in is a captions delivery method, rather than a captions format.+-- Burn-in writes the captions directly on your video frames, replacing+-- pixels of video content with the captions. Set up burn-in captions in+-- the same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/burn-in-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- BURN_IN.+--+-- 'destinationType', 'captionDestinationSettings_destinationType' - Specify the format for this set of captions on this output. The default+-- format is embedded without SCTE-20. Note that your choice of video+-- output container constrains your choice of output captions format. For+-- more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/captions-support-tables.html.+-- If you are using SCTE-20 and you want to create an output that complies+-- with the SCTE-43 spec, choose SCTE-20 plus embedded+-- (SCTE20_PLUS_EMBEDDED). To create a non-compliant output where the+-- embedded captions come first, choose Embedded plus SCTE-20+-- (EMBEDDED_PLUS_SCTE20).+--+-- 'dvbSubDestinationSettings', 'captionDestinationSettings_dvbSubDestinationSettings' - Settings related to DVB-Sub captions. Set up DVB-Sub captions in the+-- same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/dvb-sub-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- DVB_SUB.+--+-- 'embeddedDestinationSettings', 'captionDestinationSettings_embeddedDestinationSettings' - Settings related to CEA\/EIA-608 and CEA\/EIA-708 (also called embedded+-- or ancillary) captions. Set up embedded captions in the same output as+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/embedded-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- EMBEDDED, EMBEDDED_PLUS_SCTE20, or SCTE20_PLUS_EMBEDDED.+--+-- 'imscDestinationSettings', 'captionDestinationSettings_imscDestinationSettings' - Settings related to IMSC captions. IMSC is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to IMSC.+--+-- 'sccDestinationSettings', 'captionDestinationSettings_sccDestinationSettings' - Settings related to SCC captions. SCC is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/scc-srt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to SCC.+--+-- 'srtDestinationSettings', 'captionDestinationSettings_srtDestinationSettings' - Settings related to SRT captions. SRT is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. When you work directly in your JSON job specification,+-- include this object and any required children when you set+-- destinationType to SRT.+--+-- 'teletextDestinationSettings', 'captionDestinationSettings_teletextDestinationSettings' - Settings related to teletext captions. Set up teletext captions in the+-- same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/teletext-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- TELETEXT.+--+-- 'ttmlDestinationSettings', 'captionDestinationSettings_ttmlDestinationSettings' - Settings related to TTML captions. TTML is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to TTML.+--+-- 'webvttDestinationSettings', 'captionDestinationSettings_webvttDestinationSettings' - Settings related to WebVTT captions. WebVTT is a sidecar format that+-- holds captions in a file that is separate from the video container. Set+-- up sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to WebVTT.+newCaptionDestinationSettings ::+ CaptionDestinationSettings+newCaptionDestinationSettings =+ CaptionDestinationSettings'+ { burninDestinationSettings =+ Prelude.Nothing,+ destinationType = Prelude.Nothing,+ dvbSubDestinationSettings = Prelude.Nothing,+ embeddedDestinationSettings = Prelude.Nothing,+ imscDestinationSettings = Prelude.Nothing,+ sccDestinationSettings = Prelude.Nothing,+ srtDestinationSettings = Prelude.Nothing,+ teletextDestinationSettings = Prelude.Nothing,+ ttmlDestinationSettings = Prelude.Nothing,+ webvttDestinationSettings = Prelude.Nothing+ }++-- | Burn-in is a captions delivery method, rather than a captions format.+-- Burn-in writes the captions directly on your video frames, replacing+-- pixels of video content with the captions. Set up burn-in captions in+-- the same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/burn-in-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- BURN_IN.+captionDestinationSettings_burninDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe BurninDestinationSettings)+captionDestinationSettings_burninDestinationSettings = Lens.lens (\CaptionDestinationSettings' {burninDestinationSettings} -> burninDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {burninDestinationSettings = a} :: CaptionDestinationSettings)++-- | Specify the format for this set of captions on this output. The default+-- format is embedded without SCTE-20. Note that your choice of video+-- output container constrains your choice of output captions format. For+-- more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/captions-support-tables.html.+-- If you are using SCTE-20 and you want to create an output that complies+-- with the SCTE-43 spec, choose SCTE-20 plus embedded+-- (SCTE20_PLUS_EMBEDDED). To create a non-compliant output where the+-- embedded captions come first, choose Embedded plus SCTE-20+-- (EMBEDDED_PLUS_SCTE20).+captionDestinationSettings_destinationType :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe CaptionDestinationType)+captionDestinationSettings_destinationType = Lens.lens (\CaptionDestinationSettings' {destinationType} -> destinationType) (\s@CaptionDestinationSettings' {} a -> s {destinationType = a} :: CaptionDestinationSettings)++-- | Settings related to DVB-Sub captions. Set up DVB-Sub captions in the+-- same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/dvb-sub-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- DVB_SUB.+captionDestinationSettings_dvbSubDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe DvbSubDestinationSettings)+captionDestinationSettings_dvbSubDestinationSettings = Lens.lens (\CaptionDestinationSettings' {dvbSubDestinationSettings} -> dvbSubDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {dvbSubDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to CEA\/EIA-608 and CEA\/EIA-708 (also called embedded+-- or ancillary) captions. Set up embedded captions in the same output as+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/embedded-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- EMBEDDED, EMBEDDED_PLUS_SCTE20, or SCTE20_PLUS_EMBEDDED.+captionDestinationSettings_embeddedDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe EmbeddedDestinationSettings)+captionDestinationSettings_embeddedDestinationSettings = Lens.lens (\CaptionDestinationSettings' {embeddedDestinationSettings} -> embeddedDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {embeddedDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to IMSC captions. IMSC is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to IMSC.+captionDestinationSettings_imscDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe ImscDestinationSettings)+captionDestinationSettings_imscDestinationSettings = Lens.lens (\CaptionDestinationSettings' {imscDestinationSettings} -> imscDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {imscDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to SCC captions. SCC is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/scc-srt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to SCC.+captionDestinationSettings_sccDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe SccDestinationSettings)+captionDestinationSettings_sccDestinationSettings = Lens.lens (\CaptionDestinationSettings' {sccDestinationSettings} -> sccDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {sccDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to SRT captions. SRT is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. When you work directly in your JSON job specification,+-- include this object and any required children when you set+-- destinationType to SRT.+captionDestinationSettings_srtDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe SrtDestinationSettings)+captionDestinationSettings_srtDestinationSettings = Lens.lens (\CaptionDestinationSettings' {srtDestinationSettings} -> srtDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {srtDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to teletext captions. Set up teletext captions in the+-- same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/teletext-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- TELETEXT.+captionDestinationSettings_teletextDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe TeletextDestinationSettings)+captionDestinationSettings_teletextDestinationSettings = Lens.lens (\CaptionDestinationSettings' {teletextDestinationSettings} -> teletextDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {teletextDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to TTML captions. TTML is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to TTML.+captionDestinationSettings_ttmlDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe TtmlDestinationSettings)+captionDestinationSettings_ttmlDestinationSettings = Lens.lens (\CaptionDestinationSettings' {ttmlDestinationSettings} -> ttmlDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {ttmlDestinationSettings = a} :: CaptionDestinationSettings)++-- | Settings related to WebVTT captions. WebVTT is a sidecar format that+-- holds captions in a file that is separate from the video container. Set+-- up sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to WebVTT.+captionDestinationSettings_webvttDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe WebvttDestinationSettings)+captionDestinationSettings_webvttDestinationSettings = Lens.lens (\CaptionDestinationSettings' {webvttDestinationSettings} -> webvttDestinationSettings) (\s@CaptionDestinationSettings' {} a -> s {webvttDestinationSettings = a} :: CaptionDestinationSettings)++instance Data.FromJSON CaptionDestinationSettings where+ parseJSON =+ Data.withObject+ "CaptionDestinationSettings"+ ( \x ->+ CaptionDestinationSettings'+ Prelude.<$> (x Data..:? "burninDestinationSettings")+ Prelude.<*> (x Data..:? "destinationType")+ Prelude.<*> (x Data..:? "dvbSubDestinationSettings")+ Prelude.<*> (x Data..:? "embeddedDestinationSettings")+ Prelude.<*> (x Data..:? "imscDestinationSettings")+ Prelude.<*> (x Data..:? "sccDestinationSettings")+ Prelude.<*> (x Data..:? "srtDestinationSettings")+ Prelude.<*> (x Data..:? "teletextDestinationSettings")+ Prelude.<*> (x Data..:? "ttmlDestinationSettings")+ Prelude.<*> (x Data..:? "webvttDestinationSettings")+ )++instance Prelude.Hashable CaptionDestinationSettings where+ hashWithSalt _salt CaptionDestinationSettings' {..} =+ _salt+ `Prelude.hashWithSalt` burninDestinationSettings+ `Prelude.hashWithSalt` destinationType+ `Prelude.hashWithSalt` dvbSubDestinationSettings+ `Prelude.hashWithSalt` embeddedDestinationSettings+ `Prelude.hashWithSalt` imscDestinationSettings+ `Prelude.hashWithSalt` sccDestinationSettings+ `Prelude.hashWithSalt` srtDestinationSettings+ `Prelude.hashWithSalt` teletextDestinationSettings+ `Prelude.hashWithSalt` ttmlDestinationSettings+ `Prelude.hashWithSalt` webvttDestinationSettings++instance Prelude.NFData CaptionDestinationSettings where+ rnf CaptionDestinationSettings' {..} =+ Prelude.rnf burninDestinationSettings+ `Prelude.seq` Prelude.rnf destinationType+ `Prelude.seq` Prelude.rnf dvbSubDestinationSettings+ `Prelude.seq` Prelude.rnf embeddedDestinationSettings+ `Prelude.seq` Prelude.rnf imscDestinationSettings+ `Prelude.seq` Prelude.rnf sccDestinationSettings+ `Prelude.seq` Prelude.rnf srtDestinationSettings+ `Prelude.seq` Prelude.rnf teletextDestinationSettings+ `Prelude.seq` Prelude.rnf ttmlDestinationSettings+ `Prelude.seq` Prelude.rnf webvttDestinationSettings++instance Data.ToJSON CaptionDestinationSettings where+ toJSON CaptionDestinationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("burninDestinationSettings" Data..=)+ Prelude.<$> burninDestinationSettings,+ ("destinationType" Data..=)+ Prelude.<$> destinationType,+ ("dvbSubDestinationSettings" Data..=)+ Prelude.<$> dvbSubDestinationSettings,+ ("embeddedDestinationSettings" Data..=)+ Prelude.<$> embeddedDestinationSettings,+ ("imscDestinationSettings" Data..=)+ Prelude.<$> imscDestinationSettings,+ ("sccDestinationSettings" Data..=)+ Prelude.<$> sccDestinationSettings,+ ("srtDestinationSettings" Data..=)+ Prelude.<$> srtDestinationSettings,+ ("teletextDestinationSettings" Data..=)+ Prelude.<$> teletextDestinationSettings,+ ("ttmlDestinationSettings" Data..=)+ Prelude.<$> ttmlDestinationSettings,+ ("webvttDestinationSettings" Data..=)+ Prelude.<$> webvttDestinationSettings+ ]+ )
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionDestinationType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionDestinationType+ ( CaptionDestinationType+ ( ..,+ CaptionDestinationType_BURN_IN,+ CaptionDestinationType_DVB_SUB,+ CaptionDestinationType_EMBEDDED,+ CaptionDestinationType_EMBEDDED_PLUS_SCTE20,+ CaptionDestinationType_IMSC,+ CaptionDestinationType_SCC,+ CaptionDestinationType_SCTE20_PLUS_EMBEDDED,+ CaptionDestinationType_SMI,+ CaptionDestinationType_SRT,+ CaptionDestinationType_TELETEXT,+ CaptionDestinationType_TTML,+ CaptionDestinationType_WEBVTT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the format for this set of captions on this output. The default+-- format is embedded without SCTE-20. Note that your choice of video+-- output container constrains your choice of output captions format. For+-- more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/captions-support-tables.html.+-- If you are using SCTE-20 and you want to create an output that complies+-- with the SCTE-43 spec, choose SCTE-20 plus embedded+-- (SCTE20_PLUS_EMBEDDED). To create a non-compliant output where the+-- embedded captions come first, choose Embedded plus SCTE-20+-- (EMBEDDED_PLUS_SCTE20).+newtype CaptionDestinationType = CaptionDestinationType'+ { fromCaptionDestinationType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CaptionDestinationType_BURN_IN :: CaptionDestinationType+pattern CaptionDestinationType_BURN_IN = CaptionDestinationType' "BURN_IN"++pattern CaptionDestinationType_DVB_SUB :: CaptionDestinationType+pattern CaptionDestinationType_DVB_SUB = CaptionDestinationType' "DVB_SUB"++pattern CaptionDestinationType_EMBEDDED :: CaptionDestinationType+pattern CaptionDestinationType_EMBEDDED = CaptionDestinationType' "EMBEDDED"++pattern CaptionDestinationType_EMBEDDED_PLUS_SCTE20 :: CaptionDestinationType+pattern CaptionDestinationType_EMBEDDED_PLUS_SCTE20 = CaptionDestinationType' "EMBEDDED_PLUS_SCTE20"++pattern CaptionDestinationType_IMSC :: CaptionDestinationType+pattern CaptionDestinationType_IMSC = CaptionDestinationType' "IMSC"++pattern CaptionDestinationType_SCC :: CaptionDestinationType+pattern CaptionDestinationType_SCC = CaptionDestinationType' "SCC"++pattern CaptionDestinationType_SCTE20_PLUS_EMBEDDED :: CaptionDestinationType+pattern CaptionDestinationType_SCTE20_PLUS_EMBEDDED = CaptionDestinationType' "SCTE20_PLUS_EMBEDDED"++pattern CaptionDestinationType_SMI :: CaptionDestinationType+pattern CaptionDestinationType_SMI = CaptionDestinationType' "SMI"++pattern CaptionDestinationType_SRT :: CaptionDestinationType+pattern CaptionDestinationType_SRT = CaptionDestinationType' "SRT"++pattern CaptionDestinationType_TELETEXT :: CaptionDestinationType+pattern CaptionDestinationType_TELETEXT = CaptionDestinationType' "TELETEXT"++pattern CaptionDestinationType_TTML :: CaptionDestinationType+pattern CaptionDestinationType_TTML = CaptionDestinationType' "TTML"++pattern CaptionDestinationType_WEBVTT :: CaptionDestinationType+pattern CaptionDestinationType_WEBVTT = CaptionDestinationType' "WEBVTT"++{-# COMPLETE+ CaptionDestinationType_BURN_IN,+ CaptionDestinationType_DVB_SUB,+ CaptionDestinationType_EMBEDDED,+ CaptionDestinationType_EMBEDDED_PLUS_SCTE20,+ CaptionDestinationType_IMSC,+ CaptionDestinationType_SCC,+ CaptionDestinationType_SCTE20_PLUS_EMBEDDED,+ CaptionDestinationType_SMI,+ CaptionDestinationType_SRT,+ CaptionDestinationType_TELETEXT,+ CaptionDestinationType_TTML,+ CaptionDestinationType_WEBVTT,+ CaptionDestinationType'+ #-}
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionSelector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CaptionSourceSettings+import Amazonka.MediaConvert.Types.LanguageCode+import qualified Amazonka.Prelude as Prelude++-- | Use captions selectors to specify the captions data from your input that+-- you use in your outputs. You can use up to 20 captions selectors per+-- input.+--+-- /See:/ 'newCaptionSelector' smart constructor.+data CaptionSelector = CaptionSelector'+ { -- | The specific language to extract from source, using the ISO 639-2 or ISO+ -- 639-3 three-letter language code. If input is SCTE-27, complete this+ -- field and\/or PID to select the caption language to extract. If input is+ -- DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and\/or+ -- PID to select the caption language to extract. If input is DVB-Sub that+ -- is being passed through, omit this field (and PID field); there is no+ -- way to extract a specific language with pass-through captions.+ customLanguageCode :: Prelude.Maybe Prelude.Text,+ -- | The specific language to extract from source. If input is SCTE-27,+ -- complete this field and\/or PID to select the caption language to+ -- extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete+ -- this field and\/or PID to select the caption language to extract. If+ -- input is DVB-Sub that is being passed through, omit this field (and PID+ -- field); there is no way to extract a specific language with pass-through+ -- captions.+ languageCode :: Prelude.Maybe LanguageCode,+ -- | If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml+ -- file, specify the URI of the input captions source file. If your input+ -- captions are IMSC in an IMF package, use TrackSourceSettings instead of+ -- FileSoureSettings.+ sourceSettings :: Prelude.Maybe CaptionSourceSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CaptionSelector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLanguageCode', 'captionSelector_customLanguageCode' - The specific language to extract from source, using the ISO 639-2 or ISO+-- 639-3 three-letter language code. If input is SCTE-27, complete this+-- field and\/or PID to select the caption language to extract. If input is+-- DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and\/or+-- PID to select the caption language to extract. If input is DVB-Sub that+-- is being passed through, omit this field (and PID field); there is no+-- way to extract a specific language with pass-through captions.+--+-- 'languageCode', 'captionSelector_languageCode' - The specific language to extract from source. If input is SCTE-27,+-- complete this field and\/or PID to select the caption language to+-- extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete+-- this field and\/or PID to select the caption language to extract. If+-- input is DVB-Sub that is being passed through, omit this field (and PID+-- field); there is no way to extract a specific language with pass-through+-- captions.+--+-- 'sourceSettings', 'captionSelector_sourceSettings' - If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml+-- file, specify the URI of the input captions source file. If your input+-- captions are IMSC in an IMF package, use TrackSourceSettings instead of+-- FileSoureSettings.+newCaptionSelector ::+ CaptionSelector+newCaptionSelector =+ CaptionSelector'+ { customLanguageCode =+ Prelude.Nothing,+ languageCode = Prelude.Nothing,+ sourceSettings = Prelude.Nothing+ }++-- | The specific language to extract from source, using the ISO 639-2 or ISO+-- 639-3 three-letter language code. If input is SCTE-27, complete this+-- field and\/or PID to select the caption language to extract. If input is+-- DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and\/or+-- PID to select the caption language to extract. If input is DVB-Sub that+-- is being passed through, omit this field (and PID field); there is no+-- way to extract a specific language with pass-through captions.+captionSelector_customLanguageCode :: Lens.Lens' CaptionSelector (Prelude.Maybe Prelude.Text)+captionSelector_customLanguageCode = Lens.lens (\CaptionSelector' {customLanguageCode} -> customLanguageCode) (\s@CaptionSelector' {} a -> s {customLanguageCode = a} :: CaptionSelector)++-- | The specific language to extract from source. If input is SCTE-27,+-- complete this field and\/or PID to select the caption language to+-- extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete+-- this field and\/or PID to select the caption language to extract. If+-- input is DVB-Sub that is being passed through, omit this field (and PID+-- field); there is no way to extract a specific language with pass-through+-- captions.+captionSelector_languageCode :: Lens.Lens' CaptionSelector (Prelude.Maybe LanguageCode)+captionSelector_languageCode = Lens.lens (\CaptionSelector' {languageCode} -> languageCode) (\s@CaptionSelector' {} a -> s {languageCode = a} :: CaptionSelector)++-- | If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml+-- file, specify the URI of the input captions source file. If your input+-- captions are IMSC in an IMF package, use TrackSourceSettings instead of+-- FileSoureSettings.+captionSelector_sourceSettings :: Lens.Lens' CaptionSelector (Prelude.Maybe CaptionSourceSettings)+captionSelector_sourceSettings = Lens.lens (\CaptionSelector' {sourceSettings} -> sourceSettings) (\s@CaptionSelector' {} a -> s {sourceSettings = a} :: CaptionSelector)++instance Data.FromJSON CaptionSelector where+ parseJSON =+ Data.withObject+ "CaptionSelector"+ ( \x ->+ CaptionSelector'+ Prelude.<$> (x Data..:? "customLanguageCode")+ Prelude.<*> (x Data..:? "languageCode")+ Prelude.<*> (x Data..:? "sourceSettings")+ )++instance Prelude.Hashable CaptionSelector where+ hashWithSalt _salt CaptionSelector' {..} =+ _salt+ `Prelude.hashWithSalt` customLanguageCode+ `Prelude.hashWithSalt` languageCode+ `Prelude.hashWithSalt` sourceSettings++instance Prelude.NFData CaptionSelector where+ rnf CaptionSelector' {..} =+ Prelude.rnf customLanguageCode+ `Prelude.seq` Prelude.rnf languageCode+ `Prelude.seq` Prelude.rnf sourceSettings++instance Data.ToJSON CaptionSelector where+ toJSON CaptionSelector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("customLanguageCode" Data..=)+ Prelude.<$> customLanguageCode,+ ("languageCode" Data..=) Prelude.<$> languageCode,+ ("sourceSettings" Data..=)+ Prelude.<$> sourceSettings+ ]+ )
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionSourceFramerate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionSourceFramerate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless your input captions format is SCC. To have+-- the service compensate for differing frame rates between your input+-- captions and input video, specify the frame rate of the captions file.+-- Specify this value as a fraction. When you work directly in your JSON+-- job specification, use the settings framerateNumerator and+-- framerateDenominator. For example, you might specify 24 \/ 1 for 24 fps,+-- 25 \/ 1 for 25 fps, 24000 \/ 1001 for 23.976 fps, or 30000 \/ 1001 for+-- 29.97 fps.+--+-- /See:/ 'newCaptionSourceFramerate' smart constructor.+data CaptionSourceFramerate = CaptionSourceFramerate'+ { -- | Specify the denominator of the fraction that represents the frame rate+ -- for the setting Caption source frame rate (CaptionSourceFramerate). Use+ -- this setting along with the setting Framerate numerator+ -- (framerateNumerator).+ framerateDenominator :: Prelude.Maybe Prelude.Natural,+ -- | Specify the numerator of the fraction that represents the frame rate for+ -- the setting Caption source frame rate (CaptionSourceFramerate). Use this+ -- setting along with the setting Framerate denominator+ -- (framerateDenominator).+ framerateNumerator :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CaptionSourceFramerate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'framerateDenominator', 'captionSourceFramerate_framerateDenominator' - Specify the denominator of the fraction that represents the frame rate+-- for the setting Caption source frame rate (CaptionSourceFramerate). Use+-- this setting along with the setting Framerate numerator+-- (framerateNumerator).+--+-- 'framerateNumerator', 'captionSourceFramerate_framerateNumerator' - Specify the numerator of the fraction that represents the frame rate for+-- the setting Caption source frame rate (CaptionSourceFramerate). Use this+-- setting along with the setting Framerate denominator+-- (framerateDenominator).+newCaptionSourceFramerate ::+ CaptionSourceFramerate+newCaptionSourceFramerate =+ CaptionSourceFramerate'+ { framerateDenominator =+ Prelude.Nothing,+ framerateNumerator = Prelude.Nothing+ }++-- | Specify the denominator of the fraction that represents the frame rate+-- for the setting Caption source frame rate (CaptionSourceFramerate). Use+-- this setting along with the setting Framerate numerator+-- (framerateNumerator).+captionSourceFramerate_framerateDenominator :: Lens.Lens' CaptionSourceFramerate (Prelude.Maybe Prelude.Natural)+captionSourceFramerate_framerateDenominator = Lens.lens (\CaptionSourceFramerate' {framerateDenominator} -> framerateDenominator) (\s@CaptionSourceFramerate' {} a -> s {framerateDenominator = a} :: CaptionSourceFramerate)++-- | Specify the numerator of the fraction that represents the frame rate for+-- the setting Caption source frame rate (CaptionSourceFramerate). Use this+-- setting along with the setting Framerate denominator+-- (framerateDenominator).+captionSourceFramerate_framerateNumerator :: Lens.Lens' CaptionSourceFramerate (Prelude.Maybe Prelude.Natural)+captionSourceFramerate_framerateNumerator = Lens.lens (\CaptionSourceFramerate' {framerateNumerator} -> framerateNumerator) (\s@CaptionSourceFramerate' {} a -> s {framerateNumerator = a} :: CaptionSourceFramerate)++instance Data.FromJSON CaptionSourceFramerate where+ parseJSON =+ Data.withObject+ "CaptionSourceFramerate"+ ( \x ->+ CaptionSourceFramerate'+ Prelude.<$> (x Data..:? "framerateDenominator")+ Prelude.<*> (x Data..:? "framerateNumerator")+ )++instance Prelude.Hashable CaptionSourceFramerate where+ hashWithSalt _salt CaptionSourceFramerate' {..} =+ _salt+ `Prelude.hashWithSalt` framerateDenominator+ `Prelude.hashWithSalt` framerateNumerator++instance Prelude.NFData CaptionSourceFramerate where+ rnf CaptionSourceFramerate' {..} =+ Prelude.rnf framerateDenominator+ `Prelude.seq` Prelude.rnf framerateNumerator++instance Data.ToJSON CaptionSourceFramerate where+ toJSON CaptionSourceFramerate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("framerateDenominator" Data..=)+ Prelude.<$> framerateDenominator,+ ("framerateNumerator" Data..=)+ Prelude.<$> framerateNumerator+ ]+ )
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionSourceSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionSourceSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AncillarySourceSettings+import Amazonka.MediaConvert.Types.CaptionSourceType+import Amazonka.MediaConvert.Types.DvbSubSourceSettings+import Amazonka.MediaConvert.Types.EmbeddedSourceSettings+import Amazonka.MediaConvert.Types.FileSourceSettings+import Amazonka.MediaConvert.Types.TeletextSourceSettings+import Amazonka.MediaConvert.Types.TrackSourceSettings+import Amazonka.MediaConvert.Types.WebvttHlsSourceSettings+import qualified Amazonka.Prelude as Prelude++-- | If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml+-- file, specify the URI of the input captions source file. If your input+-- captions are IMSC in an IMF package, use TrackSourceSettings instead of+-- FileSoureSettings.+--+-- /See:/ 'newCaptionSourceSettings' smart constructor.+data CaptionSourceSettings = CaptionSourceSettings'+ { -- | Settings for ancillary captions source.+ ancillarySourceSettings :: Prelude.Maybe AncillarySourceSettings,+ -- | DVB Sub Source Settings+ dvbSubSourceSettings :: Prelude.Maybe DvbSubSourceSettings,+ -- | Settings for embedded captions Source+ embeddedSourceSettings :: Prelude.Maybe EmbeddedSourceSettings,+ -- | If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1+ -- in an xml file, specify the URI of the input caption source file. If+ -- your caption source is IMSC in an IMF package, use TrackSourceSettings+ -- instead of FileSoureSettings.+ fileSourceSettings :: Prelude.Maybe FileSourceSettings,+ -- | Use Source (SourceType) to identify the format of your input captions.+ -- The service cannot auto-detect caption format.+ sourceType :: Prelude.Maybe CaptionSourceType,+ -- | Settings specific to Teletext caption sources, including Page number.+ teletextSourceSettings :: Prelude.Maybe TeletextSourceSettings,+ -- | Settings specific to caption sources that are specified by track number.+ -- Currently, this is only IMSC captions in an IMF package. If your caption+ -- source is IMSC 1.1 in a separate xml file, use FileSourceSettings+ -- instead of TrackSourceSettings.+ trackSourceSettings :: Prelude.Maybe TrackSourceSettings,+ -- | Settings specific to WebVTT sources in HLS alternative rendition group.+ -- Specify the properties (renditionGroupId, renditionName or+ -- renditionLanguageCode) to identify the unique subtitle track among the+ -- alternative rendition groups present in the HLS manifest. If no unique+ -- track is found, or multiple tracks match the specified properties, the+ -- job fails. If there is only one subtitle track in the rendition group,+ -- the settings can be left empty and the default subtitle track will be+ -- chosen. If your caption source is a sidecar file, use FileSourceSettings+ -- instead of WebvttHlsSourceSettings.+ webvttHlsSourceSettings :: Prelude.Maybe WebvttHlsSourceSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CaptionSourceSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ancillarySourceSettings', 'captionSourceSettings_ancillarySourceSettings' - Settings for ancillary captions source.+--+-- 'dvbSubSourceSettings', 'captionSourceSettings_dvbSubSourceSettings' - DVB Sub Source Settings+--+-- 'embeddedSourceSettings', 'captionSourceSettings_embeddedSourceSettings' - Settings for embedded captions Source+--+-- 'fileSourceSettings', 'captionSourceSettings_fileSourceSettings' - If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1+-- in an xml file, specify the URI of the input caption source file. If+-- your caption source is IMSC in an IMF package, use TrackSourceSettings+-- instead of FileSoureSettings.+--+-- 'sourceType', 'captionSourceSettings_sourceType' - Use Source (SourceType) to identify the format of your input captions.+-- The service cannot auto-detect caption format.+--+-- 'teletextSourceSettings', 'captionSourceSettings_teletextSourceSettings' - Settings specific to Teletext caption sources, including Page number.+--+-- 'trackSourceSettings', 'captionSourceSettings_trackSourceSettings' - Settings specific to caption sources that are specified by track number.+-- Currently, this is only IMSC captions in an IMF package. If your caption+-- source is IMSC 1.1 in a separate xml file, use FileSourceSettings+-- instead of TrackSourceSettings.+--+-- 'webvttHlsSourceSettings', 'captionSourceSettings_webvttHlsSourceSettings' - Settings specific to WebVTT sources in HLS alternative rendition group.+-- Specify the properties (renditionGroupId, renditionName or+-- renditionLanguageCode) to identify the unique subtitle track among the+-- alternative rendition groups present in the HLS manifest. If no unique+-- track is found, or multiple tracks match the specified properties, the+-- job fails. If there is only one subtitle track in the rendition group,+-- the settings can be left empty and the default subtitle track will be+-- chosen. If your caption source is a sidecar file, use FileSourceSettings+-- instead of WebvttHlsSourceSettings.+newCaptionSourceSettings ::+ CaptionSourceSettings+newCaptionSourceSettings =+ CaptionSourceSettings'+ { ancillarySourceSettings =+ Prelude.Nothing,+ dvbSubSourceSettings = Prelude.Nothing,+ embeddedSourceSettings = Prelude.Nothing,+ fileSourceSettings = Prelude.Nothing,+ sourceType = Prelude.Nothing,+ teletextSourceSettings = Prelude.Nothing,+ trackSourceSettings = Prelude.Nothing,+ webvttHlsSourceSettings = Prelude.Nothing+ }++-- | Settings for ancillary captions source.+captionSourceSettings_ancillarySourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe AncillarySourceSettings)+captionSourceSettings_ancillarySourceSettings = Lens.lens (\CaptionSourceSettings' {ancillarySourceSettings} -> ancillarySourceSettings) (\s@CaptionSourceSettings' {} a -> s {ancillarySourceSettings = a} :: CaptionSourceSettings)++-- | DVB Sub Source Settings+captionSourceSettings_dvbSubSourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe DvbSubSourceSettings)+captionSourceSettings_dvbSubSourceSettings = Lens.lens (\CaptionSourceSettings' {dvbSubSourceSettings} -> dvbSubSourceSettings) (\s@CaptionSourceSettings' {} a -> s {dvbSubSourceSettings = a} :: CaptionSourceSettings)++-- | Settings for embedded captions Source+captionSourceSettings_embeddedSourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe EmbeddedSourceSettings)+captionSourceSettings_embeddedSourceSettings = Lens.lens (\CaptionSourceSettings' {embeddedSourceSettings} -> embeddedSourceSettings) (\s@CaptionSourceSettings' {} a -> s {embeddedSourceSettings = a} :: CaptionSourceSettings)++-- | If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1+-- in an xml file, specify the URI of the input caption source file. If+-- your caption source is IMSC in an IMF package, use TrackSourceSettings+-- instead of FileSoureSettings.+captionSourceSettings_fileSourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe FileSourceSettings)+captionSourceSettings_fileSourceSettings = Lens.lens (\CaptionSourceSettings' {fileSourceSettings} -> fileSourceSettings) (\s@CaptionSourceSettings' {} a -> s {fileSourceSettings = a} :: CaptionSourceSettings)++-- | Use Source (SourceType) to identify the format of your input captions.+-- The service cannot auto-detect caption format.+captionSourceSettings_sourceType :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe CaptionSourceType)+captionSourceSettings_sourceType = Lens.lens (\CaptionSourceSettings' {sourceType} -> sourceType) (\s@CaptionSourceSettings' {} a -> s {sourceType = a} :: CaptionSourceSettings)++-- | Settings specific to Teletext caption sources, including Page number.+captionSourceSettings_teletextSourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe TeletextSourceSettings)+captionSourceSettings_teletextSourceSettings = Lens.lens (\CaptionSourceSettings' {teletextSourceSettings} -> teletextSourceSettings) (\s@CaptionSourceSettings' {} a -> s {teletextSourceSettings = a} :: CaptionSourceSettings)++-- | Settings specific to caption sources that are specified by track number.+-- Currently, this is only IMSC captions in an IMF package. If your caption+-- source is IMSC 1.1 in a separate xml file, use FileSourceSettings+-- instead of TrackSourceSettings.+captionSourceSettings_trackSourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe TrackSourceSettings)+captionSourceSettings_trackSourceSettings = Lens.lens (\CaptionSourceSettings' {trackSourceSettings} -> trackSourceSettings) (\s@CaptionSourceSettings' {} a -> s {trackSourceSettings = a} :: CaptionSourceSettings)++-- | Settings specific to WebVTT sources in HLS alternative rendition group.+-- Specify the properties (renditionGroupId, renditionName or+-- renditionLanguageCode) to identify the unique subtitle track among the+-- alternative rendition groups present in the HLS manifest. If no unique+-- track is found, or multiple tracks match the specified properties, the+-- job fails. If there is only one subtitle track in the rendition group,+-- the settings can be left empty and the default subtitle track will be+-- chosen. If your caption source is a sidecar file, use FileSourceSettings+-- instead of WebvttHlsSourceSettings.+captionSourceSettings_webvttHlsSourceSettings :: Lens.Lens' CaptionSourceSettings (Prelude.Maybe WebvttHlsSourceSettings)+captionSourceSettings_webvttHlsSourceSettings = Lens.lens (\CaptionSourceSettings' {webvttHlsSourceSettings} -> webvttHlsSourceSettings) (\s@CaptionSourceSettings' {} a -> s {webvttHlsSourceSettings = a} :: CaptionSourceSettings)++instance Data.FromJSON CaptionSourceSettings where+ parseJSON =+ Data.withObject+ "CaptionSourceSettings"+ ( \x ->+ CaptionSourceSettings'+ Prelude.<$> (x Data..:? "ancillarySourceSettings")+ Prelude.<*> (x Data..:? "dvbSubSourceSettings")+ Prelude.<*> (x Data..:? "embeddedSourceSettings")+ Prelude.<*> (x Data..:? "fileSourceSettings")+ Prelude.<*> (x Data..:? "sourceType")+ Prelude.<*> (x Data..:? "teletextSourceSettings")+ Prelude.<*> (x Data..:? "trackSourceSettings")+ Prelude.<*> (x Data..:? "webvttHlsSourceSettings")+ )++instance Prelude.Hashable CaptionSourceSettings where+ hashWithSalt _salt CaptionSourceSettings' {..} =+ _salt+ `Prelude.hashWithSalt` ancillarySourceSettings+ `Prelude.hashWithSalt` dvbSubSourceSettings+ `Prelude.hashWithSalt` embeddedSourceSettings+ `Prelude.hashWithSalt` fileSourceSettings+ `Prelude.hashWithSalt` sourceType+ `Prelude.hashWithSalt` teletextSourceSettings+ `Prelude.hashWithSalt` trackSourceSettings+ `Prelude.hashWithSalt` webvttHlsSourceSettings++instance Prelude.NFData CaptionSourceSettings where+ rnf CaptionSourceSettings' {..} =+ Prelude.rnf ancillarySourceSettings+ `Prelude.seq` Prelude.rnf dvbSubSourceSettings+ `Prelude.seq` Prelude.rnf embeddedSourceSettings+ `Prelude.seq` Prelude.rnf fileSourceSettings+ `Prelude.seq` Prelude.rnf sourceType+ `Prelude.seq` Prelude.rnf teletextSourceSettings+ `Prelude.seq` Prelude.rnf trackSourceSettings+ `Prelude.seq` Prelude.rnf webvttHlsSourceSettings++instance Data.ToJSON CaptionSourceSettings where+ toJSON CaptionSourceSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ancillarySourceSettings" Data..=)+ Prelude.<$> ancillarySourceSettings,+ ("dvbSubSourceSettings" Data..=)+ Prelude.<$> dvbSubSourceSettings,+ ("embeddedSourceSettings" Data..=)+ Prelude.<$> embeddedSourceSettings,+ ("fileSourceSettings" Data..=)+ Prelude.<$> fileSourceSettings,+ ("sourceType" Data..=) Prelude.<$> sourceType,+ ("teletextSourceSettings" Data..=)+ Prelude.<$> teletextSourceSettings,+ ("trackSourceSettings" Data..=)+ Prelude.<$> trackSourceSettings,+ ("webvttHlsSourceSettings" Data..=)+ Prelude.<$> webvttHlsSourceSettings+ ]+ )
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CaptionSourceType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CaptionSourceType+ ( CaptionSourceType+ ( ..,+ CaptionSourceType_ANCILLARY,+ CaptionSourceType_DVB_SUB,+ CaptionSourceType_EMBEDDED,+ CaptionSourceType_IMSC,+ CaptionSourceType_NULL_SOURCE,+ CaptionSourceType_SCC,+ CaptionSourceType_SCTE20,+ CaptionSourceType_SMI,+ CaptionSourceType_SMPTE_TT,+ CaptionSourceType_SRT,+ CaptionSourceType_STL,+ CaptionSourceType_TELETEXT,+ CaptionSourceType_TTML,+ CaptionSourceType_WEBVTT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use Source (SourceType) to identify the format of your input captions.+-- The service cannot auto-detect caption format.+newtype CaptionSourceType = CaptionSourceType'+ { fromCaptionSourceType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CaptionSourceType_ANCILLARY :: CaptionSourceType+pattern CaptionSourceType_ANCILLARY = CaptionSourceType' "ANCILLARY"++pattern CaptionSourceType_DVB_SUB :: CaptionSourceType+pattern CaptionSourceType_DVB_SUB = CaptionSourceType' "DVB_SUB"++pattern CaptionSourceType_EMBEDDED :: CaptionSourceType+pattern CaptionSourceType_EMBEDDED = CaptionSourceType' "EMBEDDED"++pattern CaptionSourceType_IMSC :: CaptionSourceType+pattern CaptionSourceType_IMSC = CaptionSourceType' "IMSC"++pattern CaptionSourceType_NULL_SOURCE :: CaptionSourceType+pattern CaptionSourceType_NULL_SOURCE = CaptionSourceType' "NULL_SOURCE"++pattern CaptionSourceType_SCC :: CaptionSourceType+pattern CaptionSourceType_SCC = CaptionSourceType' "SCC"++pattern CaptionSourceType_SCTE20 :: CaptionSourceType+pattern CaptionSourceType_SCTE20 = CaptionSourceType' "SCTE20"++pattern CaptionSourceType_SMI :: CaptionSourceType+pattern CaptionSourceType_SMI = CaptionSourceType' "SMI"++pattern CaptionSourceType_SMPTE_TT :: CaptionSourceType+pattern CaptionSourceType_SMPTE_TT = CaptionSourceType' "SMPTE_TT"++pattern CaptionSourceType_SRT :: CaptionSourceType+pattern CaptionSourceType_SRT = CaptionSourceType' "SRT"++pattern CaptionSourceType_STL :: CaptionSourceType+pattern CaptionSourceType_STL = CaptionSourceType' "STL"++pattern CaptionSourceType_TELETEXT :: CaptionSourceType+pattern CaptionSourceType_TELETEXT = CaptionSourceType' "TELETEXT"++pattern CaptionSourceType_TTML :: CaptionSourceType+pattern CaptionSourceType_TTML = CaptionSourceType' "TTML"++pattern CaptionSourceType_WEBVTT :: CaptionSourceType+pattern CaptionSourceType_WEBVTT = CaptionSourceType' "WEBVTT"++{-# COMPLETE+ CaptionSourceType_ANCILLARY,+ CaptionSourceType_DVB_SUB,+ CaptionSourceType_EMBEDDED,+ CaptionSourceType_IMSC,+ CaptionSourceType_NULL_SOURCE,+ CaptionSourceType_SCC,+ CaptionSourceType_SCTE20,+ CaptionSourceType_SMI,+ CaptionSourceType_SMPTE_TT,+ CaptionSourceType_SRT,+ CaptionSourceType_STL,+ CaptionSourceType_TELETEXT,+ CaptionSourceType_TTML,+ CaptionSourceType_WEBVTT,+ CaptionSourceType'+ #-}
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ChannelMapping+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ChannelMapping where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.OutputChannelMapping+import qualified Amazonka.Prelude as Prelude++-- | Channel mapping (ChannelMapping) contains the group of fields that hold+-- the remixing value for each channel, in dB. Specify remix values to+-- indicate how much of the content from your input audio channel you want+-- in your output audio channels. Each instance of the InputChannels or+-- InputChannelsFineTune array specifies these values for one output+-- channel. Use one instance of this array for each output channel. In the+-- console, each array corresponds to a column in the graphical depiction+-- of the mapping matrix. The rows of the graphical matrix correspond to+-- input channels. Valid values are within the range from -60 (mute)+-- through 6. A setting of 0 passes the input channel unchanged to the+-- output channel (no attenuation or amplification). Use InputChannels or+-- InputChannelsFineTune to specify your remix values. Don\'t use both.+--+-- /See:/ 'newChannelMapping' smart constructor.+data ChannelMapping = ChannelMapping'+ { -- | In your JSON job specification, include one child of OutputChannels for+ -- each audio channel that you want in your output. Each child should+ -- contain one instance of InputChannels or InputChannelsFineTune.+ outputChannels :: Prelude.Maybe [OutputChannelMapping]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelMapping' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outputChannels', 'channelMapping_outputChannels' - In your JSON job specification, include one child of OutputChannels for+-- each audio channel that you want in your output. Each child should+-- contain one instance of InputChannels or InputChannelsFineTune.+newChannelMapping ::+ ChannelMapping+newChannelMapping =+ ChannelMapping' {outputChannels = Prelude.Nothing}++-- | In your JSON job specification, include one child of OutputChannels for+-- each audio channel that you want in your output. Each child should+-- contain one instance of InputChannels or InputChannelsFineTune.+channelMapping_outputChannels :: Lens.Lens' ChannelMapping (Prelude.Maybe [OutputChannelMapping])+channelMapping_outputChannels = Lens.lens (\ChannelMapping' {outputChannels} -> outputChannels) (\s@ChannelMapping' {} a -> s {outputChannels = a} :: ChannelMapping) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ChannelMapping where+ parseJSON =+ Data.withObject+ "ChannelMapping"+ ( \x ->+ ChannelMapping'+ Prelude.<$> ( x+ Data..:? "outputChannels"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable ChannelMapping where+ hashWithSalt _salt ChannelMapping' {..} =+ _salt `Prelude.hashWithSalt` outputChannels++instance Prelude.NFData ChannelMapping where+ rnf ChannelMapping' {..} = Prelude.rnf outputChannels++instance Data.ToJSON ChannelMapping where+ toJSON ChannelMapping' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("outputChannels" Data..=)+ Prelude.<$> outputChannels+ ]+ )
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafAdditionalManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafAdditionalManifest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the details for each pair of HLS and DASH additional manifests+-- that you want the service to generate for this CMAF output group. Each+-- pair of manifests can reference a different subset of outputs in the+-- group.+--+-- /See:/ 'newCmafAdditionalManifest' smart constructor.+data CmafAdditionalManifest = CmafAdditionalManifest'+ { -- | Specify a name modifier that the service adds to the name of this+ -- manifest to make it different from the file names of the other main+ -- manifests in the output group. For example, say that the default main+ -- manifest for your HLS group is film-name.m3u8. If you enter+ -- \"-no-premium\" for this setting, then the file name the service+ -- generates for this top-level manifest is film-name-no-premium.m3u8. For+ -- HLS output groups, specify a manifestNameModifier that is different from+ -- the nameModifier of the output. The service uses the output name+ -- modifier to create unique names for the individual variant manifests.+ manifestNameModifier :: Prelude.Maybe Prelude.Text,+ -- | Specify the outputs that you want this additional top-level manifest to+ -- reference.+ selectedOutputs :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CmafAdditionalManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestNameModifier', 'cmafAdditionalManifest_manifestNameModifier' - Specify a name modifier that the service adds to the name of this+-- manifest to make it different from the file names of the other main+-- manifests in the output group. For example, say that the default main+-- manifest for your HLS group is film-name.m3u8. If you enter+-- \"-no-premium\" for this setting, then the file name the service+-- generates for this top-level manifest is film-name-no-premium.m3u8. For+-- HLS output groups, specify a manifestNameModifier that is different from+-- the nameModifier of the output. The service uses the output name+-- modifier to create unique names for the individual variant manifests.+--+-- 'selectedOutputs', 'cmafAdditionalManifest_selectedOutputs' - Specify the outputs that you want this additional top-level manifest to+-- reference.+newCmafAdditionalManifest ::+ CmafAdditionalManifest+newCmafAdditionalManifest =+ CmafAdditionalManifest'+ { manifestNameModifier =+ Prelude.Nothing,+ selectedOutputs = Prelude.Nothing+ }++-- | Specify a name modifier that the service adds to the name of this+-- manifest to make it different from the file names of the other main+-- manifests in the output group. For example, say that the default main+-- manifest for your HLS group is film-name.m3u8. If you enter+-- \"-no-premium\" for this setting, then the file name the service+-- generates for this top-level manifest is film-name-no-premium.m3u8. For+-- HLS output groups, specify a manifestNameModifier that is different from+-- the nameModifier of the output. The service uses the output name+-- modifier to create unique names for the individual variant manifests.+cmafAdditionalManifest_manifestNameModifier :: Lens.Lens' CmafAdditionalManifest (Prelude.Maybe Prelude.Text)+cmafAdditionalManifest_manifestNameModifier = Lens.lens (\CmafAdditionalManifest' {manifestNameModifier} -> manifestNameModifier) (\s@CmafAdditionalManifest' {} a -> s {manifestNameModifier = a} :: CmafAdditionalManifest)++-- | Specify the outputs that you want this additional top-level manifest to+-- reference.+cmafAdditionalManifest_selectedOutputs :: Lens.Lens' CmafAdditionalManifest (Prelude.Maybe [Prelude.Text])+cmafAdditionalManifest_selectedOutputs = Lens.lens (\CmafAdditionalManifest' {selectedOutputs} -> selectedOutputs) (\s@CmafAdditionalManifest' {} a -> s {selectedOutputs = a} :: CmafAdditionalManifest) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CmafAdditionalManifest where+ parseJSON =+ Data.withObject+ "CmafAdditionalManifest"+ ( \x ->+ CmafAdditionalManifest'+ Prelude.<$> (x Data..:? "manifestNameModifier")+ Prelude.<*> ( x+ Data..:? "selectedOutputs"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable CmafAdditionalManifest where+ hashWithSalt _salt CmafAdditionalManifest' {..} =+ _salt+ `Prelude.hashWithSalt` manifestNameModifier+ `Prelude.hashWithSalt` selectedOutputs++instance Prelude.NFData CmafAdditionalManifest where+ rnf CmafAdditionalManifest' {..} =+ Prelude.rnf manifestNameModifier+ `Prelude.seq` Prelude.rnf selectedOutputs++instance Data.ToJSON CmafAdditionalManifest where+ toJSON CmafAdditionalManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("manifestNameModifier" Data..=)+ Prelude.<$> manifestNameModifier,+ ("selectedOutputs" Data..=)+ Prelude.<$> selectedOutputs+ ]+ )
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafClientCache+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafClientCache+ ( CmafClientCache+ ( ..,+ CmafClientCache_DISABLED,+ CmafClientCache_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Disable this setting only when your workflow requires the+-- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+-- (ENABLED) and control caching in your video distribution set up. For+-- example, use the Cache-Control http header.+newtype CmafClientCache = CmafClientCache'+ { fromCmafClientCache ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafClientCache_DISABLED :: CmafClientCache+pattern CmafClientCache_DISABLED = CmafClientCache' "DISABLED"++pattern CmafClientCache_ENABLED :: CmafClientCache+pattern CmafClientCache_ENABLED = CmafClientCache' "ENABLED"++{-# COMPLETE+ CmafClientCache_DISABLED,+ CmafClientCache_ENABLED,+ CmafClientCache'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafCodecSpecification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafCodecSpecification+ ( CmafCodecSpecification+ ( ..,+ CmafCodecSpecification_RFC_4281,+ CmafCodecSpecification_RFC_6381+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specification to use (RFC-6381 or the default RFC-4281) during m3u8+-- playlist generation.+newtype CmafCodecSpecification = CmafCodecSpecification'+ { fromCmafCodecSpecification ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafCodecSpecification_RFC_4281 :: CmafCodecSpecification+pattern CmafCodecSpecification_RFC_4281 = CmafCodecSpecification' "RFC_4281"++pattern CmafCodecSpecification_RFC_6381 :: CmafCodecSpecification+pattern CmafCodecSpecification_RFC_6381 = CmafCodecSpecification' "RFC_6381"++{-# COMPLETE+ CmafCodecSpecification_RFC_4281,+ CmafCodecSpecification_RFC_6381,+ CmafCodecSpecification'+ #-}
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafEncryptionSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafEncryptionSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CmafEncryptionType+import Amazonka.MediaConvert.Types.CmafInitializationVectorInManifest+import Amazonka.MediaConvert.Types.CmafKeyProviderType+import Amazonka.MediaConvert.Types.SpekeKeyProviderCmaf+import Amazonka.MediaConvert.Types.StaticKeyProvider+import qualified Amazonka.Prelude as Prelude++-- | Settings for CMAF encryption+--+-- /See:/ 'newCmafEncryptionSettings' smart constructor.+data CmafEncryptionSettings = CmafEncryptionSettings'+ { -- | This is a 128-bit, 16-byte hex value represented by a 32-character text+ -- string. If this parameter is not set then the Initialization Vector will+ -- follow the segment number by default.+ constantInitializationVector :: Prelude.Maybe Prelude.Text,+ -- | Specify the encryption scheme that you want the service to use when+ -- encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or+ -- AES_CTR (AES-CTR).+ encryptionMethod :: Prelude.Maybe CmafEncryptionType,+ -- | When you use DRM with CMAF outputs, choose whether the service writes+ -- the 128-bit encryption initialization vector in the HLS and DASH+ -- manifests.+ initializationVectorInManifest :: Prelude.Maybe CmafInitializationVectorInManifest,+ -- | If your output group type is CMAF, use these settings when doing DRM+ -- encryption with a SPEKE-compliant key provider. If your output group+ -- type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider+ -- settings instead.+ spekeKeyProvider :: Prelude.Maybe SpekeKeyProviderCmaf,+ -- | Use these settings to set up encryption with a static key provider.+ staticKeyProvider :: Prelude.Maybe StaticKeyProvider,+ -- | Specify whether your DRM encryption key is static or from a key provider+ -- that follows the SPEKE standard. For more information about SPEKE, see+ -- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+ type' :: Prelude.Maybe CmafKeyProviderType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CmafEncryptionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'constantInitializationVector', 'cmafEncryptionSettings_constantInitializationVector' - This is a 128-bit, 16-byte hex value represented by a 32-character text+-- string. If this parameter is not set then the Initialization Vector will+-- follow the segment number by default.+--+-- 'encryptionMethod', 'cmafEncryptionSettings_encryptionMethod' - Specify the encryption scheme that you want the service to use when+-- encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or+-- AES_CTR (AES-CTR).+--+-- 'initializationVectorInManifest', 'cmafEncryptionSettings_initializationVectorInManifest' - When you use DRM with CMAF outputs, choose whether the service writes+-- the 128-bit encryption initialization vector in the HLS and DASH+-- manifests.+--+-- 'spekeKeyProvider', 'cmafEncryptionSettings_spekeKeyProvider' - If your output group type is CMAF, use these settings when doing DRM+-- encryption with a SPEKE-compliant key provider. If your output group+-- type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider+-- settings instead.+--+-- 'staticKeyProvider', 'cmafEncryptionSettings_staticKeyProvider' - Use these settings to set up encryption with a static key provider.+--+-- 'type'', 'cmafEncryptionSettings_type' - Specify whether your DRM encryption key is static or from a key provider+-- that follows the SPEKE standard. For more information about SPEKE, see+-- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+newCmafEncryptionSettings ::+ CmafEncryptionSettings+newCmafEncryptionSettings =+ CmafEncryptionSettings'+ { constantInitializationVector =+ Prelude.Nothing,+ encryptionMethod = Prelude.Nothing,+ initializationVectorInManifest = Prelude.Nothing,+ spekeKeyProvider = Prelude.Nothing,+ staticKeyProvider = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | This is a 128-bit, 16-byte hex value represented by a 32-character text+-- string. If this parameter is not set then the Initialization Vector will+-- follow the segment number by default.+cmafEncryptionSettings_constantInitializationVector :: Lens.Lens' CmafEncryptionSettings (Prelude.Maybe Prelude.Text)+cmafEncryptionSettings_constantInitializationVector = Lens.lens (\CmafEncryptionSettings' {constantInitializationVector} -> constantInitializationVector) (\s@CmafEncryptionSettings' {} a -> s {constantInitializationVector = a} :: CmafEncryptionSettings)++-- | Specify the encryption scheme that you want the service to use when+-- encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or+-- AES_CTR (AES-CTR).+cmafEncryptionSettings_encryptionMethod :: Lens.Lens' CmafEncryptionSettings (Prelude.Maybe CmafEncryptionType)+cmafEncryptionSettings_encryptionMethod = Lens.lens (\CmafEncryptionSettings' {encryptionMethod} -> encryptionMethod) (\s@CmafEncryptionSettings' {} a -> s {encryptionMethod = a} :: CmafEncryptionSettings)++-- | When you use DRM with CMAF outputs, choose whether the service writes+-- the 128-bit encryption initialization vector in the HLS and DASH+-- manifests.+cmafEncryptionSettings_initializationVectorInManifest :: Lens.Lens' CmafEncryptionSettings (Prelude.Maybe CmafInitializationVectorInManifest)+cmafEncryptionSettings_initializationVectorInManifest = Lens.lens (\CmafEncryptionSettings' {initializationVectorInManifest} -> initializationVectorInManifest) (\s@CmafEncryptionSettings' {} a -> s {initializationVectorInManifest = a} :: CmafEncryptionSettings)++-- | If your output group type is CMAF, use these settings when doing DRM+-- encryption with a SPEKE-compliant key provider. If your output group+-- type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider+-- settings instead.+cmafEncryptionSettings_spekeKeyProvider :: Lens.Lens' CmafEncryptionSettings (Prelude.Maybe SpekeKeyProviderCmaf)+cmafEncryptionSettings_spekeKeyProvider = Lens.lens (\CmafEncryptionSettings' {spekeKeyProvider} -> spekeKeyProvider) (\s@CmafEncryptionSettings' {} a -> s {spekeKeyProvider = a} :: CmafEncryptionSettings)++-- | Use these settings to set up encryption with a static key provider.+cmafEncryptionSettings_staticKeyProvider :: Lens.Lens' CmafEncryptionSettings (Prelude.Maybe StaticKeyProvider)+cmafEncryptionSettings_staticKeyProvider = Lens.lens (\CmafEncryptionSettings' {staticKeyProvider} -> staticKeyProvider) (\s@CmafEncryptionSettings' {} a -> s {staticKeyProvider = a} :: CmafEncryptionSettings)++-- | Specify whether your DRM encryption key is static or from a key provider+-- that follows the SPEKE standard. For more information about SPEKE, see+-- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+cmafEncryptionSettings_type :: Lens.Lens' CmafEncryptionSettings (Prelude.Maybe CmafKeyProviderType)+cmafEncryptionSettings_type = Lens.lens (\CmafEncryptionSettings' {type'} -> type') (\s@CmafEncryptionSettings' {} a -> s {type' = a} :: CmafEncryptionSettings)++instance Data.FromJSON CmafEncryptionSettings where+ parseJSON =+ Data.withObject+ "CmafEncryptionSettings"+ ( \x ->+ CmafEncryptionSettings'+ Prelude.<$> (x Data..:? "constantInitializationVector")+ Prelude.<*> (x Data..:? "encryptionMethod")+ Prelude.<*> (x Data..:? "initializationVectorInManifest")+ Prelude.<*> (x Data..:? "spekeKeyProvider")+ Prelude.<*> (x Data..:? "staticKeyProvider")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable CmafEncryptionSettings where+ hashWithSalt _salt CmafEncryptionSettings' {..} =+ _salt+ `Prelude.hashWithSalt` constantInitializationVector+ `Prelude.hashWithSalt` encryptionMethod+ `Prelude.hashWithSalt` initializationVectorInManifest+ `Prelude.hashWithSalt` spekeKeyProvider+ `Prelude.hashWithSalt` staticKeyProvider+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CmafEncryptionSettings where+ rnf CmafEncryptionSettings' {..} =+ Prelude.rnf constantInitializationVector+ `Prelude.seq` Prelude.rnf encryptionMethod+ `Prelude.seq` Prelude.rnf initializationVectorInManifest+ `Prelude.seq` Prelude.rnf spekeKeyProvider+ `Prelude.seq` Prelude.rnf staticKeyProvider+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON CmafEncryptionSettings where+ toJSON CmafEncryptionSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("constantInitializationVector" Data..=)+ Prelude.<$> constantInitializationVector,+ ("encryptionMethod" Data..=)+ Prelude.<$> encryptionMethod,+ ("initializationVectorInManifest" Data..=)+ Prelude.<$> initializationVectorInManifest,+ ("spekeKeyProvider" Data..=)+ Prelude.<$> spekeKeyProvider,+ ("staticKeyProvider" Data..=)+ Prelude.<$> staticKeyProvider,+ ("type" Data..=) Prelude.<$> type'+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafEncryptionType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafEncryptionType+ ( CmafEncryptionType+ ( ..,+ CmafEncryptionType_AES_CTR,+ CmafEncryptionType_SAMPLE_AES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the encryption scheme that you want the service to use when+-- encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or+-- AES_CTR (AES-CTR).+newtype CmafEncryptionType = CmafEncryptionType'+ { fromCmafEncryptionType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafEncryptionType_AES_CTR :: CmafEncryptionType+pattern CmafEncryptionType_AES_CTR = CmafEncryptionType' "AES_CTR"++pattern CmafEncryptionType_SAMPLE_AES :: CmafEncryptionType+pattern CmafEncryptionType_SAMPLE_AES = CmafEncryptionType' "SAMPLE_AES"++{-# COMPLETE+ CmafEncryptionType_AES_CTR,+ CmafEncryptionType_SAMPLE_AES,+ CmafEncryptionType'+ #-}
@@ -0,0 +1,773 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafGroupSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafGroupSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CmafAdditionalManifest+import Amazonka.MediaConvert.Types.CmafClientCache+import Amazonka.MediaConvert.Types.CmafCodecSpecification+import Amazonka.MediaConvert.Types.CmafEncryptionSettings+import Amazonka.MediaConvert.Types.CmafImageBasedTrickPlay+import Amazonka.MediaConvert.Types.CmafImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.CmafManifestCompression+import Amazonka.MediaConvert.Types.CmafManifestDurationFormat+import Amazonka.MediaConvert.Types.CmafMpdManifestBandwidthType+import Amazonka.MediaConvert.Types.CmafMpdProfile+import Amazonka.MediaConvert.Types.CmafPtsOffsetHandlingForBFrames+import Amazonka.MediaConvert.Types.CmafSegmentControl+import Amazonka.MediaConvert.Types.CmafSegmentLengthControl+import Amazonka.MediaConvert.Types.CmafStreamInfResolution+import Amazonka.MediaConvert.Types.CmafTargetDurationCompatibilityMode+import Amazonka.MediaConvert.Types.CmafVideoCompositionOffsets+import Amazonka.MediaConvert.Types.CmafWriteDASHManifest+import Amazonka.MediaConvert.Types.CmafWriteHLSManifest+import Amazonka.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation+import Amazonka.MediaConvert.Types.DestinationSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings related to your CMAF output package. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/outputs-file-ABR.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set Type, under+-- OutputGroupSettings, to CMAF_GROUP_SETTINGS.+--+-- /See:/ 'newCmafGroupSettings' smart constructor.+data CmafGroupSettings = CmafGroupSettings'+ { -- | By default, the service creates one top-level .m3u8 HLS manifest and one+ -- top -level .mpd DASH manifest for each CMAF output group in your job.+ -- These default manifests reference every output in the output group. To+ -- create additional top-level manifests that reference a subset of the+ -- outputs in the output group, specify a list of them here. For each+ -- additional manifest that you specify, the service creates one HLS+ -- manifest and one DASH manifest.+ additionalManifests :: Prelude.Maybe [CmafAdditionalManifest],+ -- | A partial URI prefix that will be put in the manifest file at the top+ -- level BaseURL element. Can be used if streams are delivered from a+ -- different URL than the manifest file.+ baseUrl :: Prelude.Maybe Prelude.Text,+ -- | Disable this setting only when your workflow requires the+ -- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+ -- (ENABLED) and control caching in your video distribution set up. For+ -- example, use the Cache-Control http header.+ clientCache :: Prelude.Maybe CmafClientCache,+ -- | Specification to use (RFC-6381 or the default RFC-4281) during m3u8+ -- playlist generation.+ codecSpecification :: Prelude.Maybe CmafCodecSpecification,+ -- | Use Destination (Destination) to specify the S3 output location and the+ -- output filename base. Destination accepts format identifiers. If you do+ -- not specify the base filename in the URI, the service will use the+ -- filename of the input file. If your job has multiple inputs, the service+ -- uses the filename of the first input file.+ destination :: Prelude.Maybe Prelude.Text,+ -- | Settings associated with the destination. Will vary based on the type of+ -- destination+ destinationSettings :: Prelude.Maybe DestinationSettings,+ -- | DRM settings.+ encryption :: Prelude.Maybe CmafEncryptionSettings,+ -- | Specify the length, in whole seconds, of the mp4 fragments. When you+ -- don\'t specify a value, MediaConvert defaults to 2. Related setting: Use+ -- Fragment length control (FragmentLengthControl) to specify whether the+ -- encoder enforces this value strictly.+ fragmentLength :: Prelude.Maybe Prelude.Natural,+ -- | Specify whether MediaConvert generates images for trick play. Keep the+ -- default value, None (NONE), to not generate any images. Choose Thumbnail+ -- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+ -- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+ -- full-resolution images of single frames. When you enable Write HLS+ -- manifest (WriteHlsManifest), MediaConvert creates a child manifest for+ -- each set of images that you generate and adds corresponding entries to+ -- the parent manifest. When you enable Write DASH manifest+ -- (WriteDashManifest), MediaConvert adds an entry in the .mpd manifest for+ -- each set of images that you generate. A common application for these+ -- images is Roku trick mode. The thumbnails and full-frame images that+ -- MediaConvert creates with this feature are compatible with this Roku+ -- specification:+ -- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+ imageBasedTrickPlay :: Prelude.Maybe CmafImageBasedTrickPlay,+ -- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+ -- ADVANCED+ imageBasedTrickPlaySettings :: Prelude.Maybe CmafImageBasedTrickPlaySettings,+ -- | When set to GZIP, compresses HLS playlist.+ manifestCompression :: Prelude.Maybe CmafManifestCompression,+ -- | Indicates whether the output manifest should use floating point values+ -- for segment duration.+ manifestDurationFormat :: Prelude.Maybe CmafManifestDurationFormat,+ -- | Minimum time of initially buffered media that is needed to ensure smooth+ -- playout.+ minBufferTime :: Prelude.Maybe Prelude.Natural,+ -- | Keep this setting at the default value of 0, unless you are+ -- troubleshooting a problem with how devices play back the end of your+ -- video asset. If you know that player devices are hanging on the final+ -- segment of your video because the length of your final segment is too+ -- short, use this setting to specify a minimum final segment length, in+ -- seconds. Choose a value that is greater than or equal to 1 and less than+ -- your segment length. When you specify a value for this setting, the+ -- encoder will combine any final segment that is shorter than the length+ -- that you specify with the previous segment. For example, your segment+ -- length is 3 seconds and your final segment is .5 seconds without a+ -- minimum final segment length; when you set the minimum final segment+ -- length to 1, your final segment is 3.5 seconds.+ minFinalSegmentLength :: Prelude.Maybe Prelude.Double,+ -- | Specify how the value for bandwidth is determined for each video+ -- Representation in your output MPD manifest. We recommend that you choose+ -- a MPD manifest bandwidth type that is compatible with your downstream+ -- player configuration. Max: Use the same value that you specify for Max+ -- bitrate in the video output, in bits per second. Average: Use the+ -- calculated average bitrate of the encoded video output, in bits per+ -- second.+ mpdManifestBandwidthType :: Prelude.Maybe CmafMpdManifestBandwidthType,+ -- | Specify whether your DASH profile is on-demand or main. When you choose+ -- Main profile (MAIN_PROFILE), the service signals+ -- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+ -- you choose On-demand (ON_DEMAND_PROFILE), the service signals+ -- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+ -- On-demand, you must also set the output group setting Segment control+ -- (SegmentControl) to Single file (SINGLE_FILE).+ mpdProfile :: Prelude.Maybe CmafMpdProfile,+ -- | Use this setting only when your output video stream has B-frames, which+ -- causes the initial presentation time stamp (PTS) to be offset from the+ -- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+ -- when writing time stamps in output DASH manifests. Choose Match initial+ -- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+ -- PTS as the first time stamp in the manifest. Choose Zero-based+ -- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+ -- stream and instead write the initial time stamp as zero in the manifest.+ -- For outputs that don\'t have B-frames, the time stamps in your DASH+ -- manifests start at zero regardless of your choice here.+ ptsOffsetHandlingForBFrames :: Prelude.Maybe CmafPtsOffsetHandlingForBFrames,+ -- | When set to SINGLE_FILE, a single output file is generated, which is+ -- internally segmented using the Fragment Length and Segment Length. When+ -- set to SEGMENTED_FILES, separate segment files will be created.+ segmentControl :: Prelude.Maybe CmafSegmentControl,+ -- | Specify the length, in whole seconds, of each segment. When you don\'t+ -- specify a value, MediaConvert defaults to 10. Related settings: Use+ -- Segment length control (SegmentLengthControl) to specify whether the+ -- encoder enforces this value strictly. Use Segment control+ -- (CmafSegmentControl) to specify whether MediaConvert creates separate+ -- segment files or one content file that has metadata to mark the segment+ -- boundaries.+ segmentLength :: Prelude.Maybe Prelude.Natural,+ -- | Specify how you want MediaConvert to determine the segment length.+ -- Choose Exact (EXACT) to have the encoder use the exact length that you+ -- specify with the setting Segment length (SegmentLength). This might+ -- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+ -- the encoder round up the segment lengths to match the next GOP boundary.+ segmentLengthControl :: Prelude.Maybe CmafSegmentLengthControl,+ -- | Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+ -- tag of variant manifest.+ streamInfResolution :: Prelude.Maybe CmafStreamInfResolution,+ -- | When set to LEGACY, the segment target duration is always rounded up to+ -- the nearest integer value above its current value in seconds. When set+ -- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+ -- nearest integer value if fraction seconds are greater than or equal to+ -- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+ -- use LEGACY if your client needs to ensure that the target duration is+ -- always longer than the actual duration of the segment. Some older+ -- players may experience interrupted playback when the actual duration of+ -- a track in a segment is longer than the target duration.+ targetDurationCompatibilityMode :: Prelude.Maybe CmafTargetDurationCompatibilityMode,+ -- | Specify the video sample composition time offset mode in the output fMP4+ -- TRUN box. For wider player compatibility, set Video composition offsets+ -- to Unsigned or leave blank. The earliest presentation time may be+ -- greater than zero, and sample composition time offsets will increment+ -- using unsigned integers. For strict fMP4 video and audio timing, set+ -- Video composition offsets to Signed. The earliest presentation time will+ -- be equal to zero, and sample composition time offsets will increment+ -- using signed integers.+ videoCompositionOffsets :: Prelude.Maybe CmafVideoCompositionOffsets,+ -- | When set to ENABLED, a DASH MPD manifest will be generated for this+ -- output.+ writeDashManifest :: Prelude.Maybe CmafWriteDASHManifest,+ -- | When set to ENABLED, an Apple HLS manifest will be generated for this+ -- output.+ writeHlsManifest :: Prelude.Maybe CmafWriteHLSManifest,+ -- | When you enable Precise segment duration in DASH manifests+ -- (writeSegmentTimelineInRepresentation), your DASH manifest shows precise+ -- segment durations. The segment duration information appears inside the+ -- SegmentTimeline element, inside SegmentTemplate at the Representation+ -- level. When this feature isn\'t enabled, the segment durations in your+ -- DASH manifest are approximate. The segment duration information appears+ -- in the duration attribute of the SegmentTemplate element.+ writeSegmentTimelineInRepresentation :: Prelude.Maybe CmafWriteSegmentTimelineInRepresentation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CmafGroupSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalManifests', 'cmafGroupSettings_additionalManifests' - By default, the service creates one top-level .m3u8 HLS manifest and one+-- top -level .mpd DASH manifest for each CMAF output group in your job.+-- These default manifests reference every output in the output group. To+-- create additional top-level manifests that reference a subset of the+-- outputs in the output group, specify a list of them here. For each+-- additional manifest that you specify, the service creates one HLS+-- manifest and one DASH manifest.+--+-- 'baseUrl', 'cmafGroupSettings_baseUrl' - A partial URI prefix that will be put in the manifest file at the top+-- level BaseURL element. Can be used if streams are delivered from a+-- different URL than the manifest file.+--+-- 'clientCache', 'cmafGroupSettings_clientCache' - Disable this setting only when your workflow requires the+-- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+-- (ENABLED) and control caching in your video distribution set up. For+-- example, use the Cache-Control http header.+--+-- 'codecSpecification', 'cmafGroupSettings_codecSpecification' - Specification to use (RFC-6381 or the default RFC-4281) during m3u8+-- playlist generation.+--+-- 'destination', 'cmafGroupSettings_destination' - Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+--+-- 'destinationSettings', 'cmafGroupSettings_destinationSettings' - Settings associated with the destination. Will vary based on the type of+-- destination+--+-- 'encryption', 'cmafGroupSettings_encryption' - DRM settings.+--+-- 'fragmentLength', 'cmafGroupSettings_fragmentLength' - Specify the length, in whole seconds, of the mp4 fragments. When you+-- don\'t specify a value, MediaConvert defaults to 2. Related setting: Use+-- Fragment length control (FragmentLengthControl) to specify whether the+-- encoder enforces this value strictly.+--+-- 'imageBasedTrickPlay', 'cmafGroupSettings_imageBasedTrickPlay' - Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. When you enable Write HLS+-- manifest (WriteHlsManifest), MediaConvert creates a child manifest for+-- each set of images that you generate and adds corresponding entries to+-- the parent manifest. When you enable Write DASH manifest+-- (WriteDashManifest), MediaConvert adds an entry in the .mpd manifest for+-- each set of images that you generate. A common application for these+-- images is Roku trick mode. The thumbnails and full-frame images that+-- MediaConvert creates with this feature are compatible with this Roku+-- specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+--+-- 'imageBasedTrickPlaySettings', 'cmafGroupSettings_imageBasedTrickPlaySettings' - Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+--+-- 'manifestCompression', 'cmafGroupSettings_manifestCompression' - When set to GZIP, compresses HLS playlist.+--+-- 'manifestDurationFormat', 'cmafGroupSettings_manifestDurationFormat' - Indicates whether the output manifest should use floating point values+-- for segment duration.+--+-- 'minBufferTime', 'cmafGroupSettings_minBufferTime' - Minimum time of initially buffered media that is needed to ensure smooth+-- playout.+--+-- 'minFinalSegmentLength', 'cmafGroupSettings_minFinalSegmentLength' - Keep this setting at the default value of 0, unless you are+-- troubleshooting a problem with how devices play back the end of your+-- video asset. If you know that player devices are hanging on the final+-- segment of your video because the length of your final segment is too+-- short, use this setting to specify a minimum final segment length, in+-- seconds. Choose a value that is greater than or equal to 1 and less than+-- your segment length. When you specify a value for this setting, the+-- encoder will combine any final segment that is shorter than the length+-- that you specify with the previous segment. For example, your segment+-- length is 3 seconds and your final segment is .5 seconds without a+-- minimum final segment length; when you set the minimum final segment+-- length to 1, your final segment is 3.5 seconds.+--+-- 'mpdManifestBandwidthType', 'cmafGroupSettings_mpdManifestBandwidthType' - Specify how the value for bandwidth is determined for each video+-- Representation in your output MPD manifest. We recommend that you choose+-- a MPD manifest bandwidth type that is compatible with your downstream+-- player configuration. Max: Use the same value that you specify for Max+-- bitrate in the video output, in bits per second. Average: Use the+-- calculated average bitrate of the encoded video output, in bits per+-- second.+--+-- 'mpdProfile', 'cmafGroupSettings_mpdProfile' - Specify whether your DASH profile is on-demand or main. When you choose+-- Main profile (MAIN_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+-- you choose On-demand (ON_DEMAND_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+-- On-demand, you must also set the output group setting Segment control+-- (SegmentControl) to Single file (SINGLE_FILE).+--+-- 'ptsOffsetHandlingForBFrames', 'cmafGroupSettings_ptsOffsetHandlingForBFrames' - Use this setting only when your output video stream has B-frames, which+-- causes the initial presentation time stamp (PTS) to be offset from the+-- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+-- when writing time stamps in output DASH manifests. Choose Match initial+-- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+-- PTS as the first time stamp in the manifest. Choose Zero-based+-- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+-- stream and instead write the initial time stamp as zero in the manifest.+-- For outputs that don\'t have B-frames, the time stamps in your DASH+-- manifests start at zero regardless of your choice here.+--+-- 'segmentControl', 'cmafGroupSettings_segmentControl' - When set to SINGLE_FILE, a single output file is generated, which is+-- internally segmented using the Fragment Length and Segment Length. When+-- set to SEGMENTED_FILES, separate segment files will be created.+--+-- 'segmentLength', 'cmafGroupSettings_segmentLength' - Specify the length, in whole seconds, of each segment. When you don\'t+-- specify a value, MediaConvert defaults to 10. Related settings: Use+-- Segment length control (SegmentLengthControl) to specify whether the+-- encoder enforces this value strictly. Use Segment control+-- (CmafSegmentControl) to specify whether MediaConvert creates separate+-- segment files or one content file that has metadata to mark the segment+-- boundaries.+--+-- 'segmentLengthControl', 'cmafGroupSettings_segmentLengthControl' - Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+--+-- 'streamInfResolution', 'cmafGroupSettings_streamInfResolution' - Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+-- tag of variant manifest.+--+-- 'targetDurationCompatibilityMode', 'cmafGroupSettings_targetDurationCompatibilityMode' - When set to LEGACY, the segment target duration is always rounded up to+-- the nearest integer value above its current value in seconds. When set+-- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+-- nearest integer value if fraction seconds are greater than or equal to+-- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+-- use LEGACY if your client needs to ensure that the target duration is+-- always longer than the actual duration of the segment. Some older+-- players may experience interrupted playback when the actual duration of+-- a track in a segment is longer than the target duration.+--+-- 'videoCompositionOffsets', 'cmafGroupSettings_videoCompositionOffsets' - Specify the video sample composition time offset mode in the output fMP4+-- TRUN box. For wider player compatibility, set Video composition offsets+-- to Unsigned or leave blank. The earliest presentation time may be+-- greater than zero, and sample composition time offsets will increment+-- using unsigned integers. For strict fMP4 video and audio timing, set+-- Video composition offsets to Signed. The earliest presentation time will+-- be equal to zero, and sample composition time offsets will increment+-- using signed integers.+--+-- 'writeDashManifest', 'cmafGroupSettings_writeDashManifest' - When set to ENABLED, a DASH MPD manifest will be generated for this+-- output.+--+-- 'writeHlsManifest', 'cmafGroupSettings_writeHlsManifest' - When set to ENABLED, an Apple HLS manifest will be generated for this+-- output.+--+-- 'writeSegmentTimelineInRepresentation', 'cmafGroupSettings_writeSegmentTimelineInRepresentation' - When you enable Precise segment duration in DASH manifests+-- (writeSegmentTimelineInRepresentation), your DASH manifest shows precise+-- segment durations. The segment duration information appears inside the+-- SegmentTimeline element, inside SegmentTemplate at the Representation+-- level. When this feature isn\'t enabled, the segment durations in your+-- DASH manifest are approximate. The segment duration information appears+-- in the duration attribute of the SegmentTemplate element.+newCmafGroupSettings ::+ CmafGroupSettings+newCmafGroupSettings =+ CmafGroupSettings'+ { additionalManifests =+ Prelude.Nothing,+ baseUrl = Prelude.Nothing,+ clientCache = Prelude.Nothing,+ codecSpecification = Prelude.Nothing,+ destination = Prelude.Nothing,+ destinationSettings = Prelude.Nothing,+ encryption = Prelude.Nothing,+ fragmentLength = Prelude.Nothing,+ imageBasedTrickPlay = Prelude.Nothing,+ imageBasedTrickPlaySettings = Prelude.Nothing,+ manifestCompression = Prelude.Nothing,+ manifestDurationFormat = Prelude.Nothing,+ minBufferTime = Prelude.Nothing,+ minFinalSegmentLength = Prelude.Nothing,+ mpdManifestBandwidthType = Prelude.Nothing,+ mpdProfile = Prelude.Nothing,+ ptsOffsetHandlingForBFrames = Prelude.Nothing,+ segmentControl = Prelude.Nothing,+ segmentLength = Prelude.Nothing,+ segmentLengthControl = Prelude.Nothing,+ streamInfResolution = Prelude.Nothing,+ targetDurationCompatibilityMode = Prelude.Nothing,+ videoCompositionOffsets = Prelude.Nothing,+ writeDashManifest = Prelude.Nothing,+ writeHlsManifest = Prelude.Nothing,+ writeSegmentTimelineInRepresentation =+ Prelude.Nothing+ }++-- | By default, the service creates one top-level .m3u8 HLS manifest and one+-- top -level .mpd DASH manifest for each CMAF output group in your job.+-- These default manifests reference every output in the output group. To+-- create additional top-level manifests that reference a subset of the+-- outputs in the output group, specify a list of them here. For each+-- additional manifest that you specify, the service creates one HLS+-- manifest and one DASH manifest.+cmafGroupSettings_additionalManifests :: Lens.Lens' CmafGroupSettings (Prelude.Maybe [CmafAdditionalManifest])+cmafGroupSettings_additionalManifests = Lens.lens (\CmafGroupSettings' {additionalManifests} -> additionalManifests) (\s@CmafGroupSettings' {} a -> s {additionalManifests = a} :: CmafGroupSettings) Prelude.. Lens.mapping Lens.coerced++-- | A partial URI prefix that will be put in the manifest file at the top+-- level BaseURL element. Can be used if streams are delivered from a+-- different URL than the manifest file.+cmafGroupSettings_baseUrl :: Lens.Lens' CmafGroupSettings (Prelude.Maybe Prelude.Text)+cmafGroupSettings_baseUrl = Lens.lens (\CmafGroupSettings' {baseUrl} -> baseUrl) (\s@CmafGroupSettings' {} a -> s {baseUrl = a} :: CmafGroupSettings)++-- | Disable this setting only when your workflow requires the+-- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+-- (ENABLED) and control caching in your video distribution set up. For+-- example, use the Cache-Control http header.+cmafGroupSettings_clientCache :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafClientCache)+cmafGroupSettings_clientCache = Lens.lens (\CmafGroupSettings' {clientCache} -> clientCache) (\s@CmafGroupSettings' {} a -> s {clientCache = a} :: CmafGroupSettings)++-- | Specification to use (RFC-6381 or the default RFC-4281) during m3u8+-- playlist generation.+cmafGroupSettings_codecSpecification :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafCodecSpecification)+cmafGroupSettings_codecSpecification = Lens.lens (\CmafGroupSettings' {codecSpecification} -> codecSpecification) (\s@CmafGroupSettings' {} a -> s {codecSpecification = a} :: CmafGroupSettings)++-- | Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+cmafGroupSettings_destination :: Lens.Lens' CmafGroupSettings (Prelude.Maybe Prelude.Text)+cmafGroupSettings_destination = Lens.lens (\CmafGroupSettings' {destination} -> destination) (\s@CmafGroupSettings' {} a -> s {destination = a} :: CmafGroupSettings)++-- | Settings associated with the destination. Will vary based on the type of+-- destination+cmafGroupSettings_destinationSettings :: Lens.Lens' CmafGroupSettings (Prelude.Maybe DestinationSettings)+cmafGroupSettings_destinationSettings = Lens.lens (\CmafGroupSettings' {destinationSettings} -> destinationSettings) (\s@CmafGroupSettings' {} a -> s {destinationSettings = a} :: CmafGroupSettings)++-- | DRM settings.+cmafGroupSettings_encryption :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafEncryptionSettings)+cmafGroupSettings_encryption = Lens.lens (\CmafGroupSettings' {encryption} -> encryption) (\s@CmafGroupSettings' {} a -> s {encryption = a} :: CmafGroupSettings)++-- | Specify the length, in whole seconds, of the mp4 fragments. When you+-- don\'t specify a value, MediaConvert defaults to 2. Related setting: Use+-- Fragment length control (FragmentLengthControl) to specify whether the+-- encoder enforces this value strictly.+cmafGroupSettings_fragmentLength :: Lens.Lens' CmafGroupSettings (Prelude.Maybe Prelude.Natural)+cmafGroupSettings_fragmentLength = Lens.lens (\CmafGroupSettings' {fragmentLength} -> fragmentLength) (\s@CmafGroupSettings' {} a -> s {fragmentLength = a} :: CmafGroupSettings)++-- | Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. When you enable Write HLS+-- manifest (WriteHlsManifest), MediaConvert creates a child manifest for+-- each set of images that you generate and adds corresponding entries to+-- the parent manifest. When you enable Write DASH manifest+-- (WriteDashManifest), MediaConvert adds an entry in the .mpd manifest for+-- each set of images that you generate. A common application for these+-- images is Roku trick mode. The thumbnails and full-frame images that+-- MediaConvert creates with this feature are compatible with this Roku+-- specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+cmafGroupSettings_imageBasedTrickPlay :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafImageBasedTrickPlay)+cmafGroupSettings_imageBasedTrickPlay = Lens.lens (\CmafGroupSettings' {imageBasedTrickPlay} -> imageBasedTrickPlay) (\s@CmafGroupSettings' {} a -> s {imageBasedTrickPlay = a} :: CmafGroupSettings)++-- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+cmafGroupSettings_imageBasedTrickPlaySettings :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafImageBasedTrickPlaySettings)+cmafGroupSettings_imageBasedTrickPlaySettings = Lens.lens (\CmafGroupSettings' {imageBasedTrickPlaySettings} -> imageBasedTrickPlaySettings) (\s@CmafGroupSettings' {} a -> s {imageBasedTrickPlaySettings = a} :: CmafGroupSettings)++-- | When set to GZIP, compresses HLS playlist.+cmafGroupSettings_manifestCompression :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafManifestCompression)+cmafGroupSettings_manifestCompression = Lens.lens (\CmafGroupSettings' {manifestCompression} -> manifestCompression) (\s@CmafGroupSettings' {} a -> s {manifestCompression = a} :: CmafGroupSettings)++-- | Indicates whether the output manifest should use floating point values+-- for segment duration.+cmafGroupSettings_manifestDurationFormat :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafManifestDurationFormat)+cmafGroupSettings_manifestDurationFormat = Lens.lens (\CmafGroupSettings' {manifestDurationFormat} -> manifestDurationFormat) (\s@CmafGroupSettings' {} a -> s {manifestDurationFormat = a} :: CmafGroupSettings)++-- | Minimum time of initially buffered media that is needed to ensure smooth+-- playout.+cmafGroupSettings_minBufferTime :: Lens.Lens' CmafGroupSettings (Prelude.Maybe Prelude.Natural)+cmafGroupSettings_minBufferTime = Lens.lens (\CmafGroupSettings' {minBufferTime} -> minBufferTime) (\s@CmafGroupSettings' {} a -> s {minBufferTime = a} :: CmafGroupSettings)++-- | Keep this setting at the default value of 0, unless you are+-- troubleshooting a problem with how devices play back the end of your+-- video asset. If you know that player devices are hanging on the final+-- segment of your video because the length of your final segment is too+-- short, use this setting to specify a minimum final segment length, in+-- seconds. Choose a value that is greater than or equal to 1 and less than+-- your segment length. When you specify a value for this setting, the+-- encoder will combine any final segment that is shorter than the length+-- that you specify with the previous segment. For example, your segment+-- length is 3 seconds and your final segment is .5 seconds without a+-- minimum final segment length; when you set the minimum final segment+-- length to 1, your final segment is 3.5 seconds.+cmafGroupSettings_minFinalSegmentLength :: Lens.Lens' CmafGroupSettings (Prelude.Maybe Prelude.Double)+cmafGroupSettings_minFinalSegmentLength = Lens.lens (\CmafGroupSettings' {minFinalSegmentLength} -> minFinalSegmentLength) (\s@CmafGroupSettings' {} a -> s {minFinalSegmentLength = a} :: CmafGroupSettings)++-- | Specify how the value for bandwidth is determined for each video+-- Representation in your output MPD manifest. We recommend that you choose+-- a MPD manifest bandwidth type that is compatible with your downstream+-- player configuration. Max: Use the same value that you specify for Max+-- bitrate in the video output, in bits per second. Average: Use the+-- calculated average bitrate of the encoded video output, in bits per+-- second.+cmafGroupSettings_mpdManifestBandwidthType :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafMpdManifestBandwidthType)+cmafGroupSettings_mpdManifestBandwidthType = Lens.lens (\CmafGroupSettings' {mpdManifestBandwidthType} -> mpdManifestBandwidthType) (\s@CmafGroupSettings' {} a -> s {mpdManifestBandwidthType = a} :: CmafGroupSettings)++-- | Specify whether your DASH profile is on-demand or main. When you choose+-- Main profile (MAIN_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+-- you choose On-demand (ON_DEMAND_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+-- On-demand, you must also set the output group setting Segment control+-- (SegmentControl) to Single file (SINGLE_FILE).+cmafGroupSettings_mpdProfile :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafMpdProfile)+cmafGroupSettings_mpdProfile = Lens.lens (\CmafGroupSettings' {mpdProfile} -> mpdProfile) (\s@CmafGroupSettings' {} a -> s {mpdProfile = a} :: CmafGroupSettings)++-- | Use this setting only when your output video stream has B-frames, which+-- causes the initial presentation time stamp (PTS) to be offset from the+-- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+-- when writing time stamps in output DASH manifests. Choose Match initial+-- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+-- PTS as the first time stamp in the manifest. Choose Zero-based+-- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+-- stream and instead write the initial time stamp as zero in the manifest.+-- For outputs that don\'t have B-frames, the time stamps in your DASH+-- manifests start at zero regardless of your choice here.+cmafGroupSettings_ptsOffsetHandlingForBFrames :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafPtsOffsetHandlingForBFrames)+cmafGroupSettings_ptsOffsetHandlingForBFrames = Lens.lens (\CmafGroupSettings' {ptsOffsetHandlingForBFrames} -> ptsOffsetHandlingForBFrames) (\s@CmafGroupSettings' {} a -> s {ptsOffsetHandlingForBFrames = a} :: CmafGroupSettings)++-- | When set to SINGLE_FILE, a single output file is generated, which is+-- internally segmented using the Fragment Length and Segment Length. When+-- set to SEGMENTED_FILES, separate segment files will be created.+cmafGroupSettings_segmentControl :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafSegmentControl)+cmafGroupSettings_segmentControl = Lens.lens (\CmafGroupSettings' {segmentControl} -> segmentControl) (\s@CmafGroupSettings' {} a -> s {segmentControl = a} :: CmafGroupSettings)++-- | Specify the length, in whole seconds, of each segment. When you don\'t+-- specify a value, MediaConvert defaults to 10. Related settings: Use+-- Segment length control (SegmentLengthControl) to specify whether the+-- encoder enforces this value strictly. Use Segment control+-- (CmafSegmentControl) to specify whether MediaConvert creates separate+-- segment files or one content file that has metadata to mark the segment+-- boundaries.+cmafGroupSettings_segmentLength :: Lens.Lens' CmafGroupSettings (Prelude.Maybe Prelude.Natural)+cmafGroupSettings_segmentLength = Lens.lens (\CmafGroupSettings' {segmentLength} -> segmentLength) (\s@CmafGroupSettings' {} a -> s {segmentLength = a} :: CmafGroupSettings)++-- | Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+cmafGroupSettings_segmentLengthControl :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafSegmentLengthControl)+cmafGroupSettings_segmentLengthControl = Lens.lens (\CmafGroupSettings' {segmentLengthControl} -> segmentLengthControl) (\s@CmafGroupSettings' {} a -> s {segmentLengthControl = a} :: CmafGroupSettings)++-- | Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+-- tag of variant manifest.+cmafGroupSettings_streamInfResolution :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafStreamInfResolution)+cmafGroupSettings_streamInfResolution = Lens.lens (\CmafGroupSettings' {streamInfResolution} -> streamInfResolution) (\s@CmafGroupSettings' {} a -> s {streamInfResolution = a} :: CmafGroupSettings)++-- | When set to LEGACY, the segment target duration is always rounded up to+-- the nearest integer value above its current value in seconds. When set+-- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+-- nearest integer value if fraction seconds are greater than or equal to+-- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+-- use LEGACY if your client needs to ensure that the target duration is+-- always longer than the actual duration of the segment. Some older+-- players may experience interrupted playback when the actual duration of+-- a track in a segment is longer than the target duration.+cmafGroupSettings_targetDurationCompatibilityMode :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafTargetDurationCompatibilityMode)+cmafGroupSettings_targetDurationCompatibilityMode = Lens.lens (\CmafGroupSettings' {targetDurationCompatibilityMode} -> targetDurationCompatibilityMode) (\s@CmafGroupSettings' {} a -> s {targetDurationCompatibilityMode = a} :: CmafGroupSettings)++-- | Specify the video sample composition time offset mode in the output fMP4+-- TRUN box. For wider player compatibility, set Video composition offsets+-- to Unsigned or leave blank. The earliest presentation time may be+-- greater than zero, and sample composition time offsets will increment+-- using unsigned integers. For strict fMP4 video and audio timing, set+-- Video composition offsets to Signed. The earliest presentation time will+-- be equal to zero, and sample composition time offsets will increment+-- using signed integers.+cmafGroupSettings_videoCompositionOffsets :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafVideoCompositionOffsets)+cmafGroupSettings_videoCompositionOffsets = Lens.lens (\CmafGroupSettings' {videoCompositionOffsets} -> videoCompositionOffsets) (\s@CmafGroupSettings' {} a -> s {videoCompositionOffsets = a} :: CmafGroupSettings)++-- | When set to ENABLED, a DASH MPD manifest will be generated for this+-- output.+cmafGroupSettings_writeDashManifest :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafWriteDASHManifest)+cmafGroupSettings_writeDashManifest = Lens.lens (\CmafGroupSettings' {writeDashManifest} -> writeDashManifest) (\s@CmafGroupSettings' {} a -> s {writeDashManifest = a} :: CmafGroupSettings)++-- | When set to ENABLED, an Apple HLS manifest will be generated for this+-- output.+cmafGroupSettings_writeHlsManifest :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafWriteHLSManifest)+cmafGroupSettings_writeHlsManifest = Lens.lens (\CmafGroupSettings' {writeHlsManifest} -> writeHlsManifest) (\s@CmafGroupSettings' {} a -> s {writeHlsManifest = a} :: CmafGroupSettings)++-- | When you enable Precise segment duration in DASH manifests+-- (writeSegmentTimelineInRepresentation), your DASH manifest shows precise+-- segment durations. The segment duration information appears inside the+-- SegmentTimeline element, inside SegmentTemplate at the Representation+-- level. When this feature isn\'t enabled, the segment durations in your+-- DASH manifest are approximate. The segment duration information appears+-- in the duration attribute of the SegmentTemplate element.+cmafGroupSettings_writeSegmentTimelineInRepresentation :: Lens.Lens' CmafGroupSettings (Prelude.Maybe CmafWriteSegmentTimelineInRepresentation)+cmafGroupSettings_writeSegmentTimelineInRepresentation = Lens.lens (\CmafGroupSettings' {writeSegmentTimelineInRepresentation} -> writeSegmentTimelineInRepresentation) (\s@CmafGroupSettings' {} a -> s {writeSegmentTimelineInRepresentation = a} :: CmafGroupSettings)++instance Data.FromJSON CmafGroupSettings where+ parseJSON =+ Data.withObject+ "CmafGroupSettings"+ ( \x ->+ CmafGroupSettings'+ Prelude.<$> ( x+ Data..:? "additionalManifests"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "baseUrl")+ Prelude.<*> (x Data..:? "clientCache")+ Prelude.<*> (x Data..:? "codecSpecification")+ Prelude.<*> (x Data..:? "destination")+ Prelude.<*> (x Data..:? "destinationSettings")+ Prelude.<*> (x Data..:? "encryption")+ Prelude.<*> (x Data..:? "fragmentLength")+ Prelude.<*> (x Data..:? "imageBasedTrickPlay")+ Prelude.<*> (x Data..:? "imageBasedTrickPlaySettings")+ Prelude.<*> (x Data..:? "manifestCompression")+ Prelude.<*> (x Data..:? "manifestDurationFormat")+ Prelude.<*> (x Data..:? "minBufferTime")+ Prelude.<*> (x Data..:? "minFinalSegmentLength")+ Prelude.<*> (x Data..:? "mpdManifestBandwidthType")+ Prelude.<*> (x Data..:? "mpdProfile")+ Prelude.<*> (x Data..:? "ptsOffsetHandlingForBFrames")+ Prelude.<*> (x Data..:? "segmentControl")+ Prelude.<*> (x Data..:? "segmentLength")+ Prelude.<*> (x Data..:? "segmentLengthControl")+ Prelude.<*> (x Data..:? "streamInfResolution")+ Prelude.<*> (x Data..:? "targetDurationCompatibilityMode")+ Prelude.<*> (x Data..:? "videoCompositionOffsets")+ Prelude.<*> (x Data..:? "writeDashManifest")+ Prelude.<*> (x Data..:? "writeHlsManifest")+ Prelude.<*> (x Data..:? "writeSegmentTimelineInRepresentation")+ )++instance Prelude.Hashable CmafGroupSettings where+ hashWithSalt _salt CmafGroupSettings' {..} =+ _salt+ `Prelude.hashWithSalt` additionalManifests+ `Prelude.hashWithSalt` baseUrl+ `Prelude.hashWithSalt` clientCache+ `Prelude.hashWithSalt` codecSpecification+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` destinationSettings+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` fragmentLength+ `Prelude.hashWithSalt` imageBasedTrickPlay+ `Prelude.hashWithSalt` imageBasedTrickPlaySettings+ `Prelude.hashWithSalt` manifestCompression+ `Prelude.hashWithSalt` manifestDurationFormat+ `Prelude.hashWithSalt` minBufferTime+ `Prelude.hashWithSalt` minFinalSegmentLength+ `Prelude.hashWithSalt` mpdManifestBandwidthType+ `Prelude.hashWithSalt` mpdProfile+ `Prelude.hashWithSalt` ptsOffsetHandlingForBFrames+ `Prelude.hashWithSalt` segmentControl+ `Prelude.hashWithSalt` segmentLength+ `Prelude.hashWithSalt` segmentLengthControl+ `Prelude.hashWithSalt` streamInfResolution+ `Prelude.hashWithSalt` targetDurationCompatibilityMode+ `Prelude.hashWithSalt` videoCompositionOffsets+ `Prelude.hashWithSalt` writeDashManifest+ `Prelude.hashWithSalt` writeHlsManifest+ `Prelude.hashWithSalt` writeSegmentTimelineInRepresentation++instance Prelude.NFData CmafGroupSettings where+ rnf CmafGroupSettings' {..} =+ Prelude.rnf additionalManifests+ `Prelude.seq` Prelude.rnf baseUrl+ `Prelude.seq` Prelude.rnf clientCache+ `Prelude.seq` Prelude.rnf codecSpecification+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf destinationSettings+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf fragmentLength+ `Prelude.seq` Prelude.rnf imageBasedTrickPlay+ `Prelude.seq` Prelude.rnf imageBasedTrickPlaySettings+ `Prelude.seq` Prelude.rnf manifestCompression+ `Prelude.seq` Prelude.rnf manifestDurationFormat+ `Prelude.seq` Prelude.rnf minBufferTime+ `Prelude.seq` Prelude.rnf minFinalSegmentLength+ `Prelude.seq` Prelude.rnf mpdManifestBandwidthType+ `Prelude.seq` Prelude.rnf mpdProfile+ `Prelude.seq` Prelude.rnf+ ptsOffsetHandlingForBFrames+ `Prelude.seq` Prelude.rnf segmentControl+ `Prelude.seq` Prelude.rnf segmentLength+ `Prelude.seq` Prelude.rnf+ segmentLengthControl+ `Prelude.seq` Prelude.rnf+ streamInfResolution+ `Prelude.seq` Prelude.rnf+ targetDurationCompatibilityMode+ `Prelude.seq` Prelude.rnf+ videoCompositionOffsets+ `Prelude.seq` Prelude.rnf+ writeDashManifest+ `Prelude.seq` Prelude.rnf+ writeHlsManifest+ `Prelude.seq` Prelude.rnf+ writeSegmentTimelineInRepresentation++instance Data.ToJSON CmafGroupSettings where+ toJSON CmafGroupSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("additionalManifests" Data..=)+ Prelude.<$> additionalManifests,+ ("baseUrl" Data..=) Prelude.<$> baseUrl,+ ("clientCache" Data..=) Prelude.<$> clientCache,+ ("codecSpecification" Data..=)+ Prelude.<$> codecSpecification,+ ("destination" Data..=) Prelude.<$> destination,+ ("destinationSettings" Data..=)+ Prelude.<$> destinationSettings,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("fragmentLength" Data..=)+ Prelude.<$> fragmentLength,+ ("imageBasedTrickPlay" Data..=)+ Prelude.<$> imageBasedTrickPlay,+ ("imageBasedTrickPlaySettings" Data..=)+ Prelude.<$> imageBasedTrickPlaySettings,+ ("manifestCompression" Data..=)+ Prelude.<$> manifestCompression,+ ("manifestDurationFormat" Data..=)+ Prelude.<$> manifestDurationFormat,+ ("minBufferTime" Data..=) Prelude.<$> minBufferTime,+ ("minFinalSegmentLength" Data..=)+ Prelude.<$> minFinalSegmentLength,+ ("mpdManifestBandwidthType" Data..=)+ Prelude.<$> mpdManifestBandwidthType,+ ("mpdProfile" Data..=) Prelude.<$> mpdProfile,+ ("ptsOffsetHandlingForBFrames" Data..=)+ Prelude.<$> ptsOffsetHandlingForBFrames,+ ("segmentControl" Data..=)+ Prelude.<$> segmentControl,+ ("segmentLength" Data..=) Prelude.<$> segmentLength,+ ("segmentLengthControl" Data..=)+ Prelude.<$> segmentLengthControl,+ ("streamInfResolution" Data..=)+ Prelude.<$> streamInfResolution,+ ("targetDurationCompatibilityMode" Data..=)+ Prelude.<$> targetDurationCompatibilityMode,+ ("videoCompositionOffsets" Data..=)+ Prelude.<$> videoCompositionOffsets,+ ("writeDashManifest" Data..=)+ Prelude.<$> writeDashManifest,+ ("writeHlsManifest" Data..=)+ Prelude.<$> writeHlsManifest,+ ("writeSegmentTimelineInRepresentation" Data..=)+ Prelude.<$> writeSegmentTimelineInRepresentation+ ]+ )
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafImageBasedTrickPlay+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafImageBasedTrickPlay+ ( CmafImageBasedTrickPlay+ ( ..,+ CmafImageBasedTrickPlay_ADVANCED,+ CmafImageBasedTrickPlay_NONE,+ CmafImageBasedTrickPlay_THUMBNAIL,+ CmafImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. When you enable Write HLS+-- manifest (WriteHlsManifest), MediaConvert creates a child manifest for+-- each set of images that you generate and adds corresponding entries to+-- the parent manifest. When you enable Write DASH manifest+-- (WriteDashManifest), MediaConvert adds an entry in the .mpd manifest for+-- each set of images that you generate. A common application for these+-- images is Roku trick mode. The thumbnails and full-frame images that+-- MediaConvert creates with this feature are compatible with this Roku+-- specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+newtype CmafImageBasedTrickPlay = CmafImageBasedTrickPlay'+ { fromCmafImageBasedTrickPlay ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafImageBasedTrickPlay_ADVANCED :: CmafImageBasedTrickPlay+pattern CmafImageBasedTrickPlay_ADVANCED = CmafImageBasedTrickPlay' "ADVANCED"++pattern CmafImageBasedTrickPlay_NONE :: CmafImageBasedTrickPlay+pattern CmafImageBasedTrickPlay_NONE = CmafImageBasedTrickPlay' "NONE"++pattern CmafImageBasedTrickPlay_THUMBNAIL :: CmafImageBasedTrickPlay+pattern CmafImageBasedTrickPlay_THUMBNAIL = CmafImageBasedTrickPlay' "THUMBNAIL"++pattern CmafImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME :: CmafImageBasedTrickPlay+pattern CmafImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME = CmafImageBasedTrickPlay' "THUMBNAIL_AND_FULLFRAME"++{-# COMPLETE+ CmafImageBasedTrickPlay_ADVANCED,+ CmafImageBasedTrickPlay_NONE,+ CmafImageBasedTrickPlay_THUMBNAIL,+ CmafImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME,+ CmafImageBasedTrickPlay'+ #-}
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafImageBasedTrickPlaySettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafImageBasedTrickPlaySettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CmafIntervalCadence+import qualified Amazonka.Prelude as Prelude++-- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+--+-- /See:/ 'newCmafImageBasedTrickPlaySettings' smart constructor.+data CmafImageBasedTrickPlaySettings = CmafImageBasedTrickPlaySettings'+ { -- | The cadence MediaConvert follows for generating thumbnails. If set to+ -- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+ -- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+ -- MediaConvert generates thumbnails according to the interval you specify+ -- in thumbnailInterval.+ intervalCadence :: Prelude.Maybe CmafIntervalCadence,+ -- | Height of each thumbnail within each tile image, in pixels. Leave blank+ -- to maintain aspect ratio with thumbnail width. If following the aspect+ -- ratio would lead to a total tile height greater than 4096, then the job+ -- will be rejected. Must be divisible by 2.+ thumbnailHeight :: Prelude.Maybe Prelude.Natural,+ -- | Enter the interval, in seconds, that MediaConvert uses to generate+ -- thumbnails. If the interval you enter doesn\'t align with the output+ -- frame rate, MediaConvert automatically rounds the interval to align with+ -- the output frame rate. For example, if the output frame rate is 29.97+ -- frames per second and you enter 5, MediaConvert uses a 150 frame+ -- interval to generate thumbnails.+ thumbnailInterval :: Prelude.Maybe Prelude.Double,+ -- | Width of each thumbnail within each tile image, in pixels. Default is+ -- 312. Must be divisible by 8.+ thumbnailWidth :: Prelude.Maybe Prelude.Natural,+ -- | Number of thumbnails in each column of a tile image. Set a value between+ -- 2 and 2048. Must be divisible by 2.+ tileHeight :: Prelude.Maybe Prelude.Natural,+ -- | Number of thumbnails in each row of a tile image. Set a value between 1+ -- and 512.+ tileWidth :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CmafImageBasedTrickPlaySettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'intervalCadence', 'cmafImageBasedTrickPlaySettings_intervalCadence' - The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+--+-- 'thumbnailHeight', 'cmafImageBasedTrickPlaySettings_thumbnailHeight' - Height of each thumbnail within each tile image, in pixels. Leave blank+-- to maintain aspect ratio with thumbnail width. If following the aspect+-- ratio would lead to a total tile height greater than 4096, then the job+-- will be rejected. Must be divisible by 2.+--+-- 'thumbnailInterval', 'cmafImageBasedTrickPlaySettings_thumbnailInterval' - Enter the interval, in seconds, that MediaConvert uses to generate+-- thumbnails. If the interval you enter doesn\'t align with the output+-- frame rate, MediaConvert automatically rounds the interval to align with+-- the output frame rate. For example, if the output frame rate is 29.97+-- frames per second and you enter 5, MediaConvert uses a 150 frame+-- interval to generate thumbnails.+--+-- 'thumbnailWidth', 'cmafImageBasedTrickPlaySettings_thumbnailWidth' - Width of each thumbnail within each tile image, in pixels. Default is+-- 312. Must be divisible by 8.+--+-- 'tileHeight', 'cmafImageBasedTrickPlaySettings_tileHeight' - Number of thumbnails in each column of a tile image. Set a value between+-- 2 and 2048. Must be divisible by 2.+--+-- 'tileWidth', 'cmafImageBasedTrickPlaySettings_tileWidth' - Number of thumbnails in each row of a tile image. Set a value between 1+-- and 512.+newCmafImageBasedTrickPlaySettings ::+ CmafImageBasedTrickPlaySettings+newCmafImageBasedTrickPlaySettings =+ CmafImageBasedTrickPlaySettings'+ { intervalCadence =+ Prelude.Nothing,+ thumbnailHeight = Prelude.Nothing,+ thumbnailInterval = Prelude.Nothing,+ thumbnailWidth = Prelude.Nothing,+ tileHeight = Prelude.Nothing,+ tileWidth = Prelude.Nothing+ }++-- | The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+cmafImageBasedTrickPlaySettings_intervalCadence :: Lens.Lens' CmafImageBasedTrickPlaySettings (Prelude.Maybe CmafIntervalCadence)+cmafImageBasedTrickPlaySettings_intervalCadence = Lens.lens (\CmafImageBasedTrickPlaySettings' {intervalCadence} -> intervalCadence) (\s@CmafImageBasedTrickPlaySettings' {} a -> s {intervalCadence = a} :: CmafImageBasedTrickPlaySettings)++-- | Height of each thumbnail within each tile image, in pixels. Leave blank+-- to maintain aspect ratio with thumbnail width. If following the aspect+-- ratio would lead to a total tile height greater than 4096, then the job+-- will be rejected. Must be divisible by 2.+cmafImageBasedTrickPlaySettings_thumbnailHeight :: Lens.Lens' CmafImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+cmafImageBasedTrickPlaySettings_thumbnailHeight = Lens.lens (\CmafImageBasedTrickPlaySettings' {thumbnailHeight} -> thumbnailHeight) (\s@CmafImageBasedTrickPlaySettings' {} a -> s {thumbnailHeight = a} :: CmafImageBasedTrickPlaySettings)++-- | Enter the interval, in seconds, that MediaConvert uses to generate+-- thumbnails. If the interval you enter doesn\'t align with the output+-- frame rate, MediaConvert automatically rounds the interval to align with+-- the output frame rate. For example, if the output frame rate is 29.97+-- frames per second and you enter 5, MediaConvert uses a 150 frame+-- interval to generate thumbnails.+cmafImageBasedTrickPlaySettings_thumbnailInterval :: Lens.Lens' CmafImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Double)+cmafImageBasedTrickPlaySettings_thumbnailInterval = Lens.lens (\CmafImageBasedTrickPlaySettings' {thumbnailInterval} -> thumbnailInterval) (\s@CmafImageBasedTrickPlaySettings' {} a -> s {thumbnailInterval = a} :: CmafImageBasedTrickPlaySettings)++-- | Width of each thumbnail within each tile image, in pixels. Default is+-- 312. Must be divisible by 8.+cmafImageBasedTrickPlaySettings_thumbnailWidth :: Lens.Lens' CmafImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+cmafImageBasedTrickPlaySettings_thumbnailWidth = Lens.lens (\CmafImageBasedTrickPlaySettings' {thumbnailWidth} -> thumbnailWidth) (\s@CmafImageBasedTrickPlaySettings' {} a -> s {thumbnailWidth = a} :: CmafImageBasedTrickPlaySettings)++-- | Number of thumbnails in each column of a tile image. Set a value between+-- 2 and 2048. Must be divisible by 2.+cmafImageBasedTrickPlaySettings_tileHeight :: Lens.Lens' CmafImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+cmafImageBasedTrickPlaySettings_tileHeight = Lens.lens (\CmafImageBasedTrickPlaySettings' {tileHeight} -> tileHeight) (\s@CmafImageBasedTrickPlaySettings' {} a -> s {tileHeight = a} :: CmafImageBasedTrickPlaySettings)++-- | Number of thumbnails in each row of a tile image. Set a value between 1+-- and 512.+cmafImageBasedTrickPlaySettings_tileWidth :: Lens.Lens' CmafImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+cmafImageBasedTrickPlaySettings_tileWidth = Lens.lens (\CmafImageBasedTrickPlaySettings' {tileWidth} -> tileWidth) (\s@CmafImageBasedTrickPlaySettings' {} a -> s {tileWidth = a} :: CmafImageBasedTrickPlaySettings)++instance+ Data.FromJSON+ CmafImageBasedTrickPlaySettings+ where+ parseJSON =+ Data.withObject+ "CmafImageBasedTrickPlaySettings"+ ( \x ->+ CmafImageBasedTrickPlaySettings'+ Prelude.<$> (x Data..:? "intervalCadence")+ Prelude.<*> (x Data..:? "thumbnailHeight")+ Prelude.<*> (x Data..:? "thumbnailInterval")+ Prelude.<*> (x Data..:? "thumbnailWidth")+ Prelude.<*> (x Data..:? "tileHeight")+ Prelude.<*> (x Data..:? "tileWidth")+ )++instance+ Prelude.Hashable+ CmafImageBasedTrickPlaySettings+ where+ hashWithSalt+ _salt+ CmafImageBasedTrickPlaySettings' {..} =+ _salt+ `Prelude.hashWithSalt` intervalCadence+ `Prelude.hashWithSalt` thumbnailHeight+ `Prelude.hashWithSalt` thumbnailInterval+ `Prelude.hashWithSalt` thumbnailWidth+ `Prelude.hashWithSalt` tileHeight+ `Prelude.hashWithSalt` tileWidth++instance+ Prelude.NFData+ CmafImageBasedTrickPlaySettings+ where+ rnf CmafImageBasedTrickPlaySettings' {..} =+ Prelude.rnf intervalCadence+ `Prelude.seq` Prelude.rnf thumbnailHeight+ `Prelude.seq` Prelude.rnf thumbnailInterval+ `Prelude.seq` Prelude.rnf thumbnailWidth+ `Prelude.seq` Prelude.rnf tileHeight+ `Prelude.seq` Prelude.rnf tileWidth++instance Data.ToJSON CmafImageBasedTrickPlaySettings where+ toJSON CmafImageBasedTrickPlaySettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("intervalCadence" Data..=)+ Prelude.<$> intervalCadence,+ ("thumbnailHeight" Data..=)+ Prelude.<$> thumbnailHeight,+ ("thumbnailInterval" Data..=)+ Prelude.<$> thumbnailInterval,+ ("thumbnailWidth" Data..=)+ Prelude.<$> thumbnailWidth,+ ("tileHeight" Data..=) Prelude.<$> tileHeight,+ ("tileWidth" Data..=) Prelude.<$> tileWidth+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafInitializationVectorInManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafInitializationVectorInManifest+ ( CmafInitializationVectorInManifest+ ( ..,+ CmafInitializationVectorInManifest_EXCLUDE,+ CmafInitializationVectorInManifest_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you use DRM with CMAF outputs, choose whether the service writes+-- the 128-bit encryption initialization vector in the HLS and DASH+-- manifests.+newtype CmafInitializationVectorInManifest = CmafInitializationVectorInManifest'+ { fromCmafInitializationVectorInManifest ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafInitializationVectorInManifest_EXCLUDE :: CmafInitializationVectorInManifest+pattern CmafInitializationVectorInManifest_EXCLUDE = CmafInitializationVectorInManifest' "EXCLUDE"++pattern CmafInitializationVectorInManifest_INCLUDE :: CmafInitializationVectorInManifest+pattern CmafInitializationVectorInManifest_INCLUDE = CmafInitializationVectorInManifest' "INCLUDE"++{-# COMPLETE+ CmafInitializationVectorInManifest_EXCLUDE,+ CmafInitializationVectorInManifest_INCLUDE,+ CmafInitializationVectorInManifest'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafIntervalCadence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafIntervalCadence+ ( CmafIntervalCadence+ ( ..,+ CmafIntervalCadence_FOLLOW_CUSTOM,+ CmafIntervalCadence_FOLLOW_IFRAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+newtype CmafIntervalCadence = CmafIntervalCadence'+ { fromCmafIntervalCadence ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafIntervalCadence_FOLLOW_CUSTOM :: CmafIntervalCadence+pattern CmafIntervalCadence_FOLLOW_CUSTOM = CmafIntervalCadence' "FOLLOW_CUSTOM"++pattern CmafIntervalCadence_FOLLOW_IFRAME :: CmafIntervalCadence+pattern CmafIntervalCadence_FOLLOW_IFRAME = CmafIntervalCadence' "FOLLOW_IFRAME"++{-# COMPLETE+ CmafIntervalCadence_FOLLOW_CUSTOM,+ CmafIntervalCadence_FOLLOW_IFRAME,+ CmafIntervalCadence'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafKeyProviderType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafKeyProviderType+ ( CmafKeyProviderType+ ( ..,+ CmafKeyProviderType_SPEKE,+ CmafKeyProviderType_STATIC_KEY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether your DRM encryption key is static or from a key provider+-- that follows the SPEKE standard. For more information about SPEKE, see+-- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+newtype CmafKeyProviderType = CmafKeyProviderType'+ { fromCmafKeyProviderType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafKeyProviderType_SPEKE :: CmafKeyProviderType+pattern CmafKeyProviderType_SPEKE = CmafKeyProviderType' "SPEKE"++pattern CmafKeyProviderType_STATIC_KEY :: CmafKeyProviderType+pattern CmafKeyProviderType_STATIC_KEY = CmafKeyProviderType' "STATIC_KEY"++{-# COMPLETE+ CmafKeyProviderType_SPEKE,+ CmafKeyProviderType_STATIC_KEY,+ CmafKeyProviderType'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafManifestCompression+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafManifestCompression+ ( CmafManifestCompression+ ( ..,+ CmafManifestCompression_GZIP,+ CmafManifestCompression_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to GZIP, compresses HLS playlist.+newtype CmafManifestCompression = CmafManifestCompression'+ { fromCmafManifestCompression ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafManifestCompression_GZIP :: CmafManifestCompression+pattern CmafManifestCompression_GZIP = CmafManifestCompression' "GZIP"++pattern CmafManifestCompression_NONE :: CmafManifestCompression+pattern CmafManifestCompression_NONE = CmafManifestCompression' "NONE"++{-# COMPLETE+ CmafManifestCompression_GZIP,+ CmafManifestCompression_NONE,+ CmafManifestCompression'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafManifestDurationFormat+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafManifestDurationFormat+ ( CmafManifestDurationFormat+ ( ..,+ CmafManifestDurationFormat_FLOATING_POINT,+ CmafManifestDurationFormat_INTEGER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates whether the output manifest should use floating point values+-- for segment duration.+newtype CmafManifestDurationFormat = CmafManifestDurationFormat'+ { fromCmafManifestDurationFormat ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafManifestDurationFormat_FLOATING_POINT :: CmafManifestDurationFormat+pattern CmafManifestDurationFormat_FLOATING_POINT = CmafManifestDurationFormat' "FLOATING_POINT"++pattern CmafManifestDurationFormat_INTEGER :: CmafManifestDurationFormat+pattern CmafManifestDurationFormat_INTEGER = CmafManifestDurationFormat' "INTEGER"++{-# COMPLETE+ CmafManifestDurationFormat_FLOATING_POINT,+ CmafManifestDurationFormat_INTEGER,+ CmafManifestDurationFormat'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafMpdManifestBandwidthType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafMpdManifestBandwidthType+ ( CmafMpdManifestBandwidthType+ ( ..,+ CmafMpdManifestBandwidthType_AVERAGE,+ CmafMpdManifestBandwidthType_MAX+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how the value for bandwidth is determined for each video+-- Representation in your output MPD manifest. We recommend that you choose+-- a MPD manifest bandwidth type that is compatible with your downstream+-- player configuration. Max: Use the same value that you specify for Max+-- bitrate in the video output, in bits per second. Average: Use the+-- calculated average bitrate of the encoded video output, in bits per+-- second.+newtype CmafMpdManifestBandwidthType = CmafMpdManifestBandwidthType'+ { fromCmafMpdManifestBandwidthType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafMpdManifestBandwidthType_AVERAGE :: CmafMpdManifestBandwidthType+pattern CmafMpdManifestBandwidthType_AVERAGE = CmafMpdManifestBandwidthType' "AVERAGE"++pattern CmafMpdManifestBandwidthType_MAX :: CmafMpdManifestBandwidthType+pattern CmafMpdManifestBandwidthType_MAX = CmafMpdManifestBandwidthType' "MAX"++{-# COMPLETE+ CmafMpdManifestBandwidthType_AVERAGE,+ CmafMpdManifestBandwidthType_MAX,+ CmafMpdManifestBandwidthType'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafMpdProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafMpdProfile+ ( CmafMpdProfile+ ( ..,+ CmafMpdProfile_MAIN_PROFILE,+ CmafMpdProfile_ON_DEMAND_PROFILE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether your DASH profile is on-demand or main. When you choose+-- Main profile (MAIN_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+-- you choose On-demand (ON_DEMAND_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+-- On-demand, you must also set the output group setting Segment control+-- (SegmentControl) to Single file (SINGLE_FILE).+newtype CmafMpdProfile = CmafMpdProfile'+ { fromCmafMpdProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafMpdProfile_MAIN_PROFILE :: CmafMpdProfile+pattern CmafMpdProfile_MAIN_PROFILE = CmafMpdProfile' "MAIN_PROFILE"++pattern CmafMpdProfile_ON_DEMAND_PROFILE :: CmafMpdProfile+pattern CmafMpdProfile_ON_DEMAND_PROFILE = CmafMpdProfile' "ON_DEMAND_PROFILE"++{-# COMPLETE+ CmafMpdProfile_MAIN_PROFILE,+ CmafMpdProfile_ON_DEMAND_PROFILE,+ CmafMpdProfile'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafPtsOffsetHandlingForBFrames+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafPtsOffsetHandlingForBFrames+ ( CmafPtsOffsetHandlingForBFrames+ ( ..,+ CmafPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS,+ CmafPtsOffsetHandlingForBFrames_ZERO_BASED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting only when your output video stream has B-frames, which+-- causes the initial presentation time stamp (PTS) to be offset from the+-- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+-- when writing time stamps in output DASH manifests. Choose Match initial+-- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+-- PTS as the first time stamp in the manifest. Choose Zero-based+-- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+-- stream and instead write the initial time stamp as zero in the manifest.+-- For outputs that don\'t have B-frames, the time stamps in your DASH+-- manifests start at zero regardless of your choice here.+newtype CmafPtsOffsetHandlingForBFrames = CmafPtsOffsetHandlingForBFrames'+ { fromCmafPtsOffsetHandlingForBFrames ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS :: CmafPtsOffsetHandlingForBFrames+pattern CmafPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS = CmafPtsOffsetHandlingForBFrames' "MATCH_INITIAL_PTS"++pattern CmafPtsOffsetHandlingForBFrames_ZERO_BASED :: CmafPtsOffsetHandlingForBFrames+pattern CmafPtsOffsetHandlingForBFrames_ZERO_BASED = CmafPtsOffsetHandlingForBFrames' "ZERO_BASED"++{-# COMPLETE+ CmafPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS,+ CmafPtsOffsetHandlingForBFrames_ZERO_BASED,+ CmafPtsOffsetHandlingForBFrames'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafSegmentControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafSegmentControl+ ( CmafSegmentControl+ ( ..,+ CmafSegmentControl_SEGMENTED_FILES,+ CmafSegmentControl_SINGLE_FILE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to SINGLE_FILE, a single output file is generated, which is+-- internally segmented using the Fragment Length and Segment Length. When+-- set to SEGMENTED_FILES, separate segment files will be created.+newtype CmafSegmentControl = CmafSegmentControl'+ { fromCmafSegmentControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafSegmentControl_SEGMENTED_FILES :: CmafSegmentControl+pattern CmafSegmentControl_SEGMENTED_FILES = CmafSegmentControl' "SEGMENTED_FILES"++pattern CmafSegmentControl_SINGLE_FILE :: CmafSegmentControl+pattern CmafSegmentControl_SINGLE_FILE = CmafSegmentControl' "SINGLE_FILE"++{-# COMPLETE+ CmafSegmentControl_SEGMENTED_FILES,+ CmafSegmentControl_SINGLE_FILE,+ CmafSegmentControl'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafSegmentLengthControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafSegmentLengthControl+ ( CmafSegmentLengthControl+ ( ..,+ CmafSegmentLengthControl_EXACT,+ CmafSegmentLengthControl_GOP_MULTIPLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+newtype CmafSegmentLengthControl = CmafSegmentLengthControl'+ { fromCmafSegmentLengthControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafSegmentLengthControl_EXACT :: CmafSegmentLengthControl+pattern CmafSegmentLengthControl_EXACT = CmafSegmentLengthControl' "EXACT"++pattern CmafSegmentLengthControl_GOP_MULTIPLE :: CmafSegmentLengthControl+pattern CmafSegmentLengthControl_GOP_MULTIPLE = CmafSegmentLengthControl' "GOP_MULTIPLE"++{-# COMPLETE+ CmafSegmentLengthControl_EXACT,+ CmafSegmentLengthControl_GOP_MULTIPLE,+ CmafSegmentLengthControl'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafStreamInfResolution+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafStreamInfResolution+ ( CmafStreamInfResolution+ ( ..,+ CmafStreamInfResolution_EXCLUDE,+ CmafStreamInfResolution_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+-- tag of variant manifest.+newtype CmafStreamInfResolution = CmafStreamInfResolution'+ { fromCmafStreamInfResolution ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafStreamInfResolution_EXCLUDE :: CmafStreamInfResolution+pattern CmafStreamInfResolution_EXCLUDE = CmafStreamInfResolution' "EXCLUDE"++pattern CmafStreamInfResolution_INCLUDE :: CmafStreamInfResolution+pattern CmafStreamInfResolution_INCLUDE = CmafStreamInfResolution' "INCLUDE"++{-# COMPLETE+ CmafStreamInfResolution_EXCLUDE,+ CmafStreamInfResolution_INCLUDE,+ CmafStreamInfResolution'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafTargetDurationCompatibilityMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafTargetDurationCompatibilityMode+ ( CmafTargetDurationCompatibilityMode+ ( ..,+ CmafTargetDurationCompatibilityMode_LEGACY,+ CmafTargetDurationCompatibilityMode_SPEC_COMPLIANT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to LEGACY, the segment target duration is always rounded up to+-- the nearest integer value above its current value in seconds. When set+-- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+-- nearest integer value if fraction seconds are greater than or equal to+-- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+-- use LEGACY if your client needs to ensure that the target duration is+-- always longer than the actual duration of the segment. Some older+-- players may experience interrupted playback when the actual duration of+-- a track in a segment is longer than the target duration.+newtype CmafTargetDurationCompatibilityMode = CmafTargetDurationCompatibilityMode'+ { fromCmafTargetDurationCompatibilityMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafTargetDurationCompatibilityMode_LEGACY :: CmafTargetDurationCompatibilityMode+pattern CmafTargetDurationCompatibilityMode_LEGACY = CmafTargetDurationCompatibilityMode' "LEGACY"++pattern CmafTargetDurationCompatibilityMode_SPEC_COMPLIANT :: CmafTargetDurationCompatibilityMode+pattern CmafTargetDurationCompatibilityMode_SPEC_COMPLIANT = CmafTargetDurationCompatibilityMode' "SPEC_COMPLIANT"++{-# COMPLETE+ CmafTargetDurationCompatibilityMode_LEGACY,+ CmafTargetDurationCompatibilityMode_SPEC_COMPLIANT,+ CmafTargetDurationCompatibilityMode'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafVideoCompositionOffsets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafVideoCompositionOffsets+ ( CmafVideoCompositionOffsets+ ( ..,+ CmafVideoCompositionOffsets_SIGNED,+ CmafVideoCompositionOffsets_UNSIGNED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the video sample composition time offset mode in the output fMP4+-- TRUN box. For wider player compatibility, set Video composition offsets+-- to Unsigned or leave blank. The earliest presentation time may be+-- greater than zero, and sample composition time offsets will increment+-- using unsigned integers. For strict fMP4 video and audio timing, set+-- Video composition offsets to Signed. The earliest presentation time will+-- be equal to zero, and sample composition time offsets will increment+-- using signed integers.+newtype CmafVideoCompositionOffsets = CmafVideoCompositionOffsets'+ { fromCmafVideoCompositionOffsets ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafVideoCompositionOffsets_SIGNED :: CmafVideoCompositionOffsets+pattern CmafVideoCompositionOffsets_SIGNED = CmafVideoCompositionOffsets' "SIGNED"++pattern CmafVideoCompositionOffsets_UNSIGNED :: CmafVideoCompositionOffsets+pattern CmafVideoCompositionOffsets_UNSIGNED = CmafVideoCompositionOffsets' "UNSIGNED"++{-# COMPLETE+ CmafVideoCompositionOffsets_SIGNED,+ CmafVideoCompositionOffsets_UNSIGNED,+ CmafVideoCompositionOffsets'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafWriteDASHManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafWriteDASHManifest+ ( CmafWriteDASHManifest+ ( ..,+ CmafWriteDASHManifest_DISABLED,+ CmafWriteDASHManifest_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to ENABLED, a DASH MPD manifest will be generated for this+-- output.+newtype CmafWriteDASHManifest = CmafWriteDASHManifest'+ { fromCmafWriteDASHManifest ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafWriteDASHManifest_DISABLED :: CmafWriteDASHManifest+pattern CmafWriteDASHManifest_DISABLED = CmafWriteDASHManifest' "DISABLED"++pattern CmafWriteDASHManifest_ENABLED :: CmafWriteDASHManifest+pattern CmafWriteDASHManifest_ENABLED = CmafWriteDASHManifest' "ENABLED"++{-# COMPLETE+ CmafWriteDASHManifest_DISABLED,+ CmafWriteDASHManifest_ENABLED,+ CmafWriteDASHManifest'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafWriteHLSManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafWriteHLSManifest+ ( CmafWriteHLSManifest+ ( ..,+ CmafWriteHLSManifest_DISABLED,+ CmafWriteHLSManifest_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to ENABLED, an Apple HLS manifest will be generated for this+-- output.+newtype CmafWriteHLSManifest = CmafWriteHLSManifest'+ { fromCmafWriteHLSManifest ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafWriteHLSManifest_DISABLED :: CmafWriteHLSManifest+pattern CmafWriteHLSManifest_DISABLED = CmafWriteHLSManifest' "DISABLED"++pattern CmafWriteHLSManifest_ENABLED :: CmafWriteHLSManifest+pattern CmafWriteHLSManifest_ENABLED = CmafWriteHLSManifest' "ENABLED"++{-# COMPLETE+ CmafWriteHLSManifest_DISABLED,+ CmafWriteHLSManifest_ENABLED,+ CmafWriteHLSManifest'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation+ ( CmafWriteSegmentTimelineInRepresentation+ ( ..,+ CmafWriteSegmentTimelineInRepresentation_DISABLED,+ CmafWriteSegmentTimelineInRepresentation_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you enable Precise segment duration in DASH manifests+-- (writeSegmentTimelineInRepresentation), your DASH manifest shows precise+-- segment durations. The segment duration information appears inside the+-- SegmentTimeline element, inside SegmentTemplate at the Representation+-- level. When this feature isn\'t enabled, the segment durations in your+-- DASH manifest are approximate. The segment duration information appears+-- in the duration attribute of the SegmentTemplate element.+newtype CmafWriteSegmentTimelineInRepresentation = CmafWriteSegmentTimelineInRepresentation'+ { fromCmafWriteSegmentTimelineInRepresentation ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmafWriteSegmentTimelineInRepresentation_DISABLED :: CmafWriteSegmentTimelineInRepresentation+pattern CmafWriteSegmentTimelineInRepresentation_DISABLED = CmafWriteSegmentTimelineInRepresentation' "DISABLED"++pattern CmafWriteSegmentTimelineInRepresentation_ENABLED :: CmafWriteSegmentTimelineInRepresentation+pattern CmafWriteSegmentTimelineInRepresentation_ENABLED = CmafWriteSegmentTimelineInRepresentation' "ENABLED"++{-# COMPLETE+ CmafWriteSegmentTimelineInRepresentation_DISABLED,+ CmafWriteSegmentTimelineInRepresentation_ENABLED,+ CmafWriteSegmentTimelineInRepresentation'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcAudioDuration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcAudioDuration+ ( CmfcAudioDuration+ ( ..,+ CmfcAudioDuration_DEFAULT_CODEC_DURATION,+ CmfcAudioDuration_MATCH_VIDEO_DURATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify this setting only when your output will be consumed by a+-- downstream repackaging workflow that is sensitive to very small duration+-- differences between video and audio. For this situation, choose Match+-- video duration (MATCH_VIDEO_DURATION). In all other cases, keep the+-- default value, Default codec duration (DEFAULT_CODEC_DURATION). When you+-- choose Match video duration, MediaConvert pads the output audio streams+-- with silence or trims them to ensure that the total duration of each+-- audio stream is at least as long as the total duration of the video+-- stream. After padding or trimming, the audio stream duration is no more+-- than one frame longer than the video stream. MediaConvert applies audio+-- padding or trimming only to the end of the last segment of the output.+-- For unsegmented outputs, MediaConvert adds padding only to the end of+-- the file. When you keep the default value, any minor discrepancies+-- between audio and video duration will depend on your output audio codec.+newtype CmfcAudioDuration = CmfcAudioDuration'+ { fromCmfcAudioDuration ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcAudioDuration_DEFAULT_CODEC_DURATION :: CmfcAudioDuration+pattern CmfcAudioDuration_DEFAULT_CODEC_DURATION = CmfcAudioDuration' "DEFAULT_CODEC_DURATION"++pattern CmfcAudioDuration_MATCH_VIDEO_DURATION :: CmfcAudioDuration+pattern CmfcAudioDuration_MATCH_VIDEO_DURATION = CmfcAudioDuration' "MATCH_VIDEO_DURATION"++{-# COMPLETE+ CmfcAudioDuration_DEFAULT_CODEC_DURATION,+ CmfcAudioDuration_MATCH_VIDEO_DURATION,+ CmfcAudioDuration'+ #-}
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcAudioTrackType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcAudioTrackType+ ( CmfcAudioTrackType+ ( ..,+ CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT,+ CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT,+ CmfcAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting to control the values that MediaConvert puts in your+-- HLS parent playlist to control how the client player selects which audio+-- track to play. The other options for this setting determine the values+-- that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of+-- the EXT-X-MEDIA entry for the audio variant. For more information about+-- these attributes, see the Apple documentation article+-- https:\/\/developer.apple.com\/documentation\/http_live_streaming\/example_playlists_for_http_live_streaming\/adding_alternate_media_to_a_playlist.+-- Choose Alternate audio, auto select, default+-- (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and+-- AUTOSELECT=YES. Choose this value for only one variant in your output+-- group. Choose Alternate audio, auto select, not default+-- (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO and AUTOSELECT=YES.+-- Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and+-- AUTOSELECT=NO. When you don\'t specify a value for this setting,+-- MediaConvert defaults to Alternate audio, auto select, default. When+-- there is more than one variant in your output group, you must explicitly+-- choose a value for this setting.+newtype CmfcAudioTrackType = CmfcAudioTrackType'+ { fromCmfcAudioTrackType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT :: CmfcAudioTrackType+pattern CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT = CmfcAudioTrackType' "ALTERNATE_AUDIO_AUTO_SELECT"++pattern CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT :: CmfcAudioTrackType+pattern CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT = CmfcAudioTrackType' "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"++pattern CmfcAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT :: CmfcAudioTrackType+pattern CmfcAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT = CmfcAudioTrackType' "ALTERNATE_AUDIO_NOT_AUTO_SELECT"++{-# COMPLETE+ CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT,+ CmfcAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT,+ CmfcAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT,+ CmfcAudioTrackType'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcDescriptiveVideoServiceFlag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcDescriptiveVideoServiceFlag+ ( CmfcDescriptiveVideoServiceFlag+ ( ..,+ CmfcDescriptiveVideoServiceFlag_DONT_FLAG,+ CmfcDescriptiveVideoServiceFlag_FLAG+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether to flag this audio track as descriptive video service+-- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+-- MediaConvert includes the parameter+-- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+-- EXT-X-MEDIA entry for this track. When you keep the default choice,+-- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+-- flag can help with accessibility on Apple devices. For more information,+-- see the Apple documentation.+newtype CmfcDescriptiveVideoServiceFlag = CmfcDescriptiveVideoServiceFlag'+ { fromCmfcDescriptiveVideoServiceFlag ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcDescriptiveVideoServiceFlag_DONT_FLAG :: CmfcDescriptiveVideoServiceFlag+pattern CmfcDescriptiveVideoServiceFlag_DONT_FLAG = CmfcDescriptiveVideoServiceFlag' "DONT_FLAG"++pattern CmfcDescriptiveVideoServiceFlag_FLAG :: CmfcDescriptiveVideoServiceFlag+pattern CmfcDescriptiveVideoServiceFlag_FLAG = CmfcDescriptiveVideoServiceFlag' "FLAG"++{-# COMPLETE+ CmfcDescriptiveVideoServiceFlag_DONT_FLAG,+ CmfcDescriptiveVideoServiceFlag_FLAG,+ CmfcDescriptiveVideoServiceFlag'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcIFrameOnlyManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcIFrameOnlyManifest+ ( CmfcIFrameOnlyManifest+ ( ..,+ CmfcIFrameOnlyManifest_EXCLUDE,+ CmfcIFrameOnlyManifest_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose Include (INCLUDE) to have MediaConvert generate an HLS child+-- manifest that lists only the I-frames for this rendition, in addition to+-- your regular manifest for this rendition. You might use this manifest as+-- part of a workflow that creates preview functions for your video.+-- MediaConvert adds both the I-frame only child manifest and the regular+-- child manifest to the parent manifest. When you don\'t need the I-frame+-- only child manifest, keep the default value Exclude (EXCLUDE).+newtype CmfcIFrameOnlyManifest = CmfcIFrameOnlyManifest'+ { fromCmfcIFrameOnlyManifest ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcIFrameOnlyManifest_EXCLUDE :: CmfcIFrameOnlyManifest+pattern CmfcIFrameOnlyManifest_EXCLUDE = CmfcIFrameOnlyManifest' "EXCLUDE"++pattern CmfcIFrameOnlyManifest_INCLUDE :: CmfcIFrameOnlyManifest+pattern CmfcIFrameOnlyManifest_INCLUDE = CmfcIFrameOnlyManifest' "INCLUDE"++{-# COMPLETE+ CmfcIFrameOnlyManifest_EXCLUDE,+ CmfcIFrameOnlyManifest_INCLUDE,+ CmfcIFrameOnlyManifest'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcKlvMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcKlvMetadata+ ( CmfcKlvMetadata+ ( ..,+ CmfcKlvMetadata_NONE,+ CmfcKlvMetadata_PASSTHROUGH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | To include key-length-value metadata in this output: Set KLV metadata+-- insertion to Passthrough. MediaConvert reads KLV metadata present in+-- your input and writes each instance to a separate event message box in+-- the output, according to MISB ST1910.1. To exclude this KLV metadata:+-- Set KLV metadata insertion to None or leave blank.+newtype CmfcKlvMetadata = CmfcKlvMetadata'+ { fromCmfcKlvMetadata ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcKlvMetadata_NONE :: CmfcKlvMetadata+pattern CmfcKlvMetadata_NONE = CmfcKlvMetadata' "NONE"++pattern CmfcKlvMetadata_PASSTHROUGH :: CmfcKlvMetadata+pattern CmfcKlvMetadata_PASSTHROUGH = CmfcKlvMetadata' "PASSTHROUGH"++{-# COMPLETE+ CmfcKlvMetadata_NONE,+ CmfcKlvMetadata_PASSTHROUGH,+ CmfcKlvMetadata'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcManifestMetadataSignaling+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcManifestMetadataSignaling+ ( CmfcManifestMetadataSignaling+ ( ..,+ CmfcManifestMetadataSignaling_DISABLED,+ CmfcManifestMetadataSignaling_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | To add an InbandEventStream element in your output MPD manifest for each+-- type of event message, set Manifest metadata signaling to Enabled. For+-- ID3 event messages, the InbandEventStream element schemeIdUri will be+-- same value that you specify for ID3 metadata scheme ID URI. For SCTE35+-- event messages, the InbandEventStream element schemeIdUri will be+-- \"urn:scte:scte35:2013:bin\". To leave these elements out of your output+-- MPD manifest, set Manifest metadata signaling to Disabled.+newtype CmfcManifestMetadataSignaling = CmfcManifestMetadataSignaling'+ { fromCmfcManifestMetadataSignaling ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcManifestMetadataSignaling_DISABLED :: CmfcManifestMetadataSignaling+pattern CmfcManifestMetadataSignaling_DISABLED = CmfcManifestMetadataSignaling' "DISABLED"++pattern CmfcManifestMetadataSignaling_ENABLED :: CmfcManifestMetadataSignaling+pattern CmfcManifestMetadataSignaling_ENABLED = CmfcManifestMetadataSignaling' "ENABLED"++{-# COMPLETE+ CmfcManifestMetadataSignaling_DISABLED,+ CmfcManifestMetadataSignaling_ENABLED,+ CmfcManifestMetadataSignaling'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcScte35Esam+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcScte35Esam+ ( CmfcScte35Esam+ ( ..,+ CmfcScte35Esam_INSERT,+ CmfcScte35Esam_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting only when you specify SCTE-35 markers from ESAM. Choose+-- INSERT to put SCTE-35 markers in this output at the insertion points+-- that you specify in an ESAM XML document. Provide the document in the+-- setting SCC XML (sccXml).+newtype CmfcScte35Esam = CmfcScte35Esam'+ { fromCmfcScte35Esam ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcScte35Esam_INSERT :: CmfcScte35Esam+pattern CmfcScte35Esam_INSERT = CmfcScte35Esam' "INSERT"++pattern CmfcScte35Esam_NONE :: CmfcScte35Esam+pattern CmfcScte35Esam_NONE = CmfcScte35Esam' "NONE"++{-# COMPLETE+ CmfcScte35Esam_INSERT,+ CmfcScte35Esam_NONE,+ CmfcScte35Esam'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcScte35Source+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcScte35Source+ ( CmfcScte35Source+ ( ..,+ CmfcScte35Source_NONE,+ CmfcScte35Source_PASSTHROUGH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless you have SCTE-35 markers in your input video+-- file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that+-- appear in your input to also appear in this output. Choose None (NONE)+-- if you don\'t want those SCTE-35 markers in this output.+newtype CmfcScte35Source = CmfcScte35Source'+ { fromCmfcScte35Source ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcScte35Source_NONE :: CmfcScte35Source+pattern CmfcScte35Source_NONE = CmfcScte35Source' "NONE"++pattern CmfcScte35Source_PASSTHROUGH :: CmfcScte35Source+pattern CmfcScte35Source_PASSTHROUGH = CmfcScte35Source' "PASSTHROUGH"++{-# COMPLETE+ CmfcScte35Source_NONE,+ CmfcScte35Source_PASSTHROUGH,+ CmfcScte35Source'+ #-}
@@ -0,0 +1,571 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CmfcAudioDuration+import Amazonka.MediaConvert.Types.CmfcAudioTrackType+import Amazonka.MediaConvert.Types.CmfcDescriptiveVideoServiceFlag+import Amazonka.MediaConvert.Types.CmfcIFrameOnlyManifest+import Amazonka.MediaConvert.Types.CmfcKlvMetadata+import Amazonka.MediaConvert.Types.CmfcManifestMetadataSignaling+import Amazonka.MediaConvert.Types.CmfcScte35Esam+import Amazonka.MediaConvert.Types.CmfcScte35Source+import Amazonka.MediaConvert.Types.CmfcTimedMetadata+import Amazonka.MediaConvert.Types.CmfcTimedMetadataBoxVersion+import qualified Amazonka.Prelude as Prelude++-- | These settings relate to the fragmented MP4 container for the segments+-- in your CMAF outputs.+--+-- /See:/ 'newCmfcSettings' smart constructor.+data CmfcSettings = CmfcSettings'+ { -- | Specify this setting only when your output will be consumed by a+ -- downstream repackaging workflow that is sensitive to very small duration+ -- differences between video and audio. For this situation, choose Match+ -- video duration (MATCH_VIDEO_DURATION). In all other cases, keep the+ -- default value, Default codec duration (DEFAULT_CODEC_DURATION). When you+ -- choose Match video duration, MediaConvert pads the output audio streams+ -- with silence or trims them to ensure that the total duration of each+ -- audio stream is at least as long as the total duration of the video+ -- stream. After padding or trimming, the audio stream duration is no more+ -- than one frame longer than the video stream. MediaConvert applies audio+ -- padding or trimming only to the end of the last segment of the output.+ -- For unsegmented outputs, MediaConvert adds padding only to the end of+ -- the file. When you keep the default value, any minor discrepancies+ -- between audio and video duration will depend on your output audio codec.+ audioDuration :: Prelude.Maybe CmfcAudioDuration,+ -- | Specify the audio rendition group for this audio rendition. Specify up+ -- to one value for each audio output in your output group. This value+ -- appears in your HLS parent manifest in the EXT-X-MEDIA tag of+ -- TYPE=AUDIO, as the value for the GROUP-ID attribute. For example, if you+ -- specify \"audio_aac_1\" for Audio group ID, it appears in your manifest+ -- like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"audio_aac_1\". Related+ -- setting: To associate the rendition group that this audio track belongs+ -- to with a video rendition, include the same value that you provide here+ -- for that video output\'s setting Audio rendition sets+ -- (audioRenditionSets).+ audioGroupId :: Prelude.Maybe Prelude.Text,+ -- | List the audio rendition groups that you want included with this video+ -- rendition. Use a comma-separated list. For example, say you want to+ -- include the audio rendition groups that have the audio group IDs+ -- \"audio_aac_1\" and \"audio_dolby\". Then you would specify this value:+ -- \"audio_aac_1,audio_dolby\". Related setting: The rendition groups that+ -- you include in your comma-separated list should all match values that+ -- you specify in the setting Audio group ID (AudioGroupId) for audio+ -- renditions in the same output group as this video rendition. Default+ -- behavior: If you don\'t specify anything here and for Audio group ID,+ -- MediaConvert puts each audio variant in its own audio rendition group+ -- and associates it with every video variant. Each value in your list+ -- appears in your HLS parent manifest in the EXT-X-STREAM-INF tag as the+ -- value for the AUDIO attribute. To continue the previous example, say+ -- that the file name for the child manifest for your video rendition is+ -- \"amazing_video_1.m3u8\". Then, in your parent manifest, each value will+ -- appear on separate lines, like this:+ -- #EXT-X-STREAM-INF:AUDIO=\"audio_aac_1\"... amazing_video_1.m3u8+ -- #EXT-X-STREAM-INF:AUDIO=\"audio_dolby\"... amazing_video_1.m3u8+ audioRenditionSets :: Prelude.Maybe Prelude.Text,+ -- | Use this setting to control the values that MediaConvert puts in your+ -- HLS parent playlist to control how the client player selects which audio+ -- track to play. The other options for this setting determine the values+ -- that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of+ -- the EXT-X-MEDIA entry for the audio variant. For more information about+ -- these attributes, see the Apple documentation article+ -- https:\/\/developer.apple.com\/documentation\/http_live_streaming\/example_playlists_for_http_live_streaming\/adding_alternate_media_to_a_playlist.+ -- Choose Alternate audio, auto select, default+ -- (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and+ -- AUTOSELECT=YES. Choose this value for only one variant in your output+ -- group. Choose Alternate audio, auto select, not default+ -- (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO and AUTOSELECT=YES.+ -- Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and+ -- AUTOSELECT=NO. When you don\'t specify a value for this setting,+ -- MediaConvert defaults to Alternate audio, auto select, default. When+ -- there is more than one variant in your output group, you must explicitly+ -- choose a value for this setting.+ audioTrackType :: Prelude.Maybe CmfcAudioTrackType,+ -- | Specify whether to flag this audio track as descriptive video service+ -- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+ -- MediaConvert includes the parameter+ -- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+ -- EXT-X-MEDIA entry for this track. When you keep the default choice,+ -- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+ -- flag can help with accessibility on Apple devices. For more information,+ -- see the Apple documentation.+ descriptiveVideoServiceFlag :: Prelude.Maybe CmfcDescriptiveVideoServiceFlag,+ -- | Choose Include (INCLUDE) to have MediaConvert generate an HLS child+ -- manifest that lists only the I-frames for this rendition, in addition to+ -- your regular manifest for this rendition. You might use this manifest as+ -- part of a workflow that creates preview functions for your video.+ -- MediaConvert adds both the I-frame only child manifest and the regular+ -- child manifest to the parent manifest. When you don\'t need the I-frame+ -- only child manifest, keep the default value Exclude (EXCLUDE).+ iFrameOnlyManifest :: Prelude.Maybe CmfcIFrameOnlyManifest,+ -- | To include key-length-value metadata in this output: Set KLV metadata+ -- insertion to Passthrough. MediaConvert reads KLV metadata present in+ -- your input and writes each instance to a separate event message box in+ -- the output, according to MISB ST1910.1. To exclude this KLV metadata:+ -- Set KLV metadata insertion to None or leave blank.+ klvMetadata :: Prelude.Maybe CmfcKlvMetadata,+ -- | To add an InbandEventStream element in your output MPD manifest for each+ -- type of event message, set Manifest metadata signaling to Enabled. For+ -- ID3 event messages, the InbandEventStream element schemeIdUri will be+ -- same value that you specify for ID3 metadata scheme ID URI. For SCTE35+ -- event messages, the InbandEventStream element schemeIdUri will be+ -- \"urn:scte:scte35:2013:bin\". To leave these elements out of your output+ -- MPD manifest, set Manifest metadata signaling to Disabled.+ manifestMetadataSignaling :: Prelude.Maybe CmfcManifestMetadataSignaling,+ -- | Use this setting only when you specify SCTE-35 markers from ESAM. Choose+ -- INSERT to put SCTE-35 markers in this output at the insertion points+ -- that you specify in an ESAM XML document. Provide the document in the+ -- setting SCC XML (sccXml).+ scte35Esam :: Prelude.Maybe CmfcScte35Esam,+ -- | Ignore this setting unless you have SCTE-35 markers in your input video+ -- file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that+ -- appear in your input to also appear in this output. Choose None (NONE)+ -- if you don\'t want those SCTE-35 markers in this output.+ scte35Source :: Prelude.Maybe CmfcScte35Source,+ -- | To include ID3 metadata in this output: Set ID3 metadata (timedMetadata)+ -- to Passthrough (PASSTHROUGH). Specify this ID3 metadata in Custom ID3+ -- metadata inserter (timedMetadataInsertion). MediaConvert writes each+ -- instance of ID3 metadata in a separate Event Message (eMSG) box. To+ -- exclude this ID3 metadata: Set ID3 metadata to None (NONE) or leave+ -- blank.+ timedMetadata :: Prelude.Maybe CmfcTimedMetadata,+ -- | Specify the event message box (eMSG) version for ID3 timed metadata in+ -- your output. For more information, see ISO\/IEC 23009-1:2022 section+ -- 5.10.3.3.3 Syntax. Leave blank to use the default value Version 0. When+ -- you specify Version 1, you must also set ID3 metadata (timedMetadata) to+ -- Passthrough.+ timedMetadataBoxVersion :: Prelude.Maybe CmfcTimedMetadataBoxVersion,+ -- | Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for+ -- ID3 timed metadata in your output. For more informaiton, see ISO\/IEC+ -- 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the+ -- default value: https:\/\/aomedia.org\/emsg\/ID3 When you specify a value+ -- for ID3 metadata scheme ID URI, you must also set ID3 metadata+ -- (timedMetadata) to Passthrough.+ timedMetadataSchemeIdUri :: Prelude.Maybe Prelude.Text,+ -- | Specify the event message box (eMSG) value for ID3 timed metadata in+ -- your output. For more informaiton, see ISO\/IEC 23009-1:2022 section+ -- 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value,+ -- you must also set ID3 metadata (timedMetadata) to Passthrough.+ timedMetadataValue :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CmfcSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioDuration', 'cmfcSettings_audioDuration' - Specify this setting only when your output will be consumed by a+-- downstream repackaging workflow that is sensitive to very small duration+-- differences between video and audio. For this situation, choose Match+-- video duration (MATCH_VIDEO_DURATION). In all other cases, keep the+-- default value, Default codec duration (DEFAULT_CODEC_DURATION). When you+-- choose Match video duration, MediaConvert pads the output audio streams+-- with silence or trims them to ensure that the total duration of each+-- audio stream is at least as long as the total duration of the video+-- stream. After padding or trimming, the audio stream duration is no more+-- than one frame longer than the video stream. MediaConvert applies audio+-- padding or trimming only to the end of the last segment of the output.+-- For unsegmented outputs, MediaConvert adds padding only to the end of+-- the file. When you keep the default value, any minor discrepancies+-- between audio and video duration will depend on your output audio codec.+--+-- 'audioGroupId', 'cmfcSettings_audioGroupId' - Specify the audio rendition group for this audio rendition. Specify up+-- to one value for each audio output in your output group. This value+-- appears in your HLS parent manifest in the EXT-X-MEDIA tag of+-- TYPE=AUDIO, as the value for the GROUP-ID attribute. For example, if you+-- specify \"audio_aac_1\" for Audio group ID, it appears in your manifest+-- like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"audio_aac_1\". Related+-- setting: To associate the rendition group that this audio track belongs+-- to with a video rendition, include the same value that you provide here+-- for that video output\'s setting Audio rendition sets+-- (audioRenditionSets).+--+-- 'audioRenditionSets', 'cmfcSettings_audioRenditionSets' - List the audio rendition groups that you want included with this video+-- rendition. Use a comma-separated list. For example, say you want to+-- include the audio rendition groups that have the audio group IDs+-- \"audio_aac_1\" and \"audio_dolby\". Then you would specify this value:+-- \"audio_aac_1,audio_dolby\". Related setting: The rendition groups that+-- you include in your comma-separated list should all match values that+-- you specify in the setting Audio group ID (AudioGroupId) for audio+-- renditions in the same output group as this video rendition. Default+-- behavior: If you don\'t specify anything here and for Audio group ID,+-- MediaConvert puts each audio variant in its own audio rendition group+-- and associates it with every video variant. Each value in your list+-- appears in your HLS parent manifest in the EXT-X-STREAM-INF tag as the+-- value for the AUDIO attribute. To continue the previous example, say+-- that the file name for the child manifest for your video rendition is+-- \"amazing_video_1.m3u8\". Then, in your parent manifest, each value will+-- appear on separate lines, like this:+-- #EXT-X-STREAM-INF:AUDIO=\"audio_aac_1\"... amazing_video_1.m3u8+-- #EXT-X-STREAM-INF:AUDIO=\"audio_dolby\"... amazing_video_1.m3u8+--+-- 'audioTrackType', 'cmfcSettings_audioTrackType' - Use this setting to control the values that MediaConvert puts in your+-- HLS parent playlist to control how the client player selects which audio+-- track to play. The other options for this setting determine the values+-- that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of+-- the EXT-X-MEDIA entry for the audio variant. For more information about+-- these attributes, see the Apple documentation article+-- https:\/\/developer.apple.com\/documentation\/http_live_streaming\/example_playlists_for_http_live_streaming\/adding_alternate_media_to_a_playlist.+-- Choose Alternate audio, auto select, default+-- (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and+-- AUTOSELECT=YES. Choose this value for only one variant in your output+-- group. Choose Alternate audio, auto select, not default+-- (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO and AUTOSELECT=YES.+-- Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and+-- AUTOSELECT=NO. When you don\'t specify a value for this setting,+-- MediaConvert defaults to Alternate audio, auto select, default. When+-- there is more than one variant in your output group, you must explicitly+-- choose a value for this setting.+--+-- 'descriptiveVideoServiceFlag', 'cmfcSettings_descriptiveVideoServiceFlag' - Specify whether to flag this audio track as descriptive video service+-- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+-- MediaConvert includes the parameter+-- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+-- EXT-X-MEDIA entry for this track. When you keep the default choice,+-- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+-- flag can help with accessibility on Apple devices. For more information,+-- see the Apple documentation.+--+-- 'iFrameOnlyManifest', 'cmfcSettings_iFrameOnlyManifest' - Choose Include (INCLUDE) to have MediaConvert generate an HLS child+-- manifest that lists only the I-frames for this rendition, in addition to+-- your regular manifest for this rendition. You might use this manifest as+-- part of a workflow that creates preview functions for your video.+-- MediaConvert adds both the I-frame only child manifest and the regular+-- child manifest to the parent manifest. When you don\'t need the I-frame+-- only child manifest, keep the default value Exclude (EXCLUDE).+--+-- 'klvMetadata', 'cmfcSettings_klvMetadata' - To include key-length-value metadata in this output: Set KLV metadata+-- insertion to Passthrough. MediaConvert reads KLV metadata present in+-- your input and writes each instance to a separate event message box in+-- the output, according to MISB ST1910.1. To exclude this KLV metadata:+-- Set KLV metadata insertion to None or leave blank.+--+-- 'manifestMetadataSignaling', 'cmfcSettings_manifestMetadataSignaling' - To add an InbandEventStream element in your output MPD manifest for each+-- type of event message, set Manifest metadata signaling to Enabled. For+-- ID3 event messages, the InbandEventStream element schemeIdUri will be+-- same value that you specify for ID3 metadata scheme ID URI. For SCTE35+-- event messages, the InbandEventStream element schemeIdUri will be+-- \"urn:scte:scte35:2013:bin\". To leave these elements out of your output+-- MPD manifest, set Manifest metadata signaling to Disabled.+--+-- 'scte35Esam', 'cmfcSettings_scte35Esam' - Use this setting only when you specify SCTE-35 markers from ESAM. Choose+-- INSERT to put SCTE-35 markers in this output at the insertion points+-- that you specify in an ESAM XML document. Provide the document in the+-- setting SCC XML (sccXml).+--+-- 'scte35Source', 'cmfcSettings_scte35Source' - Ignore this setting unless you have SCTE-35 markers in your input video+-- file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that+-- appear in your input to also appear in this output. Choose None (NONE)+-- if you don\'t want those SCTE-35 markers in this output.+--+-- 'timedMetadata', 'cmfcSettings_timedMetadata' - To include ID3 metadata in this output: Set ID3 metadata (timedMetadata)+-- to Passthrough (PASSTHROUGH). Specify this ID3 metadata in Custom ID3+-- metadata inserter (timedMetadataInsertion). MediaConvert writes each+-- instance of ID3 metadata in a separate Event Message (eMSG) box. To+-- exclude this ID3 metadata: Set ID3 metadata to None (NONE) or leave+-- blank.+--+-- 'timedMetadataBoxVersion', 'cmfcSettings_timedMetadataBoxVersion' - Specify the event message box (eMSG) version for ID3 timed metadata in+-- your output. For more information, see ISO\/IEC 23009-1:2022 section+-- 5.10.3.3.3 Syntax. Leave blank to use the default value Version 0. When+-- you specify Version 1, you must also set ID3 metadata (timedMetadata) to+-- Passthrough.+--+-- 'timedMetadataSchemeIdUri', 'cmfcSettings_timedMetadataSchemeIdUri' - Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for+-- ID3 timed metadata in your output. For more informaiton, see ISO\/IEC+-- 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the+-- default value: https:\/\/aomedia.org\/emsg\/ID3 When you specify a value+-- for ID3 metadata scheme ID URI, you must also set ID3 metadata+-- (timedMetadata) to Passthrough.+--+-- 'timedMetadataValue', 'cmfcSettings_timedMetadataValue' - Specify the event message box (eMSG) value for ID3 timed metadata in+-- your output. For more informaiton, see ISO\/IEC 23009-1:2022 section+-- 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value,+-- you must also set ID3 metadata (timedMetadata) to Passthrough.+newCmfcSettings ::+ CmfcSettings+newCmfcSettings =+ CmfcSettings'+ { audioDuration = Prelude.Nothing,+ audioGroupId = Prelude.Nothing,+ audioRenditionSets = Prelude.Nothing,+ audioTrackType = Prelude.Nothing,+ descriptiveVideoServiceFlag = Prelude.Nothing,+ iFrameOnlyManifest = Prelude.Nothing,+ klvMetadata = Prelude.Nothing,+ manifestMetadataSignaling = Prelude.Nothing,+ scte35Esam = Prelude.Nothing,+ scte35Source = Prelude.Nothing,+ timedMetadata = Prelude.Nothing,+ timedMetadataBoxVersion = Prelude.Nothing,+ timedMetadataSchemeIdUri = Prelude.Nothing,+ timedMetadataValue = Prelude.Nothing+ }++-- | Specify this setting only when your output will be consumed by a+-- downstream repackaging workflow that is sensitive to very small duration+-- differences between video and audio. For this situation, choose Match+-- video duration (MATCH_VIDEO_DURATION). In all other cases, keep the+-- default value, Default codec duration (DEFAULT_CODEC_DURATION). When you+-- choose Match video duration, MediaConvert pads the output audio streams+-- with silence or trims them to ensure that the total duration of each+-- audio stream is at least as long as the total duration of the video+-- stream. After padding or trimming, the audio stream duration is no more+-- than one frame longer than the video stream. MediaConvert applies audio+-- padding or trimming only to the end of the last segment of the output.+-- For unsegmented outputs, MediaConvert adds padding only to the end of+-- the file. When you keep the default value, any minor discrepancies+-- between audio and video duration will depend on your output audio codec.+cmfcSettings_audioDuration :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcAudioDuration)+cmfcSettings_audioDuration = Lens.lens (\CmfcSettings' {audioDuration} -> audioDuration) (\s@CmfcSettings' {} a -> s {audioDuration = a} :: CmfcSettings)++-- | Specify the audio rendition group for this audio rendition. Specify up+-- to one value for each audio output in your output group. This value+-- appears in your HLS parent manifest in the EXT-X-MEDIA tag of+-- TYPE=AUDIO, as the value for the GROUP-ID attribute. For example, if you+-- specify \"audio_aac_1\" for Audio group ID, it appears in your manifest+-- like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"audio_aac_1\". Related+-- setting: To associate the rendition group that this audio track belongs+-- to with a video rendition, include the same value that you provide here+-- for that video output\'s setting Audio rendition sets+-- (audioRenditionSets).+cmfcSettings_audioGroupId :: Lens.Lens' CmfcSettings (Prelude.Maybe Prelude.Text)+cmfcSettings_audioGroupId = Lens.lens (\CmfcSettings' {audioGroupId} -> audioGroupId) (\s@CmfcSettings' {} a -> s {audioGroupId = a} :: CmfcSettings)++-- | List the audio rendition groups that you want included with this video+-- rendition. Use a comma-separated list. For example, say you want to+-- include the audio rendition groups that have the audio group IDs+-- \"audio_aac_1\" and \"audio_dolby\". Then you would specify this value:+-- \"audio_aac_1,audio_dolby\". Related setting: The rendition groups that+-- you include in your comma-separated list should all match values that+-- you specify in the setting Audio group ID (AudioGroupId) for audio+-- renditions in the same output group as this video rendition. Default+-- behavior: If you don\'t specify anything here and for Audio group ID,+-- MediaConvert puts each audio variant in its own audio rendition group+-- and associates it with every video variant. Each value in your list+-- appears in your HLS parent manifest in the EXT-X-STREAM-INF tag as the+-- value for the AUDIO attribute. To continue the previous example, say+-- that the file name for the child manifest for your video rendition is+-- \"amazing_video_1.m3u8\". Then, in your parent manifest, each value will+-- appear on separate lines, like this:+-- #EXT-X-STREAM-INF:AUDIO=\"audio_aac_1\"... amazing_video_1.m3u8+-- #EXT-X-STREAM-INF:AUDIO=\"audio_dolby\"... amazing_video_1.m3u8+cmfcSettings_audioRenditionSets :: Lens.Lens' CmfcSettings (Prelude.Maybe Prelude.Text)+cmfcSettings_audioRenditionSets = Lens.lens (\CmfcSettings' {audioRenditionSets} -> audioRenditionSets) (\s@CmfcSettings' {} a -> s {audioRenditionSets = a} :: CmfcSettings)++-- | Use this setting to control the values that MediaConvert puts in your+-- HLS parent playlist to control how the client player selects which audio+-- track to play. The other options for this setting determine the values+-- that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of+-- the EXT-X-MEDIA entry for the audio variant. For more information about+-- these attributes, see the Apple documentation article+-- https:\/\/developer.apple.com\/documentation\/http_live_streaming\/example_playlists_for_http_live_streaming\/adding_alternate_media_to_a_playlist.+-- Choose Alternate audio, auto select, default+-- (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and+-- AUTOSELECT=YES. Choose this value for only one variant in your output+-- group. Choose Alternate audio, auto select, not default+-- (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO and AUTOSELECT=YES.+-- Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and+-- AUTOSELECT=NO. When you don\'t specify a value for this setting,+-- MediaConvert defaults to Alternate audio, auto select, default. When+-- there is more than one variant in your output group, you must explicitly+-- choose a value for this setting.+cmfcSettings_audioTrackType :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcAudioTrackType)+cmfcSettings_audioTrackType = Lens.lens (\CmfcSettings' {audioTrackType} -> audioTrackType) (\s@CmfcSettings' {} a -> s {audioTrackType = a} :: CmfcSettings)++-- | Specify whether to flag this audio track as descriptive video service+-- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+-- MediaConvert includes the parameter+-- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+-- EXT-X-MEDIA entry for this track. When you keep the default choice,+-- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+-- flag can help with accessibility on Apple devices. For more information,+-- see the Apple documentation.+cmfcSettings_descriptiveVideoServiceFlag :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcDescriptiveVideoServiceFlag)+cmfcSettings_descriptiveVideoServiceFlag = Lens.lens (\CmfcSettings' {descriptiveVideoServiceFlag} -> descriptiveVideoServiceFlag) (\s@CmfcSettings' {} a -> s {descriptiveVideoServiceFlag = a} :: CmfcSettings)++-- | Choose Include (INCLUDE) to have MediaConvert generate an HLS child+-- manifest that lists only the I-frames for this rendition, in addition to+-- your regular manifest for this rendition. You might use this manifest as+-- part of a workflow that creates preview functions for your video.+-- MediaConvert adds both the I-frame only child manifest and the regular+-- child manifest to the parent manifest. When you don\'t need the I-frame+-- only child manifest, keep the default value Exclude (EXCLUDE).+cmfcSettings_iFrameOnlyManifest :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcIFrameOnlyManifest)+cmfcSettings_iFrameOnlyManifest = Lens.lens (\CmfcSettings' {iFrameOnlyManifest} -> iFrameOnlyManifest) (\s@CmfcSettings' {} a -> s {iFrameOnlyManifest = a} :: CmfcSettings)++-- | To include key-length-value metadata in this output: Set KLV metadata+-- insertion to Passthrough. MediaConvert reads KLV metadata present in+-- your input and writes each instance to a separate event message box in+-- the output, according to MISB ST1910.1. To exclude this KLV metadata:+-- Set KLV metadata insertion to None or leave blank.+cmfcSettings_klvMetadata :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcKlvMetadata)+cmfcSettings_klvMetadata = Lens.lens (\CmfcSettings' {klvMetadata} -> klvMetadata) (\s@CmfcSettings' {} a -> s {klvMetadata = a} :: CmfcSettings)++-- | To add an InbandEventStream element in your output MPD manifest for each+-- type of event message, set Manifest metadata signaling to Enabled. For+-- ID3 event messages, the InbandEventStream element schemeIdUri will be+-- same value that you specify for ID3 metadata scheme ID URI. For SCTE35+-- event messages, the InbandEventStream element schemeIdUri will be+-- \"urn:scte:scte35:2013:bin\". To leave these elements out of your output+-- MPD manifest, set Manifest metadata signaling to Disabled.+cmfcSettings_manifestMetadataSignaling :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcManifestMetadataSignaling)+cmfcSettings_manifestMetadataSignaling = Lens.lens (\CmfcSettings' {manifestMetadataSignaling} -> manifestMetadataSignaling) (\s@CmfcSettings' {} a -> s {manifestMetadataSignaling = a} :: CmfcSettings)++-- | Use this setting only when you specify SCTE-35 markers from ESAM. Choose+-- INSERT to put SCTE-35 markers in this output at the insertion points+-- that you specify in an ESAM XML document. Provide the document in the+-- setting SCC XML (sccXml).+cmfcSettings_scte35Esam :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcScte35Esam)+cmfcSettings_scte35Esam = Lens.lens (\CmfcSettings' {scte35Esam} -> scte35Esam) (\s@CmfcSettings' {} a -> s {scte35Esam = a} :: CmfcSettings)++-- | Ignore this setting unless you have SCTE-35 markers in your input video+-- file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that+-- appear in your input to also appear in this output. Choose None (NONE)+-- if you don\'t want those SCTE-35 markers in this output.+cmfcSettings_scte35Source :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcScte35Source)+cmfcSettings_scte35Source = Lens.lens (\CmfcSettings' {scte35Source} -> scte35Source) (\s@CmfcSettings' {} a -> s {scte35Source = a} :: CmfcSettings)++-- | To include ID3 metadata in this output: Set ID3 metadata (timedMetadata)+-- to Passthrough (PASSTHROUGH). Specify this ID3 metadata in Custom ID3+-- metadata inserter (timedMetadataInsertion). MediaConvert writes each+-- instance of ID3 metadata in a separate Event Message (eMSG) box. To+-- exclude this ID3 metadata: Set ID3 metadata to None (NONE) or leave+-- blank.+cmfcSettings_timedMetadata :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcTimedMetadata)+cmfcSettings_timedMetadata = Lens.lens (\CmfcSettings' {timedMetadata} -> timedMetadata) (\s@CmfcSettings' {} a -> s {timedMetadata = a} :: CmfcSettings)++-- | Specify the event message box (eMSG) version for ID3 timed metadata in+-- your output. For more information, see ISO\/IEC 23009-1:2022 section+-- 5.10.3.3.3 Syntax. Leave blank to use the default value Version 0. When+-- you specify Version 1, you must also set ID3 metadata (timedMetadata) to+-- Passthrough.+cmfcSettings_timedMetadataBoxVersion :: Lens.Lens' CmfcSettings (Prelude.Maybe CmfcTimedMetadataBoxVersion)+cmfcSettings_timedMetadataBoxVersion = Lens.lens (\CmfcSettings' {timedMetadataBoxVersion} -> timedMetadataBoxVersion) (\s@CmfcSettings' {} a -> s {timedMetadataBoxVersion = a} :: CmfcSettings)++-- | Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for+-- ID3 timed metadata in your output. For more informaiton, see ISO\/IEC+-- 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the+-- default value: https:\/\/aomedia.org\/emsg\/ID3 When you specify a value+-- for ID3 metadata scheme ID URI, you must also set ID3 metadata+-- (timedMetadata) to Passthrough.+cmfcSettings_timedMetadataSchemeIdUri :: Lens.Lens' CmfcSettings (Prelude.Maybe Prelude.Text)+cmfcSettings_timedMetadataSchemeIdUri = Lens.lens (\CmfcSettings' {timedMetadataSchemeIdUri} -> timedMetadataSchemeIdUri) (\s@CmfcSettings' {} a -> s {timedMetadataSchemeIdUri = a} :: CmfcSettings)++-- | Specify the event message box (eMSG) value for ID3 timed metadata in+-- your output. For more informaiton, see ISO\/IEC 23009-1:2022 section+-- 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value,+-- you must also set ID3 metadata (timedMetadata) to Passthrough.+cmfcSettings_timedMetadataValue :: Lens.Lens' CmfcSettings (Prelude.Maybe Prelude.Text)+cmfcSettings_timedMetadataValue = Lens.lens (\CmfcSettings' {timedMetadataValue} -> timedMetadataValue) (\s@CmfcSettings' {} a -> s {timedMetadataValue = a} :: CmfcSettings)++instance Data.FromJSON CmfcSettings where+ parseJSON =+ Data.withObject+ "CmfcSettings"+ ( \x ->+ CmfcSettings'+ Prelude.<$> (x Data..:? "audioDuration")+ Prelude.<*> (x Data..:? "audioGroupId")+ Prelude.<*> (x Data..:? "audioRenditionSets")+ Prelude.<*> (x Data..:? "audioTrackType")+ Prelude.<*> (x Data..:? "descriptiveVideoServiceFlag")+ Prelude.<*> (x Data..:? "iFrameOnlyManifest")+ Prelude.<*> (x Data..:? "klvMetadata")+ Prelude.<*> (x Data..:? "manifestMetadataSignaling")+ Prelude.<*> (x Data..:? "scte35Esam")+ Prelude.<*> (x Data..:? "scte35Source")+ Prelude.<*> (x Data..:? "timedMetadata")+ Prelude.<*> (x Data..:? "timedMetadataBoxVersion")+ Prelude.<*> (x Data..:? "timedMetadataSchemeIdUri")+ Prelude.<*> (x Data..:? "timedMetadataValue")+ )++instance Prelude.Hashable CmfcSettings where+ hashWithSalt _salt CmfcSettings' {..} =+ _salt+ `Prelude.hashWithSalt` audioDuration+ `Prelude.hashWithSalt` audioGroupId+ `Prelude.hashWithSalt` audioRenditionSets+ `Prelude.hashWithSalt` audioTrackType+ `Prelude.hashWithSalt` descriptiveVideoServiceFlag+ `Prelude.hashWithSalt` iFrameOnlyManifest+ `Prelude.hashWithSalt` klvMetadata+ `Prelude.hashWithSalt` manifestMetadataSignaling+ `Prelude.hashWithSalt` scte35Esam+ `Prelude.hashWithSalt` scte35Source+ `Prelude.hashWithSalt` timedMetadata+ `Prelude.hashWithSalt` timedMetadataBoxVersion+ `Prelude.hashWithSalt` timedMetadataSchemeIdUri+ `Prelude.hashWithSalt` timedMetadataValue++instance Prelude.NFData CmfcSettings where+ rnf CmfcSettings' {..} =+ Prelude.rnf audioDuration+ `Prelude.seq` Prelude.rnf audioGroupId+ `Prelude.seq` Prelude.rnf audioRenditionSets+ `Prelude.seq` Prelude.rnf audioTrackType+ `Prelude.seq` Prelude.rnf descriptiveVideoServiceFlag+ `Prelude.seq` Prelude.rnf iFrameOnlyManifest+ `Prelude.seq` Prelude.rnf klvMetadata+ `Prelude.seq` Prelude.rnf manifestMetadataSignaling+ `Prelude.seq` Prelude.rnf scte35Esam+ `Prelude.seq` Prelude.rnf scte35Source+ `Prelude.seq` Prelude.rnf timedMetadata+ `Prelude.seq` Prelude.rnf timedMetadataBoxVersion+ `Prelude.seq` Prelude.rnf timedMetadataSchemeIdUri+ `Prelude.seq` Prelude.rnf timedMetadataValue++instance Data.ToJSON CmfcSettings where+ toJSON CmfcSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioDuration" Data..=) Prelude.<$> audioDuration,+ ("audioGroupId" Data..=) Prelude.<$> audioGroupId,+ ("audioRenditionSets" Data..=)+ Prelude.<$> audioRenditionSets,+ ("audioTrackType" Data..=)+ Prelude.<$> audioTrackType,+ ("descriptiveVideoServiceFlag" Data..=)+ Prelude.<$> descriptiveVideoServiceFlag,+ ("iFrameOnlyManifest" Data..=)+ Prelude.<$> iFrameOnlyManifest,+ ("klvMetadata" Data..=) Prelude.<$> klvMetadata,+ ("manifestMetadataSignaling" Data..=)+ Prelude.<$> manifestMetadataSignaling,+ ("scte35Esam" Data..=) Prelude.<$> scte35Esam,+ ("scte35Source" Data..=) Prelude.<$> scte35Source,+ ("timedMetadata" Data..=) Prelude.<$> timedMetadata,+ ("timedMetadataBoxVersion" Data..=)+ Prelude.<$> timedMetadataBoxVersion,+ ("timedMetadataSchemeIdUri" Data..=)+ Prelude.<$> timedMetadataSchemeIdUri,+ ("timedMetadataValue" Data..=)+ Prelude.<$> timedMetadataValue+ ]+ )
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcTimedMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcTimedMetadata+ ( CmfcTimedMetadata+ ( ..,+ CmfcTimedMetadata_NONE,+ CmfcTimedMetadata_PASSTHROUGH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | To include ID3 metadata in this output: Set ID3 metadata (timedMetadata)+-- to Passthrough (PASSTHROUGH). Specify this ID3 metadata in Custom ID3+-- metadata inserter (timedMetadataInsertion). MediaConvert writes each+-- instance of ID3 metadata in a separate Event Message (eMSG) box. To+-- exclude this ID3 metadata: Set ID3 metadata to None (NONE) or leave+-- blank.+newtype CmfcTimedMetadata = CmfcTimedMetadata'+ { fromCmfcTimedMetadata ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcTimedMetadata_NONE :: CmfcTimedMetadata+pattern CmfcTimedMetadata_NONE = CmfcTimedMetadata' "NONE"++pattern CmfcTimedMetadata_PASSTHROUGH :: CmfcTimedMetadata+pattern CmfcTimedMetadata_PASSTHROUGH = CmfcTimedMetadata' "PASSTHROUGH"++{-# COMPLETE+ CmfcTimedMetadata_NONE,+ CmfcTimedMetadata_PASSTHROUGH,+ CmfcTimedMetadata'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CmfcTimedMetadataBoxVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CmfcTimedMetadataBoxVersion+ ( CmfcTimedMetadataBoxVersion+ ( ..,+ CmfcTimedMetadataBoxVersion_VERSION_0,+ CmfcTimedMetadataBoxVersion_VERSION_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the event message box (eMSG) version for ID3 timed metadata in+-- your output. For more information, see ISO\/IEC 23009-1:2022 section+-- 5.10.3.3.3 Syntax. Leave blank to use the default value Version 0. When+-- you specify Version 1, you must also set ID3 metadata (timedMetadata) to+-- Passthrough.+newtype CmfcTimedMetadataBoxVersion = CmfcTimedMetadataBoxVersion'+ { fromCmfcTimedMetadataBoxVersion ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CmfcTimedMetadataBoxVersion_VERSION_0 :: CmfcTimedMetadataBoxVersion+pattern CmfcTimedMetadataBoxVersion_VERSION_0 = CmfcTimedMetadataBoxVersion' "VERSION_0"++pattern CmfcTimedMetadataBoxVersion_VERSION_1 :: CmfcTimedMetadataBoxVersion+pattern CmfcTimedMetadataBoxVersion_VERSION_1 = CmfcTimedMetadataBoxVersion' "VERSION_1"++{-# COMPLETE+ CmfcTimedMetadataBoxVersion_VERSION_0,+ CmfcTimedMetadataBoxVersion_VERSION_1,+ CmfcTimedMetadataBoxVersion'+ #-}
@@ -0,0 +1,291 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ColorCorrector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ColorCorrector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.ColorSpaceConversion+import Amazonka.MediaConvert.Types.Hdr10Metadata+import Amazonka.MediaConvert.Types.SampleRangeConversion+import qualified Amazonka.Prelude as Prelude++-- | Settings for color correction.+--+-- /See:/ 'newColorCorrector' smart constructor.+data ColorCorrector = ColorCorrector'+ { -- | Brightness level.+ brightness :: Prelude.Maybe Prelude.Natural,+ -- | Specify the color space you want for this output. The service supports+ -- conversion between HDR formats, between SDR formats, from SDR to HDR,+ -- and from HDR to SDR. SDR to HDR conversion doesn\'t upgrade the dynamic+ -- range. The converted video has an HDR format, but visually appears the+ -- same as an unconverted output. HDR to SDR conversion uses Elemental tone+ -- mapping technology to approximate the outcome of manually regrading from+ -- HDR to SDR. Select Force P3D65 (SDR) to set the output color space+ -- metadata to the following: * Color primaries: Display P3 * Transfer+ -- characteristics: SMPTE 428M * Matrix coefficients: BT.709+ colorSpaceConversion :: Prelude.Maybe ColorSpaceConversion,+ -- | Contrast level.+ contrast :: Prelude.Maybe Prelude.Natural,+ -- | Use these settings when you convert to the HDR 10 color space. Specify+ -- the SMPTE ST 2086 Mastering Display Color Volume static metadata that+ -- you want signaled in the output. These values don\'t affect the pixel+ -- values that are encoded in the video stream. They are intended to help+ -- the downstream video player display content in a way that reflects the+ -- intentions of the the content creator. When you set Color space+ -- conversion (ColorSpaceConversion) to HDR 10 (FORCE_HDR10), these+ -- settings are required. You must set values for Max frame average light+ -- level (maxFrameAverageLightLevel) and Max content light level+ -- (maxContentLightLevel); these settings don\'t have a default value. The+ -- default values for the other HDR 10 metadata settings are defined by the+ -- P3D65 color space. For more information about MediaConvert HDR jobs, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/hdr.+ hdr10Metadata :: Prelude.Maybe Hdr10Metadata,+ -- | Hue in degrees.+ hue :: Prelude.Maybe Prelude.Int,+ -- | Specify the video color sample range for this output. To create a full+ -- range output, you must start with a full range YUV input and keep the+ -- default value, None (NONE). To create a limited range output from a full+ -- range input, choose Limited range (LIMITED_RANGE_SQUEEZE). With RGB+ -- inputs, your output is always limited range, regardless of your choice+ -- here. When you create a limited range output from a full range input,+ -- MediaConvert limits the active pixel values in a way that depends on the+ -- output\'s bit depth: 8-bit outputs contain only values from 16 through+ -- 235 and 10-bit outputs contain only values from 64 through 940. With+ -- this conversion, MediaConvert also changes the output metadata to note+ -- the limited range.+ sampleRangeConversion :: Prelude.Maybe SampleRangeConversion,+ -- | Saturation level.+ saturation :: Prelude.Maybe Prelude.Natural,+ -- | Specify the reference white level, in nits, for all of your SDR inputs.+ -- Use to correct brightness levels within HDR10 outputs. The following+ -- color metadata must be present in your SDR input: color primaries,+ -- transfer characteristics, and matrix coefficients. If your SDR input has+ -- missing color metadata, or if you want to correct input color metadata,+ -- manually specify a color space in the input video selector. For 1,000+ -- nit peak brightness displays, we recommend that you set SDR reference+ -- white level to 203 (according to ITU-R BT.2408). Leave blank to use the+ -- default value of 100, or specify an integer from 100 to 1000.+ sdrReferenceWhiteLevel :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColorCorrector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'brightness', 'colorCorrector_brightness' - Brightness level.+--+-- 'colorSpaceConversion', 'colorCorrector_colorSpaceConversion' - Specify the color space you want for this output. The service supports+-- conversion between HDR formats, between SDR formats, from SDR to HDR,+-- and from HDR to SDR. SDR to HDR conversion doesn\'t upgrade the dynamic+-- range. The converted video has an HDR format, but visually appears the+-- same as an unconverted output. HDR to SDR conversion uses Elemental tone+-- mapping technology to approximate the outcome of manually regrading from+-- HDR to SDR. Select Force P3D65 (SDR) to set the output color space+-- metadata to the following: * Color primaries: Display P3 * Transfer+-- characteristics: SMPTE 428M * Matrix coefficients: BT.709+--+-- 'contrast', 'colorCorrector_contrast' - Contrast level.+--+-- 'hdr10Metadata', 'colorCorrector_hdr10Metadata' - Use these settings when you convert to the HDR 10 color space. Specify+-- the SMPTE ST 2086 Mastering Display Color Volume static metadata that+-- you want signaled in the output. These values don\'t affect the pixel+-- values that are encoded in the video stream. They are intended to help+-- the downstream video player display content in a way that reflects the+-- intentions of the the content creator. When you set Color space+-- conversion (ColorSpaceConversion) to HDR 10 (FORCE_HDR10), these+-- settings are required. You must set values for Max frame average light+-- level (maxFrameAverageLightLevel) and Max content light level+-- (maxContentLightLevel); these settings don\'t have a default value. The+-- default values for the other HDR 10 metadata settings are defined by the+-- P3D65 color space. For more information about MediaConvert HDR jobs, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/hdr.+--+-- 'hue', 'colorCorrector_hue' - Hue in degrees.+--+-- 'sampleRangeConversion', 'colorCorrector_sampleRangeConversion' - Specify the video color sample range for this output. To create a full+-- range output, you must start with a full range YUV input and keep the+-- default value, None (NONE). To create a limited range output from a full+-- range input, choose Limited range (LIMITED_RANGE_SQUEEZE). With RGB+-- inputs, your output is always limited range, regardless of your choice+-- here. When you create a limited range output from a full range input,+-- MediaConvert limits the active pixel values in a way that depends on the+-- output\'s bit depth: 8-bit outputs contain only values from 16 through+-- 235 and 10-bit outputs contain only values from 64 through 940. With+-- this conversion, MediaConvert also changes the output metadata to note+-- the limited range.+--+-- 'saturation', 'colorCorrector_saturation' - Saturation level.+--+-- 'sdrReferenceWhiteLevel', 'colorCorrector_sdrReferenceWhiteLevel' - Specify the reference white level, in nits, for all of your SDR inputs.+-- Use to correct brightness levels within HDR10 outputs. The following+-- color metadata must be present in your SDR input: color primaries,+-- transfer characteristics, and matrix coefficients. If your SDR input has+-- missing color metadata, or if you want to correct input color metadata,+-- manually specify a color space in the input video selector. For 1,000+-- nit peak brightness displays, we recommend that you set SDR reference+-- white level to 203 (according to ITU-R BT.2408). Leave blank to use the+-- default value of 100, or specify an integer from 100 to 1000.+newColorCorrector ::+ ColorCorrector+newColorCorrector =+ ColorCorrector'+ { brightness = Prelude.Nothing,+ colorSpaceConversion = Prelude.Nothing,+ contrast = Prelude.Nothing,+ hdr10Metadata = Prelude.Nothing,+ hue = Prelude.Nothing,+ sampleRangeConversion = Prelude.Nothing,+ saturation = Prelude.Nothing,+ sdrReferenceWhiteLevel = Prelude.Nothing+ }++-- | Brightness level.+colorCorrector_brightness :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)+colorCorrector_brightness = Lens.lens (\ColorCorrector' {brightness} -> brightness) (\s@ColorCorrector' {} a -> s {brightness = a} :: ColorCorrector)++-- | Specify the color space you want for this output. The service supports+-- conversion between HDR formats, between SDR formats, from SDR to HDR,+-- and from HDR to SDR. SDR to HDR conversion doesn\'t upgrade the dynamic+-- range. The converted video has an HDR format, but visually appears the+-- same as an unconverted output. HDR to SDR conversion uses Elemental tone+-- mapping technology to approximate the outcome of manually regrading from+-- HDR to SDR. Select Force P3D65 (SDR) to set the output color space+-- metadata to the following: * Color primaries: Display P3 * Transfer+-- characteristics: SMPTE 428M * Matrix coefficients: BT.709+colorCorrector_colorSpaceConversion :: Lens.Lens' ColorCorrector (Prelude.Maybe ColorSpaceConversion)+colorCorrector_colorSpaceConversion = Lens.lens (\ColorCorrector' {colorSpaceConversion} -> colorSpaceConversion) (\s@ColorCorrector' {} a -> s {colorSpaceConversion = a} :: ColorCorrector)++-- | Contrast level.+colorCorrector_contrast :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)+colorCorrector_contrast = Lens.lens (\ColorCorrector' {contrast} -> contrast) (\s@ColorCorrector' {} a -> s {contrast = a} :: ColorCorrector)++-- | Use these settings when you convert to the HDR 10 color space. Specify+-- the SMPTE ST 2086 Mastering Display Color Volume static metadata that+-- you want signaled in the output. These values don\'t affect the pixel+-- values that are encoded in the video stream. They are intended to help+-- the downstream video player display content in a way that reflects the+-- intentions of the the content creator. When you set Color space+-- conversion (ColorSpaceConversion) to HDR 10 (FORCE_HDR10), these+-- settings are required. You must set values for Max frame average light+-- level (maxFrameAverageLightLevel) and Max content light level+-- (maxContentLightLevel); these settings don\'t have a default value. The+-- default values for the other HDR 10 metadata settings are defined by the+-- P3D65 color space. For more information about MediaConvert HDR jobs, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/hdr.+colorCorrector_hdr10Metadata :: Lens.Lens' ColorCorrector (Prelude.Maybe Hdr10Metadata)+colorCorrector_hdr10Metadata = Lens.lens (\ColorCorrector' {hdr10Metadata} -> hdr10Metadata) (\s@ColorCorrector' {} a -> s {hdr10Metadata = a} :: ColorCorrector)++-- | Hue in degrees.+colorCorrector_hue :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Int)+colorCorrector_hue = Lens.lens (\ColorCorrector' {hue} -> hue) (\s@ColorCorrector' {} a -> s {hue = a} :: ColorCorrector)++-- | Specify the video color sample range for this output. To create a full+-- range output, you must start with a full range YUV input and keep the+-- default value, None (NONE). To create a limited range output from a full+-- range input, choose Limited range (LIMITED_RANGE_SQUEEZE). With RGB+-- inputs, your output is always limited range, regardless of your choice+-- here. When you create a limited range output from a full range input,+-- MediaConvert limits the active pixel values in a way that depends on the+-- output\'s bit depth: 8-bit outputs contain only values from 16 through+-- 235 and 10-bit outputs contain only values from 64 through 940. With+-- this conversion, MediaConvert also changes the output metadata to note+-- the limited range.+colorCorrector_sampleRangeConversion :: Lens.Lens' ColorCorrector (Prelude.Maybe SampleRangeConversion)+colorCorrector_sampleRangeConversion = Lens.lens (\ColorCorrector' {sampleRangeConversion} -> sampleRangeConversion) (\s@ColorCorrector' {} a -> s {sampleRangeConversion = a} :: ColorCorrector)++-- | Saturation level.+colorCorrector_saturation :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)+colorCorrector_saturation = Lens.lens (\ColorCorrector' {saturation} -> saturation) (\s@ColorCorrector' {} a -> s {saturation = a} :: ColorCorrector)++-- | Specify the reference white level, in nits, for all of your SDR inputs.+-- Use to correct brightness levels within HDR10 outputs. The following+-- color metadata must be present in your SDR input: color primaries,+-- transfer characteristics, and matrix coefficients. If your SDR input has+-- missing color metadata, or if you want to correct input color metadata,+-- manually specify a color space in the input video selector. For 1,000+-- nit peak brightness displays, we recommend that you set SDR reference+-- white level to 203 (according to ITU-R BT.2408). Leave blank to use the+-- default value of 100, or specify an integer from 100 to 1000.+colorCorrector_sdrReferenceWhiteLevel :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)+colorCorrector_sdrReferenceWhiteLevel = Lens.lens (\ColorCorrector' {sdrReferenceWhiteLevel} -> sdrReferenceWhiteLevel) (\s@ColorCorrector' {} a -> s {sdrReferenceWhiteLevel = a} :: ColorCorrector)++instance Data.FromJSON ColorCorrector where+ parseJSON =+ Data.withObject+ "ColorCorrector"+ ( \x ->+ ColorCorrector'+ Prelude.<$> (x Data..:? "brightness")+ Prelude.<*> (x Data..:? "colorSpaceConversion")+ Prelude.<*> (x Data..:? "contrast")+ Prelude.<*> (x Data..:? "hdr10Metadata")+ Prelude.<*> (x Data..:? "hue")+ Prelude.<*> (x Data..:? "sampleRangeConversion")+ Prelude.<*> (x Data..:? "saturation")+ Prelude.<*> (x Data..:? "sdrReferenceWhiteLevel")+ )++instance Prelude.Hashable ColorCorrector where+ hashWithSalt _salt ColorCorrector' {..} =+ _salt+ `Prelude.hashWithSalt` brightness+ `Prelude.hashWithSalt` colorSpaceConversion+ `Prelude.hashWithSalt` contrast+ `Prelude.hashWithSalt` hdr10Metadata+ `Prelude.hashWithSalt` hue+ `Prelude.hashWithSalt` sampleRangeConversion+ `Prelude.hashWithSalt` saturation+ `Prelude.hashWithSalt` sdrReferenceWhiteLevel++instance Prelude.NFData ColorCorrector where+ rnf ColorCorrector' {..} =+ Prelude.rnf brightness+ `Prelude.seq` Prelude.rnf colorSpaceConversion+ `Prelude.seq` Prelude.rnf contrast+ `Prelude.seq` Prelude.rnf hdr10Metadata+ `Prelude.seq` Prelude.rnf hue+ `Prelude.seq` Prelude.rnf sampleRangeConversion+ `Prelude.seq` Prelude.rnf saturation+ `Prelude.seq` Prelude.rnf sdrReferenceWhiteLevel++instance Data.ToJSON ColorCorrector where+ toJSON ColorCorrector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("brightness" Data..=) Prelude.<$> brightness,+ ("colorSpaceConversion" Data..=)+ Prelude.<$> colorSpaceConversion,+ ("contrast" Data..=) Prelude.<$> contrast,+ ("hdr10Metadata" Data..=) Prelude.<$> hdr10Metadata,+ ("hue" Data..=) Prelude.<$> hue,+ ("sampleRangeConversion" Data..=)+ Prelude.<$> sampleRangeConversion,+ ("saturation" Data..=) Prelude.<$> saturation,+ ("sdrReferenceWhiteLevel" Data..=)+ Prelude.<$> sdrReferenceWhiteLevel+ ]+ )
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ColorMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ColorMetadata+ ( ColorMetadata+ ( ..,+ ColorMetadata_IGNORE,+ ColorMetadata_INSERT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose Insert (INSERT) for this setting to include color metadata in+-- this output. Choose Ignore (IGNORE) to exclude color metadata from this+-- output. If you don\'t specify a value, the service sets this to Insert+-- by default.+newtype ColorMetadata = ColorMetadata'+ { fromColorMetadata ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ColorMetadata_IGNORE :: ColorMetadata+pattern ColorMetadata_IGNORE = ColorMetadata' "IGNORE"++pattern ColorMetadata_INSERT :: ColorMetadata+pattern ColorMetadata_INSERT = ColorMetadata' "INSERT"++{-# COMPLETE+ ColorMetadata_IGNORE,+ ColorMetadata_INSERT,+ ColorMetadata'+ #-}
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ColorSpace+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ColorSpace+ ( ColorSpace+ ( ..,+ ColorSpace_FOLLOW,+ ColorSpace_HDR10,+ ColorSpace_HLG_2020,+ ColorSpace_P3D65_SDR,+ ColorSpace_P3DCI,+ ColorSpace_REC_601,+ ColorSpace_REC_709+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If your input video has accurate color space metadata, or if you don\'t+-- know about color space, leave this set to the default value Follow. The+-- service will automatically detect your input color space. If your input+-- video has metadata indicating the wrong color space, specify the+-- accurate color space here. If your input video is HDR 10 and the SMPTE+-- ST 2086 Mastering Display Color Volume static metadata isn\'t present in+-- your video stream, or if that metadata is present but not accurate,+-- choose Force HDR 10 here and specify correct values in the input HDR 10+-- metadata settings. For more information about MediaConvert HDR jobs, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/hdr. Select P3D65+-- (SDR) to set the input color space metadata to the following: * Color+-- primaries: Display P3 * Transfer characteristics: SMPTE 428M * Matrix+-- coefficients: BT.709+newtype ColorSpace = ColorSpace'+ { fromColorSpace ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ColorSpace_FOLLOW :: ColorSpace+pattern ColorSpace_FOLLOW = ColorSpace' "FOLLOW"++pattern ColorSpace_HDR10 :: ColorSpace+pattern ColorSpace_HDR10 = ColorSpace' "HDR10"++pattern ColorSpace_HLG_2020 :: ColorSpace+pattern ColorSpace_HLG_2020 = ColorSpace' "HLG_2020"++pattern ColorSpace_P3D65_SDR :: ColorSpace+pattern ColorSpace_P3D65_SDR = ColorSpace' "P3D65_SDR"++pattern ColorSpace_P3DCI :: ColorSpace+pattern ColorSpace_P3DCI = ColorSpace' "P3DCI"++pattern ColorSpace_REC_601 :: ColorSpace+pattern ColorSpace_REC_601 = ColorSpace' "REC_601"++pattern ColorSpace_REC_709 :: ColorSpace+pattern ColorSpace_REC_709 = ColorSpace' "REC_709"++{-# COMPLETE+ ColorSpace_FOLLOW,+ ColorSpace_HDR10,+ ColorSpace_HLG_2020,+ ColorSpace_P3D65_SDR,+ ColorSpace_P3DCI,+ ColorSpace_REC_601,+ ColorSpace_REC_709,+ ColorSpace'+ #-}
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ColorSpaceConversion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ColorSpaceConversion+ ( ColorSpaceConversion+ ( ..,+ ColorSpaceConversion_FORCE_601,+ ColorSpaceConversion_FORCE_709,+ ColorSpaceConversion_FORCE_HDR10,+ ColorSpaceConversion_FORCE_HLG_2020,+ ColorSpaceConversion_FORCE_P3D65_SDR,+ ColorSpaceConversion_FORCE_P3DCI,+ ColorSpaceConversion_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color space you want for this output. The service supports+-- conversion between HDR formats, between SDR formats, from SDR to HDR,+-- and from HDR to SDR. SDR to HDR conversion doesn\'t upgrade the dynamic+-- range. The converted video has an HDR format, but visually appears the+-- same as an unconverted output. HDR to SDR conversion uses Elemental tone+-- mapping technology to approximate the outcome of manually regrading from+-- HDR to SDR. Select Force P3D65 (SDR) to set the output color space+-- metadata to the following: * Color primaries: Display P3 * Transfer+-- characteristics: SMPTE 428M * Matrix coefficients: BT.709+newtype ColorSpaceConversion = ColorSpaceConversion'+ { fromColorSpaceConversion ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ColorSpaceConversion_FORCE_601 :: ColorSpaceConversion+pattern ColorSpaceConversion_FORCE_601 = ColorSpaceConversion' "FORCE_601"++pattern ColorSpaceConversion_FORCE_709 :: ColorSpaceConversion+pattern ColorSpaceConversion_FORCE_709 = ColorSpaceConversion' "FORCE_709"++pattern ColorSpaceConversion_FORCE_HDR10 :: ColorSpaceConversion+pattern ColorSpaceConversion_FORCE_HDR10 = ColorSpaceConversion' "FORCE_HDR10"++pattern ColorSpaceConversion_FORCE_HLG_2020 :: ColorSpaceConversion+pattern ColorSpaceConversion_FORCE_HLG_2020 = ColorSpaceConversion' "FORCE_HLG_2020"++pattern ColorSpaceConversion_FORCE_P3D65_SDR :: ColorSpaceConversion+pattern ColorSpaceConversion_FORCE_P3D65_SDR = ColorSpaceConversion' "FORCE_P3D65_SDR"++pattern ColorSpaceConversion_FORCE_P3DCI :: ColorSpaceConversion+pattern ColorSpaceConversion_FORCE_P3DCI = ColorSpaceConversion' "FORCE_P3DCI"++pattern ColorSpaceConversion_NONE :: ColorSpaceConversion+pattern ColorSpaceConversion_NONE = ColorSpaceConversion' "NONE"++{-# COMPLETE+ ColorSpaceConversion_FORCE_601,+ ColorSpaceConversion_FORCE_709,+ ColorSpaceConversion_FORCE_HDR10,+ ColorSpaceConversion_FORCE_HLG_2020,+ ColorSpaceConversion_FORCE_P3D65_SDR,+ ColorSpaceConversion_FORCE_P3DCI,+ ColorSpaceConversion_NONE,+ ColorSpaceConversion'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ColorSpaceUsage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ColorSpaceUsage+ ( ColorSpaceUsage+ ( ..,+ ColorSpaceUsage_FALLBACK,+ ColorSpaceUsage_FORCE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | There are two sources for color metadata, the input file and the job+-- input settings Color space (ColorSpace) and HDR master display+-- information settings(Hdr10Metadata). The Color space usage setting+-- determines which takes precedence. Choose Force (FORCE) to use color+-- metadata from the input job settings. If you don\'t specify values for+-- those settings, the service defaults to using metadata from your input.+-- FALLBACK - Choose Fallback (FALLBACK) to use color metadata from the+-- source when it is present. If there\'s no color metadata in your input+-- file, the service defaults to using values you specify in the input+-- settings.+newtype ColorSpaceUsage = ColorSpaceUsage'+ { fromColorSpaceUsage ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ColorSpaceUsage_FALLBACK :: ColorSpaceUsage+pattern ColorSpaceUsage_FALLBACK = ColorSpaceUsage' "FALLBACK"++pattern ColorSpaceUsage_FORCE :: ColorSpaceUsage+pattern ColorSpaceUsage_FORCE = ColorSpaceUsage' "FORCE"++{-# COMPLETE+ ColorSpaceUsage_FALLBACK,+ ColorSpaceUsage_FORCE,+ ColorSpaceUsage'+ #-}
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Commitment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Commitment+ ( Commitment+ ( ..,+ Commitment_ONE_YEAR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The length of the term of your reserved queue pricing plan commitment.+newtype Commitment = Commitment'+ { fromCommitment ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Commitment_ONE_YEAR :: Commitment+pattern Commitment_ONE_YEAR = Commitment' "ONE_YEAR"++{-# COMPLETE+ Commitment_ONE_YEAR,+ Commitment'+ #-}
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ContainerSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ContainerSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CmfcSettings+import Amazonka.MediaConvert.Types.ContainerType+import Amazonka.MediaConvert.Types.F4vSettings+import Amazonka.MediaConvert.Types.M2tsSettings+import Amazonka.MediaConvert.Types.M3u8Settings+import Amazonka.MediaConvert.Types.MovSettings+import Amazonka.MediaConvert.Types.Mp4Settings+import Amazonka.MediaConvert.Types.MpdSettings+import Amazonka.MediaConvert.Types.MxfSettings+import qualified Amazonka.Prelude as Prelude++-- | Container specific settings.+--+-- /See:/ 'newContainerSettings' smart constructor.+data ContainerSettings = ContainerSettings'+ { -- | These settings relate to the fragmented MP4 container for the segments+ -- in your CMAF outputs.+ cmfcSettings :: Prelude.Maybe CmfcSettings,+ -- | Container for this output. Some containers require a container settings+ -- object. If not specified, the default object will be created.+ container :: Prelude.Maybe ContainerType,+ -- | Settings for F4v container+ f4vSettings :: Prelude.Maybe F4vSettings,+ -- | MPEG-2 TS container settings. These apply to outputs in a File output+ -- group when the output\'s container (ContainerType) is MPEG-2 Transport+ -- Stream (M2TS). In these assets, data is organized by the program map+ -- table (PMT). Each transport stream program contains subsets of data,+ -- including audio, video, and metadata. Each of these subsets of data has+ -- a numerical label called a packet identifier (PID). Each transport+ -- stream program corresponds to one MediaConvert output. The PMT lists the+ -- types of data in a program along with their PID. Downstream systems and+ -- players use the program map table to look up the PID for each type of+ -- data it accesses and then uses the PIDs to locate specific data within+ -- the asset.+ m2tsSettings :: Prelude.Maybe M2tsSettings,+ -- | These settings relate to the MPEG-2 transport stream (MPEG2-TS)+ -- container for the MPEG2-TS segments in your HLS outputs.+ m3u8Settings :: Prelude.Maybe M3u8Settings,+ -- | These settings relate to your QuickTime MOV output container.+ movSettings :: Prelude.Maybe MovSettings,+ -- | These settings relate to your MP4 output container. You can create audio+ -- only outputs with this container. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/supported-codecs-containers-audio-only.html#output-codecs-and-containers-supported-for-audio-only.+ mp4Settings :: Prelude.Maybe Mp4Settings,+ -- | These settings relate to the fragmented MP4 container for the segments+ -- in your DASH outputs.+ mpdSettings :: Prelude.Maybe MpdSettings,+ -- | These settings relate to your MXF output container.+ mxfSettings :: Prelude.Maybe MxfSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContainerSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cmfcSettings', 'containerSettings_cmfcSettings' - These settings relate to the fragmented MP4 container for the segments+-- in your CMAF outputs.+--+-- 'container', 'containerSettings_container' - Container for this output. Some containers require a container settings+-- object. If not specified, the default object will be created.+--+-- 'f4vSettings', 'containerSettings_f4vSettings' - Settings for F4v container+--+-- 'm2tsSettings', 'containerSettings_m2tsSettings' - MPEG-2 TS container settings. These apply to outputs in a File output+-- group when the output\'s container (ContainerType) is MPEG-2 Transport+-- Stream (M2TS). In these assets, data is organized by the program map+-- table (PMT). Each transport stream program contains subsets of data,+-- including audio, video, and metadata. Each of these subsets of data has+-- a numerical label called a packet identifier (PID). Each transport+-- stream program corresponds to one MediaConvert output. The PMT lists the+-- types of data in a program along with their PID. Downstream systems and+-- players use the program map table to look up the PID for each type of+-- data it accesses and then uses the PIDs to locate specific data within+-- the asset.+--+-- 'm3u8Settings', 'containerSettings_m3u8Settings' - These settings relate to the MPEG-2 transport stream (MPEG2-TS)+-- container for the MPEG2-TS segments in your HLS outputs.+--+-- 'movSettings', 'containerSettings_movSettings' - These settings relate to your QuickTime MOV output container.+--+-- 'mp4Settings', 'containerSettings_mp4Settings' - These settings relate to your MP4 output container. You can create audio+-- only outputs with this container. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/supported-codecs-containers-audio-only.html#output-codecs-and-containers-supported-for-audio-only.+--+-- 'mpdSettings', 'containerSettings_mpdSettings' - These settings relate to the fragmented MP4 container for the segments+-- in your DASH outputs.+--+-- 'mxfSettings', 'containerSettings_mxfSettings' - These settings relate to your MXF output container.+newContainerSettings ::+ ContainerSettings+newContainerSettings =+ ContainerSettings'+ { cmfcSettings = Prelude.Nothing,+ container = Prelude.Nothing,+ f4vSettings = Prelude.Nothing,+ m2tsSettings = Prelude.Nothing,+ m3u8Settings = Prelude.Nothing,+ movSettings = Prelude.Nothing,+ mp4Settings = Prelude.Nothing,+ mpdSettings = Prelude.Nothing,+ mxfSettings = Prelude.Nothing+ }++-- | These settings relate to the fragmented MP4 container for the segments+-- in your CMAF outputs.+containerSettings_cmfcSettings :: Lens.Lens' ContainerSettings (Prelude.Maybe CmfcSettings)+containerSettings_cmfcSettings = Lens.lens (\ContainerSettings' {cmfcSettings} -> cmfcSettings) (\s@ContainerSettings' {} a -> s {cmfcSettings = a} :: ContainerSettings)++-- | Container for this output. Some containers require a container settings+-- object. If not specified, the default object will be created.+containerSettings_container :: Lens.Lens' ContainerSettings (Prelude.Maybe ContainerType)+containerSettings_container = Lens.lens (\ContainerSettings' {container} -> container) (\s@ContainerSettings' {} a -> s {container = a} :: ContainerSettings)++-- | Settings for F4v container+containerSettings_f4vSettings :: Lens.Lens' ContainerSettings (Prelude.Maybe F4vSettings)+containerSettings_f4vSettings = Lens.lens (\ContainerSettings' {f4vSettings} -> f4vSettings) (\s@ContainerSettings' {} a -> s {f4vSettings = a} :: ContainerSettings)++-- | MPEG-2 TS container settings. These apply to outputs in a File output+-- group when the output\'s container (ContainerType) is MPEG-2 Transport+-- Stream (M2TS). In these assets, data is organized by the program map+-- table (PMT). Each transport stream program contains subsets of data,+-- including audio, video, and metadata. Each of these subsets of data has+-- a numerical label called a packet identifier (PID). Each transport+-- stream program corresponds to one MediaConvert output. The PMT lists the+-- types of data in a program along with their PID. Downstream systems and+-- players use the program map table to look up the PID for each type of+-- data it accesses and then uses the PIDs to locate specific data within+-- the asset.+containerSettings_m2tsSettings :: Lens.Lens' ContainerSettings (Prelude.Maybe M2tsSettings)+containerSettings_m2tsSettings = Lens.lens (\ContainerSettings' {m2tsSettings} -> m2tsSettings) (\s@ContainerSettings' {} a -> s {m2tsSettings = a} :: ContainerSettings)++-- | These settings relate to the MPEG-2 transport stream (MPEG2-TS)+-- container for the MPEG2-TS segments in your HLS outputs.+containerSettings_m3u8Settings :: Lens.Lens' ContainerSettings (Prelude.Maybe M3u8Settings)+containerSettings_m3u8Settings = Lens.lens (\ContainerSettings' {m3u8Settings} -> m3u8Settings) (\s@ContainerSettings' {} a -> s {m3u8Settings = a} :: ContainerSettings)++-- | These settings relate to your QuickTime MOV output container.+containerSettings_movSettings :: Lens.Lens' ContainerSettings (Prelude.Maybe MovSettings)+containerSettings_movSettings = Lens.lens (\ContainerSettings' {movSettings} -> movSettings) (\s@ContainerSettings' {} a -> s {movSettings = a} :: ContainerSettings)++-- | These settings relate to your MP4 output container. You can create audio+-- only outputs with this container. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/supported-codecs-containers-audio-only.html#output-codecs-and-containers-supported-for-audio-only.+containerSettings_mp4Settings :: Lens.Lens' ContainerSettings (Prelude.Maybe Mp4Settings)+containerSettings_mp4Settings = Lens.lens (\ContainerSettings' {mp4Settings} -> mp4Settings) (\s@ContainerSettings' {} a -> s {mp4Settings = a} :: ContainerSettings)++-- | These settings relate to the fragmented MP4 container for the segments+-- in your DASH outputs.+containerSettings_mpdSettings :: Lens.Lens' ContainerSettings (Prelude.Maybe MpdSettings)+containerSettings_mpdSettings = Lens.lens (\ContainerSettings' {mpdSettings} -> mpdSettings) (\s@ContainerSettings' {} a -> s {mpdSettings = a} :: ContainerSettings)++-- | These settings relate to your MXF output container.+containerSettings_mxfSettings :: Lens.Lens' ContainerSettings (Prelude.Maybe MxfSettings)+containerSettings_mxfSettings = Lens.lens (\ContainerSettings' {mxfSettings} -> mxfSettings) (\s@ContainerSettings' {} a -> s {mxfSettings = a} :: ContainerSettings)++instance Data.FromJSON ContainerSettings where+ parseJSON =+ Data.withObject+ "ContainerSettings"+ ( \x ->+ ContainerSettings'+ Prelude.<$> (x Data..:? "cmfcSettings")+ Prelude.<*> (x Data..:? "container")+ Prelude.<*> (x Data..:? "f4vSettings")+ Prelude.<*> (x Data..:? "m2tsSettings")+ Prelude.<*> (x Data..:? "m3u8Settings")+ Prelude.<*> (x Data..:? "movSettings")+ Prelude.<*> (x Data..:? "mp4Settings")+ Prelude.<*> (x Data..:? "mpdSettings")+ Prelude.<*> (x Data..:? "mxfSettings")+ )++instance Prelude.Hashable ContainerSettings where+ hashWithSalt _salt ContainerSettings' {..} =+ _salt+ `Prelude.hashWithSalt` cmfcSettings+ `Prelude.hashWithSalt` container+ `Prelude.hashWithSalt` f4vSettings+ `Prelude.hashWithSalt` m2tsSettings+ `Prelude.hashWithSalt` m3u8Settings+ `Prelude.hashWithSalt` movSettings+ `Prelude.hashWithSalt` mp4Settings+ `Prelude.hashWithSalt` mpdSettings+ `Prelude.hashWithSalt` mxfSettings++instance Prelude.NFData ContainerSettings where+ rnf ContainerSettings' {..} =+ Prelude.rnf cmfcSettings+ `Prelude.seq` Prelude.rnf container+ `Prelude.seq` Prelude.rnf f4vSettings+ `Prelude.seq` Prelude.rnf m2tsSettings+ `Prelude.seq` Prelude.rnf m3u8Settings+ `Prelude.seq` Prelude.rnf movSettings+ `Prelude.seq` Prelude.rnf mp4Settings+ `Prelude.seq` Prelude.rnf mpdSettings+ `Prelude.seq` Prelude.rnf mxfSettings++instance Data.ToJSON ContainerSettings where+ toJSON ContainerSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("cmfcSettings" Data..=) Prelude.<$> cmfcSettings,+ ("container" Data..=) Prelude.<$> container,+ ("f4vSettings" Data..=) Prelude.<$> f4vSettings,+ ("m2tsSettings" Data..=) Prelude.<$> m2tsSettings,+ ("m3u8Settings" Data..=) Prelude.<$> m3u8Settings,+ ("movSettings" Data..=) Prelude.<$> movSettings,+ ("mp4Settings" Data..=) Prelude.<$> mp4Settings,+ ("mpdSettings" Data..=) Prelude.<$> mpdSettings,+ ("mxfSettings" Data..=) Prelude.<$> mxfSettings+ ]+ )
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ContainerType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ContainerType+ ( ContainerType+ ( ..,+ ContainerType_CMFC,+ ContainerType_F4V,+ ContainerType_ISMV,+ ContainerType_M2TS,+ ContainerType_M3U8,+ ContainerType_MOV,+ ContainerType_MP4,+ ContainerType_MPD,+ ContainerType_MXF,+ ContainerType_RAW,+ ContainerType_WEBM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Container for this output. Some containers require a container settings+-- object. If not specified, the default object will be created.+newtype ContainerType = ContainerType'+ { fromContainerType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ContainerType_CMFC :: ContainerType+pattern ContainerType_CMFC = ContainerType' "CMFC"++pattern ContainerType_F4V :: ContainerType+pattern ContainerType_F4V = ContainerType' "F4V"++pattern ContainerType_ISMV :: ContainerType+pattern ContainerType_ISMV = ContainerType' "ISMV"++pattern ContainerType_M2TS :: ContainerType+pattern ContainerType_M2TS = ContainerType' "M2TS"++pattern ContainerType_M3U8 :: ContainerType+pattern ContainerType_M3U8 = ContainerType' "M3U8"++pattern ContainerType_MOV :: ContainerType+pattern ContainerType_MOV = ContainerType' "MOV"++pattern ContainerType_MP4 :: ContainerType+pattern ContainerType_MP4 = ContainerType' "MP4"++pattern ContainerType_MPD :: ContainerType+pattern ContainerType_MPD = ContainerType' "MPD"++pattern ContainerType_MXF :: ContainerType+pattern ContainerType_MXF = ContainerType' "MXF"++pattern ContainerType_RAW :: ContainerType+pattern ContainerType_RAW = ContainerType' "RAW"++pattern ContainerType_WEBM :: ContainerType+pattern ContainerType_WEBM = ContainerType' "WEBM"++{-# COMPLETE+ ContainerType_CMFC,+ ContainerType_F4V,+ ContainerType_ISMV,+ ContainerType_M2TS,+ ContainerType_M3U8,+ ContainerType_MOV,+ ContainerType_MP4,+ ContainerType_MPD,+ ContainerType_MXF,+ ContainerType_RAW,+ ContainerType_WEBM,+ ContainerType'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.CopyProtectionAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.CopyProtectionAction+ ( CopyProtectionAction+ ( ..,+ CopyProtectionAction_PASSTHROUGH,+ CopyProtectionAction_STRIP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The action to take on copy and redistribution control XDS packets. If+-- you select PASSTHROUGH, packets will not be changed. If you select+-- STRIP, any packets will be removed in output captions.+newtype CopyProtectionAction = CopyProtectionAction'+ { fromCopyProtectionAction ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CopyProtectionAction_PASSTHROUGH :: CopyProtectionAction+pattern CopyProtectionAction_PASSTHROUGH = CopyProtectionAction' "PASSTHROUGH"++pattern CopyProtectionAction_STRIP :: CopyProtectionAction+pattern CopyProtectionAction_STRIP = CopyProtectionAction' "STRIP"++{-# COMPLETE+ CopyProtectionAction_PASSTHROUGH,+ CopyProtectionAction_STRIP,+ CopyProtectionAction'+ #-}
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashAdditionalManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashAdditionalManifest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the details for each additional DASH manifest that you want the+-- service to generate for this output group. Each manifest can reference a+-- different subset of outputs in the group.+--+-- /See:/ 'newDashAdditionalManifest' smart constructor.+data DashAdditionalManifest = DashAdditionalManifest'+ { -- | Specify a name modifier that the service adds to the name of this+ -- manifest to make it different from the file names of the other main+ -- manifests in the output group. For example, say that the default main+ -- manifest for your DASH group is film-name.mpd. If you enter+ -- \"-no-premium\" for this setting, then the file name the service+ -- generates for this top-level manifest is film-name-no-premium.mpd.+ manifestNameModifier :: Prelude.Maybe Prelude.Text,+ -- | Specify the outputs that you want this additional top-level manifest to+ -- reference.+ selectedOutputs :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashAdditionalManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestNameModifier', 'dashAdditionalManifest_manifestNameModifier' - Specify a name modifier that the service adds to the name of this+-- manifest to make it different from the file names of the other main+-- manifests in the output group. For example, say that the default main+-- manifest for your DASH group is film-name.mpd. If you enter+-- \"-no-premium\" for this setting, then the file name the service+-- generates for this top-level manifest is film-name-no-premium.mpd.+--+-- 'selectedOutputs', 'dashAdditionalManifest_selectedOutputs' - Specify the outputs that you want this additional top-level manifest to+-- reference.+newDashAdditionalManifest ::+ DashAdditionalManifest+newDashAdditionalManifest =+ DashAdditionalManifest'+ { manifestNameModifier =+ Prelude.Nothing,+ selectedOutputs = Prelude.Nothing+ }++-- | Specify a name modifier that the service adds to the name of this+-- manifest to make it different from the file names of the other main+-- manifests in the output group. For example, say that the default main+-- manifest for your DASH group is film-name.mpd. If you enter+-- \"-no-premium\" for this setting, then the file name the service+-- generates for this top-level manifest is film-name-no-premium.mpd.+dashAdditionalManifest_manifestNameModifier :: Lens.Lens' DashAdditionalManifest (Prelude.Maybe Prelude.Text)+dashAdditionalManifest_manifestNameModifier = Lens.lens (\DashAdditionalManifest' {manifestNameModifier} -> manifestNameModifier) (\s@DashAdditionalManifest' {} a -> s {manifestNameModifier = a} :: DashAdditionalManifest)++-- | Specify the outputs that you want this additional top-level manifest to+-- reference.+dashAdditionalManifest_selectedOutputs :: Lens.Lens' DashAdditionalManifest (Prelude.Maybe [Prelude.Text])+dashAdditionalManifest_selectedOutputs = Lens.lens (\DashAdditionalManifest' {selectedOutputs} -> selectedOutputs) (\s@DashAdditionalManifest' {} a -> s {selectedOutputs = a} :: DashAdditionalManifest) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DashAdditionalManifest where+ parseJSON =+ Data.withObject+ "DashAdditionalManifest"+ ( \x ->+ DashAdditionalManifest'+ Prelude.<$> (x Data..:? "manifestNameModifier")+ Prelude.<*> ( x+ Data..:? "selectedOutputs"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable DashAdditionalManifest where+ hashWithSalt _salt DashAdditionalManifest' {..} =+ _salt+ `Prelude.hashWithSalt` manifestNameModifier+ `Prelude.hashWithSalt` selectedOutputs++instance Prelude.NFData DashAdditionalManifest where+ rnf DashAdditionalManifest' {..} =+ Prelude.rnf manifestNameModifier+ `Prelude.seq` Prelude.rnf selectedOutputs++instance Data.ToJSON DashAdditionalManifest where+ toJSON DashAdditionalManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("manifestNameModifier" Data..=)+ Prelude.<$> manifestNameModifier,+ ("selectedOutputs" Data..=)+ Prelude.<$> selectedOutputs+ ]+ )
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoEncryptionSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoEncryptionSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DashIsoPlaybackDeviceCompatibility+import Amazonka.MediaConvert.Types.SpekeKeyProvider+import qualified Amazonka.Prelude as Prelude++-- | Specifies DRM settings for DASH outputs.+--+-- /See:/ 'newDashIsoEncryptionSettings' smart constructor.+data DashIsoEncryptionSettings = DashIsoEncryptionSettings'+ { -- | This setting can improve the compatibility of your output with video+ -- players on obsolete devices. It applies only to DASH H.264 outputs with+ -- DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct+ -- problems with playback on older devices. Otherwise, keep the default+ -- setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that+ -- output, the service will exclude the access unit delimiter and will+ -- leave the SEI NAL units unencrypted.+ playbackDeviceCompatibility :: Prelude.Maybe DashIsoPlaybackDeviceCompatibility,+ -- | If your output group type is HLS, DASH, or Microsoft Smooth, use these+ -- settings when doing DRM encryption with a SPEKE-compliant key provider.+ -- If your output group type is CMAF, use the SpekeKeyProviderCmaf settings+ -- instead.+ spekeKeyProvider :: Prelude.Maybe SpekeKeyProvider+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashIsoEncryptionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'playbackDeviceCompatibility', 'dashIsoEncryptionSettings_playbackDeviceCompatibility' - This setting can improve the compatibility of your output with video+-- players on obsolete devices. It applies only to DASH H.264 outputs with+-- DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct+-- problems with playback on older devices. Otherwise, keep the default+-- setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that+-- output, the service will exclude the access unit delimiter and will+-- leave the SEI NAL units unencrypted.+--+-- 'spekeKeyProvider', 'dashIsoEncryptionSettings_spekeKeyProvider' - If your output group type is HLS, DASH, or Microsoft Smooth, use these+-- settings when doing DRM encryption with a SPEKE-compliant key provider.+-- If your output group type is CMAF, use the SpekeKeyProviderCmaf settings+-- instead.+newDashIsoEncryptionSettings ::+ DashIsoEncryptionSettings+newDashIsoEncryptionSettings =+ DashIsoEncryptionSettings'+ { playbackDeviceCompatibility =+ Prelude.Nothing,+ spekeKeyProvider = Prelude.Nothing+ }++-- | This setting can improve the compatibility of your output with video+-- players on obsolete devices. It applies only to DASH H.264 outputs with+-- DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct+-- problems with playback on older devices. Otherwise, keep the default+-- setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that+-- output, the service will exclude the access unit delimiter and will+-- leave the SEI NAL units unencrypted.+dashIsoEncryptionSettings_playbackDeviceCompatibility :: Lens.Lens' DashIsoEncryptionSettings (Prelude.Maybe DashIsoPlaybackDeviceCompatibility)+dashIsoEncryptionSettings_playbackDeviceCompatibility = Lens.lens (\DashIsoEncryptionSettings' {playbackDeviceCompatibility} -> playbackDeviceCompatibility) (\s@DashIsoEncryptionSettings' {} a -> s {playbackDeviceCompatibility = a} :: DashIsoEncryptionSettings)++-- | If your output group type is HLS, DASH, or Microsoft Smooth, use these+-- settings when doing DRM encryption with a SPEKE-compliant key provider.+-- If your output group type is CMAF, use the SpekeKeyProviderCmaf settings+-- instead.+dashIsoEncryptionSettings_spekeKeyProvider :: Lens.Lens' DashIsoEncryptionSettings (Prelude.Maybe SpekeKeyProvider)+dashIsoEncryptionSettings_spekeKeyProvider = Lens.lens (\DashIsoEncryptionSettings' {spekeKeyProvider} -> spekeKeyProvider) (\s@DashIsoEncryptionSettings' {} a -> s {spekeKeyProvider = a} :: DashIsoEncryptionSettings)++instance Data.FromJSON DashIsoEncryptionSettings where+ parseJSON =+ Data.withObject+ "DashIsoEncryptionSettings"+ ( \x ->+ DashIsoEncryptionSettings'+ Prelude.<$> (x Data..:? "playbackDeviceCompatibility")+ Prelude.<*> (x Data..:? "spekeKeyProvider")+ )++instance Prelude.Hashable DashIsoEncryptionSettings where+ hashWithSalt _salt DashIsoEncryptionSettings' {..} =+ _salt+ `Prelude.hashWithSalt` playbackDeviceCompatibility+ `Prelude.hashWithSalt` spekeKeyProvider++instance Prelude.NFData DashIsoEncryptionSettings where+ rnf DashIsoEncryptionSettings' {..} =+ Prelude.rnf playbackDeviceCompatibility+ `Prelude.seq` Prelude.rnf spekeKeyProvider++instance Data.ToJSON DashIsoEncryptionSettings where+ toJSON DashIsoEncryptionSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("playbackDeviceCompatibility" Data..=)+ Prelude.<$> playbackDeviceCompatibility,+ ("spekeKeyProvider" Data..=)+ Prelude.<$> spekeKeyProvider+ ]+ )
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoGroupAudioChannelConfigSchemeIdUri+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoGroupAudioChannelConfigSchemeIdUri+ ( DashIsoGroupAudioChannelConfigSchemeIdUri+ ( ..,+ DashIsoGroupAudioChannelConfigSchemeIdUri_DOLBY_CHANNEL_CONFIGURATION,+ DashIsoGroupAudioChannelConfigSchemeIdUri_MPEG_CHANNEL_CONFIGURATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting only when your audio codec is a Dolby one (AC3, EAC3,+-- or Atmos) and your downstream workflow requires that your DASH manifest+-- use the Dolby channel configuration tag, rather than the MPEG one. For+-- example, you might need to use this to make dynamic ad insertion work.+-- Specify which audio channel configuration scheme ID URI MediaConvert+-- writes in your DASH manifest. Keep the default value, MPEG channel+-- configuration (MPEG_CHANNEL_CONFIGURATION), to have MediaConvert write+-- this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel+-- configuration (DOLBY_CHANNEL_CONFIGURATION) to have MediaConvert write+-- this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.+newtype DashIsoGroupAudioChannelConfigSchemeIdUri = DashIsoGroupAudioChannelConfigSchemeIdUri'+ { fromDashIsoGroupAudioChannelConfigSchemeIdUri ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoGroupAudioChannelConfigSchemeIdUri_DOLBY_CHANNEL_CONFIGURATION :: DashIsoGroupAudioChannelConfigSchemeIdUri+pattern DashIsoGroupAudioChannelConfigSchemeIdUri_DOLBY_CHANNEL_CONFIGURATION = DashIsoGroupAudioChannelConfigSchemeIdUri' "DOLBY_CHANNEL_CONFIGURATION"++pattern DashIsoGroupAudioChannelConfigSchemeIdUri_MPEG_CHANNEL_CONFIGURATION :: DashIsoGroupAudioChannelConfigSchemeIdUri+pattern DashIsoGroupAudioChannelConfigSchemeIdUri_MPEG_CHANNEL_CONFIGURATION = DashIsoGroupAudioChannelConfigSchemeIdUri' "MPEG_CHANNEL_CONFIGURATION"++{-# COMPLETE+ DashIsoGroupAudioChannelConfigSchemeIdUri_DOLBY_CHANNEL_CONFIGURATION,+ DashIsoGroupAudioChannelConfigSchemeIdUri_MPEG_CHANNEL_CONFIGURATION,+ DashIsoGroupAudioChannelConfigSchemeIdUri'+ #-}
@@ -0,0 +1,645 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoGroupSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoGroupSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DashAdditionalManifest+import Amazonka.MediaConvert.Types.DashIsoEncryptionSettings+import Amazonka.MediaConvert.Types.DashIsoGroupAudioChannelConfigSchemeIdUri+import Amazonka.MediaConvert.Types.DashIsoHbbtvCompliance+import Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlay+import Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.DashIsoMpdManifestBandwidthType+import Amazonka.MediaConvert.Types.DashIsoMpdProfile+import Amazonka.MediaConvert.Types.DashIsoPtsOffsetHandlingForBFrames+import Amazonka.MediaConvert.Types.DashIsoSegmentControl+import Amazonka.MediaConvert.Types.DashIsoSegmentLengthControl+import Amazonka.MediaConvert.Types.DashIsoVideoCompositionOffsets+import Amazonka.MediaConvert.Types.DashIsoWriteSegmentTimelineInRepresentation+import Amazonka.MediaConvert.Types.DestinationSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings related to your DASH output package. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/outputs-file-ABR.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set Type, under+-- OutputGroupSettings, to DASH_ISO_GROUP_SETTINGS.+--+-- /See:/ 'newDashIsoGroupSettings' smart constructor.+data DashIsoGroupSettings = DashIsoGroupSettings'+ { -- | By default, the service creates one .mpd DASH manifest for each DASH ISO+ -- output group in your job. This default manifest references every output+ -- in the output group. To create additional DASH manifests that reference+ -- a subset of the outputs in the output group, specify a list of them+ -- here.+ additionalManifests :: Prelude.Maybe [DashAdditionalManifest],+ -- | Use this setting only when your audio codec is a Dolby one (AC3, EAC3,+ -- or Atmos) and your downstream workflow requires that your DASH manifest+ -- use the Dolby channel configuration tag, rather than the MPEG one. For+ -- example, you might need to use this to make dynamic ad insertion work.+ -- Specify which audio channel configuration scheme ID URI MediaConvert+ -- writes in your DASH manifest. Keep the default value, MPEG channel+ -- configuration (MPEG_CHANNEL_CONFIGURATION), to have MediaConvert write+ -- this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel+ -- configuration (DOLBY_CHANNEL_CONFIGURATION) to have MediaConvert write+ -- this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.+ audioChannelConfigSchemeIdUri :: Prelude.Maybe DashIsoGroupAudioChannelConfigSchemeIdUri,+ -- | A partial URI prefix that will be put in the manifest (.mpd) file at the+ -- top level BaseURL element. Can be used if streams are delivered from a+ -- different URL than the manifest file.+ baseUrl :: Prelude.Maybe Prelude.Text,+ -- | Use Destination (Destination) to specify the S3 output location and the+ -- output filename base. Destination accepts format identifiers. If you do+ -- not specify the base filename in the URI, the service will use the+ -- filename of the input file. If your job has multiple inputs, the service+ -- uses the filename of the first input file.+ destination :: Prelude.Maybe Prelude.Text,+ -- | Settings associated with the destination. Will vary based on the type of+ -- destination+ destinationSettings :: Prelude.Maybe DestinationSettings,+ -- | DRM settings.+ encryption :: Prelude.Maybe DashIsoEncryptionSettings,+ -- | Length of fragments to generate (in seconds). Fragment length must be+ -- compatible with GOP size and Framerate. Note that fragments will end on+ -- the next keyframe after this number of seconds, so actual fragment+ -- length may be longer. When Emit Single File is checked, the+ -- fragmentation is internal to a single output file and it does not cause+ -- the creation of many output files as in other output types.+ fragmentLength :: Prelude.Maybe Prelude.Natural,+ -- | Supports HbbTV specification as indicated+ hbbtvCompliance :: Prelude.Maybe DashIsoHbbtvCompliance,+ -- | Specify whether MediaConvert generates images for trick play. Keep the+ -- default value, None (NONE), to not generate any images. Choose Thumbnail+ -- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+ -- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+ -- full-resolution images of single frames. MediaConvert adds an entry in+ -- the .mpd manifest for each set of images that you generate. A common+ -- application for these images is Roku trick mode. The thumbnails and+ -- full-frame images that MediaConvert creates with this feature are+ -- compatible with this Roku specification:+ -- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+ imageBasedTrickPlay :: Prelude.Maybe DashIsoImageBasedTrickPlay,+ -- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+ -- ADVANCED+ imageBasedTrickPlaySettings :: Prelude.Maybe DashIsoImageBasedTrickPlaySettings,+ -- | Minimum time of initially buffered media that is needed to ensure smooth+ -- playout.+ minBufferTime :: Prelude.Maybe Prelude.Natural,+ -- | Keep this setting at the default value of 0, unless you are+ -- troubleshooting a problem with how devices play back the end of your+ -- video asset. If you know that player devices are hanging on the final+ -- segment of your video because the length of your final segment is too+ -- short, use this setting to specify a minimum final segment length, in+ -- seconds. Choose a value that is greater than or equal to 1 and less than+ -- your segment length. When you specify a value for this setting, the+ -- encoder will combine any final segment that is shorter than the length+ -- that you specify with the previous segment. For example, your segment+ -- length is 3 seconds and your final segment is .5 seconds without a+ -- minimum final segment length; when you set the minimum final segment+ -- length to 1, your final segment is 3.5 seconds.+ minFinalSegmentLength :: Prelude.Maybe Prelude.Double,+ -- | Specify how the value for bandwidth is determined for each video+ -- Representation in your output MPD manifest. We recommend that you choose+ -- a MPD manifest bandwidth type that is compatible with your downstream+ -- player configuration. Max: Use the same value that you specify for Max+ -- bitrate in the video output, in bits per second. Average: Use the+ -- calculated average bitrate of the encoded video output, in bits per+ -- second.+ mpdManifestBandwidthType :: Prelude.Maybe DashIsoMpdManifestBandwidthType,+ -- | Specify whether your DASH profile is on-demand or main. When you choose+ -- Main profile (MAIN_PROFILE), the service signals+ -- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+ -- you choose On-demand (ON_DEMAND_PROFILE), the service signals+ -- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+ -- On-demand, you must also set the output group setting Segment control+ -- (SegmentControl) to Single file (SINGLE_FILE).+ mpdProfile :: Prelude.Maybe DashIsoMpdProfile,+ -- | Use this setting only when your output video stream has B-frames, which+ -- causes the initial presentation time stamp (PTS) to be offset from the+ -- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+ -- when writing time stamps in output DASH manifests. Choose Match initial+ -- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+ -- PTS as the first time stamp in the manifest. Choose Zero-based+ -- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+ -- stream and instead write the initial time stamp as zero in the manifest.+ -- For outputs that don\'t have B-frames, the time stamps in your DASH+ -- manifests start at zero regardless of your choice here.+ ptsOffsetHandlingForBFrames :: Prelude.Maybe DashIsoPtsOffsetHandlingForBFrames,+ -- | When set to SINGLE_FILE, a single output file is generated, which is+ -- internally segmented using the Fragment Length and Segment Length. When+ -- set to SEGMENTED_FILES, separate segment files will be created.+ segmentControl :: Prelude.Maybe DashIsoSegmentControl,+ -- | Specify the length, in whole seconds, of each segment. When you don\'t+ -- specify a value, MediaConvert defaults to 30. Related settings: Use+ -- Segment length control (SegmentLengthControl) to specify whether the+ -- encoder enforces this value strictly. Use Segment control+ -- (DashIsoSegmentControl) to specify whether MediaConvert creates separate+ -- segment files or one content file that has metadata to mark the segment+ -- boundaries.+ segmentLength :: Prelude.Maybe Prelude.Natural,+ -- | Specify how you want MediaConvert to determine the segment length.+ -- Choose Exact (EXACT) to have the encoder use the exact length that you+ -- specify with the setting Segment length (SegmentLength). This might+ -- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+ -- the encoder round up the segment lengths to match the next GOP boundary.+ segmentLengthControl :: Prelude.Maybe DashIsoSegmentLengthControl,+ -- | Specify the video sample composition time offset mode in the output fMP4+ -- TRUN box. For wider player compatibility, set Video composition offsets+ -- to Unsigned or leave blank. The earliest presentation time may be+ -- greater than zero, and sample composition time offsets will increment+ -- using unsigned integers. For strict fMP4 video and audio timing, set+ -- Video composition offsets to Signed. The earliest presentation time will+ -- be equal to zero, and sample composition time offsets will increment+ -- using signed integers.+ videoCompositionOffsets :: Prelude.Maybe DashIsoVideoCompositionOffsets,+ -- | If you get an HTTP error in the 400 range when you play back your DASH+ -- output, enable this setting and run your transcoding job again. When you+ -- enable this setting, the service writes precise segment durations in the+ -- DASH manifest. The segment duration information appears inside the+ -- SegmentTimeline element, inside SegmentTemplate at the Representation+ -- level. When you don\'t enable this setting, the service writes+ -- approximate segment durations in your DASH manifest.+ writeSegmentTimelineInRepresentation :: Prelude.Maybe DashIsoWriteSegmentTimelineInRepresentation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashIsoGroupSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalManifests', 'dashIsoGroupSettings_additionalManifests' - By default, the service creates one .mpd DASH manifest for each DASH ISO+-- output group in your job. This default manifest references every output+-- in the output group. To create additional DASH manifests that reference+-- a subset of the outputs in the output group, specify a list of them+-- here.+--+-- 'audioChannelConfigSchemeIdUri', 'dashIsoGroupSettings_audioChannelConfigSchemeIdUri' - Use this setting only when your audio codec is a Dolby one (AC3, EAC3,+-- or Atmos) and your downstream workflow requires that your DASH manifest+-- use the Dolby channel configuration tag, rather than the MPEG one. For+-- example, you might need to use this to make dynamic ad insertion work.+-- Specify which audio channel configuration scheme ID URI MediaConvert+-- writes in your DASH manifest. Keep the default value, MPEG channel+-- configuration (MPEG_CHANNEL_CONFIGURATION), to have MediaConvert write+-- this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel+-- configuration (DOLBY_CHANNEL_CONFIGURATION) to have MediaConvert write+-- this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.+--+-- 'baseUrl', 'dashIsoGroupSettings_baseUrl' - A partial URI prefix that will be put in the manifest (.mpd) file at the+-- top level BaseURL element. Can be used if streams are delivered from a+-- different URL than the manifest file.+--+-- 'destination', 'dashIsoGroupSettings_destination' - Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+--+-- 'destinationSettings', 'dashIsoGroupSettings_destinationSettings' - Settings associated with the destination. Will vary based on the type of+-- destination+--+-- 'encryption', 'dashIsoGroupSettings_encryption' - DRM settings.+--+-- 'fragmentLength', 'dashIsoGroupSettings_fragmentLength' - Length of fragments to generate (in seconds). Fragment length must be+-- compatible with GOP size and Framerate. Note that fragments will end on+-- the next keyframe after this number of seconds, so actual fragment+-- length may be longer. When Emit Single File is checked, the+-- fragmentation is internal to a single output file and it does not cause+-- the creation of many output files as in other output types.+--+-- 'hbbtvCompliance', 'dashIsoGroupSettings_hbbtvCompliance' - Supports HbbTV specification as indicated+--+-- 'imageBasedTrickPlay', 'dashIsoGroupSettings_imageBasedTrickPlay' - Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. MediaConvert adds an entry in+-- the .mpd manifest for each set of images that you generate. A common+-- application for these images is Roku trick mode. The thumbnails and+-- full-frame images that MediaConvert creates with this feature are+-- compatible with this Roku specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+--+-- 'imageBasedTrickPlaySettings', 'dashIsoGroupSettings_imageBasedTrickPlaySettings' - Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+--+-- 'minBufferTime', 'dashIsoGroupSettings_minBufferTime' - Minimum time of initially buffered media that is needed to ensure smooth+-- playout.+--+-- 'minFinalSegmentLength', 'dashIsoGroupSettings_minFinalSegmentLength' - Keep this setting at the default value of 0, unless you are+-- troubleshooting a problem with how devices play back the end of your+-- video asset. If you know that player devices are hanging on the final+-- segment of your video because the length of your final segment is too+-- short, use this setting to specify a minimum final segment length, in+-- seconds. Choose a value that is greater than or equal to 1 and less than+-- your segment length. When you specify a value for this setting, the+-- encoder will combine any final segment that is shorter than the length+-- that you specify with the previous segment. For example, your segment+-- length is 3 seconds and your final segment is .5 seconds without a+-- minimum final segment length; when you set the minimum final segment+-- length to 1, your final segment is 3.5 seconds.+--+-- 'mpdManifestBandwidthType', 'dashIsoGroupSettings_mpdManifestBandwidthType' - Specify how the value for bandwidth is determined for each video+-- Representation in your output MPD manifest. We recommend that you choose+-- a MPD manifest bandwidth type that is compatible with your downstream+-- player configuration. Max: Use the same value that you specify for Max+-- bitrate in the video output, in bits per second. Average: Use the+-- calculated average bitrate of the encoded video output, in bits per+-- second.+--+-- 'mpdProfile', 'dashIsoGroupSettings_mpdProfile' - Specify whether your DASH profile is on-demand or main. When you choose+-- Main profile (MAIN_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+-- you choose On-demand (ON_DEMAND_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+-- On-demand, you must also set the output group setting Segment control+-- (SegmentControl) to Single file (SINGLE_FILE).+--+-- 'ptsOffsetHandlingForBFrames', 'dashIsoGroupSettings_ptsOffsetHandlingForBFrames' - Use this setting only when your output video stream has B-frames, which+-- causes the initial presentation time stamp (PTS) to be offset from the+-- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+-- when writing time stamps in output DASH manifests. Choose Match initial+-- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+-- PTS as the first time stamp in the manifest. Choose Zero-based+-- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+-- stream and instead write the initial time stamp as zero in the manifest.+-- For outputs that don\'t have B-frames, the time stamps in your DASH+-- manifests start at zero regardless of your choice here.+--+-- 'segmentControl', 'dashIsoGroupSettings_segmentControl' - When set to SINGLE_FILE, a single output file is generated, which is+-- internally segmented using the Fragment Length and Segment Length. When+-- set to SEGMENTED_FILES, separate segment files will be created.+--+-- 'segmentLength', 'dashIsoGroupSettings_segmentLength' - Specify the length, in whole seconds, of each segment. When you don\'t+-- specify a value, MediaConvert defaults to 30. Related settings: Use+-- Segment length control (SegmentLengthControl) to specify whether the+-- encoder enforces this value strictly. Use Segment control+-- (DashIsoSegmentControl) to specify whether MediaConvert creates separate+-- segment files or one content file that has metadata to mark the segment+-- boundaries.+--+-- 'segmentLengthControl', 'dashIsoGroupSettings_segmentLengthControl' - Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+--+-- 'videoCompositionOffsets', 'dashIsoGroupSettings_videoCompositionOffsets' - Specify the video sample composition time offset mode in the output fMP4+-- TRUN box. For wider player compatibility, set Video composition offsets+-- to Unsigned or leave blank. The earliest presentation time may be+-- greater than zero, and sample composition time offsets will increment+-- using unsigned integers. For strict fMP4 video and audio timing, set+-- Video composition offsets to Signed. The earliest presentation time will+-- be equal to zero, and sample composition time offsets will increment+-- using signed integers.+--+-- 'writeSegmentTimelineInRepresentation', 'dashIsoGroupSettings_writeSegmentTimelineInRepresentation' - If you get an HTTP error in the 400 range when you play back your DASH+-- output, enable this setting and run your transcoding job again. When you+-- enable this setting, the service writes precise segment durations in the+-- DASH manifest. The segment duration information appears inside the+-- SegmentTimeline element, inside SegmentTemplate at the Representation+-- level. When you don\'t enable this setting, the service writes+-- approximate segment durations in your DASH manifest.+newDashIsoGroupSettings ::+ DashIsoGroupSettings+newDashIsoGroupSettings =+ DashIsoGroupSettings'+ { additionalManifests =+ Prelude.Nothing,+ audioChannelConfigSchemeIdUri = Prelude.Nothing,+ baseUrl = Prelude.Nothing,+ destination = Prelude.Nothing,+ destinationSettings = Prelude.Nothing,+ encryption = Prelude.Nothing,+ fragmentLength = Prelude.Nothing,+ hbbtvCompliance = Prelude.Nothing,+ imageBasedTrickPlay = Prelude.Nothing,+ imageBasedTrickPlaySettings = Prelude.Nothing,+ minBufferTime = Prelude.Nothing,+ minFinalSegmentLength = Prelude.Nothing,+ mpdManifestBandwidthType = Prelude.Nothing,+ mpdProfile = Prelude.Nothing,+ ptsOffsetHandlingForBFrames = Prelude.Nothing,+ segmentControl = Prelude.Nothing,+ segmentLength = Prelude.Nothing,+ segmentLengthControl = Prelude.Nothing,+ videoCompositionOffsets = Prelude.Nothing,+ writeSegmentTimelineInRepresentation =+ Prelude.Nothing+ }++-- | By default, the service creates one .mpd DASH manifest for each DASH ISO+-- output group in your job. This default manifest references every output+-- in the output group. To create additional DASH manifests that reference+-- a subset of the outputs in the output group, specify a list of them+-- here.+dashIsoGroupSettings_additionalManifests :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe [DashAdditionalManifest])+dashIsoGroupSettings_additionalManifests = Lens.lens (\DashIsoGroupSettings' {additionalManifests} -> additionalManifests) (\s@DashIsoGroupSettings' {} a -> s {additionalManifests = a} :: DashIsoGroupSettings) Prelude.. Lens.mapping Lens.coerced++-- | Use this setting only when your audio codec is a Dolby one (AC3, EAC3,+-- or Atmos) and your downstream workflow requires that your DASH manifest+-- use the Dolby channel configuration tag, rather than the MPEG one. For+-- example, you might need to use this to make dynamic ad insertion work.+-- Specify which audio channel configuration scheme ID URI MediaConvert+-- writes in your DASH manifest. Keep the default value, MPEG channel+-- configuration (MPEG_CHANNEL_CONFIGURATION), to have MediaConvert write+-- this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel+-- configuration (DOLBY_CHANNEL_CONFIGURATION) to have MediaConvert write+-- this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.+dashIsoGroupSettings_audioChannelConfigSchemeIdUri :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoGroupAudioChannelConfigSchemeIdUri)+dashIsoGroupSettings_audioChannelConfigSchemeIdUri = Lens.lens (\DashIsoGroupSettings' {audioChannelConfigSchemeIdUri} -> audioChannelConfigSchemeIdUri) (\s@DashIsoGroupSettings' {} a -> s {audioChannelConfigSchemeIdUri = a} :: DashIsoGroupSettings)++-- | A partial URI prefix that will be put in the manifest (.mpd) file at the+-- top level BaseURL element. Can be used if streams are delivered from a+-- different URL than the manifest file.+dashIsoGroupSettings_baseUrl :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe Prelude.Text)+dashIsoGroupSettings_baseUrl = Lens.lens (\DashIsoGroupSettings' {baseUrl} -> baseUrl) (\s@DashIsoGroupSettings' {} a -> s {baseUrl = a} :: DashIsoGroupSettings)++-- | Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+dashIsoGroupSettings_destination :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe Prelude.Text)+dashIsoGroupSettings_destination = Lens.lens (\DashIsoGroupSettings' {destination} -> destination) (\s@DashIsoGroupSettings' {} a -> s {destination = a} :: DashIsoGroupSettings)++-- | Settings associated with the destination. Will vary based on the type of+-- destination+dashIsoGroupSettings_destinationSettings :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DestinationSettings)+dashIsoGroupSettings_destinationSettings = Lens.lens (\DashIsoGroupSettings' {destinationSettings} -> destinationSettings) (\s@DashIsoGroupSettings' {} a -> s {destinationSettings = a} :: DashIsoGroupSettings)++-- | DRM settings.+dashIsoGroupSettings_encryption :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoEncryptionSettings)+dashIsoGroupSettings_encryption = Lens.lens (\DashIsoGroupSettings' {encryption} -> encryption) (\s@DashIsoGroupSettings' {} a -> s {encryption = a} :: DashIsoGroupSettings)++-- | Length of fragments to generate (in seconds). Fragment length must be+-- compatible with GOP size and Framerate. Note that fragments will end on+-- the next keyframe after this number of seconds, so actual fragment+-- length may be longer. When Emit Single File is checked, the+-- fragmentation is internal to a single output file and it does not cause+-- the creation of many output files as in other output types.+dashIsoGroupSettings_fragmentLength :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe Prelude.Natural)+dashIsoGroupSettings_fragmentLength = Lens.lens (\DashIsoGroupSettings' {fragmentLength} -> fragmentLength) (\s@DashIsoGroupSettings' {} a -> s {fragmentLength = a} :: DashIsoGroupSettings)++-- | Supports HbbTV specification as indicated+dashIsoGroupSettings_hbbtvCompliance :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoHbbtvCompliance)+dashIsoGroupSettings_hbbtvCompliance = Lens.lens (\DashIsoGroupSettings' {hbbtvCompliance} -> hbbtvCompliance) (\s@DashIsoGroupSettings' {} a -> s {hbbtvCompliance = a} :: DashIsoGroupSettings)++-- | Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. MediaConvert adds an entry in+-- the .mpd manifest for each set of images that you generate. A common+-- application for these images is Roku trick mode. The thumbnails and+-- full-frame images that MediaConvert creates with this feature are+-- compatible with this Roku specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+dashIsoGroupSettings_imageBasedTrickPlay :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoImageBasedTrickPlay)+dashIsoGroupSettings_imageBasedTrickPlay = Lens.lens (\DashIsoGroupSettings' {imageBasedTrickPlay} -> imageBasedTrickPlay) (\s@DashIsoGroupSettings' {} a -> s {imageBasedTrickPlay = a} :: DashIsoGroupSettings)++-- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+dashIsoGroupSettings_imageBasedTrickPlaySettings :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoImageBasedTrickPlaySettings)+dashIsoGroupSettings_imageBasedTrickPlaySettings = Lens.lens (\DashIsoGroupSettings' {imageBasedTrickPlaySettings} -> imageBasedTrickPlaySettings) (\s@DashIsoGroupSettings' {} a -> s {imageBasedTrickPlaySettings = a} :: DashIsoGroupSettings)++-- | Minimum time of initially buffered media that is needed to ensure smooth+-- playout.+dashIsoGroupSettings_minBufferTime :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe Prelude.Natural)+dashIsoGroupSettings_minBufferTime = Lens.lens (\DashIsoGroupSettings' {minBufferTime} -> minBufferTime) (\s@DashIsoGroupSettings' {} a -> s {minBufferTime = a} :: DashIsoGroupSettings)++-- | Keep this setting at the default value of 0, unless you are+-- troubleshooting a problem with how devices play back the end of your+-- video asset. If you know that player devices are hanging on the final+-- segment of your video because the length of your final segment is too+-- short, use this setting to specify a minimum final segment length, in+-- seconds. Choose a value that is greater than or equal to 1 and less than+-- your segment length. When you specify a value for this setting, the+-- encoder will combine any final segment that is shorter than the length+-- that you specify with the previous segment. For example, your segment+-- length is 3 seconds and your final segment is .5 seconds without a+-- minimum final segment length; when you set the minimum final segment+-- length to 1, your final segment is 3.5 seconds.+dashIsoGroupSettings_minFinalSegmentLength :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe Prelude.Double)+dashIsoGroupSettings_minFinalSegmentLength = Lens.lens (\DashIsoGroupSettings' {minFinalSegmentLength} -> minFinalSegmentLength) (\s@DashIsoGroupSettings' {} a -> s {minFinalSegmentLength = a} :: DashIsoGroupSettings)++-- | Specify how the value for bandwidth is determined for each video+-- Representation in your output MPD manifest. We recommend that you choose+-- a MPD manifest bandwidth type that is compatible with your downstream+-- player configuration. Max: Use the same value that you specify for Max+-- bitrate in the video output, in bits per second. Average: Use the+-- calculated average bitrate of the encoded video output, in bits per+-- second.+dashIsoGroupSettings_mpdManifestBandwidthType :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoMpdManifestBandwidthType)+dashIsoGroupSettings_mpdManifestBandwidthType = Lens.lens (\DashIsoGroupSettings' {mpdManifestBandwidthType} -> mpdManifestBandwidthType) (\s@DashIsoGroupSettings' {} a -> s {mpdManifestBandwidthType = a} :: DashIsoGroupSettings)++-- | Specify whether your DASH profile is on-demand or main. When you choose+-- Main profile (MAIN_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+-- you choose On-demand (ON_DEMAND_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+-- On-demand, you must also set the output group setting Segment control+-- (SegmentControl) to Single file (SINGLE_FILE).+dashIsoGroupSettings_mpdProfile :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoMpdProfile)+dashIsoGroupSettings_mpdProfile = Lens.lens (\DashIsoGroupSettings' {mpdProfile} -> mpdProfile) (\s@DashIsoGroupSettings' {} a -> s {mpdProfile = a} :: DashIsoGroupSettings)++-- | Use this setting only when your output video stream has B-frames, which+-- causes the initial presentation time stamp (PTS) to be offset from the+-- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+-- when writing time stamps in output DASH manifests. Choose Match initial+-- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+-- PTS as the first time stamp in the manifest. Choose Zero-based+-- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+-- stream and instead write the initial time stamp as zero in the manifest.+-- For outputs that don\'t have B-frames, the time stamps in your DASH+-- manifests start at zero regardless of your choice here.+dashIsoGroupSettings_ptsOffsetHandlingForBFrames :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoPtsOffsetHandlingForBFrames)+dashIsoGroupSettings_ptsOffsetHandlingForBFrames = Lens.lens (\DashIsoGroupSettings' {ptsOffsetHandlingForBFrames} -> ptsOffsetHandlingForBFrames) (\s@DashIsoGroupSettings' {} a -> s {ptsOffsetHandlingForBFrames = a} :: DashIsoGroupSettings)++-- | When set to SINGLE_FILE, a single output file is generated, which is+-- internally segmented using the Fragment Length and Segment Length. When+-- set to SEGMENTED_FILES, separate segment files will be created.+dashIsoGroupSettings_segmentControl :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoSegmentControl)+dashIsoGroupSettings_segmentControl = Lens.lens (\DashIsoGroupSettings' {segmentControl} -> segmentControl) (\s@DashIsoGroupSettings' {} a -> s {segmentControl = a} :: DashIsoGroupSettings)++-- | Specify the length, in whole seconds, of each segment. When you don\'t+-- specify a value, MediaConvert defaults to 30. Related settings: Use+-- Segment length control (SegmentLengthControl) to specify whether the+-- encoder enforces this value strictly. Use Segment control+-- (DashIsoSegmentControl) to specify whether MediaConvert creates separate+-- segment files or one content file that has metadata to mark the segment+-- boundaries.+dashIsoGroupSettings_segmentLength :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe Prelude.Natural)+dashIsoGroupSettings_segmentLength = Lens.lens (\DashIsoGroupSettings' {segmentLength} -> segmentLength) (\s@DashIsoGroupSettings' {} a -> s {segmentLength = a} :: DashIsoGroupSettings)++-- | Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+dashIsoGroupSettings_segmentLengthControl :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoSegmentLengthControl)+dashIsoGroupSettings_segmentLengthControl = Lens.lens (\DashIsoGroupSettings' {segmentLengthControl} -> segmentLengthControl) (\s@DashIsoGroupSettings' {} a -> s {segmentLengthControl = a} :: DashIsoGroupSettings)++-- | Specify the video sample composition time offset mode in the output fMP4+-- TRUN box. For wider player compatibility, set Video composition offsets+-- to Unsigned or leave blank. The earliest presentation time may be+-- greater than zero, and sample composition time offsets will increment+-- using unsigned integers. For strict fMP4 video and audio timing, set+-- Video composition offsets to Signed. The earliest presentation time will+-- be equal to zero, and sample composition time offsets will increment+-- using signed integers.+dashIsoGroupSettings_videoCompositionOffsets :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoVideoCompositionOffsets)+dashIsoGroupSettings_videoCompositionOffsets = Lens.lens (\DashIsoGroupSettings' {videoCompositionOffsets} -> videoCompositionOffsets) (\s@DashIsoGroupSettings' {} a -> s {videoCompositionOffsets = a} :: DashIsoGroupSettings)++-- | If you get an HTTP error in the 400 range when you play back your DASH+-- output, enable this setting and run your transcoding job again. When you+-- enable this setting, the service writes precise segment durations in the+-- DASH manifest. The segment duration information appears inside the+-- SegmentTimeline element, inside SegmentTemplate at the Representation+-- level. When you don\'t enable this setting, the service writes+-- approximate segment durations in your DASH manifest.+dashIsoGroupSettings_writeSegmentTimelineInRepresentation :: Lens.Lens' DashIsoGroupSettings (Prelude.Maybe DashIsoWriteSegmentTimelineInRepresentation)+dashIsoGroupSettings_writeSegmentTimelineInRepresentation = Lens.lens (\DashIsoGroupSettings' {writeSegmentTimelineInRepresentation} -> writeSegmentTimelineInRepresentation) (\s@DashIsoGroupSettings' {} a -> s {writeSegmentTimelineInRepresentation = a} :: DashIsoGroupSettings)++instance Data.FromJSON DashIsoGroupSettings where+ parseJSON =+ Data.withObject+ "DashIsoGroupSettings"+ ( \x ->+ DashIsoGroupSettings'+ Prelude.<$> ( x+ Data..:? "additionalManifests"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "audioChannelConfigSchemeIdUri")+ Prelude.<*> (x Data..:? "baseUrl")+ Prelude.<*> (x Data..:? "destination")+ Prelude.<*> (x Data..:? "destinationSettings")+ Prelude.<*> (x Data..:? "encryption")+ Prelude.<*> (x Data..:? "fragmentLength")+ Prelude.<*> (x Data..:? "hbbtvCompliance")+ Prelude.<*> (x Data..:? "imageBasedTrickPlay")+ Prelude.<*> (x Data..:? "imageBasedTrickPlaySettings")+ Prelude.<*> (x Data..:? "minBufferTime")+ Prelude.<*> (x Data..:? "minFinalSegmentLength")+ Prelude.<*> (x Data..:? "mpdManifestBandwidthType")+ Prelude.<*> (x Data..:? "mpdProfile")+ Prelude.<*> (x Data..:? "ptsOffsetHandlingForBFrames")+ Prelude.<*> (x Data..:? "segmentControl")+ Prelude.<*> (x Data..:? "segmentLength")+ Prelude.<*> (x Data..:? "segmentLengthControl")+ Prelude.<*> (x Data..:? "videoCompositionOffsets")+ Prelude.<*> (x Data..:? "writeSegmentTimelineInRepresentation")+ )++instance Prelude.Hashable DashIsoGroupSettings where+ hashWithSalt _salt DashIsoGroupSettings' {..} =+ _salt+ `Prelude.hashWithSalt` additionalManifests+ `Prelude.hashWithSalt` audioChannelConfigSchemeIdUri+ `Prelude.hashWithSalt` baseUrl+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` destinationSettings+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` fragmentLength+ `Prelude.hashWithSalt` hbbtvCompliance+ `Prelude.hashWithSalt` imageBasedTrickPlay+ `Prelude.hashWithSalt` imageBasedTrickPlaySettings+ `Prelude.hashWithSalt` minBufferTime+ `Prelude.hashWithSalt` minFinalSegmentLength+ `Prelude.hashWithSalt` mpdManifestBandwidthType+ `Prelude.hashWithSalt` mpdProfile+ `Prelude.hashWithSalt` ptsOffsetHandlingForBFrames+ `Prelude.hashWithSalt` segmentControl+ `Prelude.hashWithSalt` segmentLength+ `Prelude.hashWithSalt` segmentLengthControl+ `Prelude.hashWithSalt` videoCompositionOffsets+ `Prelude.hashWithSalt` writeSegmentTimelineInRepresentation++instance Prelude.NFData DashIsoGroupSettings where+ rnf DashIsoGroupSettings' {..} =+ Prelude.rnf additionalManifests+ `Prelude.seq` Prelude.rnf audioChannelConfigSchemeIdUri+ `Prelude.seq` Prelude.rnf baseUrl+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf destinationSettings+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf fragmentLength+ `Prelude.seq` Prelude.rnf hbbtvCompliance+ `Prelude.seq` Prelude.rnf imageBasedTrickPlay+ `Prelude.seq` Prelude.rnf imageBasedTrickPlaySettings+ `Prelude.seq` Prelude.rnf minBufferTime+ `Prelude.seq` Prelude.rnf minFinalSegmentLength+ `Prelude.seq` Prelude.rnf mpdManifestBandwidthType+ `Prelude.seq` Prelude.rnf mpdProfile+ `Prelude.seq` Prelude.rnf ptsOffsetHandlingForBFrames+ `Prelude.seq` Prelude.rnf segmentControl+ `Prelude.seq` Prelude.rnf segmentLength+ `Prelude.seq` Prelude.rnf segmentLengthControl+ `Prelude.seq` Prelude.rnf+ videoCompositionOffsets+ `Prelude.seq` Prelude.rnf+ writeSegmentTimelineInRepresentation++instance Data.ToJSON DashIsoGroupSettings where+ toJSON DashIsoGroupSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("additionalManifests" Data..=)+ Prelude.<$> additionalManifests,+ ("audioChannelConfigSchemeIdUri" Data..=)+ Prelude.<$> audioChannelConfigSchemeIdUri,+ ("baseUrl" Data..=) Prelude.<$> baseUrl,+ ("destination" Data..=) Prelude.<$> destination,+ ("destinationSettings" Data..=)+ Prelude.<$> destinationSettings,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("fragmentLength" Data..=)+ Prelude.<$> fragmentLength,+ ("hbbtvCompliance" Data..=)+ Prelude.<$> hbbtvCompliance,+ ("imageBasedTrickPlay" Data..=)+ Prelude.<$> imageBasedTrickPlay,+ ("imageBasedTrickPlaySettings" Data..=)+ Prelude.<$> imageBasedTrickPlaySettings,+ ("minBufferTime" Data..=) Prelude.<$> minBufferTime,+ ("minFinalSegmentLength" Data..=)+ Prelude.<$> minFinalSegmentLength,+ ("mpdManifestBandwidthType" Data..=)+ Prelude.<$> mpdManifestBandwidthType,+ ("mpdProfile" Data..=) Prelude.<$> mpdProfile,+ ("ptsOffsetHandlingForBFrames" Data..=)+ Prelude.<$> ptsOffsetHandlingForBFrames,+ ("segmentControl" Data..=)+ Prelude.<$> segmentControl,+ ("segmentLength" Data..=) Prelude.<$> segmentLength,+ ("segmentLengthControl" Data..=)+ Prelude.<$> segmentLengthControl,+ ("videoCompositionOffsets" Data..=)+ Prelude.<$> videoCompositionOffsets,+ ("writeSegmentTimelineInRepresentation" Data..=)+ Prelude.<$> writeSegmentTimelineInRepresentation+ ]+ )
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoHbbtvCompliance+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoHbbtvCompliance+ ( DashIsoHbbtvCompliance+ ( ..,+ DashIsoHbbtvCompliance_HBBTV_1_5,+ DashIsoHbbtvCompliance_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Supports HbbTV specification as indicated+newtype DashIsoHbbtvCompliance = DashIsoHbbtvCompliance'+ { fromDashIsoHbbtvCompliance ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoHbbtvCompliance_HBBTV_1_5 :: DashIsoHbbtvCompliance+pattern DashIsoHbbtvCompliance_HBBTV_1_5 = DashIsoHbbtvCompliance' "HBBTV_1_5"++pattern DashIsoHbbtvCompliance_NONE :: DashIsoHbbtvCompliance+pattern DashIsoHbbtvCompliance_NONE = DashIsoHbbtvCompliance' "NONE"++{-# COMPLETE+ DashIsoHbbtvCompliance_HBBTV_1_5,+ DashIsoHbbtvCompliance_NONE,+ DashIsoHbbtvCompliance'+ #-}
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlay+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlay+ ( DashIsoImageBasedTrickPlay+ ( ..,+ DashIsoImageBasedTrickPlay_ADVANCED,+ DashIsoImageBasedTrickPlay_NONE,+ DashIsoImageBasedTrickPlay_THUMBNAIL,+ DashIsoImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. MediaConvert adds an entry in+-- the .mpd manifest for each set of images that you generate. A common+-- application for these images is Roku trick mode. The thumbnails and+-- full-frame images that MediaConvert creates with this feature are+-- compatible with this Roku specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+newtype DashIsoImageBasedTrickPlay = DashIsoImageBasedTrickPlay'+ { fromDashIsoImageBasedTrickPlay ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoImageBasedTrickPlay_ADVANCED :: DashIsoImageBasedTrickPlay+pattern DashIsoImageBasedTrickPlay_ADVANCED = DashIsoImageBasedTrickPlay' "ADVANCED"++pattern DashIsoImageBasedTrickPlay_NONE :: DashIsoImageBasedTrickPlay+pattern DashIsoImageBasedTrickPlay_NONE = DashIsoImageBasedTrickPlay' "NONE"++pattern DashIsoImageBasedTrickPlay_THUMBNAIL :: DashIsoImageBasedTrickPlay+pattern DashIsoImageBasedTrickPlay_THUMBNAIL = DashIsoImageBasedTrickPlay' "THUMBNAIL"++pattern DashIsoImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME :: DashIsoImageBasedTrickPlay+pattern DashIsoImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME = DashIsoImageBasedTrickPlay' "THUMBNAIL_AND_FULLFRAME"++{-# COMPLETE+ DashIsoImageBasedTrickPlay_ADVANCED,+ DashIsoImageBasedTrickPlay_NONE,+ DashIsoImageBasedTrickPlay_THUMBNAIL,+ DashIsoImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME,+ DashIsoImageBasedTrickPlay'+ #-}
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlaySettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoImageBasedTrickPlaySettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DashIsoIntervalCadence+import qualified Amazonka.Prelude as Prelude++-- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+--+-- /See:/ 'newDashIsoImageBasedTrickPlaySettings' smart constructor.+data DashIsoImageBasedTrickPlaySettings = DashIsoImageBasedTrickPlaySettings'+ { -- | The cadence MediaConvert follows for generating thumbnails. If set to+ -- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+ -- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+ -- MediaConvert generates thumbnails according to the interval you specify+ -- in thumbnailInterval.+ intervalCadence :: Prelude.Maybe DashIsoIntervalCadence,+ -- | Height of each thumbnail within each tile image, in pixels. Leave blank+ -- to maintain aspect ratio with thumbnail width. If following the aspect+ -- ratio would lead to a total tile height greater than 4096, then the job+ -- will be rejected. Must be divisible by 2.+ thumbnailHeight :: Prelude.Maybe Prelude.Natural,+ -- | Enter the interval, in seconds, that MediaConvert uses to generate+ -- thumbnails. If the interval you enter doesn\'t align with the output+ -- frame rate, MediaConvert automatically rounds the interval to align with+ -- the output frame rate. For example, if the output frame rate is 29.97+ -- frames per second and you enter 5, MediaConvert uses a 150 frame+ -- interval to generate thumbnails.+ thumbnailInterval :: Prelude.Maybe Prelude.Double,+ -- | Width of each thumbnail within each tile image, in pixels. Default is+ -- 312. Must be divisible by 8.+ thumbnailWidth :: Prelude.Maybe Prelude.Natural,+ -- | Number of thumbnails in each column of a tile image. Set a value between+ -- 2 and 2048. Must be divisible by 2.+ tileHeight :: Prelude.Maybe Prelude.Natural,+ -- | Number of thumbnails in each row of a tile image. Set a value between 1+ -- and 512.+ tileWidth :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashIsoImageBasedTrickPlaySettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'intervalCadence', 'dashIsoImageBasedTrickPlaySettings_intervalCadence' - The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+--+-- 'thumbnailHeight', 'dashIsoImageBasedTrickPlaySettings_thumbnailHeight' - Height of each thumbnail within each tile image, in pixels. Leave blank+-- to maintain aspect ratio with thumbnail width. If following the aspect+-- ratio would lead to a total tile height greater than 4096, then the job+-- will be rejected. Must be divisible by 2.+--+-- 'thumbnailInterval', 'dashIsoImageBasedTrickPlaySettings_thumbnailInterval' - Enter the interval, in seconds, that MediaConvert uses to generate+-- thumbnails. If the interval you enter doesn\'t align with the output+-- frame rate, MediaConvert automatically rounds the interval to align with+-- the output frame rate. For example, if the output frame rate is 29.97+-- frames per second and you enter 5, MediaConvert uses a 150 frame+-- interval to generate thumbnails.+--+-- 'thumbnailWidth', 'dashIsoImageBasedTrickPlaySettings_thumbnailWidth' - Width of each thumbnail within each tile image, in pixels. Default is+-- 312. Must be divisible by 8.+--+-- 'tileHeight', 'dashIsoImageBasedTrickPlaySettings_tileHeight' - Number of thumbnails in each column of a tile image. Set a value between+-- 2 and 2048. Must be divisible by 2.+--+-- 'tileWidth', 'dashIsoImageBasedTrickPlaySettings_tileWidth' - Number of thumbnails in each row of a tile image. Set a value between 1+-- and 512.+newDashIsoImageBasedTrickPlaySettings ::+ DashIsoImageBasedTrickPlaySettings+newDashIsoImageBasedTrickPlaySettings =+ DashIsoImageBasedTrickPlaySettings'+ { intervalCadence =+ Prelude.Nothing,+ thumbnailHeight = Prelude.Nothing,+ thumbnailInterval = Prelude.Nothing,+ thumbnailWidth = Prelude.Nothing,+ tileHeight = Prelude.Nothing,+ tileWidth = Prelude.Nothing+ }++-- | The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+dashIsoImageBasedTrickPlaySettings_intervalCadence :: Lens.Lens' DashIsoImageBasedTrickPlaySettings (Prelude.Maybe DashIsoIntervalCadence)+dashIsoImageBasedTrickPlaySettings_intervalCadence = Lens.lens (\DashIsoImageBasedTrickPlaySettings' {intervalCadence} -> intervalCadence) (\s@DashIsoImageBasedTrickPlaySettings' {} a -> s {intervalCadence = a} :: DashIsoImageBasedTrickPlaySettings)++-- | Height of each thumbnail within each tile image, in pixels. Leave blank+-- to maintain aspect ratio with thumbnail width. If following the aspect+-- ratio would lead to a total tile height greater than 4096, then the job+-- will be rejected. Must be divisible by 2.+dashIsoImageBasedTrickPlaySettings_thumbnailHeight :: Lens.Lens' DashIsoImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+dashIsoImageBasedTrickPlaySettings_thumbnailHeight = Lens.lens (\DashIsoImageBasedTrickPlaySettings' {thumbnailHeight} -> thumbnailHeight) (\s@DashIsoImageBasedTrickPlaySettings' {} a -> s {thumbnailHeight = a} :: DashIsoImageBasedTrickPlaySettings)++-- | Enter the interval, in seconds, that MediaConvert uses to generate+-- thumbnails. If the interval you enter doesn\'t align with the output+-- frame rate, MediaConvert automatically rounds the interval to align with+-- the output frame rate. For example, if the output frame rate is 29.97+-- frames per second and you enter 5, MediaConvert uses a 150 frame+-- interval to generate thumbnails.+dashIsoImageBasedTrickPlaySettings_thumbnailInterval :: Lens.Lens' DashIsoImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Double)+dashIsoImageBasedTrickPlaySettings_thumbnailInterval = Lens.lens (\DashIsoImageBasedTrickPlaySettings' {thumbnailInterval} -> thumbnailInterval) (\s@DashIsoImageBasedTrickPlaySettings' {} a -> s {thumbnailInterval = a} :: DashIsoImageBasedTrickPlaySettings)++-- | Width of each thumbnail within each tile image, in pixels. Default is+-- 312. Must be divisible by 8.+dashIsoImageBasedTrickPlaySettings_thumbnailWidth :: Lens.Lens' DashIsoImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+dashIsoImageBasedTrickPlaySettings_thumbnailWidth = Lens.lens (\DashIsoImageBasedTrickPlaySettings' {thumbnailWidth} -> thumbnailWidth) (\s@DashIsoImageBasedTrickPlaySettings' {} a -> s {thumbnailWidth = a} :: DashIsoImageBasedTrickPlaySettings)++-- | Number of thumbnails in each column of a tile image. Set a value between+-- 2 and 2048. Must be divisible by 2.+dashIsoImageBasedTrickPlaySettings_tileHeight :: Lens.Lens' DashIsoImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+dashIsoImageBasedTrickPlaySettings_tileHeight = Lens.lens (\DashIsoImageBasedTrickPlaySettings' {tileHeight} -> tileHeight) (\s@DashIsoImageBasedTrickPlaySettings' {} a -> s {tileHeight = a} :: DashIsoImageBasedTrickPlaySettings)++-- | Number of thumbnails in each row of a tile image. Set a value between 1+-- and 512.+dashIsoImageBasedTrickPlaySettings_tileWidth :: Lens.Lens' DashIsoImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+dashIsoImageBasedTrickPlaySettings_tileWidth = Lens.lens (\DashIsoImageBasedTrickPlaySettings' {tileWidth} -> tileWidth) (\s@DashIsoImageBasedTrickPlaySettings' {} a -> s {tileWidth = a} :: DashIsoImageBasedTrickPlaySettings)++instance+ Data.FromJSON+ DashIsoImageBasedTrickPlaySettings+ where+ parseJSON =+ Data.withObject+ "DashIsoImageBasedTrickPlaySettings"+ ( \x ->+ DashIsoImageBasedTrickPlaySettings'+ Prelude.<$> (x Data..:? "intervalCadence")+ Prelude.<*> (x Data..:? "thumbnailHeight")+ Prelude.<*> (x Data..:? "thumbnailInterval")+ Prelude.<*> (x Data..:? "thumbnailWidth")+ Prelude.<*> (x Data..:? "tileHeight")+ Prelude.<*> (x Data..:? "tileWidth")+ )++instance+ Prelude.Hashable+ DashIsoImageBasedTrickPlaySettings+ where+ hashWithSalt+ _salt+ DashIsoImageBasedTrickPlaySettings' {..} =+ _salt+ `Prelude.hashWithSalt` intervalCadence+ `Prelude.hashWithSalt` thumbnailHeight+ `Prelude.hashWithSalt` thumbnailInterval+ `Prelude.hashWithSalt` thumbnailWidth+ `Prelude.hashWithSalt` tileHeight+ `Prelude.hashWithSalt` tileWidth++instance+ Prelude.NFData+ DashIsoImageBasedTrickPlaySettings+ where+ rnf DashIsoImageBasedTrickPlaySettings' {..} =+ Prelude.rnf intervalCadence+ `Prelude.seq` Prelude.rnf thumbnailHeight+ `Prelude.seq` Prelude.rnf thumbnailInterval+ `Prelude.seq` Prelude.rnf thumbnailWidth+ `Prelude.seq` Prelude.rnf tileHeight+ `Prelude.seq` Prelude.rnf tileWidth++instance+ Data.ToJSON+ DashIsoImageBasedTrickPlaySettings+ where+ toJSON DashIsoImageBasedTrickPlaySettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("intervalCadence" Data..=)+ Prelude.<$> intervalCadence,+ ("thumbnailHeight" Data..=)+ Prelude.<$> thumbnailHeight,+ ("thumbnailInterval" Data..=)+ Prelude.<$> thumbnailInterval,+ ("thumbnailWidth" Data..=)+ Prelude.<$> thumbnailWidth,+ ("tileHeight" Data..=) Prelude.<$> tileHeight,+ ("tileWidth" Data..=) Prelude.<$> tileWidth+ ]+ )
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoIntervalCadence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoIntervalCadence+ ( DashIsoIntervalCadence+ ( ..,+ DashIsoIntervalCadence_FOLLOW_CUSTOM,+ DashIsoIntervalCadence_FOLLOW_IFRAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+newtype DashIsoIntervalCadence = DashIsoIntervalCadence'+ { fromDashIsoIntervalCadence ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoIntervalCadence_FOLLOW_CUSTOM :: DashIsoIntervalCadence+pattern DashIsoIntervalCadence_FOLLOW_CUSTOM = DashIsoIntervalCadence' "FOLLOW_CUSTOM"++pattern DashIsoIntervalCadence_FOLLOW_IFRAME :: DashIsoIntervalCadence+pattern DashIsoIntervalCadence_FOLLOW_IFRAME = DashIsoIntervalCadence' "FOLLOW_IFRAME"++{-# COMPLETE+ DashIsoIntervalCadence_FOLLOW_CUSTOM,+ DashIsoIntervalCadence_FOLLOW_IFRAME,+ DashIsoIntervalCadence'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoMpdManifestBandwidthType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoMpdManifestBandwidthType+ ( DashIsoMpdManifestBandwidthType+ ( ..,+ DashIsoMpdManifestBandwidthType_AVERAGE,+ DashIsoMpdManifestBandwidthType_MAX+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how the value for bandwidth is determined for each video+-- Representation in your output MPD manifest. We recommend that you choose+-- a MPD manifest bandwidth type that is compatible with your downstream+-- player configuration. Max: Use the same value that you specify for Max+-- bitrate in the video output, in bits per second. Average: Use the+-- calculated average bitrate of the encoded video output, in bits per+-- second.+newtype DashIsoMpdManifestBandwidthType = DashIsoMpdManifestBandwidthType'+ { fromDashIsoMpdManifestBandwidthType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoMpdManifestBandwidthType_AVERAGE :: DashIsoMpdManifestBandwidthType+pattern DashIsoMpdManifestBandwidthType_AVERAGE = DashIsoMpdManifestBandwidthType' "AVERAGE"++pattern DashIsoMpdManifestBandwidthType_MAX :: DashIsoMpdManifestBandwidthType+pattern DashIsoMpdManifestBandwidthType_MAX = DashIsoMpdManifestBandwidthType' "MAX"++{-# COMPLETE+ DashIsoMpdManifestBandwidthType_AVERAGE,+ DashIsoMpdManifestBandwidthType_MAX,+ DashIsoMpdManifestBandwidthType'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoMpdProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoMpdProfile+ ( DashIsoMpdProfile+ ( ..,+ DashIsoMpdProfile_MAIN_PROFILE,+ DashIsoMpdProfile_ON_DEMAND_PROFILE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether your DASH profile is on-demand or main. When you choose+-- Main profile (MAIN_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When+-- you choose On-demand (ON_DEMAND_PROFILE), the service signals+-- urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose+-- On-demand, you must also set the output group setting Segment control+-- (SegmentControl) to Single file (SINGLE_FILE).+newtype DashIsoMpdProfile = DashIsoMpdProfile'+ { fromDashIsoMpdProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoMpdProfile_MAIN_PROFILE :: DashIsoMpdProfile+pattern DashIsoMpdProfile_MAIN_PROFILE = DashIsoMpdProfile' "MAIN_PROFILE"++pattern DashIsoMpdProfile_ON_DEMAND_PROFILE :: DashIsoMpdProfile+pattern DashIsoMpdProfile_ON_DEMAND_PROFILE = DashIsoMpdProfile' "ON_DEMAND_PROFILE"++{-# COMPLETE+ DashIsoMpdProfile_MAIN_PROFILE,+ DashIsoMpdProfile_ON_DEMAND_PROFILE,+ DashIsoMpdProfile'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoPlaybackDeviceCompatibility+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoPlaybackDeviceCompatibility+ ( DashIsoPlaybackDeviceCompatibility+ ( ..,+ DashIsoPlaybackDeviceCompatibility_CENC_V1,+ DashIsoPlaybackDeviceCompatibility_UNENCRYPTED_SEI+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This setting can improve the compatibility of your output with video+-- players on obsolete devices. It applies only to DASH H.264 outputs with+-- DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct+-- problems with playback on older devices. Otherwise, keep the default+-- setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that+-- output, the service will exclude the access unit delimiter and will+-- leave the SEI NAL units unencrypted.+newtype DashIsoPlaybackDeviceCompatibility = DashIsoPlaybackDeviceCompatibility'+ { fromDashIsoPlaybackDeviceCompatibility ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoPlaybackDeviceCompatibility_CENC_V1 :: DashIsoPlaybackDeviceCompatibility+pattern DashIsoPlaybackDeviceCompatibility_CENC_V1 = DashIsoPlaybackDeviceCompatibility' "CENC_V1"++pattern DashIsoPlaybackDeviceCompatibility_UNENCRYPTED_SEI :: DashIsoPlaybackDeviceCompatibility+pattern DashIsoPlaybackDeviceCompatibility_UNENCRYPTED_SEI = DashIsoPlaybackDeviceCompatibility' "UNENCRYPTED_SEI"++{-# COMPLETE+ DashIsoPlaybackDeviceCompatibility_CENC_V1,+ DashIsoPlaybackDeviceCompatibility_UNENCRYPTED_SEI,+ DashIsoPlaybackDeviceCompatibility'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoPtsOffsetHandlingForBFrames+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoPtsOffsetHandlingForBFrames+ ( DashIsoPtsOffsetHandlingForBFrames+ ( ..,+ DashIsoPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS,+ DashIsoPtsOffsetHandlingForBFrames_ZERO_BASED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting only when your output video stream has B-frames, which+-- causes the initial presentation time stamp (PTS) to be offset from the+-- initial decode time stamp (DTS). Specify how MediaConvert handles PTS+-- when writing time stamps in output DASH manifests. Choose Match initial+-- PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial+-- PTS as the first time stamp in the manifest. Choose Zero-based+-- (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video+-- stream and instead write the initial time stamp as zero in the manifest.+-- For outputs that don\'t have B-frames, the time stamps in your DASH+-- manifests start at zero regardless of your choice here.+newtype DashIsoPtsOffsetHandlingForBFrames = DashIsoPtsOffsetHandlingForBFrames'+ { fromDashIsoPtsOffsetHandlingForBFrames ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS :: DashIsoPtsOffsetHandlingForBFrames+pattern DashIsoPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS = DashIsoPtsOffsetHandlingForBFrames' "MATCH_INITIAL_PTS"++pattern DashIsoPtsOffsetHandlingForBFrames_ZERO_BASED :: DashIsoPtsOffsetHandlingForBFrames+pattern DashIsoPtsOffsetHandlingForBFrames_ZERO_BASED = DashIsoPtsOffsetHandlingForBFrames' "ZERO_BASED"++{-# COMPLETE+ DashIsoPtsOffsetHandlingForBFrames_MATCH_INITIAL_PTS,+ DashIsoPtsOffsetHandlingForBFrames_ZERO_BASED,+ DashIsoPtsOffsetHandlingForBFrames'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoSegmentControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoSegmentControl+ ( DashIsoSegmentControl+ ( ..,+ DashIsoSegmentControl_SEGMENTED_FILES,+ DashIsoSegmentControl_SINGLE_FILE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to SINGLE_FILE, a single output file is generated, which is+-- internally segmented using the Fragment Length and Segment Length. When+-- set to SEGMENTED_FILES, separate segment files will be created.+newtype DashIsoSegmentControl = DashIsoSegmentControl'+ { fromDashIsoSegmentControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoSegmentControl_SEGMENTED_FILES :: DashIsoSegmentControl+pattern DashIsoSegmentControl_SEGMENTED_FILES = DashIsoSegmentControl' "SEGMENTED_FILES"++pattern DashIsoSegmentControl_SINGLE_FILE :: DashIsoSegmentControl+pattern DashIsoSegmentControl_SINGLE_FILE = DashIsoSegmentControl' "SINGLE_FILE"++{-# COMPLETE+ DashIsoSegmentControl_SEGMENTED_FILES,+ DashIsoSegmentControl_SINGLE_FILE,+ DashIsoSegmentControl'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoSegmentLengthControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoSegmentLengthControl+ ( DashIsoSegmentLengthControl+ ( ..,+ DashIsoSegmentLengthControl_EXACT,+ DashIsoSegmentLengthControl_GOP_MULTIPLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+newtype DashIsoSegmentLengthControl = DashIsoSegmentLengthControl'+ { fromDashIsoSegmentLengthControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoSegmentLengthControl_EXACT :: DashIsoSegmentLengthControl+pattern DashIsoSegmentLengthControl_EXACT = DashIsoSegmentLengthControl' "EXACT"++pattern DashIsoSegmentLengthControl_GOP_MULTIPLE :: DashIsoSegmentLengthControl+pattern DashIsoSegmentLengthControl_GOP_MULTIPLE = DashIsoSegmentLengthControl' "GOP_MULTIPLE"++{-# COMPLETE+ DashIsoSegmentLengthControl_EXACT,+ DashIsoSegmentLengthControl_GOP_MULTIPLE,+ DashIsoSegmentLengthControl'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoVideoCompositionOffsets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoVideoCompositionOffsets+ ( DashIsoVideoCompositionOffsets+ ( ..,+ DashIsoVideoCompositionOffsets_SIGNED,+ DashIsoVideoCompositionOffsets_UNSIGNED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the video sample composition time offset mode in the output fMP4+-- TRUN box. For wider player compatibility, set Video composition offsets+-- to Unsigned or leave blank. The earliest presentation time may be+-- greater than zero, and sample composition time offsets will increment+-- using unsigned integers. For strict fMP4 video and audio timing, set+-- Video composition offsets to Signed. The earliest presentation time will+-- be equal to zero, and sample composition time offsets will increment+-- using signed integers.+newtype DashIsoVideoCompositionOffsets = DashIsoVideoCompositionOffsets'+ { fromDashIsoVideoCompositionOffsets ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoVideoCompositionOffsets_SIGNED :: DashIsoVideoCompositionOffsets+pattern DashIsoVideoCompositionOffsets_SIGNED = DashIsoVideoCompositionOffsets' "SIGNED"++pattern DashIsoVideoCompositionOffsets_UNSIGNED :: DashIsoVideoCompositionOffsets+pattern DashIsoVideoCompositionOffsets_UNSIGNED = DashIsoVideoCompositionOffsets' "UNSIGNED"++{-# COMPLETE+ DashIsoVideoCompositionOffsets_SIGNED,+ DashIsoVideoCompositionOffsets_UNSIGNED,+ DashIsoVideoCompositionOffsets'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DashIsoWriteSegmentTimelineInRepresentation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DashIsoWriteSegmentTimelineInRepresentation+ ( DashIsoWriteSegmentTimelineInRepresentation+ ( ..,+ DashIsoWriteSegmentTimelineInRepresentation_DISABLED,+ DashIsoWriteSegmentTimelineInRepresentation_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you enable Precise segment duration in manifests+-- (writeSegmentTimelineInRepresentation), your DASH manifest shows precise+-- segment durations. The segment duration information appears inside the+-- SegmentTimeline element, inside SegmentTemplate at the Representation+-- level. When this feature isn\'t enabled, the segment durations in your+-- DASH manifest are approximate. The segment duration information appears+-- in the duration attribute of the SegmentTemplate element.+newtype DashIsoWriteSegmentTimelineInRepresentation = DashIsoWriteSegmentTimelineInRepresentation'+ { fromDashIsoWriteSegmentTimelineInRepresentation ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DashIsoWriteSegmentTimelineInRepresentation_DISABLED :: DashIsoWriteSegmentTimelineInRepresentation+pattern DashIsoWriteSegmentTimelineInRepresentation_DISABLED = DashIsoWriteSegmentTimelineInRepresentation' "DISABLED"++pattern DashIsoWriteSegmentTimelineInRepresentation_ENABLED :: DashIsoWriteSegmentTimelineInRepresentation+pattern DashIsoWriteSegmentTimelineInRepresentation_ENABLED = DashIsoWriteSegmentTimelineInRepresentation' "ENABLED"++{-# COMPLETE+ DashIsoWriteSegmentTimelineInRepresentation_DISABLED,+ DashIsoWriteSegmentTimelineInRepresentation_ENABLED,+ DashIsoWriteSegmentTimelineInRepresentation'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DecryptionMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DecryptionMode+ ( DecryptionMode+ ( ..,+ DecryptionMode_AES_CBC,+ DecryptionMode_AES_CTR,+ DecryptionMode_AES_GCM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the encryption mode that you used to encrypt your input files.+newtype DecryptionMode = DecryptionMode'+ { fromDecryptionMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DecryptionMode_AES_CBC :: DecryptionMode+pattern DecryptionMode_AES_CBC = DecryptionMode' "AES_CBC"++pattern DecryptionMode_AES_CTR :: DecryptionMode+pattern DecryptionMode_AES_CTR = DecryptionMode' "AES_CTR"++pattern DecryptionMode_AES_GCM :: DecryptionMode+pattern DecryptionMode_AES_GCM = DecryptionMode' "AES_GCM"++{-# COMPLETE+ DecryptionMode_AES_CBC,+ DecryptionMode_AES_CTR,+ DecryptionMode_AES_GCM,+ DecryptionMode'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DeinterlaceAlgorithm+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DeinterlaceAlgorithm+ ( DeinterlaceAlgorithm+ ( ..,+ DeinterlaceAlgorithm_BLEND,+ DeinterlaceAlgorithm_BLEND_TICKER,+ DeinterlaceAlgorithm_INTERPOLATE,+ DeinterlaceAlgorithm_INTERPOLATE_TICKER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace+-- (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate+-- (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces+-- smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your+-- source file includes a ticker, such as a scrolling headline at the+-- bottom of the frame.+newtype DeinterlaceAlgorithm = DeinterlaceAlgorithm'+ { fromDeinterlaceAlgorithm ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DeinterlaceAlgorithm_BLEND :: DeinterlaceAlgorithm+pattern DeinterlaceAlgorithm_BLEND = DeinterlaceAlgorithm' "BLEND"++pattern DeinterlaceAlgorithm_BLEND_TICKER :: DeinterlaceAlgorithm+pattern DeinterlaceAlgorithm_BLEND_TICKER = DeinterlaceAlgorithm' "BLEND_TICKER"++pattern DeinterlaceAlgorithm_INTERPOLATE :: DeinterlaceAlgorithm+pattern DeinterlaceAlgorithm_INTERPOLATE = DeinterlaceAlgorithm' "INTERPOLATE"++pattern DeinterlaceAlgorithm_INTERPOLATE_TICKER :: DeinterlaceAlgorithm+pattern DeinterlaceAlgorithm_INTERPOLATE_TICKER = DeinterlaceAlgorithm' "INTERPOLATE_TICKER"++{-# COMPLETE+ DeinterlaceAlgorithm_BLEND,+ DeinterlaceAlgorithm_BLEND_TICKER,+ DeinterlaceAlgorithm_INTERPOLATE,+ DeinterlaceAlgorithm_INTERPOLATE_TICKER,+ DeinterlaceAlgorithm'+ #-}
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Deinterlacer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Deinterlacer where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DeinterlaceAlgorithm+import Amazonka.MediaConvert.Types.DeinterlacerControl+import Amazonka.MediaConvert.Types.DeinterlacerMode+import qualified Amazonka.Prelude as Prelude++-- | Settings for deinterlacer+--+-- /See:/ 'newDeinterlacer' smart constructor.+data Deinterlacer = Deinterlacer'+ { -- | Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace+ -- (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate+ -- (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces+ -- smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your+ -- source file includes a ticker, such as a scrolling headline at the+ -- bottom of the frame.+ algorithm :: Prelude.Maybe DeinterlaceAlgorithm,+ -- | - When set to NORMAL (default), the deinterlacer does not convert frames+ -- that are tagged in metadata as progressive. It will only convert those+ -- that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the+ -- deinterlacer converts every frame to progressive - even those that are+ -- already tagged as progressive. Turn Force mode on only if there is a+ -- good chance that the metadata has tagged frames as progressive when they+ -- are not progressive. Do not turn on otherwise; processing frames that+ -- are already progressive into progressive will probably result in lower+ -- quality video.+ control :: Prelude.Maybe DeinterlacerControl,+ -- | Use Deinterlacer (DeinterlaceMode) to choose how the service will do+ -- deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced+ -- to progressive. - Inverse telecine converts Hard Telecine 29.97i to+ -- progressive 23.976p. - Adaptive auto-detects and converts to+ -- progressive.+ mode :: Prelude.Maybe DeinterlacerMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Deinterlacer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithm', 'deinterlacer_algorithm' - Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace+-- (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate+-- (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces+-- smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your+-- source file includes a ticker, such as a scrolling headline at the+-- bottom of the frame.+--+-- 'control', 'deinterlacer_control' - - When set to NORMAL (default), the deinterlacer does not convert frames+-- that are tagged in metadata as progressive. It will only convert those+-- that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the+-- deinterlacer converts every frame to progressive - even those that are+-- already tagged as progressive. Turn Force mode on only if there is a+-- good chance that the metadata has tagged frames as progressive when they+-- are not progressive. Do not turn on otherwise; processing frames that+-- are already progressive into progressive will probably result in lower+-- quality video.+--+-- 'mode', 'deinterlacer_mode' - Use Deinterlacer (DeinterlaceMode) to choose how the service will do+-- deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced+-- to progressive. - Inverse telecine converts Hard Telecine 29.97i to+-- progressive 23.976p. - Adaptive auto-detects and converts to+-- progressive.+newDeinterlacer ::+ Deinterlacer+newDeinterlacer =+ Deinterlacer'+ { algorithm = Prelude.Nothing,+ control = Prelude.Nothing,+ mode = Prelude.Nothing+ }++-- | Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace+-- (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate+-- (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces+-- smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your+-- source file includes a ticker, such as a scrolling headline at the+-- bottom of the frame.+deinterlacer_algorithm :: Lens.Lens' Deinterlacer (Prelude.Maybe DeinterlaceAlgorithm)+deinterlacer_algorithm = Lens.lens (\Deinterlacer' {algorithm} -> algorithm) (\s@Deinterlacer' {} a -> s {algorithm = a} :: Deinterlacer)++-- | - When set to NORMAL (default), the deinterlacer does not convert frames+-- that are tagged in metadata as progressive. It will only convert those+-- that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the+-- deinterlacer converts every frame to progressive - even those that are+-- already tagged as progressive. Turn Force mode on only if there is a+-- good chance that the metadata has tagged frames as progressive when they+-- are not progressive. Do not turn on otherwise; processing frames that+-- are already progressive into progressive will probably result in lower+-- quality video.+deinterlacer_control :: Lens.Lens' Deinterlacer (Prelude.Maybe DeinterlacerControl)+deinterlacer_control = Lens.lens (\Deinterlacer' {control} -> control) (\s@Deinterlacer' {} a -> s {control = a} :: Deinterlacer)++-- | Use Deinterlacer (DeinterlaceMode) to choose how the service will do+-- deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced+-- to progressive. - Inverse telecine converts Hard Telecine 29.97i to+-- progressive 23.976p. - Adaptive auto-detects and converts to+-- progressive.+deinterlacer_mode :: Lens.Lens' Deinterlacer (Prelude.Maybe DeinterlacerMode)+deinterlacer_mode = Lens.lens (\Deinterlacer' {mode} -> mode) (\s@Deinterlacer' {} a -> s {mode = a} :: Deinterlacer)++instance Data.FromJSON Deinterlacer where+ parseJSON =+ Data.withObject+ "Deinterlacer"+ ( \x ->+ Deinterlacer'+ Prelude.<$> (x Data..:? "algorithm")+ Prelude.<*> (x Data..:? "control")+ Prelude.<*> (x Data..:? "mode")+ )++instance Prelude.Hashable Deinterlacer where+ hashWithSalt _salt Deinterlacer' {..} =+ _salt+ `Prelude.hashWithSalt` algorithm+ `Prelude.hashWithSalt` control+ `Prelude.hashWithSalt` mode++instance Prelude.NFData Deinterlacer where+ rnf Deinterlacer' {..} =+ Prelude.rnf algorithm+ `Prelude.seq` Prelude.rnf control+ `Prelude.seq` Prelude.rnf mode++instance Data.ToJSON Deinterlacer where+ toJSON Deinterlacer' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("algorithm" Data..=) Prelude.<$> algorithm,+ ("control" Data..=) Prelude.<$> control,+ ("mode" Data..=) Prelude.<$> mode+ ]+ )
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DeinterlacerControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DeinterlacerControl+ ( DeinterlacerControl+ ( ..,+ DeinterlacerControl_FORCE_ALL_FRAMES,+ DeinterlacerControl_NORMAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | - When set to NORMAL (default), the deinterlacer does not convert frames+-- that are tagged in metadata as progressive. It will only convert those+-- that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the+-- deinterlacer converts every frame to progressive - even those that are+-- already tagged as progressive. Turn Force mode on only if there is a+-- good chance that the metadata has tagged frames as progressive when they+-- are not progressive. Do not turn on otherwise; processing frames that+-- are already progressive into progressive will probably result in lower+-- quality video.+newtype DeinterlacerControl = DeinterlacerControl'+ { fromDeinterlacerControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DeinterlacerControl_FORCE_ALL_FRAMES :: DeinterlacerControl+pattern DeinterlacerControl_FORCE_ALL_FRAMES = DeinterlacerControl' "FORCE_ALL_FRAMES"++pattern DeinterlacerControl_NORMAL :: DeinterlacerControl+pattern DeinterlacerControl_NORMAL = DeinterlacerControl' "NORMAL"++{-# COMPLETE+ DeinterlacerControl_FORCE_ALL_FRAMES,+ DeinterlacerControl_NORMAL,+ DeinterlacerControl'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DeinterlacerMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DeinterlacerMode+ ( DeinterlacerMode+ ( ..,+ DeinterlacerMode_ADAPTIVE,+ DeinterlacerMode_DEINTERLACE,+ DeinterlacerMode_INVERSE_TELECINE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use Deinterlacer (DeinterlaceMode) to choose how the service will do+-- deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced+-- to progressive. - Inverse telecine converts Hard Telecine 29.97i to+-- progressive 23.976p. - Adaptive auto-detects and converts to+-- progressive.+newtype DeinterlacerMode = DeinterlacerMode'+ { fromDeinterlacerMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DeinterlacerMode_ADAPTIVE :: DeinterlacerMode+pattern DeinterlacerMode_ADAPTIVE = DeinterlacerMode' "ADAPTIVE"++pattern DeinterlacerMode_DEINTERLACE :: DeinterlacerMode+pattern DeinterlacerMode_DEINTERLACE = DeinterlacerMode' "DEINTERLACE"++pattern DeinterlacerMode_INVERSE_TELECINE :: DeinterlacerMode+pattern DeinterlacerMode_INVERSE_TELECINE = DeinterlacerMode' "INVERSE_TELECINE"++{-# COMPLETE+ DeinterlacerMode_ADAPTIVE,+ DeinterlacerMode_DEINTERLACE,+ DeinterlacerMode_INVERSE_TELECINE,+ DeinterlacerMode'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DescribeEndpointsMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DescribeEndpointsMode+ ( DescribeEndpointsMode+ ( ..,+ DescribeEndpointsMode_DEFAULT,+ DescribeEndpointsMode_GET_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional field, defaults to DEFAULT. Specify DEFAULT for this operation+-- to return your endpoints if any exist, or to create an endpoint for you+-- and return it if one doesn\'t already exist. Specify GET_ONLY to return+-- your endpoints if any exist, or an empty list if none exist.+newtype DescribeEndpointsMode = DescribeEndpointsMode'+ { fromDescribeEndpointsMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DescribeEndpointsMode_DEFAULT :: DescribeEndpointsMode+pattern DescribeEndpointsMode_DEFAULT = DescribeEndpointsMode' "DEFAULT"++pattern DescribeEndpointsMode_GET_ONLY :: DescribeEndpointsMode+pattern DescribeEndpointsMode_GET_ONLY = DescribeEndpointsMode' "GET_ONLY"++{-# COMPLETE+ DescribeEndpointsMode_DEFAULT,+ DescribeEndpointsMode_GET_ONLY,+ DescribeEndpointsMode'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DestinationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DestinationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.S3DestinationSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings associated with the destination. Will vary based on the type of+-- destination+--+-- /See:/ 'newDestinationSettings' smart constructor.+data DestinationSettings = DestinationSettings'+ { -- | Settings associated with S3 destination+ s3Settings :: Prelude.Maybe S3DestinationSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Settings', 'destinationSettings_s3Settings' - Settings associated with S3 destination+newDestinationSettings ::+ DestinationSettings+newDestinationSettings =+ DestinationSettings' {s3Settings = Prelude.Nothing}++-- | Settings associated with S3 destination+destinationSettings_s3Settings :: Lens.Lens' DestinationSettings (Prelude.Maybe S3DestinationSettings)+destinationSettings_s3Settings = Lens.lens (\DestinationSettings' {s3Settings} -> s3Settings) (\s@DestinationSettings' {} a -> s {s3Settings = a} :: DestinationSettings)++instance Data.FromJSON DestinationSettings where+ parseJSON =+ Data.withObject+ "DestinationSettings"+ ( \x ->+ DestinationSettings'+ Prelude.<$> (x Data..:? "s3Settings")+ )++instance Prelude.Hashable DestinationSettings where+ hashWithSalt _salt DestinationSettings' {..} =+ _salt `Prelude.hashWithSalt` s3Settings++instance Prelude.NFData DestinationSettings where+ rnf DestinationSettings' {..} = Prelude.rnf s3Settings++instance Data.ToJSON DestinationSettings where+ toJSON DestinationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [("s3Settings" Data..=) Prelude.<$> s3Settings]+ )
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DolbyVision+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DolbyVision where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DolbyVisionLevel6Metadata+import Amazonka.MediaConvert.Types.DolbyVisionLevel6Mode+import Amazonka.MediaConvert.Types.DolbyVisionMapping+import Amazonka.MediaConvert.Types.DolbyVisionProfile+import qualified Amazonka.Prelude as Prelude++-- | Create Dolby Vision Profile 5 or Profile 8.1 compatible video output.+--+-- /See:/ 'newDolbyVision' smart constructor.+data DolbyVision = DolbyVision'+ { -- | Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to+ -- override the MaxCLL and MaxFALL values in your input with new values.+ l6Metadata :: Prelude.Maybe DolbyVisionLevel6Metadata,+ -- | Use Dolby Vision Mode to choose how the service will handle Dolby Vision+ -- MaxCLL and MaxFALL properies.+ l6Mode :: Prelude.Maybe DolbyVisionLevel6Mode,+ -- | Required when you set Dolby Vision Profile to Profile 8.1. When you set+ -- Content mapping to None, content mapping is not applied to the+ -- HDR10-compatible signal. Depending on the source peak nit level,+ -- clipping might occur on HDR devices without Dolby Vision. When you set+ -- Content mapping to HDR10 1000, the transcoder creates a 1,000 nits peak+ -- HDR10-compatible signal by applying static content mapping to the+ -- source. This mode is speed-optimized for PQ10 sources with metadata that+ -- is created from analysis. For graded Dolby Vision content, be aware that+ -- creative intent might not be guaranteed with extreme 1,000 nits trims.+ mapping :: Prelude.Maybe DolbyVisionMapping,+ -- | Required when you enable Dolby Vision. Use Profile 5 to include+ -- frame-interleaved Dolby Vision metadata in your output. Your input must+ -- include Dolby Vision metadata or an HDR10 YUV color space. Use Profile+ -- 8.1 to include frame-interleaved Dolby Vision metadata and HDR10+ -- metadata in your output. Your input must include Dolby Vision metadata.+ profile :: Prelude.Maybe DolbyVisionProfile+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DolbyVision' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'l6Metadata', 'dolbyVision_l6Metadata' - Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to+-- override the MaxCLL and MaxFALL values in your input with new values.+--+-- 'l6Mode', 'dolbyVision_l6Mode' - Use Dolby Vision Mode to choose how the service will handle Dolby Vision+-- MaxCLL and MaxFALL properies.+--+-- 'mapping', 'dolbyVision_mapping' - Required when you set Dolby Vision Profile to Profile 8.1. When you set+-- Content mapping to None, content mapping is not applied to the+-- HDR10-compatible signal. Depending on the source peak nit level,+-- clipping might occur on HDR devices without Dolby Vision. When you set+-- Content mapping to HDR10 1000, the transcoder creates a 1,000 nits peak+-- HDR10-compatible signal by applying static content mapping to the+-- source. This mode is speed-optimized for PQ10 sources with metadata that+-- is created from analysis. For graded Dolby Vision content, be aware that+-- creative intent might not be guaranteed with extreme 1,000 nits trims.+--+-- 'profile', 'dolbyVision_profile' - Required when you enable Dolby Vision. Use Profile 5 to include+-- frame-interleaved Dolby Vision metadata in your output. Your input must+-- include Dolby Vision metadata or an HDR10 YUV color space. Use Profile+-- 8.1 to include frame-interleaved Dolby Vision metadata and HDR10+-- metadata in your output. Your input must include Dolby Vision metadata.+newDolbyVision ::+ DolbyVision+newDolbyVision =+ DolbyVision'+ { l6Metadata = Prelude.Nothing,+ l6Mode = Prelude.Nothing,+ mapping = Prelude.Nothing,+ profile = Prelude.Nothing+ }++-- | Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to+-- override the MaxCLL and MaxFALL values in your input with new values.+dolbyVision_l6Metadata :: Lens.Lens' DolbyVision (Prelude.Maybe DolbyVisionLevel6Metadata)+dolbyVision_l6Metadata = Lens.lens (\DolbyVision' {l6Metadata} -> l6Metadata) (\s@DolbyVision' {} a -> s {l6Metadata = a} :: DolbyVision)++-- | Use Dolby Vision Mode to choose how the service will handle Dolby Vision+-- MaxCLL and MaxFALL properies.+dolbyVision_l6Mode :: Lens.Lens' DolbyVision (Prelude.Maybe DolbyVisionLevel6Mode)+dolbyVision_l6Mode = Lens.lens (\DolbyVision' {l6Mode} -> l6Mode) (\s@DolbyVision' {} a -> s {l6Mode = a} :: DolbyVision)++-- | Required when you set Dolby Vision Profile to Profile 8.1. When you set+-- Content mapping to None, content mapping is not applied to the+-- HDR10-compatible signal. Depending on the source peak nit level,+-- clipping might occur on HDR devices without Dolby Vision. When you set+-- Content mapping to HDR10 1000, the transcoder creates a 1,000 nits peak+-- HDR10-compatible signal by applying static content mapping to the+-- source. This mode is speed-optimized for PQ10 sources with metadata that+-- is created from analysis. For graded Dolby Vision content, be aware that+-- creative intent might not be guaranteed with extreme 1,000 nits trims.+dolbyVision_mapping :: Lens.Lens' DolbyVision (Prelude.Maybe DolbyVisionMapping)+dolbyVision_mapping = Lens.lens (\DolbyVision' {mapping} -> mapping) (\s@DolbyVision' {} a -> s {mapping = a} :: DolbyVision)++-- | Required when you enable Dolby Vision. Use Profile 5 to include+-- frame-interleaved Dolby Vision metadata in your output. Your input must+-- include Dolby Vision metadata or an HDR10 YUV color space. Use Profile+-- 8.1 to include frame-interleaved Dolby Vision metadata and HDR10+-- metadata in your output. Your input must include Dolby Vision metadata.+dolbyVision_profile :: Lens.Lens' DolbyVision (Prelude.Maybe DolbyVisionProfile)+dolbyVision_profile = Lens.lens (\DolbyVision' {profile} -> profile) (\s@DolbyVision' {} a -> s {profile = a} :: DolbyVision)++instance Data.FromJSON DolbyVision where+ parseJSON =+ Data.withObject+ "DolbyVision"+ ( \x ->+ DolbyVision'+ Prelude.<$> (x Data..:? "l6Metadata")+ Prelude.<*> (x Data..:? "l6Mode")+ Prelude.<*> (x Data..:? "mapping")+ Prelude.<*> (x Data..:? "profile")+ )++instance Prelude.Hashable DolbyVision where+ hashWithSalt _salt DolbyVision' {..} =+ _salt+ `Prelude.hashWithSalt` l6Metadata+ `Prelude.hashWithSalt` l6Mode+ `Prelude.hashWithSalt` mapping+ `Prelude.hashWithSalt` profile++instance Prelude.NFData DolbyVision where+ rnf DolbyVision' {..} =+ Prelude.rnf l6Metadata+ `Prelude.seq` Prelude.rnf l6Mode+ `Prelude.seq` Prelude.rnf mapping+ `Prelude.seq` Prelude.rnf profile++instance Data.ToJSON DolbyVision where+ toJSON DolbyVision' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("l6Metadata" Data..=) Prelude.<$> l6Metadata,+ ("l6Mode" Data..=) Prelude.<$> l6Mode,+ ("mapping" Data..=) Prelude.<$> mapping,+ ("profile" Data..=) Prelude.<$> profile+ ]+ )
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DolbyVisionLevel6Metadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DolbyVisionLevel6Metadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to+-- override the MaxCLL and MaxFALL values in your input with new values.+--+-- /See:/ 'newDolbyVisionLevel6Metadata' smart constructor.+data DolbyVisionLevel6Metadata = DolbyVisionLevel6Metadata'+ { -- | Maximum Content Light Level. Static HDR metadata that corresponds to the+ -- brightest pixel in the entire stream. Measured in nits.+ maxCll :: Prelude.Maybe Prelude.Natural,+ -- | Maximum Frame-Average Light Level. Static HDR metadata that corresponds+ -- to the highest frame-average brightness in the entire stream. Measured+ -- in nits.+ maxFall :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DolbyVisionLevel6Metadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxCll', 'dolbyVisionLevel6Metadata_maxCll' - Maximum Content Light Level. Static HDR metadata that corresponds to the+-- brightest pixel in the entire stream. Measured in nits.+--+-- 'maxFall', 'dolbyVisionLevel6Metadata_maxFall' - Maximum Frame-Average Light Level. Static HDR metadata that corresponds+-- to the highest frame-average brightness in the entire stream. Measured+-- in nits.+newDolbyVisionLevel6Metadata ::+ DolbyVisionLevel6Metadata+newDolbyVisionLevel6Metadata =+ DolbyVisionLevel6Metadata'+ { maxCll =+ Prelude.Nothing,+ maxFall = Prelude.Nothing+ }++-- | Maximum Content Light Level. Static HDR metadata that corresponds to the+-- brightest pixel in the entire stream. Measured in nits.+dolbyVisionLevel6Metadata_maxCll :: Lens.Lens' DolbyVisionLevel6Metadata (Prelude.Maybe Prelude.Natural)+dolbyVisionLevel6Metadata_maxCll = Lens.lens (\DolbyVisionLevel6Metadata' {maxCll} -> maxCll) (\s@DolbyVisionLevel6Metadata' {} a -> s {maxCll = a} :: DolbyVisionLevel6Metadata)++-- | Maximum Frame-Average Light Level. Static HDR metadata that corresponds+-- to the highest frame-average brightness in the entire stream. Measured+-- in nits.+dolbyVisionLevel6Metadata_maxFall :: Lens.Lens' DolbyVisionLevel6Metadata (Prelude.Maybe Prelude.Natural)+dolbyVisionLevel6Metadata_maxFall = Lens.lens (\DolbyVisionLevel6Metadata' {maxFall} -> maxFall) (\s@DolbyVisionLevel6Metadata' {} a -> s {maxFall = a} :: DolbyVisionLevel6Metadata)++instance Data.FromJSON DolbyVisionLevel6Metadata where+ parseJSON =+ Data.withObject+ "DolbyVisionLevel6Metadata"+ ( \x ->+ DolbyVisionLevel6Metadata'+ Prelude.<$> (x Data..:? "maxCll")+ Prelude.<*> (x Data..:? "maxFall")+ )++instance Prelude.Hashable DolbyVisionLevel6Metadata where+ hashWithSalt _salt DolbyVisionLevel6Metadata' {..} =+ _salt+ `Prelude.hashWithSalt` maxCll+ `Prelude.hashWithSalt` maxFall++instance Prelude.NFData DolbyVisionLevel6Metadata where+ rnf DolbyVisionLevel6Metadata' {..} =+ Prelude.rnf maxCll+ `Prelude.seq` Prelude.rnf maxFall++instance Data.ToJSON DolbyVisionLevel6Metadata where+ toJSON DolbyVisionLevel6Metadata' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxCll" Data..=) Prelude.<$> maxCll,+ ("maxFall" Data..=) Prelude.<$> maxFall+ ]+ )
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DolbyVisionLevel6Mode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DolbyVisionLevel6Mode+ ( DolbyVisionLevel6Mode+ ( ..,+ DolbyVisionLevel6Mode_PASSTHROUGH,+ DolbyVisionLevel6Mode_RECALCULATE,+ DolbyVisionLevel6Mode_SPECIFY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use Dolby Vision Mode to choose how the service will handle Dolby Vision+-- MaxCLL and MaxFALL properies.+newtype DolbyVisionLevel6Mode = DolbyVisionLevel6Mode'+ { fromDolbyVisionLevel6Mode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DolbyVisionLevel6Mode_PASSTHROUGH :: DolbyVisionLevel6Mode+pattern DolbyVisionLevel6Mode_PASSTHROUGH = DolbyVisionLevel6Mode' "PASSTHROUGH"++pattern DolbyVisionLevel6Mode_RECALCULATE :: DolbyVisionLevel6Mode+pattern DolbyVisionLevel6Mode_RECALCULATE = DolbyVisionLevel6Mode' "RECALCULATE"++pattern DolbyVisionLevel6Mode_SPECIFY :: DolbyVisionLevel6Mode+pattern DolbyVisionLevel6Mode_SPECIFY = DolbyVisionLevel6Mode' "SPECIFY"++{-# COMPLETE+ DolbyVisionLevel6Mode_PASSTHROUGH,+ DolbyVisionLevel6Mode_RECALCULATE,+ DolbyVisionLevel6Mode_SPECIFY,+ DolbyVisionLevel6Mode'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DolbyVisionMapping+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DolbyVisionMapping+ ( DolbyVisionMapping+ ( ..,+ DolbyVisionMapping_HDR10_1000,+ DolbyVisionMapping_HDR10_NOMAP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Required when you set Dolby Vision Profile to Profile 8.1. When you set+-- Content mapping to None, content mapping is not applied to the+-- HDR10-compatible signal. Depending on the source peak nit level,+-- clipping might occur on HDR devices without Dolby Vision. When you set+-- Content mapping to HDR10 1000, the transcoder creates a 1,000 nits peak+-- HDR10-compatible signal by applying static content mapping to the+-- source. This mode is speed-optimized for PQ10 sources with metadata that+-- is created from analysis. For graded Dolby Vision content, be aware that+-- creative intent might not be guaranteed with extreme 1,000 nits trims.+newtype DolbyVisionMapping = DolbyVisionMapping'+ { fromDolbyVisionMapping ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DolbyVisionMapping_HDR10_1000 :: DolbyVisionMapping+pattern DolbyVisionMapping_HDR10_1000 = DolbyVisionMapping' "HDR10_1000"++pattern DolbyVisionMapping_HDR10_NOMAP :: DolbyVisionMapping+pattern DolbyVisionMapping_HDR10_NOMAP = DolbyVisionMapping' "HDR10_NOMAP"++{-# COMPLETE+ DolbyVisionMapping_HDR10_1000,+ DolbyVisionMapping_HDR10_NOMAP,+ DolbyVisionMapping'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DolbyVisionProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DolbyVisionProfile+ ( DolbyVisionProfile+ ( ..,+ DolbyVisionProfile_PROFILE_5,+ DolbyVisionProfile_PROFILE_8_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Required when you enable Dolby Vision. Use Profile 5 to include+-- frame-interleaved Dolby Vision metadata in your output. Your input must+-- include Dolby Vision metadata or an HDR10 YUV color space. Use Profile+-- 8.1 to include frame-interleaved Dolby Vision metadata and HDR10+-- metadata in your output. Your input must include Dolby Vision metadata.+newtype DolbyVisionProfile = DolbyVisionProfile'+ { fromDolbyVisionProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DolbyVisionProfile_PROFILE_5 :: DolbyVisionProfile+pattern DolbyVisionProfile_PROFILE_5 = DolbyVisionProfile' "PROFILE_5"++pattern DolbyVisionProfile_PROFILE_8_1 :: DolbyVisionProfile+pattern DolbyVisionProfile_PROFILE_8_1 = DolbyVisionProfile' "PROFILE_8_1"++{-# COMPLETE+ DolbyVisionProfile_PROFILE_5,+ DolbyVisionProfile_PROFILE_8_1,+ DolbyVisionProfile'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DropFrameTimecode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DropFrameTimecode+ ( DropFrameTimecode+ ( ..,+ DropFrameTimecode_DISABLED,+ DropFrameTimecode_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Applies only to 29.97 fps outputs. When this feature is enabled, the+-- service will use drop-frame timecode on outputs. If it is not possible+-- to use drop-frame timecode, the system will fall back to non-drop-frame.+-- This setting is enabled by default when Timecode insertion+-- (TimecodeInsertion) is enabled.+newtype DropFrameTimecode = DropFrameTimecode'+ { fromDropFrameTimecode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DropFrameTimecode_DISABLED :: DropFrameTimecode+pattern DropFrameTimecode_DISABLED = DropFrameTimecode' "DISABLED"++pattern DropFrameTimecode_ENABLED :: DropFrameTimecode+pattern DropFrameTimecode_ENABLED = DropFrameTimecode' "ENABLED"++{-# COMPLETE+ DropFrameTimecode_DISABLED,+ DropFrameTimecode_ENABLED,+ DropFrameTimecode'+ #-}
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbNitSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbNitSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use these settings to insert a DVB Network Information Table (NIT) in+-- the transport stream of this output. When you work directly in your JSON+-- job specification, include this object only when your job has a+-- transport stream output and the container settings contain the object+-- M2tsSettings.+--+-- /See:/ 'newDvbNitSettings' smart constructor.+data DvbNitSettings = DvbNitSettings'+ { -- | The numeric value placed in the Network Information Table (NIT).+ networkId :: Prelude.Maybe Prelude.Natural,+ -- | The network name text placed in the network_name_descriptor inside the+ -- Network Information Table. Maximum length is 256 characters.+ networkName :: Prelude.Maybe Prelude.Text,+ -- | The number of milliseconds between instances of this table in the output+ -- transport stream.+ nitInterval :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DvbNitSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkId', 'dvbNitSettings_networkId' - The numeric value placed in the Network Information Table (NIT).+--+-- 'networkName', 'dvbNitSettings_networkName' - The network name text placed in the network_name_descriptor inside the+-- Network Information Table. Maximum length is 256 characters.+--+-- 'nitInterval', 'dvbNitSettings_nitInterval' - The number of milliseconds between instances of this table in the output+-- transport stream.+newDvbNitSettings ::+ DvbNitSettings+newDvbNitSettings =+ DvbNitSettings'+ { networkId = Prelude.Nothing,+ networkName = Prelude.Nothing,+ nitInterval = Prelude.Nothing+ }++-- | The numeric value placed in the Network Information Table (NIT).+dvbNitSettings_networkId :: Lens.Lens' DvbNitSettings (Prelude.Maybe Prelude.Natural)+dvbNitSettings_networkId = Lens.lens (\DvbNitSettings' {networkId} -> networkId) (\s@DvbNitSettings' {} a -> s {networkId = a} :: DvbNitSettings)++-- | The network name text placed in the network_name_descriptor inside the+-- Network Information Table. Maximum length is 256 characters.+dvbNitSettings_networkName :: Lens.Lens' DvbNitSettings (Prelude.Maybe Prelude.Text)+dvbNitSettings_networkName = Lens.lens (\DvbNitSettings' {networkName} -> networkName) (\s@DvbNitSettings' {} a -> s {networkName = a} :: DvbNitSettings)++-- | The number of milliseconds between instances of this table in the output+-- transport stream.+dvbNitSettings_nitInterval :: Lens.Lens' DvbNitSettings (Prelude.Maybe Prelude.Natural)+dvbNitSettings_nitInterval = Lens.lens (\DvbNitSettings' {nitInterval} -> nitInterval) (\s@DvbNitSettings' {} a -> s {nitInterval = a} :: DvbNitSettings)++instance Data.FromJSON DvbNitSettings where+ parseJSON =+ Data.withObject+ "DvbNitSettings"+ ( \x ->+ DvbNitSettings'+ Prelude.<$> (x Data..:? "networkId")+ Prelude.<*> (x Data..:? "networkName")+ Prelude.<*> (x Data..:? "nitInterval")+ )++instance Prelude.Hashable DvbNitSettings where+ hashWithSalt _salt DvbNitSettings' {..} =+ _salt+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` networkName+ `Prelude.hashWithSalt` nitInterval++instance Prelude.NFData DvbNitSettings where+ rnf DvbNitSettings' {..} =+ Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf networkName+ `Prelude.seq` Prelude.rnf nitInterval++instance Data.ToJSON DvbNitSettings where+ toJSON DvbNitSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("networkId" Data..=) Prelude.<$> networkId,+ ("networkName" Data..=) Prelude.<$> networkName,+ ("nitInterval" Data..=) Prelude.<$> nitInterval+ ]+ )
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSdtSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSdtSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.OutputSdt+import qualified Amazonka.Prelude as Prelude++-- | Use these settings to insert a DVB Service Description Table (SDT) in+-- the transport stream of this output. When you work directly in your JSON+-- job specification, include this object only when your job has a+-- transport stream output and the container settings contain the object+-- M2tsSettings.+--+-- /See:/ 'newDvbSdtSettings' smart constructor.+data DvbSdtSettings = DvbSdtSettings'+ { -- | Selects method of inserting SDT information into output stream. \"Follow+ -- input SDT\" copies SDT information from input stream to output stream.+ -- \"Follow input SDT if present\" copies SDT information from input stream+ -- to output stream if SDT information is present in the input, otherwise+ -- it will fall back on the user-defined values. Enter \"SDT Manually\"+ -- means user will enter the SDT information. \"No SDT\" means output+ -- stream will not contain SDT information.+ outputSdt :: Prelude.Maybe OutputSdt,+ -- | The number of milliseconds between instances of this table in the output+ -- transport stream.+ sdtInterval :: Prelude.Maybe Prelude.Natural,+ -- | The service name placed in the service_descriptor in the Service+ -- Description Table. Maximum length is 256 characters.+ serviceName :: Prelude.Maybe Prelude.Text,+ -- | The service provider name placed in the service_descriptor in the+ -- Service Description Table. Maximum length is 256 characters.+ serviceProviderName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DvbSdtSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outputSdt', 'dvbSdtSettings_outputSdt' - Selects method of inserting SDT information into output stream. \"Follow+-- input SDT\" copies SDT information from input stream to output stream.+-- \"Follow input SDT if present\" copies SDT information from input stream+-- to output stream if SDT information is present in the input, otherwise+-- it will fall back on the user-defined values. Enter \"SDT Manually\"+-- means user will enter the SDT information. \"No SDT\" means output+-- stream will not contain SDT information.+--+-- 'sdtInterval', 'dvbSdtSettings_sdtInterval' - The number of milliseconds between instances of this table in the output+-- transport stream.+--+-- 'serviceName', 'dvbSdtSettings_serviceName' - The service name placed in the service_descriptor in the Service+-- Description Table. Maximum length is 256 characters.+--+-- 'serviceProviderName', 'dvbSdtSettings_serviceProviderName' - The service provider name placed in the service_descriptor in the+-- Service Description Table. Maximum length is 256 characters.+newDvbSdtSettings ::+ DvbSdtSettings+newDvbSdtSettings =+ DvbSdtSettings'+ { outputSdt = Prelude.Nothing,+ sdtInterval = Prelude.Nothing,+ serviceName = Prelude.Nothing,+ serviceProviderName = Prelude.Nothing+ }++-- | Selects method of inserting SDT information into output stream. \"Follow+-- input SDT\" copies SDT information from input stream to output stream.+-- \"Follow input SDT if present\" copies SDT information from input stream+-- to output stream if SDT information is present in the input, otherwise+-- it will fall back on the user-defined values. Enter \"SDT Manually\"+-- means user will enter the SDT information. \"No SDT\" means output+-- stream will not contain SDT information.+dvbSdtSettings_outputSdt :: Lens.Lens' DvbSdtSettings (Prelude.Maybe OutputSdt)+dvbSdtSettings_outputSdt = Lens.lens (\DvbSdtSettings' {outputSdt} -> outputSdt) (\s@DvbSdtSettings' {} a -> s {outputSdt = a} :: DvbSdtSettings)++-- | The number of milliseconds between instances of this table in the output+-- transport stream.+dvbSdtSettings_sdtInterval :: Lens.Lens' DvbSdtSettings (Prelude.Maybe Prelude.Natural)+dvbSdtSettings_sdtInterval = Lens.lens (\DvbSdtSettings' {sdtInterval} -> sdtInterval) (\s@DvbSdtSettings' {} a -> s {sdtInterval = a} :: DvbSdtSettings)++-- | The service name placed in the service_descriptor in the Service+-- Description Table. Maximum length is 256 characters.+dvbSdtSettings_serviceName :: Lens.Lens' DvbSdtSettings (Prelude.Maybe Prelude.Text)+dvbSdtSettings_serviceName = Lens.lens (\DvbSdtSettings' {serviceName} -> serviceName) (\s@DvbSdtSettings' {} a -> s {serviceName = a} :: DvbSdtSettings)++-- | The service provider name placed in the service_descriptor in the+-- Service Description Table. Maximum length is 256 characters.+dvbSdtSettings_serviceProviderName :: Lens.Lens' DvbSdtSettings (Prelude.Maybe Prelude.Text)+dvbSdtSettings_serviceProviderName = Lens.lens (\DvbSdtSettings' {serviceProviderName} -> serviceProviderName) (\s@DvbSdtSettings' {} a -> s {serviceProviderName = a} :: DvbSdtSettings)++instance Data.FromJSON DvbSdtSettings where+ parseJSON =+ Data.withObject+ "DvbSdtSettings"+ ( \x ->+ DvbSdtSettings'+ Prelude.<$> (x Data..:? "outputSdt")+ Prelude.<*> (x Data..:? "sdtInterval")+ Prelude.<*> (x Data..:? "serviceName")+ Prelude.<*> (x Data..:? "serviceProviderName")+ )++instance Prelude.Hashable DvbSdtSettings where+ hashWithSalt _salt DvbSdtSettings' {..} =+ _salt+ `Prelude.hashWithSalt` outputSdt+ `Prelude.hashWithSalt` sdtInterval+ `Prelude.hashWithSalt` serviceName+ `Prelude.hashWithSalt` serviceProviderName++instance Prelude.NFData DvbSdtSettings where+ rnf DvbSdtSettings' {..} =+ Prelude.rnf outputSdt+ `Prelude.seq` Prelude.rnf sdtInterval+ `Prelude.seq` Prelude.rnf serviceName+ `Prelude.seq` Prelude.rnf serviceProviderName++instance Data.ToJSON DvbSdtSettings where+ toJSON DvbSdtSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("outputSdt" Data..=) Prelude.<$> outputSdt,+ ("sdtInterval" Data..=) Prelude.<$> sdtInterval,+ ("serviceName" Data..=) Prelude.<$> serviceName,+ ("serviceProviderName" Data..=)+ Prelude.<$> serviceProviderName+ ]+ )
@@ -0,0 +1,867 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubDestinationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubDestinationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DvbSubSubtitleFallbackFont+import Amazonka.MediaConvert.Types.DvbSubtitleAlignment+import Amazonka.MediaConvert.Types.DvbSubtitleApplyFontColor+import Amazonka.MediaConvert.Types.DvbSubtitleBackgroundColor+import Amazonka.MediaConvert.Types.DvbSubtitleFontColor+import Amazonka.MediaConvert.Types.DvbSubtitleOutlineColor+import Amazonka.MediaConvert.Types.DvbSubtitleShadowColor+import Amazonka.MediaConvert.Types.DvbSubtitleStylePassthrough+import Amazonka.MediaConvert.Types.DvbSubtitleTeletextSpacing+import Amazonka.MediaConvert.Types.DvbSubtitlingType+import Amazonka.MediaConvert.Types.DvbddsHandling+import Amazonka.MediaConvert.Types.FontScript+import qualified Amazonka.Prelude as Prelude++-- | Settings related to DVB-Sub captions. Set up DVB-Sub captions in the+-- same output as your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/dvb-sub-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- DVB_SUB.+--+-- /See:/ 'newDvbSubDestinationSettings' smart constructor.+data DvbSubDestinationSettings = DvbSubDestinationSettings'+ { -- | Specify the alignment of your captions. If no explicit x_position is+ -- provided, setting alignment to centered will placethe captions at the+ -- bottom center of the output. Similarly, setting a left alignment+ -- willalign captions to the bottom left of the output. If x and y+ -- positions are given in conjunction with the alignment parameter, the+ -- font will be justified (either left or centered) relative to those+ -- coordinates. Within your job settings, all of your DVB-Sub settings must+ -- be identical.+ alignment :: Prelude.Maybe DvbSubtitleAlignment,+ -- | Ignore this setting unless Style Passthrough (StylePassthrough) is set+ -- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+ -- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+ -- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+ -- leave blank, your font color setting only applies to white text in your+ -- input captions. For example, if your font color setting is Yellow, and+ -- your input captions have red and white text, your output captions will+ -- have red and yellow text. When you choose ALL_TEXT, your font color+ -- setting applies to all of your output captions text.+ applyFontColor :: Prelude.Maybe DvbSubtitleApplyFontColor,+ -- | Specify the color of the rectangle behind the captions. Leave background+ -- color (BackgroundColor) blank and set Style passthrough+ -- (StylePassthrough) to enabled to use the background color data from your+ -- input captions, if present.+ backgroundColor :: Prelude.Maybe DvbSubtitleBackgroundColor,+ -- | Specify the opacity of the background rectangle. Enter a value from 0 to+ -- 255, where 0 is transparent and 255 is opaque. If Style passthrough+ -- (StylePassthrough) is set to enabled, leave blank to pass through the+ -- background style information in your input captions to your output+ -- captions. If Style passthrough is set to disabled, leave blank to use a+ -- value of 0 and remove all backgrounds from your output captions. Within+ -- your job settings, all of your DVB-Sub settings must be identical.+ backgroundOpacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify how MediaConvert handles the display definition segment (DDS).+ -- Keep the default, None (NONE), to exclude the DDS from this set of+ -- captions. Choose No display window (NO_DISPLAY_WINDOW) to have+ -- MediaConvert include the DDS but not include display window data. In+ -- this case, MediaConvert writes that information to the page composition+ -- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert+ -- set up the display window based on the values that you specify in+ -- related job settings. For video resolutions that are 576 pixels or+ -- smaller in height, MediaConvert doesn\'t include the DDS, regardless of+ -- the value you choose for DDS handling (ddsHandling). In this case, it+ -- doesn\'t write the display window data to the PCS either. Related+ -- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS+ -- y-coordinate (ddsYCoordinate) to specify the offset between the top left+ -- corner of the display window and the top left corner of the video frame.+ -- All burn-in and DVB-Sub font settings must match.+ ddsHandling :: Prelude.Maybe DvbddsHandling,+ -- | Use this setting, along with DDS y-coordinate (ddsYCoordinate), to+ -- specify the upper left corner of the display definition segment (DDS)+ -- display window. With this setting, specify the distance, in pixels,+ -- between the left side of the frame and the left side of the DDS display+ -- window. Keep the default value, 0, to have MediaConvert automatically+ -- choose this offset. Related setting: When you use this setting, you must+ -- set DDS handling (ddsHandling) to a value other than None (NONE).+ -- MediaConvert uses these values to determine whether to write page+ -- position data to the DDS or to the page composition segment (PCS). All+ -- burn-in and DVB-Sub font settings must match.+ ddsXCoordinate :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting, along with DDS x-coordinate (ddsXCoordinate), to+ -- specify the upper left corner of the display definition segment (DDS)+ -- display window. With this setting, specify the distance, in pixels,+ -- between the top of the frame and the top of the DDS display window. Keep+ -- the default value, 0, to have MediaConvert automatically choose this+ -- offset. Related setting: When you use this setting, you must set DDS+ -- handling (ddsHandling) to a value other than None (NONE). MediaConvert+ -- uses these values to determine whether to write page position data to+ -- the DDS or to the page composition segment (PCS). All burn-in and+ -- DVB-Sub font settings must match.+ ddsYCoordinate :: Prelude.Maybe Prelude.Natural,+ -- | Specify the font that you want the service to use for your burn in+ -- captions when your input captions specify a font that MediaConvert+ -- doesn\'t support. When you set Fallback font (FallbackFont) to best+ -- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+ -- that most closely matches the font that your input captions specify.+ -- When there are multiple unsupported fonts in your input captions,+ -- MediaConvert matches each font with the supported font that matches+ -- best. When you explicitly choose a replacement font, MediaConvert uses+ -- that font to replace all unsupported fonts from your input.+ fallbackFont :: Prelude.Maybe DvbSubSubtitleFallbackFont,+ -- | Specify the color of the captions text. Leave Font color (FontColor)+ -- blank and set Style passthrough (StylePassthrough) to enabled to use the+ -- font color data from your input captions, if present. Within your job+ -- settings, all of your DVB-Sub settings must be identical.+ fontColor :: Prelude.Maybe DvbSubtitleFontColor,+ -- | Specify the opacity of the burned-in captions. 255 is opaque; 0 is+ -- transparent. Within your job settings, all of your DVB-Sub settings must+ -- be identical.+ fontOpacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify the Font resolution (FontResolution) in DPI (dots per inch).+ -- Within your job settings, all of your DVB-Sub settings must be+ -- identical.+ fontResolution :: Prelude.Maybe Prelude.Natural,+ -- | Set Font script (FontScript) to Automatically determined (AUTOMATIC), or+ -- leave blank, to automatically determine the font script in your input+ -- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional+ -- Chinese (HANT) if your input font script uses Simplified or Traditional+ -- Chinese. Within your job settings, all of your DVB-Sub settings must be+ -- identical.+ fontScript :: Prelude.Maybe FontScript,+ -- | Specify the Font size (FontSize) in pixels. Must be a positive integer.+ -- Set to 0, or leave blank, for automatic font size. Within your job+ -- settings, all of your DVB-Sub settings must be identical.+ fontSize :: Prelude.Maybe Prelude.Natural,+ -- | Specify the height, in pixels, of this set of DVB-Sub captions. The+ -- default value is 576 pixels. Related setting: When you use this setting,+ -- you must set DDS handling (ddsHandling) to a value other than None+ -- (NONE). All burn-in and DVB-Sub font settings must match.+ height :: Prelude.Maybe Prelude.Natural,+ -- | Ignore this setting unless your Font color is set to Hex. Enter either+ -- six or eight hexidecimal digits, representing red, green, and blue, with+ -- two optional extra digits for alpha. For example a value of 1122AABB is+ -- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an+ -- alpha value of 0xBB.+ hexFontColor :: Prelude.Maybe Prelude.Text,+ -- | Specify font outline color. Leave Outline color (OutlineColor) blank and+ -- set Style passthrough (StylePassthrough) to enabled to use the font+ -- outline color data from your input captions, if present. Within your job+ -- settings, all of your DVB-Sub settings must be identical.+ outlineColor :: Prelude.Maybe DvbSubtitleOutlineColor,+ -- | Specify the Outline size (OutlineSize) of the caption text, in pixels.+ -- Leave Outline size blank and set Style passthrough (StylePassthrough) to+ -- enabled to use the outline size data from your input captions, if+ -- present. Within your job settings, all of your DVB-Sub settings must be+ -- identical.+ outlineSize :: Prelude.Maybe Prelude.Natural,+ -- | Specify the color of the shadow cast by the captions. Leave Shadow color+ -- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+ -- enabled to use the shadow color data from your input captions, if+ -- present. Within your job settings, all of your DVB-Sub settings must be+ -- identical.+ shadowColor :: Prelude.Maybe DvbSubtitleShadowColor,+ -- | Specify the opacity of the shadow. Enter a value from 0 to 255, where 0+ -- is transparent and 255 is opaque. If Style passthrough+ -- (StylePassthrough) is set to Enabled, leave Shadow opacity+ -- (ShadowOpacity) blank to pass through the shadow style information in+ -- your input captions to your output captions. If Style passthrough is set+ -- to disabled, leave blank to use a value of 0 and remove all shadows from+ -- your output captions. Within your job settings, all of your DVB-Sub+ -- settings must be identical.+ shadowOpacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify the horizontal offset of the shadow, relative to the captions in+ -- pixels. A value of -2 would result in a shadow offset 2 pixels to the+ -- left. Within your job settings, all of your DVB-Sub settings must be+ -- identical.+ shadowXOffset :: Prelude.Maybe Prelude.Int,+ -- | Specify the vertical offset of the shadow relative to the captions in+ -- pixels. A value of -2 would result in a shadow offset 2 pixels above the+ -- text. Leave Shadow y-offset (ShadowYOffset) blank and set Style+ -- passthrough (StylePassthrough) to enabled to use the shadow y-offset+ -- data from your input captions, if present. Within your job settings, all+ -- of your DVB-Sub settings must be identical.+ shadowYOffset :: Prelude.Maybe Prelude.Int,+ -- | Set Style passthrough (StylePassthrough) to ENABLED to use the available+ -- style, color, and position information from your input captions.+ -- MediaConvert uses default settings for any missing style and position+ -- information in your input captions. Set Style passthrough to DISABLED,+ -- or leave blank, to ignore the style and position information from your+ -- input captions and use default settings: white text with black+ -- outlining, bottom-center positioning, and automatic sizing. Whether you+ -- set Style passthrough to enabled or not, you can also choose to manually+ -- override any of the individual style and position settings.+ stylePassthrough :: Prelude.Maybe DvbSubtitleStylePassthrough,+ -- | Specify whether your DVB subtitles are standard or for hearing impaired.+ -- Choose hearing impaired if your subtitles include audio descriptions and+ -- dialogue. Choose standard if your subtitles include only dialogue.+ subtitlingType :: Prelude.Maybe DvbSubtitlingType,+ -- | Specify whether the Text spacing (TeletextSpacing) in your captions is+ -- set by the captions grid, or varies depending on letter width. Choose+ -- fixed grid (FIXED_GRID) to conform to the spacing specified in the+ -- captions file more accurately. Choose proportional (PROPORTIONAL) to+ -- make the text easier to read for closed captions. Within your job+ -- settings, all of your DVB-Sub settings must be identical.+ teletextSpacing :: Prelude.Maybe DvbSubtitleTeletextSpacing,+ -- | Specify the width, in pixels, of this set of DVB-Sub captions. The+ -- default value is 720 pixels. Related setting: When you use this setting,+ -- you must set DDS handling (ddsHandling) to a value other than None+ -- (NONE). All burn-in and DVB-Sub font settings must match.+ width :: Prelude.Maybe Prelude.Natural,+ -- | Specify the horizontal position (XPosition) of the captions, relative to+ -- the left side of the outputin pixels. A value of 10 would result in the+ -- captions starting 10 pixels from the left ofthe output. If no explicit+ -- x_position is provided, the horizontal caption position will+ -- bedetermined by the alignment parameter. Within your job settings, all+ -- of your DVB-Sub settings must be identical.+ xPosition :: Prelude.Maybe Prelude.Natural,+ -- | Specify the vertical position (YPosition) of the captions, relative to+ -- the top of the output in pixels. A value of 10 would result in the+ -- captions starting 10 pixels from the top of the output. If no explicit+ -- y_position is provided, the caption will be positioned towards the+ -- bottom of the output. Within your job settings, all of your DVB-Sub+ -- settings must be identical.+ yPosition :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DvbSubDestinationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alignment', 'dvbSubDestinationSettings_alignment' - Specify the alignment of your captions. If no explicit x_position is+-- provided, setting alignment to centered will placethe captions at the+-- bottom center of the output. Similarly, setting a left alignment+-- willalign captions to the bottom left of the output. If x and y+-- positions are given in conjunction with the alignment parameter, the+-- font will be justified (either left or centered) relative to those+-- coordinates. Within your job settings, all of your DVB-Sub settings must+-- be identical.+--+-- 'applyFontColor', 'dvbSubDestinationSettings_applyFontColor' - Ignore this setting unless Style Passthrough (StylePassthrough) is set+-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+-- leave blank, your font color setting only applies to white text in your+-- input captions. For example, if your font color setting is Yellow, and+-- your input captions have red and white text, your output captions will+-- have red and yellow text. When you choose ALL_TEXT, your font color+-- setting applies to all of your output captions text.+--+-- 'backgroundColor', 'dvbSubDestinationSettings_backgroundColor' - Specify the color of the rectangle behind the captions. Leave background+-- color (BackgroundColor) blank and set Style passthrough+-- (StylePassthrough) to enabled to use the background color data from your+-- input captions, if present.+--+-- 'backgroundOpacity', 'dvbSubDestinationSettings_backgroundOpacity' - Specify the opacity of the background rectangle. Enter a value from 0 to+-- 255, where 0 is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to enabled, leave blank to pass through the+-- background style information in your input captions to your output+-- captions. If Style passthrough is set to disabled, leave blank to use a+-- value of 0 and remove all backgrounds from your output captions. Within+-- your job settings, all of your DVB-Sub settings must be identical.+--+-- 'ddsHandling', 'dvbSubDestinationSettings_ddsHandling' - Specify how MediaConvert handles the display definition segment (DDS).+-- Keep the default, None (NONE), to exclude the DDS from this set of+-- captions. Choose No display window (NO_DISPLAY_WINDOW) to have+-- MediaConvert include the DDS but not include display window data. In+-- this case, MediaConvert writes that information to the page composition+-- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert+-- set up the display window based on the values that you specify in+-- related job settings. For video resolutions that are 576 pixels or+-- smaller in height, MediaConvert doesn\'t include the DDS, regardless of+-- the value you choose for DDS handling (ddsHandling). In this case, it+-- doesn\'t write the display window data to the PCS either. Related+-- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS+-- y-coordinate (ddsYCoordinate) to specify the offset between the top left+-- corner of the display window and the top left corner of the video frame.+-- All burn-in and DVB-Sub font settings must match.+--+-- 'ddsXCoordinate', 'dvbSubDestinationSettings_ddsXCoordinate' - Use this setting, along with DDS y-coordinate (ddsYCoordinate), to+-- specify the upper left corner of the display definition segment (DDS)+-- display window. With this setting, specify the distance, in pixels,+-- between the left side of the frame and the left side of the DDS display+-- window. Keep the default value, 0, to have MediaConvert automatically+-- choose this offset. Related setting: When you use this setting, you must+-- set DDS handling (ddsHandling) to a value other than None (NONE).+-- MediaConvert uses these values to determine whether to write page+-- position data to the DDS or to the page composition segment (PCS). All+-- burn-in and DVB-Sub font settings must match.+--+-- 'ddsYCoordinate', 'dvbSubDestinationSettings_ddsYCoordinate' - Use this setting, along with DDS x-coordinate (ddsXCoordinate), to+-- specify the upper left corner of the display definition segment (DDS)+-- display window. With this setting, specify the distance, in pixels,+-- between the top of the frame and the top of the DDS display window. Keep+-- the default value, 0, to have MediaConvert automatically choose this+-- offset. Related setting: When you use this setting, you must set DDS+-- handling (ddsHandling) to a value other than None (NONE). MediaConvert+-- uses these values to determine whether to write page position data to+-- the DDS or to the page composition segment (PCS). All burn-in and+-- DVB-Sub font settings must match.+--+-- 'fallbackFont', 'dvbSubDestinationSettings_fallbackFont' - Specify the font that you want the service to use for your burn in+-- captions when your input captions specify a font that MediaConvert+-- doesn\'t support. When you set Fallback font (FallbackFont) to best+-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+-- that most closely matches the font that your input captions specify.+-- When there are multiple unsupported fonts in your input captions,+-- MediaConvert matches each font with the supported font that matches+-- best. When you explicitly choose a replacement font, MediaConvert uses+-- that font to replace all unsupported fonts from your input.+--+-- 'fontColor', 'dvbSubDestinationSettings_fontColor' - Specify the color of the captions text. Leave Font color (FontColor)+-- blank and set Style passthrough (StylePassthrough) to enabled to use the+-- font color data from your input captions, if present. Within your job+-- settings, all of your DVB-Sub settings must be identical.+--+-- 'fontOpacity', 'dvbSubDestinationSettings_fontOpacity' - Specify the opacity of the burned-in captions. 255 is opaque; 0 is+-- transparent. Within your job settings, all of your DVB-Sub settings must+-- be identical.+--+-- 'fontResolution', 'dvbSubDestinationSettings_fontResolution' - Specify the Font resolution (FontResolution) in DPI (dots per inch).+-- Within your job settings, all of your DVB-Sub settings must be+-- identical.+--+-- 'fontScript', 'dvbSubDestinationSettings_fontScript' - Set Font script (FontScript) to Automatically determined (AUTOMATIC), or+-- leave blank, to automatically determine the font script in your input+-- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional+-- Chinese (HANT) if your input font script uses Simplified or Traditional+-- Chinese. Within your job settings, all of your DVB-Sub settings must be+-- identical.+--+-- 'fontSize', 'dvbSubDestinationSettings_fontSize' - Specify the Font size (FontSize) in pixels. Must be a positive integer.+-- Set to 0, or leave blank, for automatic font size. Within your job+-- settings, all of your DVB-Sub settings must be identical.+--+-- 'height', 'dvbSubDestinationSettings_height' - Specify the height, in pixels, of this set of DVB-Sub captions. The+-- default value is 576 pixels. Related setting: When you use this setting,+-- you must set DDS handling (ddsHandling) to a value other than None+-- (NONE). All burn-in and DVB-Sub font settings must match.+--+-- 'hexFontColor', 'dvbSubDestinationSettings_hexFontColor' - Ignore this setting unless your Font color is set to Hex. Enter either+-- six or eight hexidecimal digits, representing red, green, and blue, with+-- two optional extra digits for alpha. For example a value of 1122AABB is+-- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an+-- alpha value of 0xBB.+--+-- 'outlineColor', 'dvbSubDestinationSettings_outlineColor' - Specify font outline color. Leave Outline color (OutlineColor) blank and+-- set Style passthrough (StylePassthrough) to enabled to use the font+-- outline color data from your input captions, if present. Within your job+-- settings, all of your DVB-Sub settings must be identical.+--+-- 'outlineSize', 'dvbSubDestinationSettings_outlineSize' - Specify the Outline size (OutlineSize) of the caption text, in pixels.+-- Leave Outline size blank and set Style passthrough (StylePassthrough) to+-- enabled to use the outline size data from your input captions, if+-- present. Within your job settings, all of your DVB-Sub settings must be+-- identical.+--+-- 'shadowColor', 'dvbSubDestinationSettings_shadowColor' - Specify the color of the shadow cast by the captions. Leave Shadow color+-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the shadow color data from your input captions, if+-- present. Within your job settings, all of your DVB-Sub settings must be+-- identical.+--+-- 'shadowOpacity', 'dvbSubDestinationSettings_shadowOpacity' - Specify the opacity of the shadow. Enter a value from 0 to 255, where 0+-- is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to Enabled, leave Shadow opacity+-- (ShadowOpacity) blank to pass through the shadow style information in+-- your input captions to your output captions. If Style passthrough is set+-- to disabled, leave blank to use a value of 0 and remove all shadows from+-- your output captions. Within your job settings, all of your DVB-Sub+-- settings must be identical.+--+-- 'shadowXOffset', 'dvbSubDestinationSettings_shadowXOffset' - Specify the horizontal offset of the shadow, relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels to the+-- left. Within your job settings, all of your DVB-Sub settings must be+-- identical.+--+-- 'shadowYOffset', 'dvbSubDestinationSettings_shadowYOffset' - Specify the vertical offset of the shadow relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels above the+-- text. Leave Shadow y-offset (ShadowYOffset) blank and set Style+-- passthrough (StylePassthrough) to enabled to use the shadow y-offset+-- data from your input captions, if present. Within your job settings, all+-- of your DVB-Sub settings must be identical.+--+-- 'stylePassthrough', 'dvbSubDestinationSettings_stylePassthrough' - Set Style passthrough (StylePassthrough) to ENABLED to use the available+-- style, color, and position information from your input captions.+-- MediaConvert uses default settings for any missing style and position+-- information in your input captions. Set Style passthrough to DISABLED,+-- or leave blank, to ignore the style and position information from your+-- input captions and use default settings: white text with black+-- outlining, bottom-center positioning, and automatic sizing. Whether you+-- set Style passthrough to enabled or not, you can also choose to manually+-- override any of the individual style and position settings.+--+-- 'subtitlingType', 'dvbSubDestinationSettings_subtitlingType' - Specify whether your DVB subtitles are standard or for hearing impaired.+-- Choose hearing impaired if your subtitles include audio descriptions and+-- dialogue. Choose standard if your subtitles include only dialogue.+--+-- 'teletextSpacing', 'dvbSubDestinationSettings_teletextSpacing' - Specify whether the Text spacing (TeletextSpacing) in your captions is+-- set by the captions grid, or varies depending on letter width. Choose+-- fixed grid (FIXED_GRID) to conform to the spacing specified in the+-- captions file more accurately. Choose proportional (PROPORTIONAL) to+-- make the text easier to read for closed captions. Within your job+-- settings, all of your DVB-Sub settings must be identical.+--+-- 'width', 'dvbSubDestinationSettings_width' - Specify the width, in pixels, of this set of DVB-Sub captions. The+-- default value is 720 pixels. Related setting: When you use this setting,+-- you must set DDS handling (ddsHandling) to a value other than None+-- (NONE). All burn-in and DVB-Sub font settings must match.+--+-- 'xPosition', 'dvbSubDestinationSettings_xPosition' - Specify the horizontal position (XPosition) of the captions, relative to+-- the left side of the outputin pixels. A value of 10 would result in the+-- captions starting 10 pixels from the left ofthe output. If no explicit+-- x_position is provided, the horizontal caption position will+-- bedetermined by the alignment parameter. Within your job settings, all+-- of your DVB-Sub settings must be identical.+--+-- 'yPosition', 'dvbSubDestinationSettings_yPosition' - Specify the vertical position (YPosition) of the captions, relative to+-- the top of the output in pixels. A value of 10 would result in the+-- captions starting 10 pixels from the top of the output. If no explicit+-- y_position is provided, the caption will be positioned towards the+-- bottom of the output. Within your job settings, all of your DVB-Sub+-- settings must be identical.+newDvbSubDestinationSettings ::+ DvbSubDestinationSettings+newDvbSubDestinationSettings =+ DvbSubDestinationSettings'+ { alignment =+ Prelude.Nothing,+ applyFontColor = Prelude.Nothing,+ backgroundColor = Prelude.Nothing,+ backgroundOpacity = Prelude.Nothing,+ ddsHandling = Prelude.Nothing,+ ddsXCoordinate = Prelude.Nothing,+ ddsYCoordinate = Prelude.Nothing,+ fallbackFont = Prelude.Nothing,+ fontColor = Prelude.Nothing,+ fontOpacity = Prelude.Nothing,+ fontResolution = Prelude.Nothing,+ fontScript = Prelude.Nothing,+ fontSize = Prelude.Nothing,+ height = Prelude.Nothing,+ hexFontColor = Prelude.Nothing,+ outlineColor = Prelude.Nothing,+ outlineSize = Prelude.Nothing,+ shadowColor = Prelude.Nothing,+ shadowOpacity = Prelude.Nothing,+ shadowXOffset = Prelude.Nothing,+ shadowYOffset = Prelude.Nothing,+ stylePassthrough = Prelude.Nothing,+ subtitlingType = Prelude.Nothing,+ teletextSpacing = Prelude.Nothing,+ width = Prelude.Nothing,+ xPosition = Prelude.Nothing,+ yPosition = Prelude.Nothing+ }++-- | Specify the alignment of your captions. If no explicit x_position is+-- provided, setting alignment to centered will placethe captions at the+-- bottom center of the output. Similarly, setting a left alignment+-- willalign captions to the bottom left of the output. If x and y+-- positions are given in conjunction with the alignment parameter, the+-- font will be justified (either left or centered) relative to those+-- coordinates. Within your job settings, all of your DVB-Sub settings must+-- be identical.+dvbSubDestinationSettings_alignment :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleAlignment)+dvbSubDestinationSettings_alignment = Lens.lens (\DvbSubDestinationSettings' {alignment} -> alignment) (\s@DvbSubDestinationSettings' {} a -> s {alignment = a} :: DvbSubDestinationSettings)++-- | Ignore this setting unless Style Passthrough (StylePassthrough) is set+-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+-- leave blank, your font color setting only applies to white text in your+-- input captions. For example, if your font color setting is Yellow, and+-- your input captions have red and white text, your output captions will+-- have red and yellow text. When you choose ALL_TEXT, your font color+-- setting applies to all of your output captions text.+dvbSubDestinationSettings_applyFontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleApplyFontColor)+dvbSubDestinationSettings_applyFontColor = Lens.lens (\DvbSubDestinationSettings' {applyFontColor} -> applyFontColor) (\s@DvbSubDestinationSettings' {} a -> s {applyFontColor = a} :: DvbSubDestinationSettings)++-- | Specify the color of the rectangle behind the captions. Leave background+-- color (BackgroundColor) blank and set Style passthrough+-- (StylePassthrough) to enabled to use the background color data from your+-- input captions, if present.+dvbSubDestinationSettings_backgroundColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleBackgroundColor)+dvbSubDestinationSettings_backgroundColor = Lens.lens (\DvbSubDestinationSettings' {backgroundColor} -> backgroundColor) (\s@DvbSubDestinationSettings' {} a -> s {backgroundColor = a} :: DvbSubDestinationSettings)++-- | Specify the opacity of the background rectangle. Enter a value from 0 to+-- 255, where 0 is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to enabled, leave blank to pass through the+-- background style information in your input captions to your output+-- captions. If Style passthrough is set to disabled, leave blank to use a+-- value of 0 and remove all backgrounds from your output captions. Within+-- your job settings, all of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_backgroundOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_backgroundOpacity = Lens.lens (\DvbSubDestinationSettings' {backgroundOpacity} -> backgroundOpacity) (\s@DvbSubDestinationSettings' {} a -> s {backgroundOpacity = a} :: DvbSubDestinationSettings)++-- | Specify how MediaConvert handles the display definition segment (DDS).+-- Keep the default, None (NONE), to exclude the DDS from this set of+-- captions. Choose No display window (NO_DISPLAY_WINDOW) to have+-- MediaConvert include the DDS but not include display window data. In+-- this case, MediaConvert writes that information to the page composition+-- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert+-- set up the display window based on the values that you specify in+-- related job settings. For video resolutions that are 576 pixels or+-- smaller in height, MediaConvert doesn\'t include the DDS, regardless of+-- the value you choose for DDS handling (ddsHandling). In this case, it+-- doesn\'t write the display window data to the PCS either. Related+-- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS+-- y-coordinate (ddsYCoordinate) to specify the offset between the top left+-- corner of the display window and the top left corner of the video frame.+-- All burn-in and DVB-Sub font settings must match.+dvbSubDestinationSettings_ddsHandling :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbddsHandling)+dvbSubDestinationSettings_ddsHandling = Lens.lens (\DvbSubDestinationSettings' {ddsHandling} -> ddsHandling) (\s@DvbSubDestinationSettings' {} a -> s {ddsHandling = a} :: DvbSubDestinationSettings)++-- | Use this setting, along with DDS y-coordinate (ddsYCoordinate), to+-- specify the upper left corner of the display definition segment (DDS)+-- display window. With this setting, specify the distance, in pixels,+-- between the left side of the frame and the left side of the DDS display+-- window. Keep the default value, 0, to have MediaConvert automatically+-- choose this offset. Related setting: When you use this setting, you must+-- set DDS handling (ddsHandling) to a value other than None (NONE).+-- MediaConvert uses these values to determine whether to write page+-- position data to the DDS or to the page composition segment (PCS). All+-- burn-in and DVB-Sub font settings must match.+dvbSubDestinationSettings_ddsXCoordinate :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_ddsXCoordinate = Lens.lens (\DvbSubDestinationSettings' {ddsXCoordinate} -> ddsXCoordinate) (\s@DvbSubDestinationSettings' {} a -> s {ddsXCoordinate = a} :: DvbSubDestinationSettings)++-- | Use this setting, along with DDS x-coordinate (ddsXCoordinate), to+-- specify the upper left corner of the display definition segment (DDS)+-- display window. With this setting, specify the distance, in pixels,+-- between the top of the frame and the top of the DDS display window. Keep+-- the default value, 0, to have MediaConvert automatically choose this+-- offset. Related setting: When you use this setting, you must set DDS+-- handling (ddsHandling) to a value other than None (NONE). MediaConvert+-- uses these values to determine whether to write page position data to+-- the DDS or to the page composition segment (PCS). All burn-in and+-- DVB-Sub font settings must match.+dvbSubDestinationSettings_ddsYCoordinate :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_ddsYCoordinate = Lens.lens (\DvbSubDestinationSettings' {ddsYCoordinate} -> ddsYCoordinate) (\s@DvbSubDestinationSettings' {} a -> s {ddsYCoordinate = a} :: DvbSubDestinationSettings)++-- | Specify the font that you want the service to use for your burn in+-- captions when your input captions specify a font that MediaConvert+-- doesn\'t support. When you set Fallback font (FallbackFont) to best+-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+-- that most closely matches the font that your input captions specify.+-- When there are multiple unsupported fonts in your input captions,+-- MediaConvert matches each font with the supported font that matches+-- best. When you explicitly choose a replacement font, MediaConvert uses+-- that font to replace all unsupported fonts from your input.+dvbSubDestinationSettings_fallbackFont :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubSubtitleFallbackFont)+dvbSubDestinationSettings_fallbackFont = Lens.lens (\DvbSubDestinationSettings' {fallbackFont} -> fallbackFont) (\s@DvbSubDestinationSettings' {} a -> s {fallbackFont = a} :: DvbSubDestinationSettings)++-- | Specify the color of the captions text. Leave Font color (FontColor)+-- blank and set Style passthrough (StylePassthrough) to enabled to use the+-- font color data from your input captions, if present. Within your job+-- settings, all of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_fontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleFontColor)+dvbSubDestinationSettings_fontColor = Lens.lens (\DvbSubDestinationSettings' {fontColor} -> fontColor) (\s@DvbSubDestinationSettings' {} a -> s {fontColor = a} :: DvbSubDestinationSettings)++-- | Specify the opacity of the burned-in captions. 255 is opaque; 0 is+-- transparent. Within your job settings, all of your DVB-Sub settings must+-- be identical.+dvbSubDestinationSettings_fontOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_fontOpacity = Lens.lens (\DvbSubDestinationSettings' {fontOpacity} -> fontOpacity) (\s@DvbSubDestinationSettings' {} a -> s {fontOpacity = a} :: DvbSubDestinationSettings)++-- | Specify the Font resolution (FontResolution) in DPI (dots per inch).+-- Within your job settings, all of your DVB-Sub settings must be+-- identical.+dvbSubDestinationSettings_fontResolution :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_fontResolution = Lens.lens (\DvbSubDestinationSettings' {fontResolution} -> fontResolution) (\s@DvbSubDestinationSettings' {} a -> s {fontResolution = a} :: DvbSubDestinationSettings)++-- | Set Font script (FontScript) to Automatically determined (AUTOMATIC), or+-- leave blank, to automatically determine the font script in your input+-- captions. Otherwise, set to Simplified Chinese (HANS) or Traditional+-- Chinese (HANT) if your input font script uses Simplified or Traditional+-- Chinese. Within your job settings, all of your DVB-Sub settings must be+-- identical.+dvbSubDestinationSettings_fontScript :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe FontScript)+dvbSubDestinationSettings_fontScript = Lens.lens (\DvbSubDestinationSettings' {fontScript} -> fontScript) (\s@DvbSubDestinationSettings' {} a -> s {fontScript = a} :: DvbSubDestinationSettings)++-- | Specify the Font size (FontSize) in pixels. Must be a positive integer.+-- Set to 0, or leave blank, for automatic font size. Within your job+-- settings, all of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_fontSize :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_fontSize = Lens.lens (\DvbSubDestinationSettings' {fontSize} -> fontSize) (\s@DvbSubDestinationSettings' {} a -> s {fontSize = a} :: DvbSubDestinationSettings)++-- | Specify the height, in pixels, of this set of DVB-Sub captions. The+-- default value is 576 pixels. Related setting: When you use this setting,+-- you must set DDS handling (ddsHandling) to a value other than None+-- (NONE). All burn-in and DVB-Sub font settings must match.+dvbSubDestinationSettings_height :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_height = Lens.lens (\DvbSubDestinationSettings' {height} -> height) (\s@DvbSubDestinationSettings' {} a -> s {height = a} :: DvbSubDestinationSettings)++-- | Ignore this setting unless your Font color is set to Hex. Enter either+-- six or eight hexidecimal digits, representing red, green, and blue, with+-- two optional extra digits for alpha. For example a value of 1122AABB is+-- a red value of 0x11, a green value of 0x22, a blue value of 0xAA, and an+-- alpha value of 0xBB.+dvbSubDestinationSettings_hexFontColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Text)+dvbSubDestinationSettings_hexFontColor = Lens.lens (\DvbSubDestinationSettings' {hexFontColor} -> hexFontColor) (\s@DvbSubDestinationSettings' {} a -> s {hexFontColor = a} :: DvbSubDestinationSettings)++-- | Specify font outline color. Leave Outline color (OutlineColor) blank and+-- set Style passthrough (StylePassthrough) to enabled to use the font+-- outline color data from your input captions, if present. Within your job+-- settings, all of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_outlineColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleOutlineColor)+dvbSubDestinationSettings_outlineColor = Lens.lens (\DvbSubDestinationSettings' {outlineColor} -> outlineColor) (\s@DvbSubDestinationSettings' {} a -> s {outlineColor = a} :: DvbSubDestinationSettings)++-- | Specify the Outline size (OutlineSize) of the caption text, in pixels.+-- Leave Outline size blank and set Style passthrough (StylePassthrough) to+-- enabled to use the outline size data from your input captions, if+-- present. Within your job settings, all of your DVB-Sub settings must be+-- identical.+dvbSubDestinationSettings_outlineSize :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_outlineSize = Lens.lens (\DvbSubDestinationSettings' {outlineSize} -> outlineSize) (\s@DvbSubDestinationSettings' {} a -> s {outlineSize = a} :: DvbSubDestinationSettings)++-- | Specify the color of the shadow cast by the captions. Leave Shadow color+-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the shadow color data from your input captions, if+-- present. Within your job settings, all of your DVB-Sub settings must be+-- identical.+dvbSubDestinationSettings_shadowColor :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleShadowColor)+dvbSubDestinationSettings_shadowColor = Lens.lens (\DvbSubDestinationSettings' {shadowColor} -> shadowColor) (\s@DvbSubDestinationSettings' {} a -> s {shadowColor = a} :: DvbSubDestinationSettings)++-- | Specify the opacity of the shadow. Enter a value from 0 to 255, where 0+-- is transparent and 255 is opaque. If Style passthrough+-- (StylePassthrough) is set to Enabled, leave Shadow opacity+-- (ShadowOpacity) blank to pass through the shadow style information in+-- your input captions to your output captions. If Style passthrough is set+-- to disabled, leave blank to use a value of 0 and remove all shadows from+-- your output captions. Within your job settings, all of your DVB-Sub+-- settings must be identical.+dvbSubDestinationSettings_shadowOpacity :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_shadowOpacity = Lens.lens (\DvbSubDestinationSettings' {shadowOpacity} -> shadowOpacity) (\s@DvbSubDestinationSettings' {} a -> s {shadowOpacity = a} :: DvbSubDestinationSettings)++-- | Specify the horizontal offset of the shadow, relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels to the+-- left. Within your job settings, all of your DVB-Sub settings must be+-- identical.+dvbSubDestinationSettings_shadowXOffset :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Int)+dvbSubDestinationSettings_shadowXOffset = Lens.lens (\DvbSubDestinationSettings' {shadowXOffset} -> shadowXOffset) (\s@DvbSubDestinationSettings' {} a -> s {shadowXOffset = a} :: DvbSubDestinationSettings)++-- | Specify the vertical offset of the shadow relative to the captions in+-- pixels. A value of -2 would result in a shadow offset 2 pixels above the+-- text. Leave Shadow y-offset (ShadowYOffset) blank and set Style+-- passthrough (StylePassthrough) to enabled to use the shadow y-offset+-- data from your input captions, if present. Within your job settings, all+-- of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_shadowYOffset :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Int)+dvbSubDestinationSettings_shadowYOffset = Lens.lens (\DvbSubDestinationSettings' {shadowYOffset} -> shadowYOffset) (\s@DvbSubDestinationSettings' {} a -> s {shadowYOffset = a} :: DvbSubDestinationSettings)++-- | Set Style passthrough (StylePassthrough) to ENABLED to use the available+-- style, color, and position information from your input captions.+-- MediaConvert uses default settings for any missing style and position+-- information in your input captions. Set Style passthrough to DISABLED,+-- or leave blank, to ignore the style and position information from your+-- input captions and use default settings: white text with black+-- outlining, bottom-center positioning, and automatic sizing. Whether you+-- set Style passthrough to enabled or not, you can also choose to manually+-- override any of the individual style and position settings.+dvbSubDestinationSettings_stylePassthrough :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleStylePassthrough)+dvbSubDestinationSettings_stylePassthrough = Lens.lens (\DvbSubDestinationSettings' {stylePassthrough} -> stylePassthrough) (\s@DvbSubDestinationSettings' {} a -> s {stylePassthrough = a} :: DvbSubDestinationSettings)++-- | Specify whether your DVB subtitles are standard or for hearing impaired.+-- Choose hearing impaired if your subtitles include audio descriptions and+-- dialogue. Choose standard if your subtitles include only dialogue.+dvbSubDestinationSettings_subtitlingType :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitlingType)+dvbSubDestinationSettings_subtitlingType = Lens.lens (\DvbSubDestinationSettings' {subtitlingType} -> subtitlingType) (\s@DvbSubDestinationSettings' {} a -> s {subtitlingType = a} :: DvbSubDestinationSettings)++-- | Specify whether the Text spacing (TeletextSpacing) in your captions is+-- set by the captions grid, or varies depending on letter width. Choose+-- fixed grid (FIXED_GRID) to conform to the spacing specified in the+-- captions file more accurately. Choose proportional (PROPORTIONAL) to+-- make the text easier to read for closed captions. Within your job+-- settings, all of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_teletextSpacing :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe DvbSubtitleTeletextSpacing)+dvbSubDestinationSettings_teletextSpacing = Lens.lens (\DvbSubDestinationSettings' {teletextSpacing} -> teletextSpacing) (\s@DvbSubDestinationSettings' {} a -> s {teletextSpacing = a} :: DvbSubDestinationSettings)++-- | Specify the width, in pixels, of this set of DVB-Sub captions. The+-- default value is 720 pixels. Related setting: When you use this setting,+-- you must set DDS handling (ddsHandling) to a value other than None+-- (NONE). All burn-in and DVB-Sub font settings must match.+dvbSubDestinationSettings_width :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_width = Lens.lens (\DvbSubDestinationSettings' {width} -> width) (\s@DvbSubDestinationSettings' {} a -> s {width = a} :: DvbSubDestinationSettings)++-- | Specify the horizontal position (XPosition) of the captions, relative to+-- the left side of the outputin pixels. A value of 10 would result in the+-- captions starting 10 pixels from the left ofthe output. If no explicit+-- x_position is provided, the horizontal caption position will+-- bedetermined by the alignment parameter. Within your job settings, all+-- of your DVB-Sub settings must be identical.+dvbSubDestinationSettings_xPosition :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_xPosition = Lens.lens (\DvbSubDestinationSettings' {xPosition} -> xPosition) (\s@DvbSubDestinationSettings' {} a -> s {xPosition = a} :: DvbSubDestinationSettings)++-- | Specify the vertical position (YPosition) of the captions, relative to+-- the top of the output in pixels. A value of 10 would result in the+-- captions starting 10 pixels from the top of the output. If no explicit+-- y_position is provided, the caption will be positioned towards the+-- bottom of the output. Within your job settings, all of your DVB-Sub+-- settings must be identical.+dvbSubDestinationSettings_yPosition :: Lens.Lens' DvbSubDestinationSettings (Prelude.Maybe Prelude.Natural)+dvbSubDestinationSettings_yPosition = Lens.lens (\DvbSubDestinationSettings' {yPosition} -> yPosition) (\s@DvbSubDestinationSettings' {} a -> s {yPosition = a} :: DvbSubDestinationSettings)++instance Data.FromJSON DvbSubDestinationSettings where+ parseJSON =+ Data.withObject+ "DvbSubDestinationSettings"+ ( \x ->+ DvbSubDestinationSettings'+ Prelude.<$> (x Data..:? "alignment")+ Prelude.<*> (x Data..:? "applyFontColor")+ Prelude.<*> (x Data..:? "backgroundColor")+ Prelude.<*> (x Data..:? "backgroundOpacity")+ Prelude.<*> (x Data..:? "ddsHandling")+ Prelude.<*> (x Data..:? "ddsXCoordinate")+ Prelude.<*> (x Data..:? "ddsYCoordinate")+ Prelude.<*> (x Data..:? "fallbackFont")+ Prelude.<*> (x Data..:? "fontColor")+ Prelude.<*> (x Data..:? "fontOpacity")+ Prelude.<*> (x Data..:? "fontResolution")+ Prelude.<*> (x Data..:? "fontScript")+ Prelude.<*> (x Data..:? "fontSize")+ Prelude.<*> (x Data..:? "height")+ Prelude.<*> (x Data..:? "hexFontColor")+ Prelude.<*> (x Data..:? "outlineColor")+ Prelude.<*> (x Data..:? "outlineSize")+ Prelude.<*> (x Data..:? "shadowColor")+ Prelude.<*> (x Data..:? "shadowOpacity")+ Prelude.<*> (x Data..:? "shadowXOffset")+ Prelude.<*> (x Data..:? "shadowYOffset")+ Prelude.<*> (x Data..:? "stylePassthrough")+ Prelude.<*> (x Data..:? "subtitlingType")+ Prelude.<*> (x Data..:? "teletextSpacing")+ Prelude.<*> (x Data..:? "width")+ Prelude.<*> (x Data..:? "xPosition")+ Prelude.<*> (x Data..:? "yPosition")+ )++instance Prelude.Hashable DvbSubDestinationSettings where+ hashWithSalt _salt DvbSubDestinationSettings' {..} =+ _salt+ `Prelude.hashWithSalt` alignment+ `Prelude.hashWithSalt` applyFontColor+ `Prelude.hashWithSalt` backgroundColor+ `Prelude.hashWithSalt` backgroundOpacity+ `Prelude.hashWithSalt` ddsHandling+ `Prelude.hashWithSalt` ddsXCoordinate+ `Prelude.hashWithSalt` ddsYCoordinate+ `Prelude.hashWithSalt` fallbackFont+ `Prelude.hashWithSalt` fontColor+ `Prelude.hashWithSalt` fontOpacity+ `Prelude.hashWithSalt` fontResolution+ `Prelude.hashWithSalt` fontScript+ `Prelude.hashWithSalt` fontSize+ `Prelude.hashWithSalt` height+ `Prelude.hashWithSalt` hexFontColor+ `Prelude.hashWithSalt` outlineColor+ `Prelude.hashWithSalt` outlineSize+ `Prelude.hashWithSalt` shadowColor+ `Prelude.hashWithSalt` shadowOpacity+ `Prelude.hashWithSalt` shadowXOffset+ `Prelude.hashWithSalt` shadowYOffset+ `Prelude.hashWithSalt` stylePassthrough+ `Prelude.hashWithSalt` subtitlingType+ `Prelude.hashWithSalt` teletextSpacing+ `Prelude.hashWithSalt` width+ `Prelude.hashWithSalt` xPosition+ `Prelude.hashWithSalt` yPosition++instance Prelude.NFData DvbSubDestinationSettings where+ rnf DvbSubDestinationSettings' {..} =+ Prelude.rnf alignment+ `Prelude.seq` Prelude.rnf applyFontColor+ `Prelude.seq` Prelude.rnf backgroundColor+ `Prelude.seq` Prelude.rnf backgroundOpacity+ `Prelude.seq` Prelude.rnf ddsHandling+ `Prelude.seq` Prelude.rnf ddsXCoordinate+ `Prelude.seq` Prelude.rnf ddsYCoordinate+ `Prelude.seq` Prelude.rnf fallbackFont+ `Prelude.seq` Prelude.rnf fontColor+ `Prelude.seq` Prelude.rnf fontOpacity+ `Prelude.seq` Prelude.rnf fontResolution+ `Prelude.seq` Prelude.rnf fontScript+ `Prelude.seq` Prelude.rnf fontSize+ `Prelude.seq` Prelude.rnf height+ `Prelude.seq` Prelude.rnf hexFontColor+ `Prelude.seq` Prelude.rnf outlineColor+ `Prelude.seq` Prelude.rnf outlineSize+ `Prelude.seq` Prelude.rnf shadowColor+ `Prelude.seq` Prelude.rnf shadowOpacity+ `Prelude.seq` Prelude.rnf shadowXOffset+ `Prelude.seq` Prelude.rnf shadowYOffset+ `Prelude.seq` Prelude.rnf+ stylePassthrough+ `Prelude.seq` Prelude.rnf+ subtitlingType+ `Prelude.seq` Prelude.rnf+ teletextSpacing+ `Prelude.seq` Prelude.rnf width+ `Prelude.seq` Prelude.rnf+ xPosition+ `Prelude.seq` Prelude.rnf+ yPosition++instance Data.ToJSON DvbSubDestinationSettings where+ toJSON DvbSubDestinationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alignment" Data..=) Prelude.<$> alignment,+ ("applyFontColor" Data..=)+ Prelude.<$> applyFontColor,+ ("backgroundColor" Data..=)+ Prelude.<$> backgroundColor,+ ("backgroundOpacity" Data..=)+ Prelude.<$> backgroundOpacity,+ ("ddsHandling" Data..=) Prelude.<$> ddsHandling,+ ("ddsXCoordinate" Data..=)+ Prelude.<$> ddsXCoordinate,+ ("ddsYCoordinate" Data..=)+ Prelude.<$> ddsYCoordinate,+ ("fallbackFont" Data..=) Prelude.<$> fallbackFont,+ ("fontColor" Data..=) Prelude.<$> fontColor,+ ("fontOpacity" Data..=) Prelude.<$> fontOpacity,+ ("fontResolution" Data..=)+ Prelude.<$> fontResolution,+ ("fontScript" Data..=) Prelude.<$> fontScript,+ ("fontSize" Data..=) Prelude.<$> fontSize,+ ("height" Data..=) Prelude.<$> height,+ ("hexFontColor" Data..=) Prelude.<$> hexFontColor,+ ("outlineColor" Data..=) Prelude.<$> outlineColor,+ ("outlineSize" Data..=) Prelude.<$> outlineSize,+ ("shadowColor" Data..=) Prelude.<$> shadowColor,+ ("shadowOpacity" Data..=) Prelude.<$> shadowOpacity,+ ("shadowXOffset" Data..=) Prelude.<$> shadowXOffset,+ ("shadowYOffset" Data..=) Prelude.<$> shadowYOffset,+ ("stylePassthrough" Data..=)+ Prelude.<$> stylePassthrough,+ ("subtitlingType" Data..=)+ Prelude.<$> subtitlingType,+ ("teletextSpacing" Data..=)+ Prelude.<$> teletextSpacing,+ ("width" Data..=) Prelude.<$> width,+ ("xPosition" Data..=) Prelude.<$> xPosition,+ ("yPosition" Data..=) Prelude.<$> yPosition+ ]+ )
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubSourceSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubSourceSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | DVB Sub Source Settings+--+-- /See:/ 'newDvbSubSourceSettings' smart constructor.+data DvbSubSourceSettings = DvbSubSourceSettings'+ { -- | When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source+ -- content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed+ -- through, regardless of selectors.+ pid :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DvbSubSourceSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pid', 'dvbSubSourceSettings_pid' - When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source+-- content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed+-- through, regardless of selectors.+newDvbSubSourceSettings ::+ DvbSubSourceSettings+newDvbSubSourceSettings =+ DvbSubSourceSettings' {pid = Prelude.Nothing}++-- | When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source+-- content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed+-- through, regardless of selectors.+dvbSubSourceSettings_pid :: Lens.Lens' DvbSubSourceSettings (Prelude.Maybe Prelude.Natural)+dvbSubSourceSettings_pid = Lens.lens (\DvbSubSourceSettings' {pid} -> pid) (\s@DvbSubSourceSettings' {} a -> s {pid = a} :: DvbSubSourceSettings)++instance Data.FromJSON DvbSubSourceSettings where+ parseJSON =+ Data.withObject+ "DvbSubSourceSettings"+ ( \x ->+ DvbSubSourceSettings' Prelude.<$> (x Data..:? "pid")+ )++instance Prelude.Hashable DvbSubSourceSettings where+ hashWithSalt _salt DvbSubSourceSettings' {..} =+ _salt `Prelude.hashWithSalt` pid++instance Prelude.NFData DvbSubSourceSettings where+ rnf DvbSubSourceSettings' {..} = Prelude.rnf pid++instance Data.ToJSON DvbSubSourceSettings where+ toJSON DvbSubSourceSettings' {..} =+ Data.object+ (Prelude.catMaybes [("pid" Data..=) Prelude.<$> pid])
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubSubtitleFallbackFont+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubSubtitleFallbackFont+ ( DvbSubSubtitleFallbackFont+ ( ..,+ DvbSubSubtitleFallbackFont_BEST_MATCH,+ DvbSubSubtitleFallbackFont_MONOSPACED_SANSSERIF,+ DvbSubSubtitleFallbackFont_MONOSPACED_SERIF,+ DvbSubSubtitleFallbackFont_PROPORTIONAL_SANSSERIF,+ DvbSubSubtitleFallbackFont_PROPORTIONAL_SERIF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the font that you want the service to use for your burn in+-- captions when your input captions specify a font that MediaConvert+-- doesn\'t support. When you set Fallback font (FallbackFont) to best+-- match (BEST_MATCH), or leave blank, MediaConvert uses a supported font+-- that most closely matches the font that your input captions specify.+-- When there are multiple unsupported fonts in your input captions,+-- MediaConvert matches each font with the supported font that matches+-- best. When you explicitly choose a replacement font, MediaConvert uses+-- that font to replace all unsupported fonts from your input.+newtype DvbSubSubtitleFallbackFont = DvbSubSubtitleFallbackFont'+ { fromDvbSubSubtitleFallbackFont ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubSubtitleFallbackFont_BEST_MATCH :: DvbSubSubtitleFallbackFont+pattern DvbSubSubtitleFallbackFont_BEST_MATCH = DvbSubSubtitleFallbackFont' "BEST_MATCH"++pattern DvbSubSubtitleFallbackFont_MONOSPACED_SANSSERIF :: DvbSubSubtitleFallbackFont+pattern DvbSubSubtitleFallbackFont_MONOSPACED_SANSSERIF = DvbSubSubtitleFallbackFont' "MONOSPACED_SANSSERIF"++pattern DvbSubSubtitleFallbackFont_MONOSPACED_SERIF :: DvbSubSubtitleFallbackFont+pattern DvbSubSubtitleFallbackFont_MONOSPACED_SERIF = DvbSubSubtitleFallbackFont' "MONOSPACED_SERIF"++pattern DvbSubSubtitleFallbackFont_PROPORTIONAL_SANSSERIF :: DvbSubSubtitleFallbackFont+pattern DvbSubSubtitleFallbackFont_PROPORTIONAL_SANSSERIF = DvbSubSubtitleFallbackFont' "PROPORTIONAL_SANSSERIF"++pattern DvbSubSubtitleFallbackFont_PROPORTIONAL_SERIF :: DvbSubSubtitleFallbackFont+pattern DvbSubSubtitleFallbackFont_PROPORTIONAL_SERIF = DvbSubSubtitleFallbackFont' "PROPORTIONAL_SERIF"++{-# COMPLETE+ DvbSubSubtitleFallbackFont_BEST_MATCH,+ DvbSubSubtitleFallbackFont_MONOSPACED_SANSSERIF,+ DvbSubSubtitleFallbackFont_MONOSPACED_SERIF,+ DvbSubSubtitleFallbackFont_PROPORTIONAL_SANSSERIF,+ DvbSubSubtitleFallbackFont_PROPORTIONAL_SERIF,+ DvbSubSubtitleFallbackFont'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleAlignment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleAlignment+ ( DvbSubtitleAlignment+ ( ..,+ DvbSubtitleAlignment_AUTO,+ DvbSubtitleAlignment_CENTERED,+ DvbSubtitleAlignment_LEFT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the alignment of your captions. If no explicit x_position is+-- provided, setting alignment to centered will placethe captions at the+-- bottom center of the output. Similarly, setting a left alignment+-- willalign captions to the bottom left of the output. If x and y+-- positions are given in conjunction with the alignment parameter, the+-- font will be justified (either left or centered) relative to those+-- coordinates. Within your job settings, all of your DVB-Sub settings must+-- be identical.+newtype DvbSubtitleAlignment = DvbSubtitleAlignment'+ { fromDvbSubtitleAlignment ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleAlignment_AUTO :: DvbSubtitleAlignment+pattern DvbSubtitleAlignment_AUTO = DvbSubtitleAlignment' "AUTO"++pattern DvbSubtitleAlignment_CENTERED :: DvbSubtitleAlignment+pattern DvbSubtitleAlignment_CENTERED = DvbSubtitleAlignment' "CENTERED"++pattern DvbSubtitleAlignment_LEFT :: DvbSubtitleAlignment+pattern DvbSubtitleAlignment_LEFT = DvbSubtitleAlignment' "LEFT"++{-# COMPLETE+ DvbSubtitleAlignment_AUTO,+ DvbSubtitleAlignment_CENTERED,+ DvbSubtitleAlignment_LEFT,+ DvbSubtitleAlignment'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleApplyFontColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleApplyFontColor+ ( DvbSubtitleApplyFontColor+ ( ..,+ DvbSubtitleApplyFontColor_ALL_TEXT,+ DvbSubtitleApplyFontColor_WHITE_TEXT_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless Style Passthrough (StylePassthrough) is set+-- to Enabled and Font color (FontColor) set to Black, Yellow, Red, Green,+-- Blue, or Hex. Use Apply font color (ApplyFontColor) for additional font+-- color controls. When you choose White text only (WHITE_TEXT_ONLY), or+-- leave blank, your font color setting only applies to white text in your+-- input captions. For example, if your font color setting is Yellow, and+-- your input captions have red and white text, your output captions will+-- have red and yellow text. When you choose ALL_TEXT, your font color+-- setting applies to all of your output captions text.+newtype DvbSubtitleApplyFontColor = DvbSubtitleApplyFontColor'+ { fromDvbSubtitleApplyFontColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleApplyFontColor_ALL_TEXT :: DvbSubtitleApplyFontColor+pattern DvbSubtitleApplyFontColor_ALL_TEXT = DvbSubtitleApplyFontColor' "ALL_TEXT"++pattern DvbSubtitleApplyFontColor_WHITE_TEXT_ONLY :: DvbSubtitleApplyFontColor+pattern DvbSubtitleApplyFontColor_WHITE_TEXT_ONLY = DvbSubtitleApplyFontColor' "WHITE_TEXT_ONLY"++{-# COMPLETE+ DvbSubtitleApplyFontColor_ALL_TEXT,+ DvbSubtitleApplyFontColor_WHITE_TEXT_ONLY,+ DvbSubtitleApplyFontColor'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleBackgroundColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleBackgroundColor+ ( DvbSubtitleBackgroundColor+ ( ..,+ DvbSubtitleBackgroundColor_AUTO,+ DvbSubtitleBackgroundColor_BLACK,+ DvbSubtitleBackgroundColor_NONE,+ DvbSubtitleBackgroundColor_WHITE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color of the rectangle behind the captions. Leave background+-- color (BackgroundColor) blank and set Style passthrough+-- (StylePassthrough) to enabled to use the background color data from your+-- input captions, if present.+newtype DvbSubtitleBackgroundColor = DvbSubtitleBackgroundColor'+ { fromDvbSubtitleBackgroundColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleBackgroundColor_AUTO :: DvbSubtitleBackgroundColor+pattern DvbSubtitleBackgroundColor_AUTO = DvbSubtitleBackgroundColor' "AUTO"++pattern DvbSubtitleBackgroundColor_BLACK :: DvbSubtitleBackgroundColor+pattern DvbSubtitleBackgroundColor_BLACK = DvbSubtitleBackgroundColor' "BLACK"++pattern DvbSubtitleBackgroundColor_NONE :: DvbSubtitleBackgroundColor+pattern DvbSubtitleBackgroundColor_NONE = DvbSubtitleBackgroundColor' "NONE"++pattern DvbSubtitleBackgroundColor_WHITE :: DvbSubtitleBackgroundColor+pattern DvbSubtitleBackgroundColor_WHITE = DvbSubtitleBackgroundColor' "WHITE"++{-# COMPLETE+ DvbSubtitleBackgroundColor_AUTO,+ DvbSubtitleBackgroundColor_BLACK,+ DvbSubtitleBackgroundColor_NONE,+ DvbSubtitleBackgroundColor_WHITE,+ DvbSubtitleBackgroundColor'+ #-}
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleFontColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleFontColor+ ( DvbSubtitleFontColor+ ( ..,+ DvbSubtitleFontColor_AUTO,+ DvbSubtitleFontColor_BLACK,+ DvbSubtitleFontColor_BLUE,+ DvbSubtitleFontColor_GREEN,+ DvbSubtitleFontColor_HEX,+ DvbSubtitleFontColor_RED,+ DvbSubtitleFontColor_WHITE,+ DvbSubtitleFontColor_YELLOW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color of the captions text. Leave Font color (FontColor)+-- blank and set Style passthrough (StylePassthrough) to enabled to use the+-- font color data from your input captions, if present. Within your job+-- settings, all of your DVB-Sub settings must be identical.+newtype DvbSubtitleFontColor = DvbSubtitleFontColor'+ { fromDvbSubtitleFontColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleFontColor_AUTO :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_AUTO = DvbSubtitleFontColor' "AUTO"++pattern DvbSubtitleFontColor_BLACK :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_BLACK = DvbSubtitleFontColor' "BLACK"++pattern DvbSubtitleFontColor_BLUE :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_BLUE = DvbSubtitleFontColor' "BLUE"++pattern DvbSubtitleFontColor_GREEN :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_GREEN = DvbSubtitleFontColor' "GREEN"++pattern DvbSubtitleFontColor_HEX :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_HEX = DvbSubtitleFontColor' "HEX"++pattern DvbSubtitleFontColor_RED :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_RED = DvbSubtitleFontColor' "RED"++pattern DvbSubtitleFontColor_WHITE :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_WHITE = DvbSubtitleFontColor' "WHITE"++pattern DvbSubtitleFontColor_YELLOW :: DvbSubtitleFontColor+pattern DvbSubtitleFontColor_YELLOW = DvbSubtitleFontColor' "YELLOW"++{-# COMPLETE+ DvbSubtitleFontColor_AUTO,+ DvbSubtitleFontColor_BLACK,+ DvbSubtitleFontColor_BLUE,+ DvbSubtitleFontColor_GREEN,+ DvbSubtitleFontColor_HEX,+ DvbSubtitleFontColor_RED,+ DvbSubtitleFontColor_WHITE,+ DvbSubtitleFontColor_YELLOW,+ DvbSubtitleFontColor'+ #-}
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleOutlineColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleOutlineColor+ ( DvbSubtitleOutlineColor+ ( ..,+ DvbSubtitleOutlineColor_AUTO,+ DvbSubtitleOutlineColor_BLACK,+ DvbSubtitleOutlineColor_BLUE,+ DvbSubtitleOutlineColor_GREEN,+ DvbSubtitleOutlineColor_RED,+ DvbSubtitleOutlineColor_WHITE,+ DvbSubtitleOutlineColor_YELLOW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify font outline color. Leave Outline color (OutlineColor) blank and+-- set Style passthrough (StylePassthrough) to enabled to use the font+-- outline color data from your input captions, if present. Within your job+-- settings, all of your DVB-Sub settings must be identical.+newtype DvbSubtitleOutlineColor = DvbSubtitleOutlineColor'+ { fromDvbSubtitleOutlineColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleOutlineColor_AUTO :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_AUTO = DvbSubtitleOutlineColor' "AUTO"++pattern DvbSubtitleOutlineColor_BLACK :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_BLACK = DvbSubtitleOutlineColor' "BLACK"++pattern DvbSubtitleOutlineColor_BLUE :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_BLUE = DvbSubtitleOutlineColor' "BLUE"++pattern DvbSubtitleOutlineColor_GREEN :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_GREEN = DvbSubtitleOutlineColor' "GREEN"++pattern DvbSubtitleOutlineColor_RED :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_RED = DvbSubtitleOutlineColor' "RED"++pattern DvbSubtitleOutlineColor_WHITE :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_WHITE = DvbSubtitleOutlineColor' "WHITE"++pattern DvbSubtitleOutlineColor_YELLOW :: DvbSubtitleOutlineColor+pattern DvbSubtitleOutlineColor_YELLOW = DvbSubtitleOutlineColor' "YELLOW"++{-# COMPLETE+ DvbSubtitleOutlineColor_AUTO,+ DvbSubtitleOutlineColor_BLACK,+ DvbSubtitleOutlineColor_BLUE,+ DvbSubtitleOutlineColor_GREEN,+ DvbSubtitleOutlineColor_RED,+ DvbSubtitleOutlineColor_WHITE,+ DvbSubtitleOutlineColor_YELLOW,+ DvbSubtitleOutlineColor'+ #-}
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleShadowColor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleShadowColor+ ( DvbSubtitleShadowColor+ ( ..,+ DvbSubtitleShadowColor_AUTO,+ DvbSubtitleShadowColor_BLACK,+ DvbSubtitleShadowColor_NONE,+ DvbSubtitleShadowColor_WHITE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the color of the shadow cast by the captions. Leave Shadow color+-- (ShadowColor) blank and set Style passthrough (StylePassthrough) to+-- enabled to use the shadow color data from your input captions, if+-- present. Within your job settings, all of your DVB-Sub settings must be+-- identical.+newtype DvbSubtitleShadowColor = DvbSubtitleShadowColor'+ { fromDvbSubtitleShadowColor ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleShadowColor_AUTO :: DvbSubtitleShadowColor+pattern DvbSubtitleShadowColor_AUTO = DvbSubtitleShadowColor' "AUTO"++pattern DvbSubtitleShadowColor_BLACK :: DvbSubtitleShadowColor+pattern DvbSubtitleShadowColor_BLACK = DvbSubtitleShadowColor' "BLACK"++pattern DvbSubtitleShadowColor_NONE :: DvbSubtitleShadowColor+pattern DvbSubtitleShadowColor_NONE = DvbSubtitleShadowColor' "NONE"++pattern DvbSubtitleShadowColor_WHITE :: DvbSubtitleShadowColor+pattern DvbSubtitleShadowColor_WHITE = DvbSubtitleShadowColor' "WHITE"++{-# COMPLETE+ DvbSubtitleShadowColor_AUTO,+ DvbSubtitleShadowColor_BLACK,+ DvbSubtitleShadowColor_NONE,+ DvbSubtitleShadowColor_WHITE,+ DvbSubtitleShadowColor'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleStylePassthrough+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleStylePassthrough+ ( DvbSubtitleStylePassthrough+ ( ..,+ DvbSubtitleStylePassthrough_DISABLED,+ DvbSubtitleStylePassthrough_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Set Style passthrough (StylePassthrough) to ENABLED to use the available+-- style, color, and position information from your input captions.+-- MediaConvert uses default settings for any missing style and position+-- information in your input captions. Set Style passthrough to DISABLED,+-- or leave blank, to ignore the style and position information from your+-- input captions and use default settings: white text with black+-- outlining, bottom-center positioning, and automatic sizing. Whether you+-- set Style passthrough to enabled or not, you can also choose to manually+-- override any of the individual style and position settings.+newtype DvbSubtitleStylePassthrough = DvbSubtitleStylePassthrough'+ { fromDvbSubtitleStylePassthrough ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleStylePassthrough_DISABLED :: DvbSubtitleStylePassthrough+pattern DvbSubtitleStylePassthrough_DISABLED = DvbSubtitleStylePassthrough' "DISABLED"++pattern DvbSubtitleStylePassthrough_ENABLED :: DvbSubtitleStylePassthrough+pattern DvbSubtitleStylePassthrough_ENABLED = DvbSubtitleStylePassthrough' "ENABLED"++{-# COMPLETE+ DvbSubtitleStylePassthrough_DISABLED,+ DvbSubtitleStylePassthrough_ENABLED,+ DvbSubtitleStylePassthrough'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitleTeletextSpacing+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitleTeletextSpacing+ ( DvbSubtitleTeletextSpacing+ ( ..,+ DvbSubtitleTeletextSpacing_AUTO,+ DvbSubtitleTeletextSpacing_FIXED_GRID,+ DvbSubtitleTeletextSpacing_PROPORTIONAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether the Text spacing (TeletextSpacing) in your captions is+-- set by the captions grid, or varies depending on letter width. Choose+-- fixed grid (FIXED_GRID) to conform to the spacing specified in the+-- captions file more accurately. Choose proportional (PROPORTIONAL) to+-- make the text easier to read for closed captions. Within your job+-- settings, all of your DVB-Sub settings must be identical.+newtype DvbSubtitleTeletextSpacing = DvbSubtitleTeletextSpacing'+ { fromDvbSubtitleTeletextSpacing ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitleTeletextSpacing_AUTO :: DvbSubtitleTeletextSpacing+pattern DvbSubtitleTeletextSpacing_AUTO = DvbSubtitleTeletextSpacing' "AUTO"++pattern DvbSubtitleTeletextSpacing_FIXED_GRID :: DvbSubtitleTeletextSpacing+pattern DvbSubtitleTeletextSpacing_FIXED_GRID = DvbSubtitleTeletextSpacing' "FIXED_GRID"++pattern DvbSubtitleTeletextSpacing_PROPORTIONAL :: DvbSubtitleTeletextSpacing+pattern DvbSubtitleTeletextSpacing_PROPORTIONAL = DvbSubtitleTeletextSpacing' "PROPORTIONAL"++{-# COMPLETE+ DvbSubtitleTeletextSpacing_AUTO,+ DvbSubtitleTeletextSpacing_FIXED_GRID,+ DvbSubtitleTeletextSpacing_PROPORTIONAL,+ DvbSubtitleTeletextSpacing'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbSubtitlingType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbSubtitlingType+ ( DvbSubtitlingType+ ( ..,+ DvbSubtitlingType_HEARING_IMPAIRED,+ DvbSubtitlingType_STANDARD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether your DVB subtitles are standard or for hearing impaired.+-- Choose hearing impaired if your subtitles include audio descriptions and+-- dialogue. Choose standard if your subtitles include only dialogue.+newtype DvbSubtitlingType = DvbSubtitlingType'+ { fromDvbSubtitlingType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbSubtitlingType_HEARING_IMPAIRED :: DvbSubtitlingType+pattern DvbSubtitlingType_HEARING_IMPAIRED = DvbSubtitlingType' "HEARING_IMPAIRED"++pattern DvbSubtitlingType_STANDARD :: DvbSubtitlingType+pattern DvbSubtitlingType_STANDARD = DvbSubtitlingType' "STANDARD"++{-# COMPLETE+ DvbSubtitlingType_HEARING_IMPAIRED,+ DvbSubtitlingType_STANDARD,+ DvbSubtitlingType'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbTdtSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbTdtSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use these settings to insert a DVB Time and Date Table (TDT) in the+-- transport stream of this output. When you work directly in your JSON job+-- specification, include this object only when your job has a transport+-- stream output and the container settings contain the object+-- M2tsSettings.+--+-- /See:/ 'newDvbTdtSettings' smart constructor.+data DvbTdtSettings = DvbTdtSettings'+ { -- | The number of milliseconds between instances of this table in the output+ -- transport stream.+ tdtInterval :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DvbTdtSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tdtInterval', 'dvbTdtSettings_tdtInterval' - The number of milliseconds between instances of this table in the output+-- transport stream.+newDvbTdtSettings ::+ DvbTdtSettings+newDvbTdtSettings =+ DvbTdtSettings' {tdtInterval = Prelude.Nothing}++-- | The number of milliseconds between instances of this table in the output+-- transport stream.+dvbTdtSettings_tdtInterval :: Lens.Lens' DvbTdtSettings (Prelude.Maybe Prelude.Natural)+dvbTdtSettings_tdtInterval = Lens.lens (\DvbTdtSettings' {tdtInterval} -> tdtInterval) (\s@DvbTdtSettings' {} a -> s {tdtInterval = a} :: DvbTdtSettings)++instance Data.FromJSON DvbTdtSettings where+ parseJSON =+ Data.withObject+ "DvbTdtSettings"+ ( \x ->+ DvbTdtSettings'+ Prelude.<$> (x Data..:? "tdtInterval")+ )++instance Prelude.Hashable DvbTdtSettings where+ hashWithSalt _salt DvbTdtSettings' {..} =+ _salt `Prelude.hashWithSalt` tdtInterval++instance Prelude.NFData DvbTdtSettings where+ rnf DvbTdtSettings' {..} = Prelude.rnf tdtInterval++instance Data.ToJSON DvbTdtSettings where+ toJSON DvbTdtSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [("tdtInterval" Data..=) Prelude.<$> tdtInterval]+ )
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.DvbddsHandling+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.DvbddsHandling+ ( DvbddsHandling+ ( ..,+ DvbddsHandling_NONE,+ DvbddsHandling_NO_DISPLAY_WINDOW,+ DvbddsHandling_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how MediaConvert handles the display definition segment (DDS).+-- Keep the default, None (NONE), to exclude the DDS from this set of+-- captions. Choose No display window (NO_DISPLAY_WINDOW) to have+-- MediaConvert include the DDS but not include display window data. In+-- this case, MediaConvert writes that information to the page composition+-- segment (PCS) instead. Choose Specify (SPECIFIED) to have MediaConvert+-- set up the display window based on the values that you specify in+-- related job settings. For video resolutions that are 576 pixels or+-- smaller in height, MediaConvert doesn\'t include the DDS, regardless of+-- the value you choose for DDS handling (ddsHandling). In this case, it+-- doesn\'t write the display window data to the PCS either. Related+-- settings: Use the settings DDS x-coordinate (ddsXCoordinate) and DDS+-- y-coordinate (ddsYCoordinate) to specify the offset between the top left+-- corner of the display window and the top left corner of the video frame.+-- All burn-in and DVB-Sub font settings must match.+newtype DvbddsHandling = DvbddsHandling'+ { fromDvbddsHandling ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DvbddsHandling_NONE :: DvbddsHandling+pattern DvbddsHandling_NONE = DvbddsHandling' "NONE"++pattern DvbddsHandling_NO_DISPLAY_WINDOW :: DvbddsHandling+pattern DvbddsHandling_NO_DISPLAY_WINDOW = DvbddsHandling' "NO_DISPLAY_WINDOW"++pattern DvbddsHandling_SPECIFIED :: DvbddsHandling+pattern DvbddsHandling_SPECIFIED = DvbddsHandling' "SPECIFIED"++{-# COMPLETE+ DvbddsHandling_NONE,+ DvbddsHandling_NO_DISPLAY_WINDOW,+ DvbddsHandling_SPECIFIED,+ DvbddsHandling'+ #-}
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosBitstreamMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosBitstreamMode+ ( Eac3AtmosBitstreamMode+ ( ..,+ Eac3AtmosBitstreamMode_COMPLETE_MAIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+-- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+newtype Eac3AtmosBitstreamMode = Eac3AtmosBitstreamMode'+ { fromEac3AtmosBitstreamMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosBitstreamMode_COMPLETE_MAIN :: Eac3AtmosBitstreamMode+pattern Eac3AtmosBitstreamMode_COMPLETE_MAIN = Eac3AtmosBitstreamMode' "COMPLETE_MAIN"++{-# COMPLETE+ Eac3AtmosBitstreamMode_COMPLETE_MAIN,+ Eac3AtmosBitstreamMode'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosCodingMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosCodingMode+ ( Eac3AtmosCodingMode+ ( ..,+ Eac3AtmosCodingMode_CODING_MODE_5_1_4,+ Eac3AtmosCodingMode_CODING_MODE_7_1_4,+ Eac3AtmosCodingMode_CODING_MODE_9_1_6,+ Eac3AtmosCodingMode_CODING_MODE_AUTO+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The coding mode for Dolby Digital Plus JOC (Atmos).+newtype Eac3AtmosCodingMode = Eac3AtmosCodingMode'+ { fromEac3AtmosCodingMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosCodingMode_CODING_MODE_5_1_4 :: Eac3AtmosCodingMode+pattern Eac3AtmosCodingMode_CODING_MODE_5_1_4 = Eac3AtmosCodingMode' "CODING_MODE_5_1_4"++pattern Eac3AtmosCodingMode_CODING_MODE_7_1_4 :: Eac3AtmosCodingMode+pattern Eac3AtmosCodingMode_CODING_MODE_7_1_4 = Eac3AtmosCodingMode' "CODING_MODE_7_1_4"++pattern Eac3AtmosCodingMode_CODING_MODE_9_1_6 :: Eac3AtmosCodingMode+pattern Eac3AtmosCodingMode_CODING_MODE_9_1_6 = Eac3AtmosCodingMode' "CODING_MODE_9_1_6"++pattern Eac3AtmosCodingMode_CODING_MODE_AUTO :: Eac3AtmosCodingMode+pattern Eac3AtmosCodingMode_CODING_MODE_AUTO = Eac3AtmosCodingMode' "CODING_MODE_AUTO"++{-# COMPLETE+ Eac3AtmosCodingMode_CODING_MODE_5_1_4,+ Eac3AtmosCodingMode_CODING_MODE_7_1_4,+ Eac3AtmosCodingMode_CODING_MODE_9_1_6,+ Eac3AtmosCodingMode_CODING_MODE_AUTO,+ Eac3AtmosCodingMode'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosDialogueIntelligence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosDialogueIntelligence+ ( Eac3AtmosDialogueIntelligence+ ( ..,+ Eac3AtmosDialogueIntelligence_DISABLED,+ Eac3AtmosDialogueIntelligence_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue+-- analysis.+newtype Eac3AtmosDialogueIntelligence = Eac3AtmosDialogueIntelligence'+ { fromEac3AtmosDialogueIntelligence ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosDialogueIntelligence_DISABLED :: Eac3AtmosDialogueIntelligence+pattern Eac3AtmosDialogueIntelligence_DISABLED = Eac3AtmosDialogueIntelligence' "DISABLED"++pattern Eac3AtmosDialogueIntelligence_ENABLED :: Eac3AtmosDialogueIntelligence+pattern Eac3AtmosDialogueIntelligence_ENABLED = Eac3AtmosDialogueIntelligence' "ENABLED"++{-# COMPLETE+ Eac3AtmosDialogueIntelligence_DISABLED,+ Eac3AtmosDialogueIntelligence_ENABLED,+ Eac3AtmosDialogueIntelligence'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosDownmixControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosDownmixControl+ ( Eac3AtmosDownmixControl+ ( ..,+ Eac3AtmosDownmixControl_INITIALIZE_FROM_SOURCE,+ Eac3AtmosDownmixControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether MediaConvert should use any downmix metadata from your+-- input file. Keep the default value, Custom (SPECIFIED) to provide+-- downmix values in your job settings. Choose Follow source+-- (INITIALIZE_FROM_SOURCE) to use the metadata from your input. Related+-- settings--Use these settings to specify your downmix values: Left+-- only\/Right only surround (LoRoSurroundMixLevel), Left total\/Right+-- total surround (LtRtSurroundMixLevel), Left total\/Right total center+-- (LtRtCenterMixLevel), Left only\/Right only center (LoRoCenterMixLevel),+-- and Stereo downmix (StereoDownmix). When you keep Custom (SPECIFIED) for+-- Downmix control (DownmixControl) and you don\'t specify values for the+-- related settings, MediaConvert uses default values for those settings.+newtype Eac3AtmosDownmixControl = Eac3AtmosDownmixControl'+ { fromEac3AtmosDownmixControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosDownmixControl_INITIALIZE_FROM_SOURCE :: Eac3AtmosDownmixControl+pattern Eac3AtmosDownmixControl_INITIALIZE_FROM_SOURCE = Eac3AtmosDownmixControl' "INITIALIZE_FROM_SOURCE"++pattern Eac3AtmosDownmixControl_SPECIFIED :: Eac3AtmosDownmixControl+pattern Eac3AtmosDownmixControl_SPECIFIED = Eac3AtmosDownmixControl' "SPECIFIED"++{-# COMPLETE+ Eac3AtmosDownmixControl_INITIALIZE_FROM_SOURCE,+ Eac3AtmosDownmixControl_SPECIFIED,+ Eac3AtmosDownmixControl'+ #-}
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionLine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionLine+ ( Eac3AtmosDynamicRangeCompressionLine+ ( ..,+ Eac3AtmosDynamicRangeCompressionLine_FILM_LIGHT,+ Eac3AtmosDynamicRangeCompressionLine_FILM_STANDARD,+ Eac3AtmosDynamicRangeCompressionLine_MUSIC_LIGHT,+ Eac3AtmosDynamicRangeCompressionLine_MUSIC_STANDARD,+ Eac3AtmosDynamicRangeCompressionLine_NONE,+ Eac3AtmosDynamicRangeCompressionLine_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the Dolby dynamic range control (DRC) profile that MediaConvert+-- uses when encoding the metadata in the Dolby stream for the line+-- operating mode. Default value: Film light+-- (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting: To have+-- MediaConvert use the value you specify here, keep the default value,+-- Custom (SPECIFIED) for the setting Dynamic range control+-- (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic range+-- compression line (DynamicRangeCompressionLine). For information about+-- the Dolby DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+newtype Eac3AtmosDynamicRangeCompressionLine = Eac3AtmosDynamicRangeCompressionLine'+ { fromEac3AtmosDynamicRangeCompressionLine ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosDynamicRangeCompressionLine_FILM_LIGHT :: Eac3AtmosDynamicRangeCompressionLine+pattern Eac3AtmosDynamicRangeCompressionLine_FILM_LIGHT = Eac3AtmosDynamicRangeCompressionLine' "FILM_LIGHT"++pattern Eac3AtmosDynamicRangeCompressionLine_FILM_STANDARD :: Eac3AtmosDynamicRangeCompressionLine+pattern Eac3AtmosDynamicRangeCompressionLine_FILM_STANDARD = Eac3AtmosDynamicRangeCompressionLine' "FILM_STANDARD"++pattern Eac3AtmosDynamicRangeCompressionLine_MUSIC_LIGHT :: Eac3AtmosDynamicRangeCompressionLine+pattern Eac3AtmosDynamicRangeCompressionLine_MUSIC_LIGHT = Eac3AtmosDynamicRangeCompressionLine' "MUSIC_LIGHT"++pattern Eac3AtmosDynamicRangeCompressionLine_MUSIC_STANDARD :: Eac3AtmosDynamicRangeCompressionLine+pattern Eac3AtmosDynamicRangeCompressionLine_MUSIC_STANDARD = Eac3AtmosDynamicRangeCompressionLine' "MUSIC_STANDARD"++pattern Eac3AtmosDynamicRangeCompressionLine_NONE :: Eac3AtmosDynamicRangeCompressionLine+pattern Eac3AtmosDynamicRangeCompressionLine_NONE = Eac3AtmosDynamicRangeCompressionLine' "NONE"++pattern Eac3AtmosDynamicRangeCompressionLine_SPEECH :: Eac3AtmosDynamicRangeCompressionLine+pattern Eac3AtmosDynamicRangeCompressionLine_SPEECH = Eac3AtmosDynamicRangeCompressionLine' "SPEECH"++{-# COMPLETE+ Eac3AtmosDynamicRangeCompressionLine_FILM_LIGHT,+ Eac3AtmosDynamicRangeCompressionLine_FILM_STANDARD,+ Eac3AtmosDynamicRangeCompressionLine_MUSIC_LIGHT,+ Eac3AtmosDynamicRangeCompressionLine_MUSIC_STANDARD,+ Eac3AtmosDynamicRangeCompressionLine_NONE,+ Eac3AtmosDynamicRangeCompressionLine_SPEECH,+ Eac3AtmosDynamicRangeCompressionLine'+ #-}
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionRf+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionRf+ ( Eac3AtmosDynamicRangeCompressionRf+ ( ..,+ Eac3AtmosDynamicRangeCompressionRf_FILM_LIGHT,+ Eac3AtmosDynamicRangeCompressionRf_FILM_STANDARD,+ Eac3AtmosDynamicRangeCompressionRf_MUSIC_LIGHT,+ Eac3AtmosDynamicRangeCompressionRf_MUSIC_STANDARD,+ Eac3AtmosDynamicRangeCompressionRf_NONE,+ Eac3AtmosDynamicRangeCompressionRf_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the Dolby dynamic range control (DRC) profile that MediaConvert+-- uses when encoding the metadata in the Dolby stream for the RF operating+-- mode. Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT)+-- Related setting: To have MediaConvert use the value you specify here,+-- keep the default value, Custom (SPECIFIED) for the setting Dynamic range+-- control (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic+-- range compression RF (DynamicRangeCompressionRf). For information about+-- the Dolby DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+newtype Eac3AtmosDynamicRangeCompressionRf = Eac3AtmosDynamicRangeCompressionRf'+ { fromEac3AtmosDynamicRangeCompressionRf ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosDynamicRangeCompressionRf_FILM_LIGHT :: Eac3AtmosDynamicRangeCompressionRf+pattern Eac3AtmosDynamicRangeCompressionRf_FILM_LIGHT = Eac3AtmosDynamicRangeCompressionRf' "FILM_LIGHT"++pattern Eac3AtmosDynamicRangeCompressionRf_FILM_STANDARD :: Eac3AtmosDynamicRangeCompressionRf+pattern Eac3AtmosDynamicRangeCompressionRf_FILM_STANDARD = Eac3AtmosDynamicRangeCompressionRf' "FILM_STANDARD"++pattern Eac3AtmosDynamicRangeCompressionRf_MUSIC_LIGHT :: Eac3AtmosDynamicRangeCompressionRf+pattern Eac3AtmosDynamicRangeCompressionRf_MUSIC_LIGHT = Eac3AtmosDynamicRangeCompressionRf' "MUSIC_LIGHT"++pattern Eac3AtmosDynamicRangeCompressionRf_MUSIC_STANDARD :: Eac3AtmosDynamicRangeCompressionRf+pattern Eac3AtmosDynamicRangeCompressionRf_MUSIC_STANDARD = Eac3AtmosDynamicRangeCompressionRf' "MUSIC_STANDARD"++pattern Eac3AtmosDynamicRangeCompressionRf_NONE :: Eac3AtmosDynamicRangeCompressionRf+pattern Eac3AtmosDynamicRangeCompressionRf_NONE = Eac3AtmosDynamicRangeCompressionRf' "NONE"++pattern Eac3AtmosDynamicRangeCompressionRf_SPEECH :: Eac3AtmosDynamicRangeCompressionRf+pattern Eac3AtmosDynamicRangeCompressionRf_SPEECH = Eac3AtmosDynamicRangeCompressionRf' "SPEECH"++{-# COMPLETE+ Eac3AtmosDynamicRangeCompressionRf_FILM_LIGHT,+ Eac3AtmosDynamicRangeCompressionRf_FILM_STANDARD,+ Eac3AtmosDynamicRangeCompressionRf_MUSIC_LIGHT,+ Eac3AtmosDynamicRangeCompressionRf_MUSIC_STANDARD,+ Eac3AtmosDynamicRangeCompressionRf_NONE,+ Eac3AtmosDynamicRangeCompressionRf_SPEECH,+ Eac3AtmosDynamicRangeCompressionRf'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeControl+ ( Eac3AtmosDynamicRangeControl+ ( ..,+ Eac3AtmosDynamicRangeControl_INITIALIZE_FROM_SOURCE,+ Eac3AtmosDynamicRangeControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether MediaConvert should use any dynamic range control+-- metadata from your input file. Keep the default value, Custom+-- (SPECIFIED), to provide dynamic range control values in your job+-- settings. Choose Follow source (INITIALIZE_FROM_SOURCE) to use the+-- metadata from your input. Related settings--Use these settings to+-- specify your dynamic range control values: Dynamic range compression+-- line (DynamicRangeCompressionLine) and Dynamic range compression RF+-- (DynamicRangeCompressionRf). When you keep the value Custom (SPECIFIED)+-- for Dynamic range control (DynamicRangeControl) and you don\'t specify+-- values for the related settings, MediaConvert uses default values for+-- those settings.+newtype Eac3AtmosDynamicRangeControl = Eac3AtmosDynamicRangeControl'+ { fromEac3AtmosDynamicRangeControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosDynamicRangeControl_INITIALIZE_FROM_SOURCE :: Eac3AtmosDynamicRangeControl+pattern Eac3AtmosDynamicRangeControl_INITIALIZE_FROM_SOURCE = Eac3AtmosDynamicRangeControl' "INITIALIZE_FROM_SOURCE"++pattern Eac3AtmosDynamicRangeControl_SPECIFIED :: Eac3AtmosDynamicRangeControl+pattern Eac3AtmosDynamicRangeControl_SPECIFIED = Eac3AtmosDynamicRangeControl' "SPECIFIED"++{-# COMPLETE+ Eac3AtmosDynamicRangeControl_INITIALIZE_FROM_SOURCE,+ Eac3AtmosDynamicRangeControl_SPECIFIED,+ Eac3AtmosDynamicRangeControl'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosMeteringMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosMeteringMode+ ( Eac3AtmosMeteringMode+ ( ..,+ Eac3AtmosMeteringMode_ITU_BS_1770_1,+ Eac3AtmosMeteringMode_ITU_BS_1770_2,+ Eac3AtmosMeteringMode_ITU_BS_1770_3,+ Eac3AtmosMeteringMode_ITU_BS_1770_4,+ Eac3AtmosMeteringMode_LEQ_A+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose how the service meters the loudness of your audio.+newtype Eac3AtmosMeteringMode = Eac3AtmosMeteringMode'+ { fromEac3AtmosMeteringMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosMeteringMode_ITU_BS_1770_1 :: Eac3AtmosMeteringMode+pattern Eac3AtmosMeteringMode_ITU_BS_1770_1 = Eac3AtmosMeteringMode' "ITU_BS_1770_1"++pattern Eac3AtmosMeteringMode_ITU_BS_1770_2 :: Eac3AtmosMeteringMode+pattern Eac3AtmosMeteringMode_ITU_BS_1770_2 = Eac3AtmosMeteringMode' "ITU_BS_1770_2"++pattern Eac3AtmosMeteringMode_ITU_BS_1770_3 :: Eac3AtmosMeteringMode+pattern Eac3AtmosMeteringMode_ITU_BS_1770_3 = Eac3AtmosMeteringMode' "ITU_BS_1770_3"++pattern Eac3AtmosMeteringMode_ITU_BS_1770_4 :: Eac3AtmosMeteringMode+pattern Eac3AtmosMeteringMode_ITU_BS_1770_4 = Eac3AtmosMeteringMode' "ITU_BS_1770_4"++pattern Eac3AtmosMeteringMode_LEQ_A :: Eac3AtmosMeteringMode+pattern Eac3AtmosMeteringMode_LEQ_A = Eac3AtmosMeteringMode' "LEQ_A"++{-# COMPLETE+ Eac3AtmosMeteringMode_ITU_BS_1770_1,+ Eac3AtmosMeteringMode_ITU_BS_1770_2,+ Eac3AtmosMeteringMode_ITU_BS_1770_3,+ Eac3AtmosMeteringMode_ITU_BS_1770_4,+ Eac3AtmosMeteringMode_LEQ_A,+ Eac3AtmosMeteringMode'+ #-}
@@ -0,0 +1,574 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.Eac3AtmosBitstreamMode+import Amazonka.MediaConvert.Types.Eac3AtmosCodingMode+import Amazonka.MediaConvert.Types.Eac3AtmosDialogueIntelligence+import Amazonka.MediaConvert.Types.Eac3AtmosDownmixControl+import Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionLine+import Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeCompressionRf+import Amazonka.MediaConvert.Types.Eac3AtmosDynamicRangeControl+import Amazonka.MediaConvert.Types.Eac3AtmosMeteringMode+import Amazonka.MediaConvert.Types.Eac3AtmosStereoDownmix+import Amazonka.MediaConvert.Types.Eac3AtmosSurroundExMode+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value EAC3_ATMOS.+--+-- /See:/ 'newEac3AtmosSettings' smart constructor.+data Eac3AtmosSettings = Eac3AtmosSettings'+ { -- | Specify the average bitrate for this output in bits per second. Valid+ -- values: 384k, 448k, 576k, 640k, 768k, 1024k Default value: 448k Note+ -- that MediaConvert supports 384k only with channel-based immersive (CBI)+ -- 7.1.4 and 5.1.4 inputs. For CBI 9.1.6 and other input types,+ -- MediaConvert automatically increases your output bitrate to 448k.+ bitrate :: Prelude.Maybe Prelude.Natural,+ -- | Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+ -- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+ -- (Annex E).+ bitstreamMode :: Prelude.Maybe Eac3AtmosBitstreamMode,+ -- | The coding mode for Dolby Digital Plus JOC (Atmos).+ codingMode :: Prelude.Maybe Eac3AtmosCodingMode,+ -- | Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue+ -- analysis.+ dialogueIntelligence :: Prelude.Maybe Eac3AtmosDialogueIntelligence,+ -- | Specify whether MediaConvert should use any downmix metadata from your+ -- input file. Keep the default value, Custom (SPECIFIED) to provide+ -- downmix values in your job settings. Choose Follow source+ -- (INITIALIZE_FROM_SOURCE) to use the metadata from your input. Related+ -- settings--Use these settings to specify your downmix values: Left+ -- only\/Right only surround (LoRoSurroundMixLevel), Left total\/Right+ -- total surround (LtRtSurroundMixLevel), Left total\/Right total center+ -- (LtRtCenterMixLevel), Left only\/Right only center (LoRoCenterMixLevel),+ -- and Stereo downmix (StereoDownmix). When you keep Custom (SPECIFIED) for+ -- Downmix control (DownmixControl) and you don\'t specify values for the+ -- related settings, MediaConvert uses default values for those settings.+ downmixControl :: Prelude.Maybe Eac3AtmosDownmixControl,+ -- | Choose the Dolby dynamic range control (DRC) profile that MediaConvert+ -- uses when encoding the metadata in the Dolby stream for the line+ -- operating mode. Default value: Film light+ -- (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting: To have+ -- MediaConvert use the value you specify here, keep the default value,+ -- Custom (SPECIFIED) for the setting Dynamic range control+ -- (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic range+ -- compression line (DynamicRangeCompressionLine). For information about+ -- the Dolby DRC operating modes and profiles, see the Dynamic Range+ -- Control chapter of the Dolby Metadata Guide at+ -- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ dynamicRangeCompressionLine :: Prelude.Maybe Eac3AtmosDynamicRangeCompressionLine,+ -- | Choose the Dolby dynamic range control (DRC) profile that MediaConvert+ -- uses when encoding the metadata in the Dolby stream for the RF operating+ -- mode. Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT)+ -- Related setting: To have MediaConvert use the value you specify here,+ -- keep the default value, Custom (SPECIFIED) for the setting Dynamic range+ -- control (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic+ -- range compression RF (DynamicRangeCompressionRf). For information about+ -- the Dolby DRC operating modes and profiles, see the Dynamic Range+ -- Control chapter of the Dolby Metadata Guide at+ -- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ dynamicRangeCompressionRf :: Prelude.Maybe Eac3AtmosDynamicRangeCompressionRf,+ -- | Specify whether MediaConvert should use any dynamic range control+ -- metadata from your input file. Keep the default value, Custom+ -- (SPECIFIED), to provide dynamic range control values in your job+ -- settings. Choose Follow source (INITIALIZE_FROM_SOURCE) to use the+ -- metadata from your input. Related settings--Use these settings to+ -- specify your dynamic range control values: Dynamic range compression+ -- line (DynamicRangeCompressionLine) and Dynamic range compression RF+ -- (DynamicRangeCompressionRf). When you keep the value Custom (SPECIFIED)+ -- for Dynamic range control (DynamicRangeControl) and you don\'t specify+ -- values for the related settings, MediaConvert uses default values for+ -- those settings.+ dynamicRangeControl :: Prelude.Maybe Eac3AtmosDynamicRangeControl,+ -- | Specify a value for the following Dolby Atmos setting: Left only\/Right+ -- only center mix (Lo\/Ro center). MediaConvert uses this value for+ -- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB).+ -- Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. Related+ -- setting: How the service uses this value depends on the value that you+ -- choose for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To+ -- have MediaConvert use this value, keep the default value, Custom+ -- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+ -- MediaConvert ignores Left only\/Right only center (LoRoCenterMixLevel).+ loRoCenterMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Specify a value for the following Dolby Atmos setting: Left only\/Right+ -- only (Lo\/Ro surround). MediaConvert uses this value for downmixing.+ -- Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB). Valid+ -- values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+ -- channel. Related setting: How the service uses this value depends on the+ -- value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).+ -- Related setting: To have MediaConvert use this value, keep the default+ -- value, Custom (SPECIFIED) for the setting Downmix control+ -- (DownmixControl). Otherwise, MediaConvert ignores Left only\/Right only+ -- surround (LoRoSurroundMixLevel).+ loRoSurroundMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Specify a value for the following Dolby Atmos setting: Left total\/Right+ -- total center mix (Lt\/Rt center). MediaConvert uses this value for+ -- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB)+ -- Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. Related+ -- setting: How the service uses this value depends on the value that you+ -- choose for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To+ -- have MediaConvert use this value, keep the default value, Custom+ -- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+ -- MediaConvert ignores Left total\/Right total center+ -- (LtRtCenterMixLevel).+ ltRtCenterMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Specify a value for the following Dolby Atmos setting: Left total\/Right+ -- total surround mix (Lt\/Rt surround). MediaConvert uses this value for+ -- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB)+ -- Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+ -- channel. Related setting: How the service uses this value depends on the+ -- value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).+ -- Related setting: To have MediaConvert use this value, keep the default+ -- value, Custom (SPECIFIED) for the setting Downmix control+ -- (DownmixControl). Otherwise, the service ignores Left total\/Right total+ -- surround (LtRtSurroundMixLevel).+ ltRtSurroundMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Choose how the service meters the loudness of your audio.+ meteringMode :: Prelude.Maybe Eac3AtmosMeteringMode,+ -- | This value is always 48000. It represents the sample rate in Hz.+ sampleRate :: Prelude.Maybe Prelude.Natural,+ -- | Specify the percentage of audio content, from 0% to 100%, that must be+ -- speech in order for the encoder to use the measured speech loudness as+ -- the overall program loudness. Default value: 15%+ speechThreshold :: Prelude.Maybe Prelude.Natural,+ -- | Choose how the service does stereo downmixing. Default value: Not+ -- indicated (ATMOS_STORAGE_DDP_DMIXMOD_NOT_INDICATED) Related setting: To+ -- have MediaConvert use this value, keep the default value, Custom+ -- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+ -- MediaConvert ignores Stereo downmix (StereoDownmix).+ stereoDownmix :: Prelude.Maybe Eac3AtmosStereoDownmix,+ -- | Specify whether your input audio has an additional center rear surround+ -- channel matrix encoded into your left and right surround channels.+ surroundExMode :: Prelude.Maybe Eac3AtmosSurroundExMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Eac3AtmosSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bitrate', 'eac3AtmosSettings_bitrate' - Specify the average bitrate for this output in bits per second. Valid+-- values: 384k, 448k, 576k, 640k, 768k, 1024k Default value: 448k Note+-- that MediaConvert supports 384k only with channel-based immersive (CBI)+-- 7.1.4 and 5.1.4 inputs. For CBI 9.1.6 and other input types,+-- MediaConvert automatically increases your output bitrate to 448k.+--+-- 'bitstreamMode', 'eac3AtmosSettings_bitstreamMode' - Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+-- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+--+-- 'codingMode', 'eac3AtmosSettings_codingMode' - The coding mode for Dolby Digital Plus JOC (Atmos).+--+-- 'dialogueIntelligence', 'eac3AtmosSettings_dialogueIntelligence' - Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue+-- analysis.+--+-- 'downmixControl', 'eac3AtmosSettings_downmixControl' - Specify whether MediaConvert should use any downmix metadata from your+-- input file. Keep the default value, Custom (SPECIFIED) to provide+-- downmix values in your job settings. Choose Follow source+-- (INITIALIZE_FROM_SOURCE) to use the metadata from your input. Related+-- settings--Use these settings to specify your downmix values: Left+-- only\/Right only surround (LoRoSurroundMixLevel), Left total\/Right+-- total surround (LtRtSurroundMixLevel), Left total\/Right total center+-- (LtRtCenterMixLevel), Left only\/Right only center (LoRoCenterMixLevel),+-- and Stereo downmix (StereoDownmix). When you keep Custom (SPECIFIED) for+-- Downmix control (DownmixControl) and you don\'t specify values for the+-- related settings, MediaConvert uses default values for those settings.+--+-- 'dynamicRangeCompressionLine', 'eac3AtmosSettings_dynamicRangeCompressionLine' - Choose the Dolby dynamic range control (DRC) profile that MediaConvert+-- uses when encoding the metadata in the Dolby stream for the line+-- operating mode. Default value: Film light+-- (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting: To have+-- MediaConvert use the value you specify here, keep the default value,+-- Custom (SPECIFIED) for the setting Dynamic range control+-- (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic range+-- compression line (DynamicRangeCompressionLine). For information about+-- the Dolby DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+--+-- 'dynamicRangeCompressionRf', 'eac3AtmosSettings_dynamicRangeCompressionRf' - Choose the Dolby dynamic range control (DRC) profile that MediaConvert+-- uses when encoding the metadata in the Dolby stream for the RF operating+-- mode. Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT)+-- Related setting: To have MediaConvert use the value you specify here,+-- keep the default value, Custom (SPECIFIED) for the setting Dynamic range+-- control (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic+-- range compression RF (DynamicRangeCompressionRf). For information about+-- the Dolby DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+--+-- 'dynamicRangeControl', 'eac3AtmosSettings_dynamicRangeControl' - Specify whether MediaConvert should use any dynamic range control+-- metadata from your input file. Keep the default value, Custom+-- (SPECIFIED), to provide dynamic range control values in your job+-- settings. Choose Follow source (INITIALIZE_FROM_SOURCE) to use the+-- metadata from your input. Related settings--Use these settings to+-- specify your dynamic range control values: Dynamic range compression+-- line (DynamicRangeCompressionLine) and Dynamic range compression RF+-- (DynamicRangeCompressionRf). When you keep the value Custom (SPECIFIED)+-- for Dynamic range control (DynamicRangeControl) and you don\'t specify+-- values for the related settings, MediaConvert uses default values for+-- those settings.+--+-- 'loRoCenterMixLevel', 'eac3AtmosSettings_loRoCenterMixLevel' - Specify a value for the following Dolby Atmos setting: Left only\/Right+-- only center mix (Lo\/Ro center). MediaConvert uses this value for+-- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB).+-- Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. Related+-- setting: How the service uses this value depends on the value that you+-- choose for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Left only\/Right only center (LoRoCenterMixLevel).+--+-- 'loRoSurroundMixLevel', 'eac3AtmosSettings_loRoSurroundMixLevel' - Specify a value for the following Dolby Atmos setting: Left only\/Right+-- only (Lo\/Ro surround). MediaConvert uses this value for downmixing.+-- Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB). Valid+-- values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+-- channel. Related setting: How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).+-- Related setting: To have MediaConvert use this value, keep the default+-- value, Custom (SPECIFIED) for the setting Downmix control+-- (DownmixControl). Otherwise, MediaConvert ignores Left only\/Right only+-- surround (LoRoSurroundMixLevel).+--+-- 'ltRtCenterMixLevel', 'eac3AtmosSettings_ltRtCenterMixLevel' - Specify a value for the following Dolby Atmos setting: Left total\/Right+-- total center mix (Lt\/Rt center). MediaConvert uses this value for+-- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB)+-- Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. Related+-- setting: How the service uses this value depends on the value that you+-- choose for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Left total\/Right total center+-- (LtRtCenterMixLevel).+--+-- 'ltRtSurroundMixLevel', 'eac3AtmosSettings_ltRtSurroundMixLevel' - Specify a value for the following Dolby Atmos setting: Left total\/Right+-- total surround mix (Lt\/Rt surround). MediaConvert uses this value for+-- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB)+-- Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+-- channel. Related setting: How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).+-- Related setting: To have MediaConvert use this value, keep the default+-- value, Custom (SPECIFIED) for the setting Downmix control+-- (DownmixControl). Otherwise, the service ignores Left total\/Right total+-- surround (LtRtSurroundMixLevel).+--+-- 'meteringMode', 'eac3AtmosSettings_meteringMode' - Choose how the service meters the loudness of your audio.+--+-- 'sampleRate', 'eac3AtmosSettings_sampleRate' - This value is always 48000. It represents the sample rate in Hz.+--+-- 'speechThreshold', 'eac3AtmosSettings_speechThreshold' - Specify the percentage of audio content, from 0% to 100%, that must be+-- speech in order for the encoder to use the measured speech loudness as+-- the overall program loudness. Default value: 15%+--+-- 'stereoDownmix', 'eac3AtmosSettings_stereoDownmix' - Choose how the service does stereo downmixing. Default value: Not+-- indicated (ATMOS_STORAGE_DDP_DMIXMOD_NOT_INDICATED) Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Stereo downmix (StereoDownmix).+--+-- 'surroundExMode', 'eac3AtmosSettings_surroundExMode' - Specify whether your input audio has an additional center rear surround+-- channel matrix encoded into your left and right surround channels.+newEac3AtmosSettings ::+ Eac3AtmosSettings+newEac3AtmosSettings =+ Eac3AtmosSettings'+ { bitrate = Prelude.Nothing,+ bitstreamMode = Prelude.Nothing,+ codingMode = Prelude.Nothing,+ dialogueIntelligence = Prelude.Nothing,+ downmixControl = Prelude.Nothing,+ dynamicRangeCompressionLine = Prelude.Nothing,+ dynamicRangeCompressionRf = Prelude.Nothing,+ dynamicRangeControl = Prelude.Nothing,+ loRoCenterMixLevel = Prelude.Nothing,+ loRoSurroundMixLevel = Prelude.Nothing,+ ltRtCenterMixLevel = Prelude.Nothing,+ ltRtSurroundMixLevel = Prelude.Nothing,+ meteringMode = Prelude.Nothing,+ sampleRate = Prelude.Nothing,+ speechThreshold = Prelude.Nothing,+ stereoDownmix = Prelude.Nothing,+ surroundExMode = Prelude.Nothing+ }++-- | Specify the average bitrate for this output in bits per second. Valid+-- values: 384k, 448k, 576k, 640k, 768k, 1024k Default value: 448k Note+-- that MediaConvert supports 384k only with channel-based immersive (CBI)+-- 7.1.4 and 5.1.4 inputs. For CBI 9.1.6 and other input types,+-- MediaConvert automatically increases your output bitrate to 448k.+eac3AtmosSettings_bitrate :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Natural)+eac3AtmosSettings_bitrate = Lens.lens (\Eac3AtmosSettings' {bitrate} -> bitrate) (\s@Eac3AtmosSettings' {} a -> s {bitrate = a} :: Eac3AtmosSettings)++-- | Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+-- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+eac3AtmosSettings_bitstreamMode :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosBitstreamMode)+eac3AtmosSettings_bitstreamMode = Lens.lens (\Eac3AtmosSettings' {bitstreamMode} -> bitstreamMode) (\s@Eac3AtmosSettings' {} a -> s {bitstreamMode = a} :: Eac3AtmosSettings)++-- | The coding mode for Dolby Digital Plus JOC (Atmos).+eac3AtmosSettings_codingMode :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosCodingMode)+eac3AtmosSettings_codingMode = Lens.lens (\Eac3AtmosSettings' {codingMode} -> codingMode) (\s@Eac3AtmosSettings' {} a -> s {codingMode = a} :: Eac3AtmosSettings)++-- | Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue+-- analysis.+eac3AtmosSettings_dialogueIntelligence :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosDialogueIntelligence)+eac3AtmosSettings_dialogueIntelligence = Lens.lens (\Eac3AtmosSettings' {dialogueIntelligence} -> dialogueIntelligence) (\s@Eac3AtmosSettings' {} a -> s {dialogueIntelligence = a} :: Eac3AtmosSettings)++-- | Specify whether MediaConvert should use any downmix metadata from your+-- input file. Keep the default value, Custom (SPECIFIED) to provide+-- downmix values in your job settings. Choose Follow source+-- (INITIALIZE_FROM_SOURCE) to use the metadata from your input. Related+-- settings--Use these settings to specify your downmix values: Left+-- only\/Right only surround (LoRoSurroundMixLevel), Left total\/Right+-- total surround (LtRtSurroundMixLevel), Left total\/Right total center+-- (LtRtCenterMixLevel), Left only\/Right only center (LoRoCenterMixLevel),+-- and Stereo downmix (StereoDownmix). When you keep Custom (SPECIFIED) for+-- Downmix control (DownmixControl) and you don\'t specify values for the+-- related settings, MediaConvert uses default values for those settings.+eac3AtmosSettings_downmixControl :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosDownmixControl)+eac3AtmosSettings_downmixControl = Lens.lens (\Eac3AtmosSettings' {downmixControl} -> downmixControl) (\s@Eac3AtmosSettings' {} a -> s {downmixControl = a} :: Eac3AtmosSettings)++-- | Choose the Dolby dynamic range control (DRC) profile that MediaConvert+-- uses when encoding the metadata in the Dolby stream for the line+-- operating mode. Default value: Film light+-- (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting: To have+-- MediaConvert use the value you specify here, keep the default value,+-- Custom (SPECIFIED) for the setting Dynamic range control+-- (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic range+-- compression line (DynamicRangeCompressionLine). For information about+-- the Dolby DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+eac3AtmosSettings_dynamicRangeCompressionLine :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosDynamicRangeCompressionLine)+eac3AtmosSettings_dynamicRangeCompressionLine = Lens.lens (\Eac3AtmosSettings' {dynamicRangeCompressionLine} -> dynamicRangeCompressionLine) (\s@Eac3AtmosSettings' {} a -> s {dynamicRangeCompressionLine = a} :: Eac3AtmosSettings)++-- | Choose the Dolby dynamic range control (DRC) profile that MediaConvert+-- uses when encoding the metadata in the Dolby stream for the RF operating+-- mode. Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT)+-- Related setting: To have MediaConvert use the value you specify here,+-- keep the default value, Custom (SPECIFIED) for the setting Dynamic range+-- control (DynamicRangeControl). Otherwise, MediaConvert ignores Dynamic+-- range compression RF (DynamicRangeCompressionRf). For information about+-- the Dolby DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+eac3AtmosSettings_dynamicRangeCompressionRf :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosDynamicRangeCompressionRf)+eac3AtmosSettings_dynamicRangeCompressionRf = Lens.lens (\Eac3AtmosSettings' {dynamicRangeCompressionRf} -> dynamicRangeCompressionRf) (\s@Eac3AtmosSettings' {} a -> s {dynamicRangeCompressionRf = a} :: Eac3AtmosSettings)++-- | Specify whether MediaConvert should use any dynamic range control+-- metadata from your input file. Keep the default value, Custom+-- (SPECIFIED), to provide dynamic range control values in your job+-- settings. Choose Follow source (INITIALIZE_FROM_SOURCE) to use the+-- metadata from your input. Related settings--Use these settings to+-- specify your dynamic range control values: Dynamic range compression+-- line (DynamicRangeCompressionLine) and Dynamic range compression RF+-- (DynamicRangeCompressionRf). When you keep the value Custom (SPECIFIED)+-- for Dynamic range control (DynamicRangeControl) and you don\'t specify+-- values for the related settings, MediaConvert uses default values for+-- those settings.+eac3AtmosSettings_dynamicRangeControl :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosDynamicRangeControl)+eac3AtmosSettings_dynamicRangeControl = Lens.lens (\Eac3AtmosSettings' {dynamicRangeControl} -> dynamicRangeControl) (\s@Eac3AtmosSettings' {} a -> s {dynamicRangeControl = a} :: Eac3AtmosSettings)++-- | Specify a value for the following Dolby Atmos setting: Left only\/Right+-- only center mix (Lo\/Ro center). MediaConvert uses this value for+-- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB).+-- Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. Related+-- setting: How the service uses this value depends on the value that you+-- choose for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Left only\/Right only center (LoRoCenterMixLevel).+eac3AtmosSettings_loRoCenterMixLevel :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Double)+eac3AtmosSettings_loRoCenterMixLevel = Lens.lens (\Eac3AtmosSettings' {loRoCenterMixLevel} -> loRoCenterMixLevel) (\s@Eac3AtmosSettings' {} a -> s {loRoCenterMixLevel = a} :: Eac3AtmosSettings)++-- | Specify a value for the following Dolby Atmos setting: Left only\/Right+-- only (Lo\/Ro surround). MediaConvert uses this value for downmixing.+-- Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB). Valid+-- values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+-- channel. Related setting: How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).+-- Related setting: To have MediaConvert use this value, keep the default+-- value, Custom (SPECIFIED) for the setting Downmix control+-- (DownmixControl). Otherwise, MediaConvert ignores Left only\/Right only+-- surround (LoRoSurroundMixLevel).+eac3AtmosSettings_loRoSurroundMixLevel :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Double)+eac3AtmosSettings_loRoSurroundMixLevel = Lens.lens (\Eac3AtmosSettings' {loRoSurroundMixLevel} -> loRoSurroundMixLevel) (\s@Eac3AtmosSettings' {} a -> s {loRoSurroundMixLevel = a} :: Eac3AtmosSettings)++-- | Specify a value for the following Dolby Atmos setting: Left total\/Right+-- total center mix (Lt\/Rt center). MediaConvert uses this value for+-- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB)+-- Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. Related+-- setting: How the service uses this value depends on the value that you+-- choose for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Left total\/Right total center+-- (LtRtCenterMixLevel).+eac3AtmosSettings_ltRtCenterMixLevel :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Double)+eac3AtmosSettings_ltRtCenterMixLevel = Lens.lens (\Eac3AtmosSettings' {ltRtCenterMixLevel} -> ltRtCenterMixLevel) (\s@Eac3AtmosSettings' {} a -> s {ltRtCenterMixLevel = a} :: Eac3AtmosSettings)++-- | Specify a value for the following Dolby Atmos setting: Left total\/Right+-- total surround mix (Lt\/Rt surround). MediaConvert uses this value for+-- downmixing. Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB)+-- Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+-- channel. Related setting: How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).+-- Related setting: To have MediaConvert use this value, keep the default+-- value, Custom (SPECIFIED) for the setting Downmix control+-- (DownmixControl). Otherwise, the service ignores Left total\/Right total+-- surround (LtRtSurroundMixLevel).+eac3AtmosSettings_ltRtSurroundMixLevel :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Double)+eac3AtmosSettings_ltRtSurroundMixLevel = Lens.lens (\Eac3AtmosSettings' {ltRtSurroundMixLevel} -> ltRtSurroundMixLevel) (\s@Eac3AtmosSettings' {} a -> s {ltRtSurroundMixLevel = a} :: Eac3AtmosSettings)++-- | Choose how the service meters the loudness of your audio.+eac3AtmosSettings_meteringMode :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosMeteringMode)+eac3AtmosSettings_meteringMode = Lens.lens (\Eac3AtmosSettings' {meteringMode} -> meteringMode) (\s@Eac3AtmosSettings' {} a -> s {meteringMode = a} :: Eac3AtmosSettings)++-- | This value is always 48000. It represents the sample rate in Hz.+eac3AtmosSettings_sampleRate :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Natural)+eac3AtmosSettings_sampleRate = Lens.lens (\Eac3AtmosSettings' {sampleRate} -> sampleRate) (\s@Eac3AtmosSettings' {} a -> s {sampleRate = a} :: Eac3AtmosSettings)++-- | Specify the percentage of audio content, from 0% to 100%, that must be+-- speech in order for the encoder to use the measured speech loudness as+-- the overall program loudness. Default value: 15%+eac3AtmosSettings_speechThreshold :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Prelude.Natural)+eac3AtmosSettings_speechThreshold = Lens.lens (\Eac3AtmosSettings' {speechThreshold} -> speechThreshold) (\s@Eac3AtmosSettings' {} a -> s {speechThreshold = a} :: Eac3AtmosSettings)++-- | Choose how the service does stereo downmixing. Default value: Not+-- indicated (ATMOS_STORAGE_DDP_DMIXMOD_NOT_INDICATED) Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Stereo downmix (StereoDownmix).+eac3AtmosSettings_stereoDownmix :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosStereoDownmix)+eac3AtmosSettings_stereoDownmix = Lens.lens (\Eac3AtmosSettings' {stereoDownmix} -> stereoDownmix) (\s@Eac3AtmosSettings' {} a -> s {stereoDownmix = a} :: Eac3AtmosSettings)++-- | Specify whether your input audio has an additional center rear surround+-- channel matrix encoded into your left and right surround channels.+eac3AtmosSettings_surroundExMode :: Lens.Lens' Eac3AtmosSettings (Prelude.Maybe Eac3AtmosSurroundExMode)+eac3AtmosSettings_surroundExMode = Lens.lens (\Eac3AtmosSettings' {surroundExMode} -> surroundExMode) (\s@Eac3AtmosSettings' {} a -> s {surroundExMode = a} :: Eac3AtmosSettings)++instance Data.FromJSON Eac3AtmosSettings where+ parseJSON =+ Data.withObject+ "Eac3AtmosSettings"+ ( \x ->+ Eac3AtmosSettings'+ Prelude.<$> (x Data..:? "bitrate")+ Prelude.<*> (x Data..:? "bitstreamMode")+ Prelude.<*> (x Data..:? "codingMode")+ Prelude.<*> (x Data..:? "dialogueIntelligence")+ Prelude.<*> (x Data..:? "downmixControl")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionLine")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionRf")+ Prelude.<*> (x Data..:? "dynamicRangeControl")+ Prelude.<*> (x Data..:? "loRoCenterMixLevel")+ Prelude.<*> (x Data..:? "loRoSurroundMixLevel")+ Prelude.<*> (x Data..:? "ltRtCenterMixLevel")+ Prelude.<*> (x Data..:? "ltRtSurroundMixLevel")+ Prelude.<*> (x Data..:? "meteringMode")+ Prelude.<*> (x Data..:? "sampleRate")+ Prelude.<*> (x Data..:? "speechThreshold")+ Prelude.<*> (x Data..:? "stereoDownmix")+ Prelude.<*> (x Data..:? "surroundExMode")+ )++instance Prelude.Hashable Eac3AtmosSettings where+ hashWithSalt _salt Eac3AtmosSettings' {..} =+ _salt+ `Prelude.hashWithSalt` bitrate+ `Prelude.hashWithSalt` bitstreamMode+ `Prelude.hashWithSalt` codingMode+ `Prelude.hashWithSalt` dialogueIntelligence+ `Prelude.hashWithSalt` downmixControl+ `Prelude.hashWithSalt` dynamicRangeCompressionLine+ `Prelude.hashWithSalt` dynamicRangeCompressionRf+ `Prelude.hashWithSalt` dynamicRangeControl+ `Prelude.hashWithSalt` loRoCenterMixLevel+ `Prelude.hashWithSalt` loRoSurroundMixLevel+ `Prelude.hashWithSalt` ltRtCenterMixLevel+ `Prelude.hashWithSalt` ltRtSurroundMixLevel+ `Prelude.hashWithSalt` meteringMode+ `Prelude.hashWithSalt` sampleRate+ `Prelude.hashWithSalt` speechThreshold+ `Prelude.hashWithSalt` stereoDownmix+ `Prelude.hashWithSalt` surroundExMode++instance Prelude.NFData Eac3AtmosSettings where+ rnf Eac3AtmosSettings' {..} =+ Prelude.rnf bitrate+ `Prelude.seq` Prelude.rnf bitstreamMode+ `Prelude.seq` Prelude.rnf codingMode+ `Prelude.seq` Prelude.rnf dialogueIntelligence+ `Prelude.seq` Prelude.rnf downmixControl+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionLine+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionRf+ `Prelude.seq` Prelude.rnf dynamicRangeControl+ `Prelude.seq` Prelude.rnf loRoCenterMixLevel+ `Prelude.seq` Prelude.rnf loRoSurroundMixLevel+ `Prelude.seq` Prelude.rnf ltRtCenterMixLevel+ `Prelude.seq` Prelude.rnf ltRtSurroundMixLevel+ `Prelude.seq` Prelude.rnf meteringMode+ `Prelude.seq` Prelude.rnf sampleRate+ `Prelude.seq` Prelude.rnf speechThreshold+ `Prelude.seq` Prelude.rnf stereoDownmix+ `Prelude.seq` Prelude.rnf surroundExMode++instance Data.ToJSON Eac3AtmosSettings where+ toJSON Eac3AtmosSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bitrate" Data..=) Prelude.<$> bitrate,+ ("bitstreamMode" Data..=) Prelude.<$> bitstreamMode,+ ("codingMode" Data..=) Prelude.<$> codingMode,+ ("dialogueIntelligence" Data..=)+ Prelude.<$> dialogueIntelligence,+ ("downmixControl" Data..=)+ Prelude.<$> downmixControl,+ ("dynamicRangeCompressionLine" Data..=)+ Prelude.<$> dynamicRangeCompressionLine,+ ("dynamicRangeCompressionRf" Data..=)+ Prelude.<$> dynamicRangeCompressionRf,+ ("dynamicRangeControl" Data..=)+ Prelude.<$> dynamicRangeControl,+ ("loRoCenterMixLevel" Data..=)+ Prelude.<$> loRoCenterMixLevel,+ ("loRoSurroundMixLevel" Data..=)+ Prelude.<$> loRoSurroundMixLevel,+ ("ltRtCenterMixLevel" Data..=)+ Prelude.<$> ltRtCenterMixLevel,+ ("ltRtSurroundMixLevel" Data..=)+ Prelude.<$> ltRtSurroundMixLevel,+ ("meteringMode" Data..=) Prelude.<$> meteringMode,+ ("sampleRate" Data..=) Prelude.<$> sampleRate,+ ("speechThreshold" Data..=)+ Prelude.<$> speechThreshold,+ ("stereoDownmix" Data..=) Prelude.<$> stereoDownmix,+ ("surroundExMode" Data..=)+ Prelude.<$> surroundExMode+ ]+ )
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosStereoDownmix+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosStereoDownmix+ ( Eac3AtmosStereoDownmix+ ( ..,+ Eac3AtmosStereoDownmix_DPL2,+ Eac3AtmosStereoDownmix_NOT_INDICATED,+ Eac3AtmosStereoDownmix_STEREO,+ Eac3AtmosStereoDownmix_SURROUND+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose how the service does stereo downmixing. Default value: Not+-- indicated (ATMOS_STORAGE_DDP_DMIXMOD_NOT_INDICATED) Related setting: To+-- have MediaConvert use this value, keep the default value, Custom+-- (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,+-- MediaConvert ignores Stereo downmix (StereoDownmix).+newtype Eac3AtmosStereoDownmix = Eac3AtmosStereoDownmix'+ { fromEac3AtmosStereoDownmix ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosStereoDownmix_DPL2 :: Eac3AtmosStereoDownmix+pattern Eac3AtmosStereoDownmix_DPL2 = Eac3AtmosStereoDownmix' "DPL2"++pattern Eac3AtmosStereoDownmix_NOT_INDICATED :: Eac3AtmosStereoDownmix+pattern Eac3AtmosStereoDownmix_NOT_INDICATED = Eac3AtmosStereoDownmix' "NOT_INDICATED"++pattern Eac3AtmosStereoDownmix_STEREO :: Eac3AtmosStereoDownmix+pattern Eac3AtmosStereoDownmix_STEREO = Eac3AtmosStereoDownmix' "STEREO"++pattern Eac3AtmosStereoDownmix_SURROUND :: Eac3AtmosStereoDownmix+pattern Eac3AtmosStereoDownmix_SURROUND = Eac3AtmosStereoDownmix' "SURROUND"++{-# COMPLETE+ Eac3AtmosStereoDownmix_DPL2,+ Eac3AtmosStereoDownmix_NOT_INDICATED,+ Eac3AtmosStereoDownmix_STEREO,+ Eac3AtmosStereoDownmix_SURROUND,+ Eac3AtmosStereoDownmix'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AtmosSurroundExMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AtmosSurroundExMode+ ( Eac3AtmosSurroundExMode+ ( ..,+ Eac3AtmosSurroundExMode_DISABLED,+ Eac3AtmosSurroundExMode_ENABLED,+ Eac3AtmosSurroundExMode_NOT_INDICATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether your input audio has an additional center rear surround+-- channel matrix encoded into your left and right surround channels.+newtype Eac3AtmosSurroundExMode = Eac3AtmosSurroundExMode'+ { fromEac3AtmosSurroundExMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AtmosSurroundExMode_DISABLED :: Eac3AtmosSurroundExMode+pattern Eac3AtmosSurroundExMode_DISABLED = Eac3AtmosSurroundExMode' "DISABLED"++pattern Eac3AtmosSurroundExMode_ENABLED :: Eac3AtmosSurroundExMode+pattern Eac3AtmosSurroundExMode_ENABLED = Eac3AtmosSurroundExMode' "ENABLED"++pattern Eac3AtmosSurroundExMode_NOT_INDICATED :: Eac3AtmosSurroundExMode+pattern Eac3AtmosSurroundExMode_NOT_INDICATED = Eac3AtmosSurroundExMode' "NOT_INDICATED"++{-# COMPLETE+ Eac3AtmosSurroundExMode_DISABLED,+ Eac3AtmosSurroundExMode_ENABLED,+ Eac3AtmosSurroundExMode_NOT_INDICATED,+ Eac3AtmosSurroundExMode'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3AttenuationControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3AttenuationControl+ ( Eac3AttenuationControl+ ( ..,+ Eac3AttenuationControl_ATTENUATE_3_DB,+ Eac3AttenuationControl_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround+-- channels. Only used for 3\/2 coding mode.+newtype Eac3AttenuationControl = Eac3AttenuationControl'+ { fromEac3AttenuationControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3AttenuationControl_ATTENUATE_3_DB :: Eac3AttenuationControl+pattern Eac3AttenuationControl_ATTENUATE_3_DB = Eac3AttenuationControl' "ATTENUATE_3_DB"++pattern Eac3AttenuationControl_NONE :: Eac3AttenuationControl+pattern Eac3AttenuationControl_NONE = Eac3AttenuationControl' "NONE"++{-# COMPLETE+ Eac3AttenuationControl_ATTENUATE_3_DB,+ Eac3AttenuationControl_NONE,+ Eac3AttenuationControl'+ #-}
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3BitstreamMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3BitstreamMode+ ( Eac3BitstreamMode+ ( ..,+ Eac3BitstreamMode_COMMENTARY,+ Eac3BitstreamMode_COMPLETE_MAIN,+ Eac3BitstreamMode_EMERGENCY,+ Eac3BitstreamMode_HEARING_IMPAIRED,+ Eac3BitstreamMode_VISUALLY_IMPAIRED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+-- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+newtype Eac3BitstreamMode = Eac3BitstreamMode'+ { fromEac3BitstreamMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3BitstreamMode_COMMENTARY :: Eac3BitstreamMode+pattern Eac3BitstreamMode_COMMENTARY = Eac3BitstreamMode' "COMMENTARY"++pattern Eac3BitstreamMode_COMPLETE_MAIN :: Eac3BitstreamMode+pattern Eac3BitstreamMode_COMPLETE_MAIN = Eac3BitstreamMode' "COMPLETE_MAIN"++pattern Eac3BitstreamMode_EMERGENCY :: Eac3BitstreamMode+pattern Eac3BitstreamMode_EMERGENCY = Eac3BitstreamMode' "EMERGENCY"++pattern Eac3BitstreamMode_HEARING_IMPAIRED :: Eac3BitstreamMode+pattern Eac3BitstreamMode_HEARING_IMPAIRED = Eac3BitstreamMode' "HEARING_IMPAIRED"++pattern Eac3BitstreamMode_VISUALLY_IMPAIRED :: Eac3BitstreamMode+pattern Eac3BitstreamMode_VISUALLY_IMPAIRED = Eac3BitstreamMode' "VISUALLY_IMPAIRED"++{-# COMPLETE+ Eac3BitstreamMode_COMMENTARY,+ Eac3BitstreamMode_COMPLETE_MAIN,+ Eac3BitstreamMode_EMERGENCY,+ Eac3BitstreamMode_HEARING_IMPAIRED,+ Eac3BitstreamMode_VISUALLY_IMPAIRED,+ Eac3BitstreamMode'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3CodingMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3CodingMode+ ( Eac3CodingMode+ ( ..,+ Eac3CodingMode_CODING_MODE_1_0,+ Eac3CodingMode_CODING_MODE_2_0,+ Eac3CodingMode_CODING_MODE_3_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Dolby Digital Plus coding mode. Determines number of channels.+newtype Eac3CodingMode = Eac3CodingMode'+ { fromEac3CodingMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3CodingMode_CODING_MODE_1_0 :: Eac3CodingMode+pattern Eac3CodingMode_CODING_MODE_1_0 = Eac3CodingMode' "CODING_MODE_1_0"++pattern Eac3CodingMode_CODING_MODE_2_0 :: Eac3CodingMode+pattern Eac3CodingMode_CODING_MODE_2_0 = Eac3CodingMode' "CODING_MODE_2_0"++pattern Eac3CodingMode_CODING_MODE_3_2 :: Eac3CodingMode+pattern Eac3CodingMode_CODING_MODE_3_2 = Eac3CodingMode' "CODING_MODE_3_2"++{-# COMPLETE+ Eac3CodingMode_CODING_MODE_1_0,+ Eac3CodingMode_CODING_MODE_2_0,+ Eac3CodingMode_CODING_MODE_3_2,+ Eac3CodingMode'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3DcFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3DcFilter+ ( Eac3DcFilter+ ( ..,+ Eac3DcFilter_DISABLED,+ Eac3DcFilter_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Activates a DC highpass filter for all input channels.+newtype Eac3DcFilter = Eac3DcFilter'+ { fromEac3DcFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3DcFilter_DISABLED :: Eac3DcFilter+pattern Eac3DcFilter_DISABLED = Eac3DcFilter' "DISABLED"++pattern Eac3DcFilter_ENABLED :: Eac3DcFilter+pattern Eac3DcFilter_ENABLED = Eac3DcFilter' "ENABLED"++{-# COMPLETE+ Eac3DcFilter_DISABLED,+ Eac3DcFilter_ENABLED,+ Eac3DcFilter'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionLine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionLine+ ( Eac3DynamicRangeCompressionLine+ ( ..,+ Eac3DynamicRangeCompressionLine_FILM_LIGHT,+ Eac3DynamicRangeCompressionLine_FILM_STANDARD,+ Eac3DynamicRangeCompressionLine_MUSIC_LIGHT,+ Eac3DynamicRangeCompressionLine_MUSIC_STANDARD,+ Eac3DynamicRangeCompressionLine_NONE,+ Eac3DynamicRangeCompressionLine_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the line operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+newtype Eac3DynamicRangeCompressionLine = Eac3DynamicRangeCompressionLine'+ { fromEac3DynamicRangeCompressionLine ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3DynamicRangeCompressionLine_FILM_LIGHT :: Eac3DynamicRangeCompressionLine+pattern Eac3DynamicRangeCompressionLine_FILM_LIGHT = Eac3DynamicRangeCompressionLine' "FILM_LIGHT"++pattern Eac3DynamicRangeCompressionLine_FILM_STANDARD :: Eac3DynamicRangeCompressionLine+pattern Eac3DynamicRangeCompressionLine_FILM_STANDARD = Eac3DynamicRangeCompressionLine' "FILM_STANDARD"++pattern Eac3DynamicRangeCompressionLine_MUSIC_LIGHT :: Eac3DynamicRangeCompressionLine+pattern Eac3DynamicRangeCompressionLine_MUSIC_LIGHT = Eac3DynamicRangeCompressionLine' "MUSIC_LIGHT"++pattern Eac3DynamicRangeCompressionLine_MUSIC_STANDARD :: Eac3DynamicRangeCompressionLine+pattern Eac3DynamicRangeCompressionLine_MUSIC_STANDARD = Eac3DynamicRangeCompressionLine' "MUSIC_STANDARD"++pattern Eac3DynamicRangeCompressionLine_NONE :: Eac3DynamicRangeCompressionLine+pattern Eac3DynamicRangeCompressionLine_NONE = Eac3DynamicRangeCompressionLine' "NONE"++pattern Eac3DynamicRangeCompressionLine_SPEECH :: Eac3DynamicRangeCompressionLine+pattern Eac3DynamicRangeCompressionLine_SPEECH = Eac3DynamicRangeCompressionLine' "SPEECH"++{-# COMPLETE+ Eac3DynamicRangeCompressionLine_FILM_LIGHT,+ Eac3DynamicRangeCompressionLine_FILM_STANDARD,+ Eac3DynamicRangeCompressionLine_MUSIC_LIGHT,+ Eac3DynamicRangeCompressionLine_MUSIC_STANDARD,+ Eac3DynamicRangeCompressionLine_NONE,+ Eac3DynamicRangeCompressionLine_SPEECH,+ Eac3DynamicRangeCompressionLine'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionRf+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionRf+ ( Eac3DynamicRangeCompressionRf+ ( ..,+ Eac3DynamicRangeCompressionRf_FILM_LIGHT,+ Eac3DynamicRangeCompressionRf_FILM_STANDARD,+ Eac3DynamicRangeCompressionRf_MUSIC_LIGHT,+ Eac3DynamicRangeCompressionRf_MUSIC_STANDARD,+ Eac3DynamicRangeCompressionRf_NONE,+ Eac3DynamicRangeCompressionRf_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the RF operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+newtype Eac3DynamicRangeCompressionRf = Eac3DynamicRangeCompressionRf'+ { fromEac3DynamicRangeCompressionRf ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3DynamicRangeCompressionRf_FILM_LIGHT :: Eac3DynamicRangeCompressionRf+pattern Eac3DynamicRangeCompressionRf_FILM_LIGHT = Eac3DynamicRangeCompressionRf' "FILM_LIGHT"++pattern Eac3DynamicRangeCompressionRf_FILM_STANDARD :: Eac3DynamicRangeCompressionRf+pattern Eac3DynamicRangeCompressionRf_FILM_STANDARD = Eac3DynamicRangeCompressionRf' "FILM_STANDARD"++pattern Eac3DynamicRangeCompressionRf_MUSIC_LIGHT :: Eac3DynamicRangeCompressionRf+pattern Eac3DynamicRangeCompressionRf_MUSIC_LIGHT = Eac3DynamicRangeCompressionRf' "MUSIC_LIGHT"++pattern Eac3DynamicRangeCompressionRf_MUSIC_STANDARD :: Eac3DynamicRangeCompressionRf+pattern Eac3DynamicRangeCompressionRf_MUSIC_STANDARD = Eac3DynamicRangeCompressionRf' "MUSIC_STANDARD"++pattern Eac3DynamicRangeCompressionRf_NONE :: Eac3DynamicRangeCompressionRf+pattern Eac3DynamicRangeCompressionRf_NONE = Eac3DynamicRangeCompressionRf' "NONE"++pattern Eac3DynamicRangeCompressionRf_SPEECH :: Eac3DynamicRangeCompressionRf+pattern Eac3DynamicRangeCompressionRf_SPEECH = Eac3DynamicRangeCompressionRf' "SPEECH"++{-# COMPLETE+ Eac3DynamicRangeCompressionRf_FILM_LIGHT,+ Eac3DynamicRangeCompressionRf_FILM_STANDARD,+ Eac3DynamicRangeCompressionRf_MUSIC_LIGHT,+ Eac3DynamicRangeCompressionRf_MUSIC_STANDARD,+ Eac3DynamicRangeCompressionRf_NONE,+ Eac3DynamicRangeCompressionRf_SPEECH,+ Eac3DynamicRangeCompressionRf'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3LfeControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3LfeControl+ ( Eac3LfeControl+ ( ..,+ Eac3LfeControl_LFE,+ Eac3LfeControl_NO_LFE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When encoding 3\/2 audio, controls whether the LFE channel is enabled+newtype Eac3LfeControl = Eac3LfeControl'+ { fromEac3LfeControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3LfeControl_LFE :: Eac3LfeControl+pattern Eac3LfeControl_LFE = Eac3LfeControl' "LFE"++pattern Eac3LfeControl_NO_LFE :: Eac3LfeControl+pattern Eac3LfeControl_NO_LFE = Eac3LfeControl' "NO_LFE"++{-# COMPLETE+ Eac3LfeControl_LFE,+ Eac3LfeControl_NO_LFE,+ Eac3LfeControl'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3LfeFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3LfeFilter+ ( Eac3LfeFilter+ ( ..,+ Eac3LfeFilter_DISABLED,+ Eac3LfeFilter_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+-- Only valid with 3_2_LFE coding mode.+newtype Eac3LfeFilter = Eac3LfeFilter'+ { fromEac3LfeFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3LfeFilter_DISABLED :: Eac3LfeFilter+pattern Eac3LfeFilter_DISABLED = Eac3LfeFilter' "DISABLED"++pattern Eac3LfeFilter_ENABLED :: Eac3LfeFilter+pattern Eac3LfeFilter_ENABLED = Eac3LfeFilter' "ENABLED"++{-# COMPLETE+ Eac3LfeFilter_DISABLED,+ Eac3LfeFilter_ENABLED,+ Eac3LfeFilter'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3MetadataControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3MetadataControl+ ( Eac3MetadataControl+ ( ..,+ Eac3MetadataControl_FOLLOW_INPUT,+ Eac3MetadataControl_USE_CONFIGURED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+-- DD+, or DolbyE decoder that supplied this audio data. If audio was not+-- supplied from one of these streams, then the static metadata settings+-- will be used.+newtype Eac3MetadataControl = Eac3MetadataControl'+ { fromEac3MetadataControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3MetadataControl_FOLLOW_INPUT :: Eac3MetadataControl+pattern Eac3MetadataControl_FOLLOW_INPUT = Eac3MetadataControl' "FOLLOW_INPUT"++pattern Eac3MetadataControl_USE_CONFIGURED :: Eac3MetadataControl+pattern Eac3MetadataControl_USE_CONFIGURED = Eac3MetadataControl' "USE_CONFIGURED"++{-# COMPLETE+ Eac3MetadataControl_FOLLOW_INPUT,+ Eac3MetadataControl_USE_CONFIGURED,+ Eac3MetadataControl'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3PassthroughControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3PassthroughControl+ ( Eac3PassthroughControl+ ( ..,+ Eac3PassthroughControl_NO_PASSTHROUGH,+ Eac3PassthroughControl_WHEN_POSSIBLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it+-- is present on the input. this detection is dynamic over the life of the+-- transcode. Inputs that alternate between DD+ and non-DD+ content will+-- have a consistent DD+ output as the system alternates between+-- passthrough and encoding.+newtype Eac3PassthroughControl = Eac3PassthroughControl'+ { fromEac3PassthroughControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3PassthroughControl_NO_PASSTHROUGH :: Eac3PassthroughControl+pattern Eac3PassthroughControl_NO_PASSTHROUGH = Eac3PassthroughControl' "NO_PASSTHROUGH"++pattern Eac3PassthroughControl_WHEN_POSSIBLE :: Eac3PassthroughControl+pattern Eac3PassthroughControl_WHEN_POSSIBLE = Eac3PassthroughControl' "WHEN_POSSIBLE"++{-# COMPLETE+ Eac3PassthroughControl_NO_PASSTHROUGH,+ Eac3PassthroughControl_WHEN_POSSIBLE,+ Eac3PassthroughControl'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3PhaseControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3PhaseControl+ ( Eac3PhaseControl+ ( ..,+ Eac3PhaseControl_NO_SHIFT,+ Eac3PhaseControl_SHIFT_90_DEGREES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Controls the amount of phase-shift applied to the surround channels.+-- Only used for 3\/2 coding mode.+newtype Eac3PhaseControl = Eac3PhaseControl'+ { fromEac3PhaseControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3PhaseControl_NO_SHIFT :: Eac3PhaseControl+pattern Eac3PhaseControl_NO_SHIFT = Eac3PhaseControl' "NO_SHIFT"++pattern Eac3PhaseControl_SHIFT_90_DEGREES :: Eac3PhaseControl+pattern Eac3PhaseControl_SHIFT_90_DEGREES = Eac3PhaseControl' "SHIFT_90_DEGREES"++{-# COMPLETE+ Eac3PhaseControl_NO_SHIFT,+ Eac3PhaseControl_SHIFT_90_DEGREES,+ Eac3PhaseControl'+ #-}
@@ -0,0 +1,581 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3Settings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3Settings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.Eac3AttenuationControl+import Amazonka.MediaConvert.Types.Eac3BitstreamMode+import Amazonka.MediaConvert.Types.Eac3CodingMode+import Amazonka.MediaConvert.Types.Eac3DcFilter+import Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionLine+import Amazonka.MediaConvert.Types.Eac3DynamicRangeCompressionRf+import Amazonka.MediaConvert.Types.Eac3LfeControl+import Amazonka.MediaConvert.Types.Eac3LfeFilter+import Amazonka.MediaConvert.Types.Eac3MetadataControl+import Amazonka.MediaConvert.Types.Eac3PassthroughControl+import Amazonka.MediaConvert.Types.Eac3PhaseControl+import Amazonka.MediaConvert.Types.Eac3StereoDownmix+import Amazonka.MediaConvert.Types.Eac3SurroundExMode+import Amazonka.MediaConvert.Types.Eac3SurroundMode+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (AudioDescriptions)>(CodecSettings)+-- to the value EAC3.+--+-- /See:/ 'newEac3Settings' smart constructor.+data Eac3Settings = Eac3Settings'+ { -- | If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround+ -- channels. Only used for 3\/2 coding mode.+ attenuationControl :: Prelude.Maybe Eac3AttenuationControl,+ -- | Specify the average bitrate in bits per second. The bitrate that you+ -- specify must be a multiple of 8000 within the allowed minimum and+ -- maximum values. Leave blank to use the default bitrate for the coding+ -- mode you select according ETSI TS 102 366. Valid bitrates for coding+ -- mode 1\/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid+ -- bitrates for coding mode 2\/0: Default: 192000. Minimum: 96000. Maximum:+ -- 3024000. Valid bitrates for coding mode 3\/2: Default: 384000. Minimum:+ -- 192000. Maximum: 3024000.+ bitrate :: Prelude.Maybe Prelude.Natural,+ -- | Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+ -- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+ -- (Annex E).+ bitstreamMode :: Prelude.Maybe Eac3BitstreamMode,+ -- | Dolby Digital Plus coding mode. Determines number of channels.+ codingMode :: Prelude.Maybe Eac3CodingMode,+ -- | Activates a DC highpass filter for all input channels.+ dcFilter :: Prelude.Maybe Eac3DcFilter,+ -- | Sets the dialnorm for the output. If blank and input audio is Dolby+ -- Digital Plus, dialnorm will be passed through.+ dialnorm :: Prelude.Maybe Prelude.Natural,+ -- | Choose the Dolby Digital dynamic range control (DRC) profile that+ -- MediaConvert uses when encoding the metadata in the Dolby Digital stream+ -- for the line operating mode. Related setting: When you use this setting,+ -- MediaConvert ignores any value you provide for Dynamic range compression+ -- profile (DynamicRangeCompressionProfile). For information about the+ -- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+ -- Control chapter of the Dolby Metadata Guide at+ -- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ dynamicRangeCompressionLine :: Prelude.Maybe Eac3DynamicRangeCompressionLine,+ -- | Choose the Dolby Digital dynamic range control (DRC) profile that+ -- MediaConvert uses when encoding the metadata in the Dolby Digital stream+ -- for the RF operating mode. Related setting: When you use this setting,+ -- MediaConvert ignores any value you provide for Dynamic range compression+ -- profile (DynamicRangeCompressionProfile). For information about the+ -- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+ -- Control chapter of the Dolby Metadata Guide at+ -- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+ dynamicRangeCompressionRf :: Prelude.Maybe Eac3DynamicRangeCompressionRf,+ -- | When encoding 3\/2 audio, controls whether the LFE channel is enabled+ lfeControl :: Prelude.Maybe Eac3LfeControl,+ -- | Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+ -- Only valid with 3_2_LFE coding mode.+ lfeFilter :: Prelude.Maybe Eac3LfeFilter,+ -- | Specify a value for the following Dolby Digital Plus setting: Left+ -- only\/Right only center mix (Lo\/Ro center). MediaConvert uses this+ -- value for downmixing. How the service uses this value depends on the+ -- value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+ -- values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60+ -- mutes the channel. This setting applies only if you keep the default+ -- value of 3\/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding+ -- mode (Eac3CodingMode). If you choose a different value for Coding mode,+ -- the service ignores Left only\/Right only center (loRoCenterMixLevel).+ loRoCenterMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Specify a value for the following Dolby Digital Plus setting: Left+ -- only\/Right only (Lo\/Ro surround). MediaConvert uses this value for+ -- downmixing. How the service uses this value depends on the value that+ -- you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5,+ -- -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting+ -- applies only if you keep the default value of 3\/2 - L, R, C, Ls, Rs+ -- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+ -- choose a different value for Coding mode, the service ignores Left+ -- only\/Right only surround (loRoSurroundMixLevel).+ loRoSurroundMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Specify a value for the following Dolby Digital Plus setting: Left+ -- total\/Right total center mix (Lt\/Rt center). MediaConvert uses this+ -- value for downmixing. How the service uses this value depends on the+ -- value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+ -- values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60+ -- mutes the channel. This setting applies only if you keep the default+ -- value of 3\/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding+ -- mode (Eac3CodingMode). If you choose a different value for Coding mode,+ -- the service ignores Left total\/Right total center (ltRtCenterMixLevel).+ ltRtCenterMixLevel :: Prelude.Maybe Prelude.Double,+ -- | Specify a value for the following Dolby Digital Plus setting: Left+ -- total\/Right total surround mix (Lt\/Rt surround). MediaConvert uses+ -- this value for downmixing. How the service uses this value depends on+ -- the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+ -- values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+ -- channel. This setting applies only if you keep the default value of 3\/2+ -- - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode+ -- (Eac3CodingMode). If you choose a different value for Coding mode, the+ -- service ignores Left total\/Right total surround (ltRtSurroundMixLevel).+ ltRtSurroundMixLevel :: Prelude.Maybe Prelude.Double,+ -- | When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+ -- DD+, or DolbyE decoder that supplied this audio data. If audio was not+ -- supplied from one of these streams, then the static metadata settings+ -- will be used.+ metadataControl :: Prelude.Maybe Eac3MetadataControl,+ -- | When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it+ -- is present on the input. this detection is dynamic over the life of the+ -- transcode. Inputs that alternate between DD+ and non-DD+ content will+ -- have a consistent DD+ output as the system alternates between+ -- passthrough and encoding.+ passthroughControl :: Prelude.Maybe Eac3PassthroughControl,+ -- | Controls the amount of phase-shift applied to the surround channels.+ -- Only used for 3\/2 coding mode.+ phaseControl :: Prelude.Maybe Eac3PhaseControl,+ -- | This value is always 48000. It represents the sample rate in Hz.+ sampleRate :: Prelude.Maybe Prelude.Natural,+ -- | Choose how the service does stereo downmixing. This setting only applies+ -- if you keep the default value of 3\/2 - L, R, C, Ls, Rs+ -- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+ -- choose a different value for Coding mode, the service ignores Stereo+ -- downmix (Eac3StereoDownmix).+ stereoDownmix :: Prelude.Maybe Eac3StereoDownmix,+ -- | When encoding 3\/2 audio, sets whether an extra center back surround+ -- channel is matrix encoded into the left and right surround channels.+ surroundExMode :: Prelude.Maybe Eac3SurroundExMode,+ -- | When encoding 2\/0 audio, sets whether Dolby Surround is matrix encoded+ -- into the two channels.+ surroundMode :: Prelude.Maybe Eac3SurroundMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Eac3Settings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attenuationControl', 'eac3Settings_attenuationControl' - If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround+-- channels. Only used for 3\/2 coding mode.+--+-- 'bitrate', 'eac3Settings_bitrate' - Specify the average bitrate in bits per second. The bitrate that you+-- specify must be a multiple of 8000 within the allowed minimum and+-- maximum values. Leave blank to use the default bitrate for the coding+-- mode you select according ETSI TS 102 366. Valid bitrates for coding+-- mode 1\/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid+-- bitrates for coding mode 2\/0: Default: 192000. Minimum: 96000. Maximum:+-- 3024000. Valid bitrates for coding mode 3\/2: Default: 384000. Minimum:+-- 192000. Maximum: 3024000.+--+-- 'bitstreamMode', 'eac3Settings_bitstreamMode' - Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+-- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+--+-- 'codingMode', 'eac3Settings_codingMode' - Dolby Digital Plus coding mode. Determines number of channels.+--+-- 'dcFilter', 'eac3Settings_dcFilter' - Activates a DC highpass filter for all input channels.+--+-- 'dialnorm', 'eac3Settings_dialnorm' - Sets the dialnorm for the output. If blank and input audio is Dolby+-- Digital Plus, dialnorm will be passed through.+--+-- 'dynamicRangeCompressionLine', 'eac3Settings_dynamicRangeCompressionLine' - Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the line operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+--+-- 'dynamicRangeCompressionRf', 'eac3Settings_dynamicRangeCompressionRf' - Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the RF operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+--+-- 'lfeControl', 'eac3Settings_lfeControl' - When encoding 3\/2 audio, controls whether the LFE channel is enabled+--+-- 'lfeFilter', 'eac3Settings_lfeFilter' - Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+-- Only valid with 3_2_LFE coding mode.+--+-- 'loRoCenterMixLevel', 'eac3Settings_loRoCenterMixLevel' - Specify a value for the following Dolby Digital Plus setting: Left+-- only\/Right only center mix (Lo\/Ro center). MediaConvert uses this+-- value for downmixing. How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+-- values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60+-- mutes the channel. This setting applies only if you keep the default+-- value of 3\/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding+-- mode (Eac3CodingMode). If you choose a different value for Coding mode,+-- the service ignores Left only\/Right only center (loRoCenterMixLevel).+--+-- 'loRoSurroundMixLevel', 'eac3Settings_loRoSurroundMixLevel' - Specify a value for the following Dolby Digital Plus setting: Left+-- only\/Right only (Lo\/Ro surround). MediaConvert uses this value for+-- downmixing. How the service uses this value depends on the value that+-- you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5,+-- -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting+-- applies only if you keep the default value of 3\/2 - L, R, C, Ls, Rs+-- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+-- choose a different value for Coding mode, the service ignores Left+-- only\/Right only surround (loRoSurroundMixLevel).+--+-- 'ltRtCenterMixLevel', 'eac3Settings_ltRtCenterMixLevel' - Specify a value for the following Dolby Digital Plus setting: Left+-- total\/Right total center mix (Lt\/Rt center). MediaConvert uses this+-- value for downmixing. How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+-- values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60+-- mutes the channel. This setting applies only if you keep the default+-- value of 3\/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding+-- mode (Eac3CodingMode). If you choose a different value for Coding mode,+-- the service ignores Left total\/Right total center (ltRtCenterMixLevel).+--+-- 'ltRtSurroundMixLevel', 'eac3Settings_ltRtSurroundMixLevel' - Specify a value for the following Dolby Digital Plus setting: Left+-- total\/Right total surround mix (Lt\/Rt surround). MediaConvert uses+-- this value for downmixing. How the service uses this value depends on+-- the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+-- values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+-- channel. This setting applies only if you keep the default value of 3\/2+-- - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode+-- (Eac3CodingMode). If you choose a different value for Coding mode, the+-- service ignores Left total\/Right total surround (ltRtSurroundMixLevel).+--+-- 'metadataControl', 'eac3Settings_metadataControl' - When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+-- DD+, or DolbyE decoder that supplied this audio data. If audio was not+-- supplied from one of these streams, then the static metadata settings+-- will be used.+--+-- 'passthroughControl', 'eac3Settings_passthroughControl' - When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it+-- is present on the input. this detection is dynamic over the life of the+-- transcode. Inputs that alternate between DD+ and non-DD+ content will+-- have a consistent DD+ output as the system alternates between+-- passthrough and encoding.+--+-- 'phaseControl', 'eac3Settings_phaseControl' - Controls the amount of phase-shift applied to the surround channels.+-- Only used for 3\/2 coding mode.+--+-- 'sampleRate', 'eac3Settings_sampleRate' - This value is always 48000. It represents the sample rate in Hz.+--+-- 'stereoDownmix', 'eac3Settings_stereoDownmix' - Choose how the service does stereo downmixing. This setting only applies+-- if you keep the default value of 3\/2 - L, R, C, Ls, Rs+-- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+-- choose a different value for Coding mode, the service ignores Stereo+-- downmix (Eac3StereoDownmix).+--+-- 'surroundExMode', 'eac3Settings_surroundExMode' - When encoding 3\/2 audio, sets whether an extra center back surround+-- channel is matrix encoded into the left and right surround channels.+--+-- 'surroundMode', 'eac3Settings_surroundMode' - When encoding 2\/0 audio, sets whether Dolby Surround is matrix encoded+-- into the two channels.+newEac3Settings ::+ Eac3Settings+newEac3Settings =+ Eac3Settings'+ { attenuationControl = Prelude.Nothing,+ bitrate = Prelude.Nothing,+ bitstreamMode = Prelude.Nothing,+ codingMode = Prelude.Nothing,+ dcFilter = Prelude.Nothing,+ dialnorm = Prelude.Nothing,+ dynamicRangeCompressionLine = Prelude.Nothing,+ dynamicRangeCompressionRf = Prelude.Nothing,+ lfeControl = Prelude.Nothing,+ lfeFilter = Prelude.Nothing,+ loRoCenterMixLevel = Prelude.Nothing,+ loRoSurroundMixLevel = Prelude.Nothing,+ ltRtCenterMixLevel = Prelude.Nothing,+ ltRtSurroundMixLevel = Prelude.Nothing,+ metadataControl = Prelude.Nothing,+ passthroughControl = Prelude.Nothing,+ phaseControl = Prelude.Nothing,+ sampleRate = Prelude.Nothing,+ stereoDownmix = Prelude.Nothing,+ surroundExMode = Prelude.Nothing,+ surroundMode = Prelude.Nothing+ }++-- | If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround+-- channels. Only used for 3\/2 coding mode.+eac3Settings_attenuationControl :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3AttenuationControl)+eac3Settings_attenuationControl = Lens.lens (\Eac3Settings' {attenuationControl} -> attenuationControl) (\s@Eac3Settings' {} a -> s {attenuationControl = a} :: Eac3Settings)++-- | Specify the average bitrate in bits per second. The bitrate that you+-- specify must be a multiple of 8000 within the allowed minimum and+-- maximum values. Leave blank to use the default bitrate for the coding+-- mode you select according ETSI TS 102 366. Valid bitrates for coding+-- mode 1\/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid+-- bitrates for coding mode 2\/0: Default: 192000. Minimum: 96000. Maximum:+-- 3024000. Valid bitrates for coding mode 3\/2: Default: 384000. Minimum:+-- 192000. Maximum: 3024000.+eac3Settings_bitrate :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Natural)+eac3Settings_bitrate = Lens.lens (\Eac3Settings' {bitrate} -> bitrate) (\s@Eac3Settings' {} a -> s {bitrate = a} :: Eac3Settings)++-- | Specify the bitstream mode for the E-AC-3 stream that the encoder emits.+-- For more information about the EAC3 bitstream mode, see ATSC A\/52-2012+-- (Annex E).+eac3Settings_bitstreamMode :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3BitstreamMode)+eac3Settings_bitstreamMode = Lens.lens (\Eac3Settings' {bitstreamMode} -> bitstreamMode) (\s@Eac3Settings' {} a -> s {bitstreamMode = a} :: Eac3Settings)++-- | Dolby Digital Plus coding mode. Determines number of channels.+eac3Settings_codingMode :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3CodingMode)+eac3Settings_codingMode = Lens.lens (\Eac3Settings' {codingMode} -> codingMode) (\s@Eac3Settings' {} a -> s {codingMode = a} :: Eac3Settings)++-- | Activates a DC highpass filter for all input channels.+eac3Settings_dcFilter :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3DcFilter)+eac3Settings_dcFilter = Lens.lens (\Eac3Settings' {dcFilter} -> dcFilter) (\s@Eac3Settings' {} a -> s {dcFilter = a} :: Eac3Settings)++-- | Sets the dialnorm for the output. If blank and input audio is Dolby+-- Digital Plus, dialnorm will be passed through.+eac3Settings_dialnorm :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Natural)+eac3Settings_dialnorm = Lens.lens (\Eac3Settings' {dialnorm} -> dialnorm) (\s@Eac3Settings' {} a -> s {dialnorm = a} :: Eac3Settings)++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the line operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+eac3Settings_dynamicRangeCompressionLine :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3DynamicRangeCompressionLine)+eac3Settings_dynamicRangeCompressionLine = Lens.lens (\Eac3Settings' {dynamicRangeCompressionLine} -> dynamicRangeCompressionLine) (\s@Eac3Settings' {} a -> s {dynamicRangeCompressionLine = a} :: Eac3Settings)++-- | Choose the Dolby Digital dynamic range control (DRC) profile that+-- MediaConvert uses when encoding the metadata in the Dolby Digital stream+-- for the RF operating mode. Related setting: When you use this setting,+-- MediaConvert ignores any value you provide for Dynamic range compression+-- profile (DynamicRangeCompressionProfile). For information about the+-- Dolby Digital DRC operating modes and profiles, see the Dynamic Range+-- Control chapter of the Dolby Metadata Guide at+-- https:\/\/developer.dolby.com\/globalassets\/professional\/documents\/dolby-metadata-guide.pdf.+eac3Settings_dynamicRangeCompressionRf :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3DynamicRangeCompressionRf)+eac3Settings_dynamicRangeCompressionRf = Lens.lens (\Eac3Settings' {dynamicRangeCompressionRf} -> dynamicRangeCompressionRf) (\s@Eac3Settings' {} a -> s {dynamicRangeCompressionRf = a} :: Eac3Settings)++-- | When encoding 3\/2 audio, controls whether the LFE channel is enabled+eac3Settings_lfeControl :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3LfeControl)+eac3Settings_lfeControl = Lens.lens (\Eac3Settings' {lfeControl} -> lfeControl) (\s@Eac3Settings' {} a -> s {lfeControl = a} :: Eac3Settings)++-- | Applies a 120Hz lowpass filter to the LFE channel prior to encoding.+-- Only valid with 3_2_LFE coding mode.+eac3Settings_lfeFilter :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3LfeFilter)+eac3Settings_lfeFilter = Lens.lens (\Eac3Settings' {lfeFilter} -> lfeFilter) (\s@Eac3Settings' {} a -> s {lfeFilter = a} :: Eac3Settings)++-- | Specify a value for the following Dolby Digital Plus setting: Left+-- only\/Right only center mix (Lo\/Ro center). MediaConvert uses this+-- value for downmixing. How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+-- values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60+-- mutes the channel. This setting applies only if you keep the default+-- value of 3\/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding+-- mode (Eac3CodingMode). If you choose a different value for Coding mode,+-- the service ignores Left only\/Right only center (loRoCenterMixLevel).+eac3Settings_loRoCenterMixLevel :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Double)+eac3Settings_loRoCenterMixLevel = Lens.lens (\Eac3Settings' {loRoCenterMixLevel} -> loRoCenterMixLevel) (\s@Eac3Settings' {} a -> s {loRoCenterMixLevel = a} :: Eac3Settings)++-- | Specify a value for the following Dolby Digital Plus setting: Left+-- only\/Right only (Lo\/Ro surround). MediaConvert uses this value for+-- downmixing. How the service uses this value depends on the value that+-- you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5,+-- -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting+-- applies only if you keep the default value of 3\/2 - L, R, C, Ls, Rs+-- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+-- choose a different value for Coding mode, the service ignores Left+-- only\/Right only surround (loRoSurroundMixLevel).+eac3Settings_loRoSurroundMixLevel :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Double)+eac3Settings_loRoSurroundMixLevel = Lens.lens (\Eac3Settings' {loRoSurroundMixLevel} -> loRoSurroundMixLevel) (\s@Eac3Settings' {} a -> s {loRoSurroundMixLevel = a} :: Eac3Settings)++-- | Specify a value for the following Dolby Digital Plus setting: Left+-- total\/Right total center mix (Lt\/Rt center). MediaConvert uses this+-- value for downmixing. How the service uses this value depends on the+-- value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+-- values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60+-- mutes the channel. This setting applies only if you keep the default+-- value of 3\/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding+-- mode (Eac3CodingMode). If you choose a different value for Coding mode,+-- the service ignores Left total\/Right total center (ltRtCenterMixLevel).+eac3Settings_ltRtCenterMixLevel :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Double)+eac3Settings_ltRtCenterMixLevel = Lens.lens (\Eac3Settings' {ltRtCenterMixLevel} -> ltRtCenterMixLevel) (\s@Eac3Settings' {} a -> s {ltRtCenterMixLevel = a} :: Eac3Settings)++-- | Specify a value for the following Dolby Digital Plus setting: Left+-- total\/Right total surround mix (Lt\/Rt surround). MediaConvert uses+-- this value for downmixing. How the service uses this value depends on+-- the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid+-- values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the+-- channel. This setting applies only if you keep the default value of 3\/2+-- - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode+-- (Eac3CodingMode). If you choose a different value for Coding mode, the+-- service ignores Left total\/Right total surround (ltRtSurroundMixLevel).+eac3Settings_ltRtSurroundMixLevel :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Double)+eac3Settings_ltRtSurroundMixLevel = Lens.lens (\Eac3Settings' {ltRtSurroundMixLevel} -> ltRtSurroundMixLevel) (\s@Eac3Settings' {} a -> s {ltRtSurroundMixLevel = a} :: Eac3Settings)++-- | When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD,+-- DD+, or DolbyE decoder that supplied this audio data. If audio was not+-- supplied from one of these streams, then the static metadata settings+-- will be used.+eac3Settings_metadataControl :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3MetadataControl)+eac3Settings_metadataControl = Lens.lens (\Eac3Settings' {metadataControl} -> metadataControl) (\s@Eac3Settings' {} a -> s {metadataControl = a} :: Eac3Settings)++-- | When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it+-- is present on the input. this detection is dynamic over the life of the+-- transcode. Inputs that alternate between DD+ and non-DD+ content will+-- have a consistent DD+ output as the system alternates between+-- passthrough and encoding.+eac3Settings_passthroughControl :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3PassthroughControl)+eac3Settings_passthroughControl = Lens.lens (\Eac3Settings' {passthroughControl} -> passthroughControl) (\s@Eac3Settings' {} a -> s {passthroughControl = a} :: Eac3Settings)++-- | Controls the amount of phase-shift applied to the surround channels.+-- Only used for 3\/2 coding mode.+eac3Settings_phaseControl :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3PhaseControl)+eac3Settings_phaseControl = Lens.lens (\Eac3Settings' {phaseControl} -> phaseControl) (\s@Eac3Settings' {} a -> s {phaseControl = a} :: Eac3Settings)++-- | This value is always 48000. It represents the sample rate in Hz.+eac3Settings_sampleRate :: Lens.Lens' Eac3Settings (Prelude.Maybe Prelude.Natural)+eac3Settings_sampleRate = Lens.lens (\Eac3Settings' {sampleRate} -> sampleRate) (\s@Eac3Settings' {} a -> s {sampleRate = a} :: Eac3Settings)++-- | Choose how the service does stereo downmixing. This setting only applies+-- if you keep the default value of 3\/2 - L, R, C, Ls, Rs+-- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+-- choose a different value for Coding mode, the service ignores Stereo+-- downmix (Eac3StereoDownmix).+eac3Settings_stereoDownmix :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3StereoDownmix)+eac3Settings_stereoDownmix = Lens.lens (\Eac3Settings' {stereoDownmix} -> stereoDownmix) (\s@Eac3Settings' {} a -> s {stereoDownmix = a} :: Eac3Settings)++-- | When encoding 3\/2 audio, sets whether an extra center back surround+-- channel is matrix encoded into the left and right surround channels.+eac3Settings_surroundExMode :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3SurroundExMode)+eac3Settings_surroundExMode = Lens.lens (\Eac3Settings' {surroundExMode} -> surroundExMode) (\s@Eac3Settings' {} a -> s {surroundExMode = a} :: Eac3Settings)++-- | When encoding 2\/0 audio, sets whether Dolby Surround is matrix encoded+-- into the two channels.+eac3Settings_surroundMode :: Lens.Lens' Eac3Settings (Prelude.Maybe Eac3SurroundMode)+eac3Settings_surroundMode = Lens.lens (\Eac3Settings' {surroundMode} -> surroundMode) (\s@Eac3Settings' {} a -> s {surroundMode = a} :: Eac3Settings)++instance Data.FromJSON Eac3Settings where+ parseJSON =+ Data.withObject+ "Eac3Settings"+ ( \x ->+ Eac3Settings'+ Prelude.<$> (x Data..:? "attenuationControl")+ Prelude.<*> (x Data..:? "bitrate")+ Prelude.<*> (x Data..:? "bitstreamMode")+ Prelude.<*> (x Data..:? "codingMode")+ Prelude.<*> (x Data..:? "dcFilter")+ Prelude.<*> (x Data..:? "dialnorm")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionLine")+ Prelude.<*> (x Data..:? "dynamicRangeCompressionRf")+ Prelude.<*> (x Data..:? "lfeControl")+ Prelude.<*> (x Data..:? "lfeFilter")+ Prelude.<*> (x Data..:? "loRoCenterMixLevel")+ Prelude.<*> (x Data..:? "loRoSurroundMixLevel")+ Prelude.<*> (x Data..:? "ltRtCenterMixLevel")+ Prelude.<*> (x Data..:? "ltRtSurroundMixLevel")+ Prelude.<*> (x Data..:? "metadataControl")+ Prelude.<*> (x Data..:? "passthroughControl")+ Prelude.<*> (x Data..:? "phaseControl")+ Prelude.<*> (x Data..:? "sampleRate")+ Prelude.<*> (x Data..:? "stereoDownmix")+ Prelude.<*> (x Data..:? "surroundExMode")+ Prelude.<*> (x Data..:? "surroundMode")+ )++instance Prelude.Hashable Eac3Settings where+ hashWithSalt _salt Eac3Settings' {..} =+ _salt+ `Prelude.hashWithSalt` attenuationControl+ `Prelude.hashWithSalt` bitrate+ `Prelude.hashWithSalt` bitstreamMode+ `Prelude.hashWithSalt` codingMode+ `Prelude.hashWithSalt` dcFilter+ `Prelude.hashWithSalt` dialnorm+ `Prelude.hashWithSalt` dynamicRangeCompressionLine+ `Prelude.hashWithSalt` dynamicRangeCompressionRf+ `Prelude.hashWithSalt` lfeControl+ `Prelude.hashWithSalt` lfeFilter+ `Prelude.hashWithSalt` loRoCenterMixLevel+ `Prelude.hashWithSalt` loRoSurroundMixLevel+ `Prelude.hashWithSalt` ltRtCenterMixLevel+ `Prelude.hashWithSalt` ltRtSurroundMixLevel+ `Prelude.hashWithSalt` metadataControl+ `Prelude.hashWithSalt` passthroughControl+ `Prelude.hashWithSalt` phaseControl+ `Prelude.hashWithSalt` sampleRate+ `Prelude.hashWithSalt` stereoDownmix+ `Prelude.hashWithSalt` surroundExMode+ `Prelude.hashWithSalt` surroundMode++instance Prelude.NFData Eac3Settings where+ rnf Eac3Settings' {..} =+ Prelude.rnf attenuationControl+ `Prelude.seq` Prelude.rnf bitrate+ `Prelude.seq` Prelude.rnf bitstreamMode+ `Prelude.seq` Prelude.rnf codingMode+ `Prelude.seq` Prelude.rnf dcFilter+ `Prelude.seq` Prelude.rnf dialnorm+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionLine+ `Prelude.seq` Prelude.rnf dynamicRangeCompressionRf+ `Prelude.seq` Prelude.rnf lfeControl+ `Prelude.seq` Prelude.rnf lfeFilter+ `Prelude.seq` Prelude.rnf loRoCenterMixLevel+ `Prelude.seq` Prelude.rnf loRoSurroundMixLevel+ `Prelude.seq` Prelude.rnf ltRtCenterMixLevel+ `Prelude.seq` Prelude.rnf ltRtSurroundMixLevel+ `Prelude.seq` Prelude.rnf metadataControl+ `Prelude.seq` Prelude.rnf passthroughControl+ `Prelude.seq` Prelude.rnf phaseControl+ `Prelude.seq` Prelude.rnf sampleRate+ `Prelude.seq` Prelude.rnf stereoDownmix+ `Prelude.seq` Prelude.rnf surroundExMode+ `Prelude.seq` Prelude.rnf surroundMode++instance Data.ToJSON Eac3Settings where+ toJSON Eac3Settings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attenuationControl" Data..=)+ Prelude.<$> attenuationControl,+ ("bitrate" Data..=) Prelude.<$> bitrate,+ ("bitstreamMode" Data..=) Prelude.<$> bitstreamMode,+ ("codingMode" Data..=) Prelude.<$> codingMode,+ ("dcFilter" Data..=) Prelude.<$> dcFilter,+ ("dialnorm" Data..=) Prelude.<$> dialnorm,+ ("dynamicRangeCompressionLine" Data..=)+ Prelude.<$> dynamicRangeCompressionLine,+ ("dynamicRangeCompressionRf" Data..=)+ Prelude.<$> dynamicRangeCompressionRf,+ ("lfeControl" Data..=) Prelude.<$> lfeControl,+ ("lfeFilter" Data..=) Prelude.<$> lfeFilter,+ ("loRoCenterMixLevel" Data..=)+ Prelude.<$> loRoCenterMixLevel,+ ("loRoSurroundMixLevel" Data..=)+ Prelude.<$> loRoSurroundMixLevel,+ ("ltRtCenterMixLevel" Data..=)+ Prelude.<$> ltRtCenterMixLevel,+ ("ltRtSurroundMixLevel" Data..=)+ Prelude.<$> ltRtSurroundMixLevel,+ ("metadataControl" Data..=)+ Prelude.<$> metadataControl,+ ("passthroughControl" Data..=)+ Prelude.<$> passthroughControl,+ ("phaseControl" Data..=) Prelude.<$> phaseControl,+ ("sampleRate" Data..=) Prelude.<$> sampleRate,+ ("stereoDownmix" Data..=) Prelude.<$> stereoDownmix,+ ("surroundExMode" Data..=)+ Prelude.<$> surroundExMode,+ ("surroundMode" Data..=) Prelude.<$> surroundMode+ ]+ )
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3StereoDownmix+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3StereoDownmix+ ( Eac3StereoDownmix+ ( ..,+ Eac3StereoDownmix_DPL2,+ Eac3StereoDownmix_LO_RO,+ Eac3StereoDownmix_LT_RT,+ Eac3StereoDownmix_NOT_INDICATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose how the service does stereo downmixing. This setting only applies+-- if you keep the default value of 3\/2 - L, R, C, Ls, Rs+-- (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you+-- choose a different value for Coding mode, the service ignores Stereo+-- downmix (Eac3StereoDownmix).+newtype Eac3StereoDownmix = Eac3StereoDownmix'+ { fromEac3StereoDownmix ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3StereoDownmix_DPL2 :: Eac3StereoDownmix+pattern Eac3StereoDownmix_DPL2 = Eac3StereoDownmix' "DPL2"++pattern Eac3StereoDownmix_LO_RO :: Eac3StereoDownmix+pattern Eac3StereoDownmix_LO_RO = Eac3StereoDownmix' "LO_RO"++pattern Eac3StereoDownmix_LT_RT :: Eac3StereoDownmix+pattern Eac3StereoDownmix_LT_RT = Eac3StereoDownmix' "LT_RT"++pattern Eac3StereoDownmix_NOT_INDICATED :: Eac3StereoDownmix+pattern Eac3StereoDownmix_NOT_INDICATED = Eac3StereoDownmix' "NOT_INDICATED"++{-# COMPLETE+ Eac3StereoDownmix_DPL2,+ Eac3StereoDownmix_LO_RO,+ Eac3StereoDownmix_LT_RT,+ Eac3StereoDownmix_NOT_INDICATED,+ Eac3StereoDownmix'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3SurroundExMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3SurroundExMode+ ( Eac3SurroundExMode+ ( ..,+ Eac3SurroundExMode_DISABLED,+ Eac3SurroundExMode_ENABLED,+ Eac3SurroundExMode_NOT_INDICATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When encoding 3\/2 audio, sets whether an extra center back surround+-- channel is matrix encoded into the left and right surround channels.+newtype Eac3SurroundExMode = Eac3SurroundExMode'+ { fromEac3SurroundExMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3SurroundExMode_DISABLED :: Eac3SurroundExMode+pattern Eac3SurroundExMode_DISABLED = Eac3SurroundExMode' "DISABLED"++pattern Eac3SurroundExMode_ENABLED :: Eac3SurroundExMode+pattern Eac3SurroundExMode_ENABLED = Eac3SurroundExMode' "ENABLED"++pattern Eac3SurroundExMode_NOT_INDICATED :: Eac3SurroundExMode+pattern Eac3SurroundExMode_NOT_INDICATED = Eac3SurroundExMode' "NOT_INDICATED"++{-# COMPLETE+ Eac3SurroundExMode_DISABLED,+ Eac3SurroundExMode_ENABLED,+ Eac3SurroundExMode_NOT_INDICATED,+ Eac3SurroundExMode'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Eac3SurroundMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Eac3SurroundMode+ ( Eac3SurroundMode+ ( ..,+ Eac3SurroundMode_DISABLED,+ Eac3SurroundMode_ENABLED,+ Eac3SurroundMode_NOT_INDICATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When encoding 2\/0 audio, sets whether Dolby Surround is matrix encoded+-- into the two channels.+newtype Eac3SurroundMode = Eac3SurroundMode'+ { fromEac3SurroundMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Eac3SurroundMode_DISABLED :: Eac3SurroundMode+pattern Eac3SurroundMode_DISABLED = Eac3SurroundMode' "DISABLED"++pattern Eac3SurroundMode_ENABLED :: Eac3SurroundMode+pattern Eac3SurroundMode_ENABLED = Eac3SurroundMode' "ENABLED"++pattern Eac3SurroundMode_NOT_INDICATED :: Eac3SurroundMode+pattern Eac3SurroundMode_NOT_INDICATED = Eac3SurroundMode' "NOT_INDICATED"++{-# COMPLETE+ Eac3SurroundMode_DISABLED,+ Eac3SurroundMode_ENABLED,+ Eac3SurroundMode_NOT_INDICATED,+ Eac3SurroundMode'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EmbeddedConvert608To708+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EmbeddedConvert608To708+ ( EmbeddedConvert608To708+ ( ..,+ EmbeddedConvert608To708_DISABLED,+ EmbeddedConvert608To708_UPCONVERT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+newtype EmbeddedConvert608To708 = EmbeddedConvert608To708'+ { fromEmbeddedConvert608To708 ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EmbeddedConvert608To708_DISABLED :: EmbeddedConvert608To708+pattern EmbeddedConvert608To708_DISABLED = EmbeddedConvert608To708' "DISABLED"++pattern EmbeddedConvert608To708_UPCONVERT :: EmbeddedConvert608To708+pattern EmbeddedConvert608To708_UPCONVERT = EmbeddedConvert608To708' "UPCONVERT"++{-# COMPLETE+ EmbeddedConvert608To708_DISABLED,+ EmbeddedConvert608To708_UPCONVERT,+ EmbeddedConvert608To708'+ #-}
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EmbeddedDestinationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EmbeddedDestinationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Settings related to CEA\/EIA-608 and CEA\/EIA-708 (also called embedded+-- or ancillary) captions. Set up embedded captions in the same output as+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/embedded-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to+-- EMBEDDED, EMBEDDED_PLUS_SCTE20, or SCTE20_PLUS_EMBEDDED.+--+-- /See:/ 'newEmbeddedDestinationSettings' smart constructor.+data EmbeddedDestinationSettings = EmbeddedDestinationSettings'+ { -- | Ignore this setting unless your input captions are SCC format and your+ -- output captions are embedded in the video stream. Specify a CC number+ -- for each captions channel in this output. If you have two channels,+ -- choose CC numbers that aren\'t in the same field. For example, choose 1+ -- and 3. For more information, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/dual-scc-to-embedded.+ destination608ChannelNumber :: Prelude.Maybe Prelude.Natural,+ -- | Ignore this setting unless your input captions are SCC format and you+ -- want both 608 and 708 captions embedded in your output stream.+ -- Optionally, specify the 708 service number for each output captions+ -- channel. Choose a different number for each channel. To use this+ -- setting, also set Force 608 to 708 upconvert (Convert608To708) to+ -- Upconvert (UPCONVERT) in your input captions selector settings. If you+ -- choose to upconvert but don\'t specify a 708 service number,+ -- MediaConvert uses the number that you specify for CC channel number+ -- (destination608ChannelNumber) for the 708 service number. For more+ -- information, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/dual-scc-to-embedded.+ destination708ServiceNumber :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmbeddedDestinationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination608ChannelNumber', 'embeddedDestinationSettings_destination608ChannelNumber' - Ignore this setting unless your input captions are SCC format and your+-- output captions are embedded in the video stream. Specify a CC number+-- for each captions channel in this output. If you have two channels,+-- choose CC numbers that aren\'t in the same field. For example, choose 1+-- and 3. For more information, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/dual-scc-to-embedded.+--+-- 'destination708ServiceNumber', 'embeddedDestinationSettings_destination708ServiceNumber' - Ignore this setting unless your input captions are SCC format and you+-- want both 608 and 708 captions embedded in your output stream.+-- Optionally, specify the 708 service number for each output captions+-- channel. Choose a different number for each channel. To use this+-- setting, also set Force 608 to 708 upconvert (Convert608To708) to+-- Upconvert (UPCONVERT) in your input captions selector settings. If you+-- choose to upconvert but don\'t specify a 708 service number,+-- MediaConvert uses the number that you specify for CC channel number+-- (destination608ChannelNumber) for the 708 service number. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/dual-scc-to-embedded.+newEmbeddedDestinationSettings ::+ EmbeddedDestinationSettings+newEmbeddedDestinationSettings =+ EmbeddedDestinationSettings'+ { destination608ChannelNumber =+ Prelude.Nothing,+ destination708ServiceNumber = Prelude.Nothing+ }++-- | Ignore this setting unless your input captions are SCC format and your+-- output captions are embedded in the video stream. Specify a CC number+-- for each captions channel in this output. If you have two channels,+-- choose CC numbers that aren\'t in the same field. For example, choose 1+-- and 3. For more information, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/dual-scc-to-embedded.+embeddedDestinationSettings_destination608ChannelNumber :: Lens.Lens' EmbeddedDestinationSettings (Prelude.Maybe Prelude.Natural)+embeddedDestinationSettings_destination608ChannelNumber = Lens.lens (\EmbeddedDestinationSettings' {destination608ChannelNumber} -> destination608ChannelNumber) (\s@EmbeddedDestinationSettings' {} a -> s {destination608ChannelNumber = a} :: EmbeddedDestinationSettings)++-- | Ignore this setting unless your input captions are SCC format and you+-- want both 608 and 708 captions embedded in your output stream.+-- Optionally, specify the 708 service number for each output captions+-- channel. Choose a different number for each channel. To use this+-- setting, also set Force 608 to 708 upconvert (Convert608To708) to+-- Upconvert (UPCONVERT) in your input captions selector settings. If you+-- choose to upconvert but don\'t specify a 708 service number,+-- MediaConvert uses the number that you specify for CC channel number+-- (destination608ChannelNumber) for the 708 service number. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/dual-scc-to-embedded.+embeddedDestinationSettings_destination708ServiceNumber :: Lens.Lens' EmbeddedDestinationSettings (Prelude.Maybe Prelude.Natural)+embeddedDestinationSettings_destination708ServiceNumber = Lens.lens (\EmbeddedDestinationSettings' {destination708ServiceNumber} -> destination708ServiceNumber) (\s@EmbeddedDestinationSettings' {} a -> s {destination708ServiceNumber = a} :: EmbeddedDestinationSettings)++instance Data.FromJSON EmbeddedDestinationSettings where+ parseJSON =+ Data.withObject+ "EmbeddedDestinationSettings"+ ( \x ->+ EmbeddedDestinationSettings'+ Prelude.<$> (x Data..:? "destination608ChannelNumber")+ Prelude.<*> (x Data..:? "destination708ServiceNumber")+ )++instance Prelude.Hashable EmbeddedDestinationSettings where+ hashWithSalt _salt EmbeddedDestinationSettings' {..} =+ _salt+ `Prelude.hashWithSalt` destination608ChannelNumber+ `Prelude.hashWithSalt` destination708ServiceNumber++instance Prelude.NFData EmbeddedDestinationSettings where+ rnf EmbeddedDestinationSettings' {..} =+ Prelude.rnf destination608ChannelNumber+ `Prelude.seq` Prelude.rnf destination708ServiceNumber++instance Data.ToJSON EmbeddedDestinationSettings where+ toJSON EmbeddedDestinationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("destination608ChannelNumber" Data..=)+ Prelude.<$> destination608ChannelNumber,+ ("destination708ServiceNumber" Data..=)+ Prelude.<$> destination708ServiceNumber+ ]+ )
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EmbeddedSourceSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EmbeddedSourceSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.EmbeddedConvert608To708+import Amazonka.MediaConvert.Types.EmbeddedTerminateCaptions+import qualified Amazonka.Prelude as Prelude++-- | Settings for embedded captions Source+--+-- /See:/ 'newEmbeddedSourceSettings' smart constructor.+data EmbeddedSourceSettings = EmbeddedSourceSettings'+ { -- | Specify whether this set of input captions appears in your outputs in+ -- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+ -- MediaConvert includes the captions data in two ways: it passes the 608+ -- data through using the 608 compatibility bytes fields of the 708+ -- wrapper, and it also translates the 608 data into 708.+ convert608To708 :: Prelude.Maybe EmbeddedConvert608To708,+ -- | Specifies the 608\/708 channel number within the video track from which+ -- to extract captions. Unused for passthrough.+ source608ChannelNumber :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the video track index used for extracting captions. The system+ -- only supports one input video track, so this should always be set to+ -- \'1\'.+ source608TrackNumber :: Prelude.Maybe Prelude.Natural,+ -- | By default, the service terminates any unterminated captions at the end+ -- of each input. If you want the caption to continue onto your next input,+ -- disable this setting.+ terminateCaptions :: Prelude.Maybe EmbeddedTerminateCaptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmbeddedSourceSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'convert608To708', 'embeddedSourceSettings_convert608To708' - Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+--+-- 'source608ChannelNumber', 'embeddedSourceSettings_source608ChannelNumber' - Specifies the 608\/708 channel number within the video track from which+-- to extract captions. Unused for passthrough.+--+-- 'source608TrackNumber', 'embeddedSourceSettings_source608TrackNumber' - Specifies the video track index used for extracting captions. The system+-- only supports one input video track, so this should always be set to+-- \'1\'.+--+-- 'terminateCaptions', 'embeddedSourceSettings_terminateCaptions' - By default, the service terminates any unterminated captions at the end+-- of each input. If you want the caption to continue onto your next input,+-- disable this setting.+newEmbeddedSourceSettings ::+ EmbeddedSourceSettings+newEmbeddedSourceSettings =+ EmbeddedSourceSettings'+ { convert608To708 =+ Prelude.Nothing,+ source608ChannelNumber = Prelude.Nothing,+ source608TrackNumber = Prelude.Nothing,+ terminateCaptions = Prelude.Nothing+ }++-- | Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+embeddedSourceSettings_convert608To708 :: Lens.Lens' EmbeddedSourceSettings (Prelude.Maybe EmbeddedConvert608To708)+embeddedSourceSettings_convert608To708 = Lens.lens (\EmbeddedSourceSettings' {convert608To708} -> convert608To708) (\s@EmbeddedSourceSettings' {} a -> s {convert608To708 = a} :: EmbeddedSourceSettings)++-- | Specifies the 608\/708 channel number within the video track from which+-- to extract captions. Unused for passthrough.+embeddedSourceSettings_source608ChannelNumber :: Lens.Lens' EmbeddedSourceSettings (Prelude.Maybe Prelude.Natural)+embeddedSourceSettings_source608ChannelNumber = Lens.lens (\EmbeddedSourceSettings' {source608ChannelNumber} -> source608ChannelNumber) (\s@EmbeddedSourceSettings' {} a -> s {source608ChannelNumber = a} :: EmbeddedSourceSettings)++-- | Specifies the video track index used for extracting captions. The system+-- only supports one input video track, so this should always be set to+-- \'1\'.+embeddedSourceSettings_source608TrackNumber :: Lens.Lens' EmbeddedSourceSettings (Prelude.Maybe Prelude.Natural)+embeddedSourceSettings_source608TrackNumber = Lens.lens (\EmbeddedSourceSettings' {source608TrackNumber} -> source608TrackNumber) (\s@EmbeddedSourceSettings' {} a -> s {source608TrackNumber = a} :: EmbeddedSourceSettings)++-- | By default, the service terminates any unterminated captions at the end+-- of each input. If you want the caption to continue onto your next input,+-- disable this setting.+embeddedSourceSettings_terminateCaptions :: Lens.Lens' EmbeddedSourceSettings (Prelude.Maybe EmbeddedTerminateCaptions)+embeddedSourceSettings_terminateCaptions = Lens.lens (\EmbeddedSourceSettings' {terminateCaptions} -> terminateCaptions) (\s@EmbeddedSourceSettings' {} a -> s {terminateCaptions = a} :: EmbeddedSourceSettings)++instance Data.FromJSON EmbeddedSourceSettings where+ parseJSON =+ Data.withObject+ "EmbeddedSourceSettings"+ ( \x ->+ EmbeddedSourceSettings'+ Prelude.<$> (x Data..:? "convert608To708")+ Prelude.<*> (x Data..:? "source608ChannelNumber")+ Prelude.<*> (x Data..:? "source608TrackNumber")+ Prelude.<*> (x Data..:? "terminateCaptions")+ )++instance Prelude.Hashable EmbeddedSourceSettings where+ hashWithSalt _salt EmbeddedSourceSettings' {..} =+ _salt+ `Prelude.hashWithSalt` convert608To708+ `Prelude.hashWithSalt` source608ChannelNumber+ `Prelude.hashWithSalt` source608TrackNumber+ `Prelude.hashWithSalt` terminateCaptions++instance Prelude.NFData EmbeddedSourceSettings where+ rnf EmbeddedSourceSettings' {..} =+ Prelude.rnf convert608To708+ `Prelude.seq` Prelude.rnf source608ChannelNumber+ `Prelude.seq` Prelude.rnf source608TrackNumber+ `Prelude.seq` Prelude.rnf terminateCaptions++instance Data.ToJSON EmbeddedSourceSettings where+ toJSON EmbeddedSourceSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("convert608To708" Data..=)+ Prelude.<$> convert608To708,+ ("source608ChannelNumber" Data..=)+ Prelude.<$> source608ChannelNumber,+ ("source608TrackNumber" Data..=)+ Prelude.<$> source608TrackNumber,+ ("terminateCaptions" Data..=)+ Prelude.<$> terminateCaptions+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EmbeddedTerminateCaptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EmbeddedTerminateCaptions+ ( EmbeddedTerminateCaptions+ ( ..,+ EmbeddedTerminateCaptions_DISABLED,+ EmbeddedTerminateCaptions_END_OF_INPUT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | By default, the service terminates any unterminated captions at the end+-- of each input. If you want the caption to continue onto your next input,+-- disable this setting.+newtype EmbeddedTerminateCaptions = EmbeddedTerminateCaptions'+ { fromEmbeddedTerminateCaptions ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EmbeddedTerminateCaptions_DISABLED :: EmbeddedTerminateCaptions+pattern EmbeddedTerminateCaptions_DISABLED = EmbeddedTerminateCaptions' "DISABLED"++pattern EmbeddedTerminateCaptions_END_OF_INPUT :: EmbeddedTerminateCaptions+pattern EmbeddedTerminateCaptions_END_OF_INPUT = EmbeddedTerminateCaptions' "END_OF_INPUT"++{-# COMPLETE+ EmbeddedTerminateCaptions_DISABLED,+ EmbeddedTerminateCaptions_END_OF_INPUT,+ EmbeddedTerminateCaptions'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EmbeddedTimecodeOverride+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EmbeddedTimecodeOverride+ ( EmbeddedTimecodeOverride+ ( ..,+ EmbeddedTimecodeOverride_NONE,+ EmbeddedTimecodeOverride_USE_MDPM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Set Embedded timecode override (embeddedTimecodeOverride) to Use MDPM+-- (USE_MDPM) when your AVCHD input contains timecode tag data in the+-- Modified Digital Video Pack Metadata (MDPM). When you do, we recommend+-- you also set Timecode source (inputTimecodeSource) to Embedded+-- (EMBEDDED). Leave Embedded timecode override blank, or set to None+-- (NONE), when your input does not contain MDPM timecode.+newtype EmbeddedTimecodeOverride = EmbeddedTimecodeOverride'+ { fromEmbeddedTimecodeOverride ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EmbeddedTimecodeOverride_NONE :: EmbeddedTimecodeOverride+pattern EmbeddedTimecodeOverride_NONE = EmbeddedTimecodeOverride' "NONE"++pattern EmbeddedTimecodeOverride_USE_MDPM :: EmbeddedTimecodeOverride+pattern EmbeddedTimecodeOverride_USE_MDPM = EmbeddedTimecodeOverride' "USE_MDPM"++{-# COMPLETE+ EmbeddedTimecodeOverride_NONE,+ EmbeddedTimecodeOverride_USE_MDPM,+ EmbeddedTimecodeOverride'+ #-}
@@ -0,0 +1,64 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Endpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Endpoint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an account-specific API endpoint.+--+-- /See:/ 'newEndpoint' smart constructor.+data Endpoint = Endpoint'+ { -- | URL of endpoint+ url :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Endpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'url', 'endpoint_url' - URL of endpoint+newEndpoint ::+ Endpoint+newEndpoint = Endpoint' {url = Prelude.Nothing}++-- | URL of endpoint+endpoint_url :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_url = Lens.lens (\Endpoint' {url} -> url) (\s@Endpoint' {} a -> s {url = a} :: Endpoint)++instance Data.FromJSON Endpoint where+ parseJSON =+ Data.withObject+ "Endpoint"+ (\x -> Endpoint' Prelude.<$> (x Data..:? "url"))++instance Prelude.Hashable Endpoint where+ hashWithSalt _salt Endpoint' {..} =+ _salt `Prelude.hashWithSalt` url++instance Prelude.NFData Endpoint where+ rnf Endpoint' {..} = Prelude.rnf url
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EsamManifestConfirmConditionNotification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EsamManifestConfirmConditionNotification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | ESAM ManifestConfirmConditionNotification defined by+-- OC-SP-ESAM-API-I03-131025.+--+-- /See:/ 'newEsamManifestConfirmConditionNotification' smart constructor.+data EsamManifestConfirmConditionNotification = EsamManifestConfirmConditionNotification'+ { -- | Provide your ESAM ManifestConfirmConditionNotification XML document+ -- inside your JSON job settings. Form the XML document as per+ -- OC-SP-ESAM-API-I03-131025. The transcoder will use the Manifest+ -- Conditioning instructions in the message that you supply.+ mccXml :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EsamManifestConfirmConditionNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mccXml', 'esamManifestConfirmConditionNotification_mccXml' - Provide your ESAM ManifestConfirmConditionNotification XML document+-- inside your JSON job settings. Form the XML document as per+-- OC-SP-ESAM-API-I03-131025. The transcoder will use the Manifest+-- Conditioning instructions in the message that you supply.+newEsamManifestConfirmConditionNotification ::+ EsamManifestConfirmConditionNotification+newEsamManifestConfirmConditionNotification =+ EsamManifestConfirmConditionNotification'+ { mccXml =+ Prelude.Nothing+ }++-- | Provide your ESAM ManifestConfirmConditionNotification XML document+-- inside your JSON job settings. Form the XML document as per+-- OC-SP-ESAM-API-I03-131025. The transcoder will use the Manifest+-- Conditioning instructions in the message that you supply.+esamManifestConfirmConditionNotification_mccXml :: Lens.Lens' EsamManifestConfirmConditionNotification (Prelude.Maybe Prelude.Text)+esamManifestConfirmConditionNotification_mccXml = Lens.lens (\EsamManifestConfirmConditionNotification' {mccXml} -> mccXml) (\s@EsamManifestConfirmConditionNotification' {} a -> s {mccXml = a} :: EsamManifestConfirmConditionNotification)++instance+ Data.FromJSON+ EsamManifestConfirmConditionNotification+ where+ parseJSON =+ Data.withObject+ "EsamManifestConfirmConditionNotification"+ ( \x ->+ EsamManifestConfirmConditionNotification'+ Prelude.<$> (x Data..:? "mccXml")+ )++instance+ Prelude.Hashable+ EsamManifestConfirmConditionNotification+ where+ hashWithSalt+ _salt+ EsamManifestConfirmConditionNotification' {..} =+ _salt `Prelude.hashWithSalt` mccXml++instance+ Prelude.NFData+ EsamManifestConfirmConditionNotification+ where+ rnf EsamManifestConfirmConditionNotification' {..} =+ Prelude.rnf mccXml++instance+ Data.ToJSON+ EsamManifestConfirmConditionNotification+ where+ toJSON EsamManifestConfirmConditionNotification' {..} =+ Data.object+ ( Prelude.catMaybes+ [("mccXml" Data..=) Prelude.<$> mccXml]+ )
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EsamSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EsamSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.EsamManifestConfirmConditionNotification+import Amazonka.MediaConvert.Types.EsamSignalProcessingNotification+import qualified Amazonka.Prelude as Prelude++-- | Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+-- insertion, you can ignore these settings.+--+-- /See:/ 'newEsamSettings' smart constructor.+data EsamSettings = EsamSettings'+ { -- | Specifies an ESAM ManifestConfirmConditionNotification XML as per+ -- OC-SP-ESAM-API-I03-131025. The transcoder uses the manifest conditioning+ -- instructions that you provide in the setting MCC XML (mccXml).+ manifestConfirmConditionNotification :: Prelude.Maybe EsamManifestConfirmConditionNotification,+ -- | Specifies the stream distance, in milliseconds, between the SCTE 35+ -- messages that the transcoder places and the splice points that they+ -- refer to. If the time between the start of the asset and the SCTE-35+ -- message is less than this value, then the transcoder places the SCTE-35+ -- marker at the beginning of the stream.+ responseSignalPreroll :: Prelude.Maybe Prelude.Natural,+ -- | Specifies an ESAM SignalProcessingNotification XML as per+ -- OC-SP-ESAM-API-I03-131025. The transcoder uses the signal processing+ -- instructions that you provide in the setting SCC XML (sccXml).+ signalProcessingNotification :: Prelude.Maybe EsamSignalProcessingNotification+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EsamSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestConfirmConditionNotification', 'esamSettings_manifestConfirmConditionNotification' - Specifies an ESAM ManifestConfirmConditionNotification XML as per+-- OC-SP-ESAM-API-I03-131025. The transcoder uses the manifest conditioning+-- instructions that you provide in the setting MCC XML (mccXml).+--+-- 'responseSignalPreroll', 'esamSettings_responseSignalPreroll' - Specifies the stream distance, in milliseconds, between the SCTE 35+-- messages that the transcoder places and the splice points that they+-- refer to. If the time between the start of the asset and the SCTE-35+-- message is less than this value, then the transcoder places the SCTE-35+-- marker at the beginning of the stream.+--+-- 'signalProcessingNotification', 'esamSettings_signalProcessingNotification' - Specifies an ESAM SignalProcessingNotification XML as per+-- OC-SP-ESAM-API-I03-131025. The transcoder uses the signal processing+-- instructions that you provide in the setting SCC XML (sccXml).+newEsamSettings ::+ EsamSettings+newEsamSettings =+ EsamSettings'+ { manifestConfirmConditionNotification =+ Prelude.Nothing,+ responseSignalPreroll = Prelude.Nothing,+ signalProcessingNotification = Prelude.Nothing+ }++-- | Specifies an ESAM ManifestConfirmConditionNotification XML as per+-- OC-SP-ESAM-API-I03-131025. The transcoder uses the manifest conditioning+-- instructions that you provide in the setting MCC XML (mccXml).+esamSettings_manifestConfirmConditionNotification :: Lens.Lens' EsamSettings (Prelude.Maybe EsamManifestConfirmConditionNotification)+esamSettings_manifestConfirmConditionNotification = Lens.lens (\EsamSettings' {manifestConfirmConditionNotification} -> manifestConfirmConditionNotification) (\s@EsamSettings' {} a -> s {manifestConfirmConditionNotification = a} :: EsamSettings)++-- | Specifies the stream distance, in milliseconds, between the SCTE 35+-- messages that the transcoder places and the splice points that they+-- refer to. If the time between the start of the asset and the SCTE-35+-- message is less than this value, then the transcoder places the SCTE-35+-- marker at the beginning of the stream.+esamSettings_responseSignalPreroll :: Lens.Lens' EsamSettings (Prelude.Maybe Prelude.Natural)+esamSettings_responseSignalPreroll = Lens.lens (\EsamSettings' {responseSignalPreroll} -> responseSignalPreroll) (\s@EsamSettings' {} a -> s {responseSignalPreroll = a} :: EsamSettings)++-- | Specifies an ESAM SignalProcessingNotification XML as per+-- OC-SP-ESAM-API-I03-131025. The transcoder uses the signal processing+-- instructions that you provide in the setting SCC XML (sccXml).+esamSettings_signalProcessingNotification :: Lens.Lens' EsamSettings (Prelude.Maybe EsamSignalProcessingNotification)+esamSettings_signalProcessingNotification = Lens.lens (\EsamSettings' {signalProcessingNotification} -> signalProcessingNotification) (\s@EsamSettings' {} a -> s {signalProcessingNotification = a} :: EsamSettings)++instance Data.FromJSON EsamSettings where+ parseJSON =+ Data.withObject+ "EsamSettings"+ ( \x ->+ EsamSettings'+ Prelude.<$> (x Data..:? "manifestConfirmConditionNotification")+ Prelude.<*> (x Data..:? "responseSignalPreroll")+ Prelude.<*> (x Data..:? "signalProcessingNotification")+ )++instance Prelude.Hashable EsamSettings where+ hashWithSalt _salt EsamSettings' {..} =+ _salt+ `Prelude.hashWithSalt` manifestConfirmConditionNotification+ `Prelude.hashWithSalt` responseSignalPreroll+ `Prelude.hashWithSalt` signalProcessingNotification++instance Prelude.NFData EsamSettings where+ rnf EsamSettings' {..} =+ Prelude.rnf manifestConfirmConditionNotification+ `Prelude.seq` Prelude.rnf responseSignalPreroll+ `Prelude.seq` Prelude.rnf signalProcessingNotification++instance Data.ToJSON EsamSettings where+ toJSON EsamSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("manifestConfirmConditionNotification" Data..=)+ Prelude.<$> manifestConfirmConditionNotification,+ ("responseSignalPreroll" Data..=)+ Prelude.<$> responseSignalPreroll,+ ("signalProcessingNotification" Data..=)+ Prelude.<$> signalProcessingNotification+ ]+ )
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.EsamSignalProcessingNotification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.EsamSignalProcessingNotification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | ESAM SignalProcessingNotification data defined by+-- OC-SP-ESAM-API-I03-131025.+--+-- /See:/ 'newEsamSignalProcessingNotification' smart constructor.+data EsamSignalProcessingNotification = EsamSignalProcessingNotification'+ { -- | Provide your ESAM SignalProcessingNotification XML document inside your+ -- JSON job settings. Form the XML document as per+ -- OC-SP-ESAM-API-I03-131025. The transcoder will use the signal processing+ -- instructions in the message that you supply. Provide your ESAM+ -- SignalProcessingNotification XML document inside your JSON job settings.+ -- For your MPEG2-TS file outputs, if you want the service to place SCTE-35+ -- markers at the insertion points you specify in the XML document, you+ -- must also enable SCTE-35 ESAM (scte35Esam). Note that you can either+ -- specify an ESAM XML document or enable SCTE-35 passthrough. You can\'t+ -- do both.+ sccXml :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EsamSignalProcessingNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sccXml', 'esamSignalProcessingNotification_sccXml' - Provide your ESAM SignalProcessingNotification XML document inside your+-- JSON job settings. Form the XML document as per+-- OC-SP-ESAM-API-I03-131025. The transcoder will use the signal processing+-- instructions in the message that you supply. Provide your ESAM+-- SignalProcessingNotification XML document inside your JSON job settings.+-- For your MPEG2-TS file outputs, if you want the service to place SCTE-35+-- markers at the insertion points you specify in the XML document, you+-- must also enable SCTE-35 ESAM (scte35Esam). Note that you can either+-- specify an ESAM XML document or enable SCTE-35 passthrough. You can\'t+-- do both.+newEsamSignalProcessingNotification ::+ EsamSignalProcessingNotification+newEsamSignalProcessingNotification =+ EsamSignalProcessingNotification'+ { sccXml =+ Prelude.Nothing+ }++-- | Provide your ESAM SignalProcessingNotification XML document inside your+-- JSON job settings. Form the XML document as per+-- OC-SP-ESAM-API-I03-131025. The transcoder will use the signal processing+-- instructions in the message that you supply. Provide your ESAM+-- SignalProcessingNotification XML document inside your JSON job settings.+-- For your MPEG2-TS file outputs, if you want the service to place SCTE-35+-- markers at the insertion points you specify in the XML document, you+-- must also enable SCTE-35 ESAM (scte35Esam). Note that you can either+-- specify an ESAM XML document or enable SCTE-35 passthrough. You can\'t+-- do both.+esamSignalProcessingNotification_sccXml :: Lens.Lens' EsamSignalProcessingNotification (Prelude.Maybe Prelude.Text)+esamSignalProcessingNotification_sccXml = Lens.lens (\EsamSignalProcessingNotification' {sccXml} -> sccXml) (\s@EsamSignalProcessingNotification' {} a -> s {sccXml = a} :: EsamSignalProcessingNotification)++instance+ Data.FromJSON+ EsamSignalProcessingNotification+ where+ parseJSON =+ Data.withObject+ "EsamSignalProcessingNotification"+ ( \x ->+ EsamSignalProcessingNotification'+ Prelude.<$> (x Data..:? "sccXml")+ )++instance+ Prelude.Hashable+ EsamSignalProcessingNotification+ where+ hashWithSalt+ _salt+ EsamSignalProcessingNotification' {..} =+ _salt `Prelude.hashWithSalt` sccXml++instance+ Prelude.NFData+ EsamSignalProcessingNotification+ where+ rnf EsamSignalProcessingNotification' {..} =+ Prelude.rnf sccXml++instance Data.ToJSON EsamSignalProcessingNotification where+ toJSON EsamSignalProcessingNotification' {..} =+ Data.object+ ( Prelude.catMaybes+ [("sccXml" Data..=) Prelude.<$> sccXml]+ )
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ExtendedDataServices+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ExtendedDataServices where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CopyProtectionAction+import Amazonka.MediaConvert.Types.VchipAction+import qualified Amazonka.Prelude as Prelude++-- | If your source content has EIA-608 Line 21 Data Services, enable this+-- feature to specify what MediaConvert does with the Extended Data+-- Services (XDS) packets. You can choose to pass through XDS packets, or+-- remove them from the output. For more information about XDS, see EIA-608+-- Line Data Services, section 9.5.1.5 05h Content Advisory.+--+-- /See:/ 'newExtendedDataServices' smart constructor.+data ExtendedDataServices = ExtendedDataServices'+ { -- | The action to take on copy and redistribution control XDS packets. If+ -- you select PASSTHROUGH, packets will not be changed. If you select+ -- STRIP, any packets will be removed in output captions.+ copyProtectionAction :: Prelude.Maybe CopyProtectionAction,+ -- | The action to take on content advisory XDS packets. If you select+ -- PASSTHROUGH, packets will not be changed. If you select STRIP, any+ -- packets will be removed in output captions.+ vchipAction :: Prelude.Maybe VchipAction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtendedDataServices' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyProtectionAction', 'extendedDataServices_copyProtectionAction' - The action to take on copy and redistribution control XDS packets. If+-- you select PASSTHROUGH, packets will not be changed. If you select+-- STRIP, any packets will be removed in output captions.+--+-- 'vchipAction', 'extendedDataServices_vchipAction' - The action to take on content advisory XDS packets. If you select+-- PASSTHROUGH, packets will not be changed. If you select STRIP, any+-- packets will be removed in output captions.+newExtendedDataServices ::+ ExtendedDataServices+newExtendedDataServices =+ ExtendedDataServices'+ { copyProtectionAction =+ Prelude.Nothing,+ vchipAction = Prelude.Nothing+ }++-- | The action to take on copy and redistribution control XDS packets. If+-- you select PASSTHROUGH, packets will not be changed. If you select+-- STRIP, any packets will be removed in output captions.+extendedDataServices_copyProtectionAction :: Lens.Lens' ExtendedDataServices (Prelude.Maybe CopyProtectionAction)+extendedDataServices_copyProtectionAction = Lens.lens (\ExtendedDataServices' {copyProtectionAction} -> copyProtectionAction) (\s@ExtendedDataServices' {} a -> s {copyProtectionAction = a} :: ExtendedDataServices)++-- | The action to take on content advisory XDS packets. If you select+-- PASSTHROUGH, packets will not be changed. If you select STRIP, any+-- packets will be removed in output captions.+extendedDataServices_vchipAction :: Lens.Lens' ExtendedDataServices (Prelude.Maybe VchipAction)+extendedDataServices_vchipAction = Lens.lens (\ExtendedDataServices' {vchipAction} -> vchipAction) (\s@ExtendedDataServices' {} a -> s {vchipAction = a} :: ExtendedDataServices)++instance Data.FromJSON ExtendedDataServices where+ parseJSON =+ Data.withObject+ "ExtendedDataServices"+ ( \x ->+ ExtendedDataServices'+ Prelude.<$> (x Data..:? "copyProtectionAction")+ Prelude.<*> (x Data..:? "vchipAction")+ )++instance Prelude.Hashable ExtendedDataServices where+ hashWithSalt _salt ExtendedDataServices' {..} =+ _salt+ `Prelude.hashWithSalt` copyProtectionAction+ `Prelude.hashWithSalt` vchipAction++instance Prelude.NFData ExtendedDataServices where+ rnf ExtendedDataServices' {..} =+ Prelude.rnf copyProtectionAction+ `Prelude.seq` Prelude.rnf vchipAction++instance Data.ToJSON ExtendedDataServices where+ toJSON ExtendedDataServices' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("copyProtectionAction" Data..=)+ Prelude.<$> copyProtectionAction,+ ("vchipAction" Data..=) Prelude.<$> vchipAction+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.F4vMoovPlacement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.F4vMoovPlacement+ ( F4vMoovPlacement+ ( ..,+ F4vMoovPlacement_NORMAL,+ F4vMoovPlacement_PROGRESSIVE_DOWNLOAD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the+-- beginning of the archive as required for progressive downloading.+-- Otherwise it is placed normally at the end.+newtype F4vMoovPlacement = F4vMoovPlacement'+ { fromF4vMoovPlacement ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern F4vMoovPlacement_NORMAL :: F4vMoovPlacement+pattern F4vMoovPlacement_NORMAL = F4vMoovPlacement' "NORMAL"++pattern F4vMoovPlacement_PROGRESSIVE_DOWNLOAD :: F4vMoovPlacement+pattern F4vMoovPlacement_PROGRESSIVE_DOWNLOAD = F4vMoovPlacement' "PROGRESSIVE_DOWNLOAD"++{-# COMPLETE+ F4vMoovPlacement_NORMAL,+ F4vMoovPlacement_PROGRESSIVE_DOWNLOAD,+ F4vMoovPlacement'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.F4vSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.F4vSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.F4vMoovPlacement+import qualified Amazonka.Prelude as Prelude++-- | Settings for F4v container+--+-- /See:/ 'newF4vSettings' smart constructor.+data F4vSettings = F4vSettings'+ { -- | If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the+ -- beginning of the archive as required for progressive downloading.+ -- Otherwise it is placed normally at the end.+ moovPlacement :: Prelude.Maybe F4vMoovPlacement+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'F4vSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'moovPlacement', 'f4vSettings_moovPlacement' - If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the+-- beginning of the archive as required for progressive downloading.+-- Otherwise it is placed normally at the end.+newF4vSettings ::+ F4vSettings+newF4vSettings =+ F4vSettings' {moovPlacement = Prelude.Nothing}++-- | If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the+-- beginning of the archive as required for progressive downloading.+-- Otherwise it is placed normally at the end.+f4vSettings_moovPlacement :: Lens.Lens' F4vSettings (Prelude.Maybe F4vMoovPlacement)+f4vSettings_moovPlacement = Lens.lens (\F4vSettings' {moovPlacement} -> moovPlacement) (\s@F4vSettings' {} a -> s {moovPlacement = a} :: F4vSettings)++instance Data.FromJSON F4vSettings where+ parseJSON =+ Data.withObject+ "F4vSettings"+ ( \x ->+ F4vSettings'+ Prelude.<$> (x Data..:? "moovPlacement")+ )++instance Prelude.Hashable F4vSettings where+ hashWithSalt _salt F4vSettings' {..} =+ _salt `Prelude.hashWithSalt` moovPlacement++instance Prelude.NFData F4vSettings where+ rnf F4vSettings' {..} = Prelude.rnf moovPlacement++instance Data.ToJSON F4vSettings where+ toJSON F4vSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("moovPlacement" Data..=)+ Prelude.<$> moovPlacement+ ]+ )
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.FileGroupSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.FileGroupSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DestinationSettings+import qualified Amazonka.Prelude as Prelude++-- | Settings related to your File output group. MediaConvert uses this group+-- of settings to generate a single standalone file, rather than a+-- streaming package. When you work directly in your JSON job+-- specification, include this object and any required children when you+-- set Type, under OutputGroupSettings, to FILE_GROUP_SETTINGS.+--+-- /See:/ 'newFileGroupSettings' smart constructor.+data FileGroupSettings = FileGroupSettings'+ { -- | Use Destination (Destination) to specify the S3 output location and the+ -- output filename base. Destination accepts format identifiers. If you do+ -- not specify the base filename in the URI, the service will use the+ -- filename of the input file. If your job has multiple inputs, the service+ -- uses the filename of the first input file.+ destination :: Prelude.Maybe Prelude.Text,+ -- | Settings associated with the destination. Will vary based on the type of+ -- destination+ destinationSettings :: Prelude.Maybe DestinationSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileGroupSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 'fileGroupSettings_destination' - Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+--+-- 'destinationSettings', 'fileGroupSettings_destinationSettings' - Settings associated with the destination. Will vary based on the type of+-- destination+newFileGroupSettings ::+ FileGroupSettings+newFileGroupSettings =+ FileGroupSettings'+ { destination = Prelude.Nothing,+ destinationSettings = Prelude.Nothing+ }++-- | Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+fileGroupSettings_destination :: Lens.Lens' FileGroupSettings (Prelude.Maybe Prelude.Text)+fileGroupSettings_destination = Lens.lens (\FileGroupSettings' {destination} -> destination) (\s@FileGroupSettings' {} a -> s {destination = a} :: FileGroupSettings)++-- | Settings associated with the destination. Will vary based on the type of+-- destination+fileGroupSettings_destinationSettings :: Lens.Lens' FileGroupSettings (Prelude.Maybe DestinationSettings)+fileGroupSettings_destinationSettings = Lens.lens (\FileGroupSettings' {destinationSettings} -> destinationSettings) (\s@FileGroupSettings' {} a -> s {destinationSettings = a} :: FileGroupSettings)++instance Data.FromJSON FileGroupSettings where+ parseJSON =+ Data.withObject+ "FileGroupSettings"+ ( \x ->+ FileGroupSettings'+ Prelude.<$> (x Data..:? "destination")+ Prelude.<*> (x Data..:? "destinationSettings")+ )++instance Prelude.Hashable FileGroupSettings where+ hashWithSalt _salt FileGroupSettings' {..} =+ _salt+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` destinationSettings++instance Prelude.NFData FileGroupSettings where+ rnf FileGroupSettings' {..} =+ Prelude.rnf destination+ `Prelude.seq` Prelude.rnf destinationSettings++instance Data.ToJSON FileGroupSettings where+ toJSON FileGroupSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("destination" Data..=) Prelude.<$> destination,+ ("destinationSettings" Data..=)+ Prelude.<$> destinationSettings+ ]+ )
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.FileSourceConvert608To708+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.FileSourceConvert608To708+ ( FileSourceConvert608To708+ ( ..,+ FileSourceConvert608To708_DISABLED,+ FileSourceConvert608To708_UPCONVERT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+newtype FileSourceConvert608To708 = FileSourceConvert608To708'+ { fromFileSourceConvert608To708 ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FileSourceConvert608To708_DISABLED :: FileSourceConvert608To708+pattern FileSourceConvert608To708_DISABLED = FileSourceConvert608To708' "DISABLED"++pattern FileSourceConvert608To708_UPCONVERT :: FileSourceConvert608To708+pattern FileSourceConvert608To708_UPCONVERT = FileSourceConvert608To708' "UPCONVERT"++{-# COMPLETE+ FileSourceConvert608To708_DISABLED,+ FileSourceConvert608To708_UPCONVERT,+ FileSourceConvert608To708'+ #-}
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.FileSourceSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.FileSourceSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.CaptionSourceFramerate+import Amazonka.MediaConvert.Types.FileSourceConvert608To708+import Amazonka.MediaConvert.Types.FileSourceTimeDeltaUnits+import qualified Amazonka.Prelude as Prelude++-- | If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1+-- in an xml file, specify the URI of the input caption source file. If+-- your caption source is IMSC in an IMF package, use TrackSourceSettings+-- instead of FileSoureSettings.+--+-- /See:/ 'newFileSourceSettings' smart constructor.+data FileSourceSettings = FileSourceSettings'+ { -- | Specify whether this set of input captions appears in your outputs in+ -- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+ -- MediaConvert includes the captions data in two ways: it passes the 608+ -- data through using the 608 compatibility bytes fields of the 708+ -- wrapper, and it also translates the 608 data into 708.+ convert608To708 :: Prelude.Maybe FileSourceConvert608To708,+ -- | Ignore this setting unless your input captions format is SCC. To have+ -- the service compensate for differing frame rates between your input+ -- captions and input video, specify the frame rate of the captions file.+ -- Specify this value as a fraction. When you work directly in your JSON+ -- job specification, use the settings framerateNumerator and+ -- framerateDenominator. For example, you might specify 24 \/ 1 for 24 fps,+ -- 25 \/ 1 for 25 fps, 24000 \/ 1001 for 23.976 fps, or 30000 \/ 1001 for+ -- 29.97 fps.+ framerate :: Prelude.Maybe CaptionSourceFramerate,+ -- | External caption file used for loading captions. Accepted file+ -- extensions are \'scc\', \'ttml\', \'dfxp\', \'stl\', \'srt\', \'xml\',+ -- \'smi\', \'webvtt\', and \'vtt\'.+ sourceFile :: Prelude.Maybe Prelude.Text,+ -- | Optional. Use this setting when you need to adjust the sync between your+ -- sidecar captions and your video. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/time-delta-use-cases.html.+ -- Enter a positive or negative number to modify the times in the captions+ -- file. For example, type 15 to add 15 seconds to all the times in the+ -- captions file. Type -5 to subtract 5 seconds from the times in the+ -- captions file. You can optionally specify your time delta in+ -- milliseconds instead of seconds. When you do so, set the related+ -- setting, Time delta units (TimeDeltaUnits) to Milliseconds+ -- (MILLISECONDS). Note that, when you specify a time delta for+ -- timecode-based caption sources, such as SCC and STL, and your time delta+ -- isn\'t a multiple of the input frame rate, MediaConvert snaps the+ -- captions to the nearest frame. For example, when your input video frame+ -- rate is 25 fps and you specify 1010ms for time delta, MediaConvert+ -- delays your captions by 1000 ms.+ timeDelta :: Prelude.Maybe Prelude.Int,+ -- | When you use the setting Time delta (TimeDelta) to adjust the sync+ -- between your sidecar captions and your video, use this setting to+ -- specify the units for the delta that you specify. When you don\'t+ -- specify a value for Time delta units (TimeDeltaUnits), MediaConvert uses+ -- seconds by default.+ timeDeltaUnits :: Prelude.Maybe FileSourceTimeDeltaUnits+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileSourceSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'convert608To708', 'fileSourceSettings_convert608To708' - Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+--+-- 'framerate', 'fileSourceSettings_framerate' - Ignore this setting unless your input captions format is SCC. To have+-- the service compensate for differing frame rates between your input+-- captions and input video, specify the frame rate of the captions file.+-- Specify this value as a fraction. When you work directly in your JSON+-- job specification, use the settings framerateNumerator and+-- framerateDenominator. For example, you might specify 24 \/ 1 for 24 fps,+-- 25 \/ 1 for 25 fps, 24000 \/ 1001 for 23.976 fps, or 30000 \/ 1001 for+-- 29.97 fps.+--+-- 'sourceFile', 'fileSourceSettings_sourceFile' - External caption file used for loading captions. Accepted file+-- extensions are \'scc\', \'ttml\', \'dfxp\', \'stl\', \'srt\', \'xml\',+-- \'smi\', \'webvtt\', and \'vtt\'.+--+-- 'timeDelta', 'fileSourceSettings_timeDelta' - Optional. Use this setting when you need to adjust the sync between your+-- sidecar captions and your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/time-delta-use-cases.html.+-- Enter a positive or negative number to modify the times in the captions+-- file. For example, type 15 to add 15 seconds to all the times in the+-- captions file. Type -5 to subtract 5 seconds from the times in the+-- captions file. You can optionally specify your time delta in+-- milliseconds instead of seconds. When you do so, set the related+-- setting, Time delta units (TimeDeltaUnits) to Milliseconds+-- (MILLISECONDS). Note that, when you specify a time delta for+-- timecode-based caption sources, such as SCC and STL, and your time delta+-- isn\'t a multiple of the input frame rate, MediaConvert snaps the+-- captions to the nearest frame. For example, when your input video frame+-- rate is 25 fps and you specify 1010ms for time delta, MediaConvert+-- delays your captions by 1000 ms.+--+-- 'timeDeltaUnits', 'fileSourceSettings_timeDeltaUnits' - When you use the setting Time delta (TimeDelta) to adjust the sync+-- between your sidecar captions and your video, use this setting to+-- specify the units for the delta that you specify. When you don\'t+-- specify a value for Time delta units (TimeDeltaUnits), MediaConvert uses+-- seconds by default.+newFileSourceSettings ::+ FileSourceSettings+newFileSourceSettings =+ FileSourceSettings'+ { convert608To708 =+ Prelude.Nothing,+ framerate = Prelude.Nothing,+ sourceFile = Prelude.Nothing,+ timeDelta = Prelude.Nothing,+ timeDeltaUnits = Prelude.Nothing+ }++-- | Specify whether this set of input captions appears in your outputs in+-- both 608 and 708 format. If you choose Upconvert (UPCONVERT),+-- MediaConvert includes the captions data in two ways: it passes the 608+-- data through using the 608 compatibility bytes fields of the 708+-- wrapper, and it also translates the 608 data into 708.+fileSourceSettings_convert608To708 :: Lens.Lens' FileSourceSettings (Prelude.Maybe FileSourceConvert608To708)+fileSourceSettings_convert608To708 = Lens.lens (\FileSourceSettings' {convert608To708} -> convert608To708) (\s@FileSourceSettings' {} a -> s {convert608To708 = a} :: FileSourceSettings)++-- | Ignore this setting unless your input captions format is SCC. To have+-- the service compensate for differing frame rates between your input+-- captions and input video, specify the frame rate of the captions file.+-- Specify this value as a fraction. When you work directly in your JSON+-- job specification, use the settings framerateNumerator and+-- framerateDenominator. For example, you might specify 24 \/ 1 for 24 fps,+-- 25 \/ 1 for 25 fps, 24000 \/ 1001 for 23.976 fps, or 30000 \/ 1001 for+-- 29.97 fps.+fileSourceSettings_framerate :: Lens.Lens' FileSourceSettings (Prelude.Maybe CaptionSourceFramerate)+fileSourceSettings_framerate = Lens.lens (\FileSourceSettings' {framerate} -> framerate) (\s@FileSourceSettings' {} a -> s {framerate = a} :: FileSourceSettings)++-- | External caption file used for loading captions. Accepted file+-- extensions are \'scc\', \'ttml\', \'dfxp\', \'stl\', \'srt\', \'xml\',+-- \'smi\', \'webvtt\', and \'vtt\'.+fileSourceSettings_sourceFile :: Lens.Lens' FileSourceSettings (Prelude.Maybe Prelude.Text)+fileSourceSettings_sourceFile = Lens.lens (\FileSourceSettings' {sourceFile} -> sourceFile) (\s@FileSourceSettings' {} a -> s {sourceFile = a} :: FileSourceSettings)++-- | Optional. Use this setting when you need to adjust the sync between your+-- sidecar captions and your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/time-delta-use-cases.html.+-- Enter a positive or negative number to modify the times in the captions+-- file. For example, type 15 to add 15 seconds to all the times in the+-- captions file. Type -5 to subtract 5 seconds from the times in the+-- captions file. You can optionally specify your time delta in+-- milliseconds instead of seconds. When you do so, set the related+-- setting, Time delta units (TimeDeltaUnits) to Milliseconds+-- (MILLISECONDS). Note that, when you specify a time delta for+-- timecode-based caption sources, such as SCC and STL, and your time delta+-- isn\'t a multiple of the input frame rate, MediaConvert snaps the+-- captions to the nearest frame. For example, when your input video frame+-- rate is 25 fps and you specify 1010ms for time delta, MediaConvert+-- delays your captions by 1000 ms.+fileSourceSettings_timeDelta :: Lens.Lens' FileSourceSettings (Prelude.Maybe Prelude.Int)+fileSourceSettings_timeDelta = Lens.lens (\FileSourceSettings' {timeDelta} -> timeDelta) (\s@FileSourceSettings' {} a -> s {timeDelta = a} :: FileSourceSettings)++-- | When you use the setting Time delta (TimeDelta) to adjust the sync+-- between your sidecar captions and your video, use this setting to+-- specify the units for the delta that you specify. When you don\'t+-- specify a value for Time delta units (TimeDeltaUnits), MediaConvert uses+-- seconds by default.+fileSourceSettings_timeDeltaUnits :: Lens.Lens' FileSourceSettings (Prelude.Maybe FileSourceTimeDeltaUnits)+fileSourceSettings_timeDeltaUnits = Lens.lens (\FileSourceSettings' {timeDeltaUnits} -> timeDeltaUnits) (\s@FileSourceSettings' {} a -> s {timeDeltaUnits = a} :: FileSourceSettings)++instance Data.FromJSON FileSourceSettings where+ parseJSON =+ Data.withObject+ "FileSourceSettings"+ ( \x ->+ FileSourceSettings'+ Prelude.<$> (x Data..:? "convert608To708")+ Prelude.<*> (x Data..:? "framerate")+ Prelude.<*> (x Data..:? "sourceFile")+ Prelude.<*> (x Data..:? "timeDelta")+ Prelude.<*> (x Data..:? "timeDeltaUnits")+ )++instance Prelude.Hashable FileSourceSettings where+ hashWithSalt _salt FileSourceSettings' {..} =+ _salt+ `Prelude.hashWithSalt` convert608To708+ `Prelude.hashWithSalt` framerate+ `Prelude.hashWithSalt` sourceFile+ `Prelude.hashWithSalt` timeDelta+ `Prelude.hashWithSalt` timeDeltaUnits++instance Prelude.NFData FileSourceSettings where+ rnf FileSourceSettings' {..} =+ Prelude.rnf convert608To708+ `Prelude.seq` Prelude.rnf framerate+ `Prelude.seq` Prelude.rnf sourceFile+ `Prelude.seq` Prelude.rnf timeDelta+ `Prelude.seq` Prelude.rnf timeDeltaUnits++instance Data.ToJSON FileSourceSettings where+ toJSON FileSourceSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("convert608To708" Data..=)+ Prelude.<$> convert608To708,+ ("framerate" Data..=) Prelude.<$> framerate,+ ("sourceFile" Data..=) Prelude.<$> sourceFile,+ ("timeDelta" Data..=) Prelude.<$> timeDelta,+ ("timeDeltaUnits" Data..=)+ Prelude.<$> timeDeltaUnits+ ]+ )
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.FileSourceTimeDeltaUnits+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.FileSourceTimeDeltaUnits+ ( FileSourceTimeDeltaUnits+ ( ..,+ FileSourceTimeDeltaUnits_MILLISECONDS,+ FileSourceTimeDeltaUnits_SECONDS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you use the setting Time delta (TimeDelta) to adjust the sync+-- between your sidecar captions and your video, use this setting to+-- specify the units for the delta that you specify. When you don\'t+-- specify a value for Time delta units (TimeDeltaUnits), MediaConvert uses+-- seconds by default.+newtype FileSourceTimeDeltaUnits = FileSourceTimeDeltaUnits'+ { fromFileSourceTimeDeltaUnits ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FileSourceTimeDeltaUnits_MILLISECONDS :: FileSourceTimeDeltaUnits+pattern FileSourceTimeDeltaUnits_MILLISECONDS = FileSourceTimeDeltaUnits' "MILLISECONDS"++pattern FileSourceTimeDeltaUnits_SECONDS :: FileSourceTimeDeltaUnits+pattern FileSourceTimeDeltaUnits_SECONDS = FileSourceTimeDeltaUnits' "SECONDS"++{-# COMPLETE+ FileSourceTimeDeltaUnits_MILLISECONDS,+ FileSourceTimeDeltaUnits_SECONDS,+ FileSourceTimeDeltaUnits'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.FontScript+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.FontScript+ ( FontScript+ ( ..,+ FontScript_AUTOMATIC,+ FontScript_HANS,+ FontScript_HANT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provide the font script, using an ISO 15924 script code, if the+-- LanguageCode is not sufficient for determining the script type. Where+-- LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or+-- leave unset.+newtype FontScript = FontScript'+ { fromFontScript ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FontScript_AUTOMATIC :: FontScript+pattern FontScript_AUTOMATIC = FontScript' "AUTOMATIC"++pattern FontScript_HANS :: FontScript+pattern FontScript_HANS = FontScript' "HANS"++pattern FontScript_HANT :: FontScript+pattern FontScript_HANT = FontScript' "HANT"++{-# COMPLETE+ FontScript_AUTOMATIC,+ FontScript_HANS,+ FontScript_HANT,+ FontScript'+ #-}
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ForceIncludeRenditionSize+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ForceIncludeRenditionSize where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use Force include renditions to specify one or more resolutions to+-- include your ABR stack. * (Recommended) To optimize automated ABR,+-- specify as few resolutions as possible. * (Required) The number of+-- resolutions that you specify must be equal to, or less than, the Max+-- renditions setting. * If you specify a Min top rendition size rule,+-- specify at least one resolution that is equal to, or greater than, Min+-- top rendition size. * If you specify a Min bottom rendition size rule,+-- only specify resolutions that are equal to, or greater than, Min bottom+-- rendition size. * If you specify a Force include renditions rule, do not+-- specify a separate rule for Allowed renditions. * Note: The ABR stack+-- may include other resolutions that you do not specify here, depending on+-- the Max renditions setting.+--+-- /See:/ 'newForceIncludeRenditionSize' smart constructor.+data ForceIncludeRenditionSize = ForceIncludeRenditionSize'+ { -- | Use Height to define the video resolution height, in pixels, for this+ -- rule.+ height :: Prelude.Maybe Prelude.Natural,+ -- | Use Width to define the video resolution width, in pixels, for this+ -- rule.+ width :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForceIncludeRenditionSize' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'height', 'forceIncludeRenditionSize_height' - Use Height to define the video resolution height, in pixels, for this+-- rule.+--+-- 'width', 'forceIncludeRenditionSize_width' - Use Width to define the video resolution width, in pixels, for this+-- rule.+newForceIncludeRenditionSize ::+ ForceIncludeRenditionSize+newForceIncludeRenditionSize =+ ForceIncludeRenditionSize'+ { height =+ Prelude.Nothing,+ width = Prelude.Nothing+ }++-- | Use Height to define the video resolution height, in pixels, for this+-- rule.+forceIncludeRenditionSize_height :: Lens.Lens' ForceIncludeRenditionSize (Prelude.Maybe Prelude.Natural)+forceIncludeRenditionSize_height = Lens.lens (\ForceIncludeRenditionSize' {height} -> height) (\s@ForceIncludeRenditionSize' {} a -> s {height = a} :: ForceIncludeRenditionSize)++-- | Use Width to define the video resolution width, in pixels, for this+-- rule.+forceIncludeRenditionSize_width :: Lens.Lens' ForceIncludeRenditionSize (Prelude.Maybe Prelude.Natural)+forceIncludeRenditionSize_width = Lens.lens (\ForceIncludeRenditionSize' {width} -> width) (\s@ForceIncludeRenditionSize' {} a -> s {width = a} :: ForceIncludeRenditionSize)++instance Data.FromJSON ForceIncludeRenditionSize where+ parseJSON =+ Data.withObject+ "ForceIncludeRenditionSize"+ ( \x ->+ ForceIncludeRenditionSize'+ Prelude.<$> (x Data..:? "height")+ Prelude.<*> (x Data..:? "width")+ )++instance Prelude.Hashable ForceIncludeRenditionSize where+ hashWithSalt _salt ForceIncludeRenditionSize' {..} =+ _salt+ `Prelude.hashWithSalt` height+ `Prelude.hashWithSalt` width++instance Prelude.NFData ForceIncludeRenditionSize where+ rnf ForceIncludeRenditionSize' {..} =+ Prelude.rnf height `Prelude.seq` Prelude.rnf width++instance Data.ToJSON ForceIncludeRenditionSize where+ toJSON ForceIncludeRenditionSize' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("height" Data..=) Prelude.<$> height,+ ("width" Data..=) Prelude.<$> width+ ]+ )
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.FrameCaptureSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.FrameCaptureSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (VideoDescription)>(CodecSettings)+-- to the value FRAME_CAPTURE.+--+-- /See:/ 'newFrameCaptureSettings' smart constructor.+data FrameCaptureSettings = FrameCaptureSettings'+ { -- | Frame capture will encode the first frame of the output stream, then one+ -- frame every framerateDenominator\/framerateNumerator seconds. For+ -- example, settings of framerateNumerator = 1 and framerateDenominator = 3+ -- (a rate of 1\/3 frame per second) will capture the first frame, then 1+ -- frame every 3s. Files will be named as filename.n.jpg where n is the+ -- 0-based sequence number of each Capture.+ framerateDenominator :: Prelude.Maybe Prelude.Natural,+ -- | Frame capture will encode the first frame of the output stream, then one+ -- frame every framerateDenominator\/framerateNumerator seconds. For+ -- example, settings of framerateNumerator = 1 and framerateDenominator = 3+ -- (a rate of 1\/3 frame per second) will capture the first frame, then 1+ -- frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is+ -- the 0-based frame sequence number zero padded to 7 decimal places.+ framerateNumerator :: Prelude.Maybe Prelude.Natural,+ -- | Maximum number of captures (encoded jpg output files).+ maxCaptures :: Prelude.Maybe Prelude.Natural,+ -- | JPEG Quality - a higher value equals higher quality.+ quality :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FrameCaptureSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'framerateDenominator', 'frameCaptureSettings_framerateDenominator' - Frame capture will encode the first frame of the output stream, then one+-- frame every framerateDenominator\/framerateNumerator seconds. For+-- example, settings of framerateNumerator = 1 and framerateDenominator = 3+-- (a rate of 1\/3 frame per second) will capture the first frame, then 1+-- frame every 3s. Files will be named as filename.n.jpg where n is the+-- 0-based sequence number of each Capture.+--+-- 'framerateNumerator', 'frameCaptureSettings_framerateNumerator' - Frame capture will encode the first frame of the output stream, then one+-- frame every framerateDenominator\/framerateNumerator seconds. For+-- example, settings of framerateNumerator = 1 and framerateDenominator = 3+-- (a rate of 1\/3 frame per second) will capture the first frame, then 1+-- frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is+-- the 0-based frame sequence number zero padded to 7 decimal places.+--+-- 'maxCaptures', 'frameCaptureSettings_maxCaptures' - Maximum number of captures (encoded jpg output files).+--+-- 'quality', 'frameCaptureSettings_quality' - JPEG Quality - a higher value equals higher quality.+newFrameCaptureSettings ::+ FrameCaptureSettings+newFrameCaptureSettings =+ FrameCaptureSettings'+ { framerateDenominator =+ Prelude.Nothing,+ framerateNumerator = Prelude.Nothing,+ maxCaptures = Prelude.Nothing,+ quality = Prelude.Nothing+ }++-- | Frame capture will encode the first frame of the output stream, then one+-- frame every framerateDenominator\/framerateNumerator seconds. For+-- example, settings of framerateNumerator = 1 and framerateDenominator = 3+-- (a rate of 1\/3 frame per second) will capture the first frame, then 1+-- frame every 3s. Files will be named as filename.n.jpg where n is the+-- 0-based sequence number of each Capture.+frameCaptureSettings_framerateDenominator :: Lens.Lens' FrameCaptureSettings (Prelude.Maybe Prelude.Natural)+frameCaptureSettings_framerateDenominator = Lens.lens (\FrameCaptureSettings' {framerateDenominator} -> framerateDenominator) (\s@FrameCaptureSettings' {} a -> s {framerateDenominator = a} :: FrameCaptureSettings)++-- | Frame capture will encode the first frame of the output stream, then one+-- frame every framerateDenominator\/framerateNumerator seconds. For+-- example, settings of framerateNumerator = 1 and framerateDenominator = 3+-- (a rate of 1\/3 frame per second) will capture the first frame, then 1+-- frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is+-- the 0-based frame sequence number zero padded to 7 decimal places.+frameCaptureSettings_framerateNumerator :: Lens.Lens' FrameCaptureSettings (Prelude.Maybe Prelude.Natural)+frameCaptureSettings_framerateNumerator = Lens.lens (\FrameCaptureSettings' {framerateNumerator} -> framerateNumerator) (\s@FrameCaptureSettings' {} a -> s {framerateNumerator = a} :: FrameCaptureSettings)++-- | Maximum number of captures (encoded jpg output files).+frameCaptureSettings_maxCaptures :: Lens.Lens' FrameCaptureSettings (Prelude.Maybe Prelude.Natural)+frameCaptureSettings_maxCaptures = Lens.lens (\FrameCaptureSettings' {maxCaptures} -> maxCaptures) (\s@FrameCaptureSettings' {} a -> s {maxCaptures = a} :: FrameCaptureSettings)++-- | JPEG Quality - a higher value equals higher quality.+frameCaptureSettings_quality :: Lens.Lens' FrameCaptureSettings (Prelude.Maybe Prelude.Natural)+frameCaptureSettings_quality = Lens.lens (\FrameCaptureSettings' {quality} -> quality) (\s@FrameCaptureSettings' {} a -> s {quality = a} :: FrameCaptureSettings)++instance Data.FromJSON FrameCaptureSettings where+ parseJSON =+ Data.withObject+ "FrameCaptureSettings"+ ( \x ->+ FrameCaptureSettings'+ Prelude.<$> (x Data..:? "framerateDenominator")+ Prelude.<*> (x Data..:? "framerateNumerator")+ Prelude.<*> (x Data..:? "maxCaptures")+ Prelude.<*> (x Data..:? "quality")+ )++instance Prelude.Hashable FrameCaptureSettings where+ hashWithSalt _salt FrameCaptureSettings' {..} =+ _salt+ `Prelude.hashWithSalt` framerateDenominator+ `Prelude.hashWithSalt` framerateNumerator+ `Prelude.hashWithSalt` maxCaptures+ `Prelude.hashWithSalt` quality++instance Prelude.NFData FrameCaptureSettings where+ rnf FrameCaptureSettings' {..} =+ Prelude.rnf framerateDenominator+ `Prelude.seq` Prelude.rnf framerateNumerator+ `Prelude.seq` Prelude.rnf maxCaptures+ `Prelude.seq` Prelude.rnf quality++instance Data.ToJSON FrameCaptureSettings where+ toJSON FrameCaptureSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("framerateDenominator" Data..=)+ Prelude.<$> framerateDenominator,+ ("framerateNumerator" Data..=)+ Prelude.<$> framerateNumerator,+ ("maxCaptures" Data..=) Prelude.<$> maxCaptures,+ ("quality" Data..=) Prelude.<$> quality+ ]+ )
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264AdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264AdaptiveQuantization+ ( H264AdaptiveQuantization+ ( ..,+ H264AdaptiveQuantization_AUTO,+ H264AdaptiveQuantization_HIGH,+ H264AdaptiveQuantization_HIGHER,+ H264AdaptiveQuantization_LOW,+ H264AdaptiveQuantization_MAX,+ H264AdaptiveQuantization_MEDIUM,+ H264AdaptiveQuantization_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Keep the default value, Auto (AUTO), for this setting to have+-- MediaConvert automatically apply the best types of quantization for your+-- video content. When you want to apply your quantization settings+-- manually, you must set H264AdaptiveQuantization to a value other than+-- Auto (AUTO). Use this setting to specify the strength of any adaptive+-- quantization filters that you enable. If you don\'t want MediaConvert to+-- do any adaptive quantization in this transcode, set Adaptive+-- quantization (H264AdaptiveQuantization) to Off (OFF). Related settings:+-- The value that you choose here applies to the following settings:+-- H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and+-- H264TemporalAdaptiveQuantization.+newtype H264AdaptiveQuantization = H264AdaptiveQuantization'+ { fromH264AdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264AdaptiveQuantization_AUTO :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_AUTO = H264AdaptiveQuantization' "AUTO"++pattern H264AdaptiveQuantization_HIGH :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_HIGH = H264AdaptiveQuantization' "HIGH"++pattern H264AdaptiveQuantization_HIGHER :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_HIGHER = H264AdaptiveQuantization' "HIGHER"++pattern H264AdaptiveQuantization_LOW :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_LOW = H264AdaptiveQuantization' "LOW"++pattern H264AdaptiveQuantization_MAX :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_MAX = H264AdaptiveQuantization' "MAX"++pattern H264AdaptiveQuantization_MEDIUM :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_MEDIUM = H264AdaptiveQuantization' "MEDIUM"++pattern H264AdaptiveQuantization_OFF :: H264AdaptiveQuantization+pattern H264AdaptiveQuantization_OFF = H264AdaptiveQuantization' "OFF"++{-# COMPLETE+ H264AdaptiveQuantization_AUTO,+ H264AdaptiveQuantization_HIGH,+ H264AdaptiveQuantization_HIGHER,+ H264AdaptiveQuantization_LOW,+ H264AdaptiveQuantization_MAX,+ H264AdaptiveQuantization_MEDIUM,+ H264AdaptiveQuantization_OFF,+ H264AdaptiveQuantization'+ #-}
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264CodecLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264CodecLevel+ ( H264CodecLevel+ ( ..,+ H264CodecLevel_AUTO,+ H264CodecLevel_LEVEL_1,+ H264CodecLevel_LEVEL_1_1,+ H264CodecLevel_LEVEL_1_2,+ H264CodecLevel_LEVEL_1_3,+ H264CodecLevel_LEVEL_2,+ H264CodecLevel_LEVEL_2_1,+ H264CodecLevel_LEVEL_2_2,+ H264CodecLevel_LEVEL_3,+ H264CodecLevel_LEVEL_3_1,+ H264CodecLevel_LEVEL_3_2,+ H264CodecLevel_LEVEL_4,+ H264CodecLevel_LEVEL_4_1,+ H264CodecLevel_LEVEL_4_2,+ H264CodecLevel_LEVEL_5,+ H264CodecLevel_LEVEL_5_1,+ H264CodecLevel_LEVEL_5_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify an H.264 level that is consistent with your output video+-- settings. If you aren\'t sure what level to specify, choose Auto (AUTO).+newtype H264CodecLevel = H264CodecLevel'+ { fromH264CodecLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264CodecLevel_AUTO :: H264CodecLevel+pattern H264CodecLevel_AUTO = H264CodecLevel' "AUTO"++pattern H264CodecLevel_LEVEL_1 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_1 = H264CodecLevel' "LEVEL_1"++pattern H264CodecLevel_LEVEL_1_1 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_1_1 = H264CodecLevel' "LEVEL_1_1"++pattern H264CodecLevel_LEVEL_1_2 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_1_2 = H264CodecLevel' "LEVEL_1_2"++pattern H264CodecLevel_LEVEL_1_3 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_1_3 = H264CodecLevel' "LEVEL_1_3"++pattern H264CodecLevel_LEVEL_2 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_2 = H264CodecLevel' "LEVEL_2"++pattern H264CodecLevel_LEVEL_2_1 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_2_1 = H264CodecLevel' "LEVEL_2_1"++pattern H264CodecLevel_LEVEL_2_2 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_2_2 = H264CodecLevel' "LEVEL_2_2"++pattern H264CodecLevel_LEVEL_3 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_3 = H264CodecLevel' "LEVEL_3"++pattern H264CodecLevel_LEVEL_3_1 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_3_1 = H264CodecLevel' "LEVEL_3_1"++pattern H264CodecLevel_LEVEL_3_2 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_3_2 = H264CodecLevel' "LEVEL_3_2"++pattern H264CodecLevel_LEVEL_4 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_4 = H264CodecLevel' "LEVEL_4"++pattern H264CodecLevel_LEVEL_4_1 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_4_1 = H264CodecLevel' "LEVEL_4_1"++pattern H264CodecLevel_LEVEL_4_2 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_4_2 = H264CodecLevel' "LEVEL_4_2"++pattern H264CodecLevel_LEVEL_5 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_5 = H264CodecLevel' "LEVEL_5"++pattern H264CodecLevel_LEVEL_5_1 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_5_1 = H264CodecLevel' "LEVEL_5_1"++pattern H264CodecLevel_LEVEL_5_2 :: H264CodecLevel+pattern H264CodecLevel_LEVEL_5_2 = H264CodecLevel' "LEVEL_5_2"++{-# COMPLETE+ H264CodecLevel_AUTO,+ H264CodecLevel_LEVEL_1,+ H264CodecLevel_LEVEL_1_1,+ H264CodecLevel_LEVEL_1_2,+ H264CodecLevel_LEVEL_1_3,+ H264CodecLevel_LEVEL_2,+ H264CodecLevel_LEVEL_2_1,+ H264CodecLevel_LEVEL_2_2,+ H264CodecLevel_LEVEL_3,+ H264CodecLevel_LEVEL_3_1,+ H264CodecLevel_LEVEL_3_2,+ H264CodecLevel_LEVEL_4,+ H264CodecLevel_LEVEL_4_1,+ H264CodecLevel_LEVEL_4_2,+ H264CodecLevel_LEVEL_5,+ H264CodecLevel_LEVEL_5_1,+ H264CodecLevel_LEVEL_5_2,+ H264CodecLevel'+ #-}
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264CodecProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264CodecProfile+ ( H264CodecProfile+ ( ..,+ H264CodecProfile_BASELINE,+ H264CodecProfile_HIGH,+ H264CodecProfile_HIGH_10BIT,+ H264CodecProfile_HIGH_422,+ H264CodecProfile_HIGH_422_10BIT,+ H264CodecProfile_MAIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | H.264 Profile. High 4:2:2 and 10-bit profiles are only available with+-- the AVC-I License.+newtype H264CodecProfile = H264CodecProfile'+ { fromH264CodecProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264CodecProfile_BASELINE :: H264CodecProfile+pattern H264CodecProfile_BASELINE = H264CodecProfile' "BASELINE"++pattern H264CodecProfile_HIGH :: H264CodecProfile+pattern H264CodecProfile_HIGH = H264CodecProfile' "HIGH"++pattern H264CodecProfile_HIGH_10BIT :: H264CodecProfile+pattern H264CodecProfile_HIGH_10BIT = H264CodecProfile' "HIGH_10BIT"++pattern H264CodecProfile_HIGH_422 :: H264CodecProfile+pattern H264CodecProfile_HIGH_422 = H264CodecProfile' "HIGH_422"++pattern H264CodecProfile_HIGH_422_10BIT :: H264CodecProfile+pattern H264CodecProfile_HIGH_422_10BIT = H264CodecProfile' "HIGH_422_10BIT"++pattern H264CodecProfile_MAIN :: H264CodecProfile+pattern H264CodecProfile_MAIN = H264CodecProfile' "MAIN"++{-# COMPLETE+ H264CodecProfile_BASELINE,+ H264CodecProfile_HIGH,+ H264CodecProfile_HIGH_10BIT,+ H264CodecProfile_HIGH_422,+ H264CodecProfile_HIGH_422_10BIT,+ H264CodecProfile_MAIN,+ H264CodecProfile'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264DynamicSubGop+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264DynamicSubGop+ ( H264DynamicSubGop+ ( ..,+ H264DynamicSubGop_ADAPTIVE,+ H264DynamicSubGop_STATIC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose Adaptive to improve subjective video quality for high-motion+-- content. This will cause the service to use fewer B-frames (which infer+-- information based on other frames) for high-motion portions of the video+-- and more B-frames for low-motion portions. The maximum number of+-- B-frames is limited by the value you provide for the setting B frames+-- between reference frames (numberBFramesBetweenReferenceFrames).+newtype H264DynamicSubGop = H264DynamicSubGop'+ { fromH264DynamicSubGop ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264DynamicSubGop_ADAPTIVE :: H264DynamicSubGop+pattern H264DynamicSubGop_ADAPTIVE = H264DynamicSubGop' "ADAPTIVE"++pattern H264DynamicSubGop_STATIC :: H264DynamicSubGop+pattern H264DynamicSubGop_STATIC = H264DynamicSubGop' "STATIC"++{-# COMPLETE+ H264DynamicSubGop_ADAPTIVE,+ H264DynamicSubGop_STATIC,+ H264DynamicSubGop'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264EntropyEncoding+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264EntropyEncoding+ ( H264EntropyEncoding+ ( ..,+ H264EntropyEncoding_CABAC,+ H264EntropyEncoding_CAVLC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Entropy encoding mode. Use CABAC (must be in Main or High profile) or+-- CAVLC.+newtype H264EntropyEncoding = H264EntropyEncoding'+ { fromH264EntropyEncoding ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264EntropyEncoding_CABAC :: H264EntropyEncoding+pattern H264EntropyEncoding_CABAC = H264EntropyEncoding' "CABAC"++pattern H264EntropyEncoding_CAVLC :: H264EntropyEncoding+pattern H264EntropyEncoding_CAVLC = H264EntropyEncoding' "CAVLC"++{-# COMPLETE+ H264EntropyEncoding_CABAC,+ H264EntropyEncoding_CAVLC,+ H264EntropyEncoding'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264FieldEncoding+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264FieldEncoding+ ( H264FieldEncoding+ ( ..,+ H264FieldEncoding_FORCE_FIELD,+ H264FieldEncoding_MBAFF,+ H264FieldEncoding_PAFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The video encoding method for your MPEG-4 AVC output. Keep the default+-- value, PAFF, to have MediaConvert use PAFF encoding for interlaced+-- outputs. Choose Force field (FORCE_FIELD) to disable PAFF encoding and+-- create separate interlaced fields. Choose MBAFF to disable PAFF and have+-- MediaConvert use MBAFF encoding for interlaced outputs.+newtype H264FieldEncoding = H264FieldEncoding'+ { fromH264FieldEncoding ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264FieldEncoding_FORCE_FIELD :: H264FieldEncoding+pattern H264FieldEncoding_FORCE_FIELD = H264FieldEncoding' "FORCE_FIELD"++pattern H264FieldEncoding_MBAFF :: H264FieldEncoding+pattern H264FieldEncoding_MBAFF = H264FieldEncoding' "MBAFF"++pattern H264FieldEncoding_PAFF :: H264FieldEncoding+pattern H264FieldEncoding_PAFF = H264FieldEncoding' "PAFF"++{-# COMPLETE+ H264FieldEncoding_FORCE_FIELD,+ H264FieldEncoding_MBAFF,+ H264FieldEncoding_PAFF,+ H264FieldEncoding'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264FlickerAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264FlickerAdaptiveQuantization+ ( H264FlickerAdaptiveQuantization+ ( ..,+ H264FlickerAdaptiveQuantization_DISABLED,+ H264FlickerAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Only use this setting when you change the default value, AUTO, for the+-- setting H264AdaptiveQuantization. When you keep all defaults, excluding+-- H264AdaptiveQuantization and all other adaptive quantization from your+-- JSON job specification, MediaConvert automatically applies the best+-- types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change this+-- value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears as+-- a visual flicker that can arise when the encoder saves bits by copying+-- some macroblocks many times from frame to frame, and then refreshes them+-- at the I-frame. When you enable this setting, the encoder updates these+-- macroblocks slightly more often to smooth out the flicker. To manually+-- enable or disable H264FlickerAdaptiveQuantization, you must set Adaptive+-- quantization (H264AdaptiveQuantization) to a value other than AUTO.+newtype H264FlickerAdaptiveQuantization = H264FlickerAdaptiveQuantization'+ { fromH264FlickerAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264FlickerAdaptiveQuantization_DISABLED :: H264FlickerAdaptiveQuantization+pattern H264FlickerAdaptiveQuantization_DISABLED = H264FlickerAdaptiveQuantization' "DISABLED"++pattern H264FlickerAdaptiveQuantization_ENABLED :: H264FlickerAdaptiveQuantization+pattern H264FlickerAdaptiveQuantization_ENABLED = H264FlickerAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ H264FlickerAdaptiveQuantization_DISABLED,+ H264FlickerAdaptiveQuantization_ENABLED,+ H264FlickerAdaptiveQuantization'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264FramerateControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264FramerateControl+ ( H264FramerateControl+ ( ..,+ H264FramerateControl_INITIALIZE_FROM_SOURCE,+ H264FramerateControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+newtype H264FramerateControl = H264FramerateControl'+ { fromH264FramerateControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264FramerateControl_INITIALIZE_FROM_SOURCE :: H264FramerateControl+pattern H264FramerateControl_INITIALIZE_FROM_SOURCE = H264FramerateControl' "INITIALIZE_FROM_SOURCE"++pattern H264FramerateControl_SPECIFIED :: H264FramerateControl+pattern H264FramerateControl_SPECIFIED = H264FramerateControl' "SPECIFIED"++{-# COMPLETE+ H264FramerateControl_INITIALIZE_FROM_SOURCE,+ H264FramerateControl_SPECIFIED,+ H264FramerateControl'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264FramerateConversionAlgorithm+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264FramerateConversionAlgorithm+ ( H264FramerateConversionAlgorithm+ ( ..,+ H264FramerateConversionAlgorithm_DUPLICATE_DROP,+ H264FramerateConversionAlgorithm_FRAMEFORMER,+ H264FramerateConversionAlgorithm_INTERPOLATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+newtype H264FramerateConversionAlgorithm = H264FramerateConversionAlgorithm'+ { fromH264FramerateConversionAlgorithm ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264FramerateConversionAlgorithm_DUPLICATE_DROP :: H264FramerateConversionAlgorithm+pattern H264FramerateConversionAlgorithm_DUPLICATE_DROP = H264FramerateConversionAlgorithm' "DUPLICATE_DROP"++pattern H264FramerateConversionAlgorithm_FRAMEFORMER :: H264FramerateConversionAlgorithm+pattern H264FramerateConversionAlgorithm_FRAMEFORMER = H264FramerateConversionAlgorithm' "FRAMEFORMER"++pattern H264FramerateConversionAlgorithm_INTERPOLATE :: H264FramerateConversionAlgorithm+pattern H264FramerateConversionAlgorithm_INTERPOLATE = H264FramerateConversionAlgorithm' "INTERPOLATE"++{-# COMPLETE+ H264FramerateConversionAlgorithm_DUPLICATE_DROP,+ H264FramerateConversionAlgorithm_FRAMEFORMER,+ H264FramerateConversionAlgorithm_INTERPOLATE,+ H264FramerateConversionAlgorithm'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264GopBReference+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264GopBReference+ ( H264GopBReference+ ( ..,+ H264GopBReference_DISABLED,+ H264GopBReference_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If enable, use reference B frames for GOP structures that have B frames+-- > 1.+newtype H264GopBReference = H264GopBReference'+ { fromH264GopBReference ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264GopBReference_DISABLED :: H264GopBReference+pattern H264GopBReference_DISABLED = H264GopBReference' "DISABLED"++pattern H264GopBReference_ENABLED :: H264GopBReference+pattern H264GopBReference_ENABLED = H264GopBReference' "ENABLED"++{-# COMPLETE+ H264GopBReference_DISABLED,+ H264GopBReference_ENABLED,+ H264GopBReference'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264GopSizeUnits+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264GopSizeUnits+ ( H264GopSizeUnits+ ( ..,+ H264GopSizeUnits_AUTO,+ H264GopSizeUnits_FRAMES,+ H264GopSizeUnits_SECONDS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how the transcoder determines GOP size for this output. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+-- blank. By default, if you don\'t specify GOP mode control+-- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+-- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+-- leave GOP size blank in each output in your output group. To explicitly+-- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+-- seconds (SECONDS) and then provide the GOP length in the related setting+-- GOP size (GopSize).+newtype H264GopSizeUnits = H264GopSizeUnits'+ { fromH264GopSizeUnits ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264GopSizeUnits_AUTO :: H264GopSizeUnits+pattern H264GopSizeUnits_AUTO = H264GopSizeUnits' "AUTO"++pattern H264GopSizeUnits_FRAMES :: H264GopSizeUnits+pattern H264GopSizeUnits_FRAMES = H264GopSizeUnits' "FRAMES"++pattern H264GopSizeUnits_SECONDS :: H264GopSizeUnits+pattern H264GopSizeUnits_SECONDS = H264GopSizeUnits' "SECONDS"++{-# COMPLETE+ H264GopSizeUnits_AUTO,+ H264GopSizeUnits_FRAMES,+ H264GopSizeUnits_SECONDS,+ H264GopSizeUnits'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264InterlaceMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264InterlaceMode+ ( H264InterlaceMode+ ( ..,+ H264InterlaceMode_BOTTOM_FIELD,+ H264InterlaceMode_FOLLOW_BOTTOM_FIELD,+ H264InterlaceMode_FOLLOW_TOP_FIELD,+ H264InterlaceMode_PROGRESSIVE,+ H264InterlaceMode_TOP_FIELD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+newtype H264InterlaceMode = H264InterlaceMode'+ { fromH264InterlaceMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264InterlaceMode_BOTTOM_FIELD :: H264InterlaceMode+pattern H264InterlaceMode_BOTTOM_FIELD = H264InterlaceMode' "BOTTOM_FIELD"++pattern H264InterlaceMode_FOLLOW_BOTTOM_FIELD :: H264InterlaceMode+pattern H264InterlaceMode_FOLLOW_BOTTOM_FIELD = H264InterlaceMode' "FOLLOW_BOTTOM_FIELD"++pattern H264InterlaceMode_FOLLOW_TOP_FIELD :: H264InterlaceMode+pattern H264InterlaceMode_FOLLOW_TOP_FIELD = H264InterlaceMode' "FOLLOW_TOP_FIELD"++pattern H264InterlaceMode_PROGRESSIVE :: H264InterlaceMode+pattern H264InterlaceMode_PROGRESSIVE = H264InterlaceMode' "PROGRESSIVE"++pattern H264InterlaceMode_TOP_FIELD :: H264InterlaceMode+pattern H264InterlaceMode_TOP_FIELD = H264InterlaceMode' "TOP_FIELD"++{-# COMPLETE+ H264InterlaceMode_BOTTOM_FIELD,+ H264InterlaceMode_FOLLOW_BOTTOM_FIELD,+ H264InterlaceMode_FOLLOW_TOP_FIELD,+ H264InterlaceMode_PROGRESSIVE,+ H264InterlaceMode_TOP_FIELD,+ H264InterlaceMode'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264ParControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264ParControl+ ( H264ParControl+ ( ..,+ H264ParControl_INITIALIZE_FROM_SOURCE,+ H264ParControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. Specify how the service determines the pixel aspect ratio+-- (PAR) for this output. The default behavior, Follow source+-- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+-- output. To specify a different PAR in the console, choose any value+-- other than Follow source. To specify a different PAR by editing the JSON+-- job specification, choose SPECIFIED. When you choose SPECIFIED for this+-- setting, you must also specify values for the parNumerator and+-- parDenominator settings.+newtype H264ParControl = H264ParControl'+ { fromH264ParControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264ParControl_INITIALIZE_FROM_SOURCE :: H264ParControl+pattern H264ParControl_INITIALIZE_FROM_SOURCE = H264ParControl' "INITIALIZE_FROM_SOURCE"++pattern H264ParControl_SPECIFIED :: H264ParControl+pattern H264ParControl_SPECIFIED = H264ParControl' "SPECIFIED"++{-# COMPLETE+ H264ParControl_INITIALIZE_FROM_SOURCE,+ H264ParControl_SPECIFIED,+ H264ParControl'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264QualityTuningLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264QualityTuningLevel+ ( H264QualityTuningLevel+ ( ..,+ H264QualityTuningLevel_MULTI_PASS_HQ,+ H264QualityTuningLevel_SINGLE_PASS,+ H264QualityTuningLevel_SINGLE_PASS_HQ+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- you want to trade off encoding speed for output video quality. The+-- default behavior is faster, lower quality, single-pass encoding.+newtype H264QualityTuningLevel = H264QualityTuningLevel'+ { fromH264QualityTuningLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264QualityTuningLevel_MULTI_PASS_HQ :: H264QualityTuningLevel+pattern H264QualityTuningLevel_MULTI_PASS_HQ = H264QualityTuningLevel' "MULTI_PASS_HQ"++pattern H264QualityTuningLevel_SINGLE_PASS :: H264QualityTuningLevel+pattern H264QualityTuningLevel_SINGLE_PASS = H264QualityTuningLevel' "SINGLE_PASS"++pattern H264QualityTuningLevel_SINGLE_PASS_HQ :: H264QualityTuningLevel+pattern H264QualityTuningLevel_SINGLE_PASS_HQ = H264QualityTuningLevel' "SINGLE_PASS_HQ"++{-# COMPLETE+ H264QualityTuningLevel_MULTI_PASS_HQ,+ H264QualityTuningLevel_SINGLE_PASS,+ H264QualityTuningLevel_SINGLE_PASS_HQ,+ H264QualityTuningLevel'+ #-}
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264QvbrSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264QvbrSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Settings for quality-defined variable bitrate encoding with the H.264+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+--+-- /See:/ 'newH264QvbrSettings' smart constructor.+data H264QvbrSettings = H264QvbrSettings'+ { -- | Use this setting only when Rate control mode is QVBR and Quality tuning+ -- level is Multi-pass HQ. For Max average bitrate values suited to the+ -- complexity of your input video, the service limits the average bitrate+ -- of the video part of this output to the value that you choose. That is,+ -- the total size of the video element is less than or equal to the value+ -- you set multiplied by the number of seconds of encoded output.+ maxAverageBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting only when you set Rate control mode (RateControlMode)+ -- to QVBR. Specify the target quality level for this output. MediaConvert+ -- determines the right number of bits to use for each part of the video to+ -- maintain the video quality that you specify. When you keep the default+ -- value, AUTO, MediaConvert picks a quality level for you, based on+ -- characteristics of your input video. If you prefer to specify a quality+ -- level, specify a number from 1 through 10. Use higher numbers for+ -- greater quality. Level 10 results in nearly lossless compression. The+ -- quality level for most broadcast-quality transcodes is between 6 and 9.+ -- Optionally, to specify a value between whole numbers, also provide a+ -- value for the setting qvbrQualityLevelFineTune. For example, if you want+ -- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+ -- qvbrQualityLevelFineTune to .33.+ qvbrQualityLevel :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Specify a value here to set the QVBR quality to a level that+ -- is between whole numbers. For example, if you want your QVBR quality+ -- level to be 7.33, set qvbrQualityLevel to 7 and set+ -- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+ -- level to the nearest third of a whole number. For example, if you set+ -- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+ -- actual QVBR quality level is 7.33.+ qvbrQualityLevelFineTune :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'H264QvbrSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxAverageBitrate', 'h264QvbrSettings_maxAverageBitrate' - Use this setting only when Rate control mode is QVBR and Quality tuning+-- level is Multi-pass HQ. For Max average bitrate values suited to the+-- complexity of your input video, the service limits the average bitrate+-- of the video part of this output to the value that you choose. That is,+-- the total size of the video element is less than or equal to the value+-- you set multiplied by the number of seconds of encoded output.+--+-- 'qvbrQualityLevel', 'h264QvbrSettings_qvbrQualityLevel' - Use this setting only when you set Rate control mode (RateControlMode)+-- to QVBR. Specify the target quality level for this output. MediaConvert+-- determines the right number of bits to use for each part of the video to+-- maintain the video quality that you specify. When you keep the default+-- value, AUTO, MediaConvert picks a quality level for you, based on+-- characteristics of your input video. If you prefer to specify a quality+-- level, specify a number from 1 through 10. Use higher numbers for+-- greater quality. Level 10 results in nearly lossless compression. The+-- quality level for most broadcast-quality transcodes is between 6 and 9.+-- Optionally, to specify a value between whole numbers, also provide a+-- value for the setting qvbrQualityLevelFineTune. For example, if you want+-- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33.+--+-- 'qvbrQualityLevelFineTune', 'h264QvbrSettings_qvbrQualityLevelFineTune' - Optional. Specify a value here to set the QVBR quality to a level that+-- is between whole numbers. For example, if you want your QVBR quality+-- level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+-- level to the nearest third of a whole number. For example, if you set+-- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+-- actual QVBR quality level is 7.33.+newH264QvbrSettings ::+ H264QvbrSettings+newH264QvbrSettings =+ H264QvbrSettings'+ { maxAverageBitrate =+ Prelude.Nothing,+ qvbrQualityLevel = Prelude.Nothing,+ qvbrQualityLevelFineTune = Prelude.Nothing+ }++-- | Use this setting only when Rate control mode is QVBR and Quality tuning+-- level is Multi-pass HQ. For Max average bitrate values suited to the+-- complexity of your input video, the service limits the average bitrate+-- of the video part of this output to the value that you choose. That is,+-- the total size of the video element is less than or equal to the value+-- you set multiplied by the number of seconds of encoded output.+h264QvbrSettings_maxAverageBitrate :: Lens.Lens' H264QvbrSettings (Prelude.Maybe Prelude.Natural)+h264QvbrSettings_maxAverageBitrate = Lens.lens (\H264QvbrSettings' {maxAverageBitrate} -> maxAverageBitrate) (\s@H264QvbrSettings' {} a -> s {maxAverageBitrate = a} :: H264QvbrSettings)++-- | Use this setting only when you set Rate control mode (RateControlMode)+-- to QVBR. Specify the target quality level for this output. MediaConvert+-- determines the right number of bits to use for each part of the video to+-- maintain the video quality that you specify. When you keep the default+-- value, AUTO, MediaConvert picks a quality level for you, based on+-- characteristics of your input video. If you prefer to specify a quality+-- level, specify a number from 1 through 10. Use higher numbers for+-- greater quality. Level 10 results in nearly lossless compression. The+-- quality level for most broadcast-quality transcodes is between 6 and 9.+-- Optionally, to specify a value between whole numbers, also provide a+-- value for the setting qvbrQualityLevelFineTune. For example, if you want+-- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33.+h264QvbrSettings_qvbrQualityLevel :: Lens.Lens' H264QvbrSettings (Prelude.Maybe Prelude.Natural)+h264QvbrSettings_qvbrQualityLevel = Lens.lens (\H264QvbrSettings' {qvbrQualityLevel} -> qvbrQualityLevel) (\s@H264QvbrSettings' {} a -> s {qvbrQualityLevel = a} :: H264QvbrSettings)++-- | Optional. Specify a value here to set the QVBR quality to a level that+-- is between whole numbers. For example, if you want your QVBR quality+-- level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+-- level to the nearest third of a whole number. For example, if you set+-- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+-- actual QVBR quality level is 7.33.+h264QvbrSettings_qvbrQualityLevelFineTune :: Lens.Lens' H264QvbrSettings (Prelude.Maybe Prelude.Double)+h264QvbrSettings_qvbrQualityLevelFineTune = Lens.lens (\H264QvbrSettings' {qvbrQualityLevelFineTune} -> qvbrQualityLevelFineTune) (\s@H264QvbrSettings' {} a -> s {qvbrQualityLevelFineTune = a} :: H264QvbrSettings)++instance Data.FromJSON H264QvbrSettings where+ parseJSON =+ Data.withObject+ "H264QvbrSettings"+ ( \x ->+ H264QvbrSettings'+ Prelude.<$> (x Data..:? "maxAverageBitrate")+ Prelude.<*> (x Data..:? "qvbrQualityLevel")+ Prelude.<*> (x Data..:? "qvbrQualityLevelFineTune")+ )++instance Prelude.Hashable H264QvbrSettings where+ hashWithSalt _salt H264QvbrSettings' {..} =+ _salt+ `Prelude.hashWithSalt` maxAverageBitrate+ `Prelude.hashWithSalt` qvbrQualityLevel+ `Prelude.hashWithSalt` qvbrQualityLevelFineTune++instance Prelude.NFData H264QvbrSettings where+ rnf H264QvbrSettings' {..} =+ Prelude.rnf maxAverageBitrate+ `Prelude.seq` Prelude.rnf qvbrQualityLevel+ `Prelude.seq` Prelude.rnf qvbrQualityLevelFineTune++instance Data.ToJSON H264QvbrSettings where+ toJSON H264QvbrSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxAverageBitrate" Data..=)+ Prelude.<$> maxAverageBitrate,+ ("qvbrQualityLevel" Data..=)+ Prelude.<$> qvbrQualityLevel,+ ("qvbrQualityLevelFineTune" Data..=)+ Prelude.<$> qvbrQualityLevelFineTune+ ]+ )
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264RateControlMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264RateControlMode+ ( H264RateControlMode+ ( ..,+ H264RateControlMode_CBR,+ H264RateControlMode_QVBR,+ H264RateControlMode_VBR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting to specify whether this output has a variable bitrate+-- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+-- (QVBR).+newtype H264RateControlMode = H264RateControlMode'+ { fromH264RateControlMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264RateControlMode_CBR :: H264RateControlMode+pattern H264RateControlMode_CBR = H264RateControlMode' "CBR"++pattern H264RateControlMode_QVBR :: H264RateControlMode+pattern H264RateControlMode_QVBR = H264RateControlMode' "QVBR"++pattern H264RateControlMode_VBR :: H264RateControlMode+pattern H264RateControlMode_VBR = H264RateControlMode' "VBR"++{-# COMPLETE+ H264RateControlMode_CBR,+ H264RateControlMode_QVBR,+ H264RateControlMode_VBR,+ H264RateControlMode'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264RepeatPps+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264RepeatPps+ ( H264RepeatPps+ ( ..,+ H264RepeatPps_DISABLED,+ H264RepeatPps_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Places a PPS header on each encoded picture, even if repeated.+newtype H264RepeatPps = H264RepeatPps'+ { fromH264RepeatPps ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264RepeatPps_DISABLED :: H264RepeatPps+pattern H264RepeatPps_DISABLED = H264RepeatPps' "DISABLED"++pattern H264RepeatPps_ENABLED :: H264RepeatPps+pattern H264RepeatPps_ENABLED = H264RepeatPps' "ENABLED"++{-# COMPLETE+ H264RepeatPps_DISABLED,+ H264RepeatPps_ENABLED,+ H264RepeatPps'+ #-}
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264ScanTypeConversionMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264ScanTypeConversionMode+ ( H264ScanTypeConversionMode+ ( ..,+ H264ScanTypeConversionMode_INTERLACED,+ H264ScanTypeConversionMode_INTERLACED_OPTIMIZE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+newtype H264ScanTypeConversionMode = H264ScanTypeConversionMode'+ { fromH264ScanTypeConversionMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264ScanTypeConversionMode_INTERLACED :: H264ScanTypeConversionMode+pattern H264ScanTypeConversionMode_INTERLACED = H264ScanTypeConversionMode' "INTERLACED"++pattern H264ScanTypeConversionMode_INTERLACED_OPTIMIZE :: H264ScanTypeConversionMode+pattern H264ScanTypeConversionMode_INTERLACED_OPTIMIZE = H264ScanTypeConversionMode' "INTERLACED_OPTIMIZE"++{-# COMPLETE+ H264ScanTypeConversionMode_INTERLACED,+ H264ScanTypeConversionMode_INTERLACED_OPTIMIZE,+ H264ScanTypeConversionMode'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264SceneChangeDetect+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264SceneChangeDetect+ ( H264SceneChangeDetect+ ( ..,+ H264SceneChangeDetect_DISABLED,+ H264SceneChangeDetect_ENABLED,+ H264SceneChangeDetect_TRANSITION_DETECTION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable this setting to insert I-frames at scene changes that the service+-- automatically detects. This improves video quality and is enabled by+-- default. If this output uses QVBR, choose Transition detection+-- (TRANSITION_DETECTION) for further video quality improvement. For more+-- information about QVBR, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+newtype H264SceneChangeDetect = H264SceneChangeDetect'+ { fromH264SceneChangeDetect ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264SceneChangeDetect_DISABLED :: H264SceneChangeDetect+pattern H264SceneChangeDetect_DISABLED = H264SceneChangeDetect' "DISABLED"++pattern H264SceneChangeDetect_ENABLED :: H264SceneChangeDetect+pattern H264SceneChangeDetect_ENABLED = H264SceneChangeDetect' "ENABLED"++pattern H264SceneChangeDetect_TRANSITION_DETECTION :: H264SceneChangeDetect+pattern H264SceneChangeDetect_TRANSITION_DETECTION = H264SceneChangeDetect' "TRANSITION_DETECTION"++{-# COMPLETE+ H264SceneChangeDetect_DISABLED,+ H264SceneChangeDetect_ENABLED,+ H264SceneChangeDetect_TRANSITION_DETECTION,+ H264SceneChangeDetect'+ #-}
@@ -0,0 +1,1449 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264Settings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264Settings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.H264AdaptiveQuantization+import Amazonka.MediaConvert.Types.H264CodecLevel+import Amazonka.MediaConvert.Types.H264CodecProfile+import Amazonka.MediaConvert.Types.H264DynamicSubGop+import Amazonka.MediaConvert.Types.H264EntropyEncoding+import Amazonka.MediaConvert.Types.H264FieldEncoding+import Amazonka.MediaConvert.Types.H264FlickerAdaptiveQuantization+import Amazonka.MediaConvert.Types.H264FramerateControl+import Amazonka.MediaConvert.Types.H264FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.H264GopBReference+import Amazonka.MediaConvert.Types.H264GopSizeUnits+import Amazonka.MediaConvert.Types.H264InterlaceMode+import Amazonka.MediaConvert.Types.H264ParControl+import Amazonka.MediaConvert.Types.H264QualityTuningLevel+import Amazonka.MediaConvert.Types.H264QvbrSettings+import Amazonka.MediaConvert.Types.H264RateControlMode+import Amazonka.MediaConvert.Types.H264RepeatPps+import Amazonka.MediaConvert.Types.H264ScanTypeConversionMode+import Amazonka.MediaConvert.Types.H264SceneChangeDetect+import Amazonka.MediaConvert.Types.H264SlowPal+import Amazonka.MediaConvert.Types.H264SpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.H264Syntax+import Amazonka.MediaConvert.Types.H264Telecine+import Amazonka.MediaConvert.Types.H264TemporalAdaptiveQuantization+import Amazonka.MediaConvert.Types.H264UnregisteredSeiTimecode+import qualified Amazonka.Prelude as Prelude++-- | Required when you set (Codec) under (VideoDescription)>(CodecSettings)+-- to the value H_264.+--+-- /See:/ 'newH264Settings' smart constructor.+data H264Settings = H264Settings'+ { -- | Keep the default value, Auto (AUTO), for this setting to have+ -- MediaConvert automatically apply the best types of quantization for your+ -- video content. When you want to apply your quantization settings+ -- manually, you must set H264AdaptiveQuantization to a value other than+ -- Auto (AUTO). Use this setting to specify the strength of any adaptive+ -- quantization filters that you enable. If you don\'t want MediaConvert to+ -- do any adaptive quantization in this transcode, set Adaptive+ -- quantization (H264AdaptiveQuantization) to Off (OFF). Related settings:+ -- The value that you choose here applies to the following settings:+ -- H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and+ -- H264TemporalAdaptiveQuantization.+ adaptiveQuantization :: Prelude.Maybe H264AdaptiveQuantization,+ -- | Specify the average bitrate in bits per second. Required for VBR and+ -- CBR. For MS Smooth outputs, bitrates must be unique when rounded down to+ -- the nearest multiple of 1000.+ bitrate :: Prelude.Maybe Prelude.Natural,+ -- | Specify an H.264 level that is consistent with your output video+ -- settings. If you aren\'t sure what level to specify, choose Auto (AUTO).+ codecLevel :: Prelude.Maybe H264CodecLevel,+ -- | H.264 Profile. High 4:2:2 and 10-bit profiles are only available with+ -- the AVC-I License.+ codecProfile :: Prelude.Maybe H264CodecProfile,+ -- | Choose Adaptive to improve subjective video quality for high-motion+ -- content. This will cause the service to use fewer B-frames (which infer+ -- information based on other frames) for high-motion portions of the video+ -- and more B-frames for low-motion portions. The maximum number of+ -- B-frames is limited by the value you provide for the setting B frames+ -- between reference frames (numberBFramesBetweenReferenceFrames).+ dynamicSubGop :: Prelude.Maybe H264DynamicSubGop,+ -- | Entropy encoding mode. Use CABAC (must be in Main or High profile) or+ -- CAVLC.+ entropyEncoding :: Prelude.Maybe H264EntropyEncoding,+ -- | The video encoding method for your MPEG-4 AVC output. Keep the default+ -- value, PAFF, to have MediaConvert use PAFF encoding for interlaced+ -- outputs. Choose Force field (FORCE_FIELD) to disable PAFF encoding and+ -- create separate interlaced fields. Choose MBAFF to disable PAFF and have+ -- MediaConvert use MBAFF encoding for interlaced outputs.+ fieldEncoding :: Prelude.Maybe H264FieldEncoding,+ -- | Only use this setting when you change the default value, AUTO, for the+ -- setting H264AdaptiveQuantization. When you keep all defaults, excluding+ -- H264AdaptiveQuantization and all other adaptive quantization from your+ -- JSON job specification, MediaConvert automatically applies the best+ -- types of quantization for your video content. When you set+ -- H264AdaptiveQuantization to a value other than AUTO, the default value+ -- for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change this+ -- value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears as+ -- a visual flicker that can arise when the encoder saves bits by copying+ -- some macroblocks many times from frame to frame, and then refreshes them+ -- at the I-frame. When you enable this setting, the encoder updates these+ -- macroblocks slightly more often to smooth out the flicker. To manually+ -- enable or disable H264FlickerAdaptiveQuantization, you must set Adaptive+ -- quantization (H264AdaptiveQuantization) to a value other than AUTO.+ flickerAdaptiveQuantization :: Prelude.Maybe H264FlickerAdaptiveQuantization,+ -- | If you are using the console, use the Framerate setting to specify the+ -- frame rate for this output. If you want to keep the same frame rate as+ -- the input video, choose Follow source. If you want to do frame rate+ -- conversion, choose a frame rate from the dropdown list or choose Custom.+ -- The framerates shown in the dropdown list are decimal approximations of+ -- fractions. If you choose Custom, specify your frame rate as a fraction.+ -- If you are creating your transcoding job specification as a JSON file+ -- without the console, use FramerateControl to specify which value the+ -- service uses for the frame rate for this output. Choose+ -- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+ -- from the input. Choose SPECIFIED if you want the service to use the+ -- frame rate you specify in the settings FramerateNumerator and+ -- FramerateDenominator.+ framerateControl :: Prelude.Maybe H264FramerateControl,+ -- | Choose the method that you want MediaConvert to use when increasing or+ -- decreasing the frame rate. We recommend using drop duplicate+ -- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+ -- 30 fps. For numerically complex conversions, you can use interpolate+ -- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+ -- might introduce undesirable video artifacts. For complex frame rate+ -- conversions, especially if your source video has already been converted+ -- from its original cadence, use FrameFormer (FRAMEFORMER) to do+ -- motion-compensated interpolation. FrameFormer chooses the best+ -- conversion method frame by frame. Note that using FrameFormer increases+ -- the transcoding time and incurs a significant add-on cost.+ framerateConversionAlgorithm :: Prelude.Maybe H264FramerateConversionAlgorithm,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateDenominator to specify the denominator of this+ -- fraction. In this example, use 1001 for the value of+ -- FramerateDenominator. When you use the console for transcode jobs that+ -- use frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateDenominator :: Prelude.Maybe Prelude.Natural,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateNumerator to specify the numerator of this+ -- fraction. In this example, use 24000 for the value of+ -- FramerateNumerator. When you use the console for transcode jobs that use+ -- frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateNumerator :: Prelude.Maybe Prelude.Natural,+ -- | If enable, use reference B frames for GOP structures that have B frames+ -- > 1.+ gopBReference :: Prelude.Maybe H264GopBReference,+ -- | Specify the relative frequency of open to closed GOPs in this output.+ -- For example, if you want to allow four open GOPs and then require a+ -- closed GOP, set this value to 5. We recommend that you have the+ -- transcoder automatically choose this value for you based on+ -- characteristics of your input video. To enable this automatic behavior,+ -- keep the default value by leaving this setting out of your JSON job+ -- specification. In the console, do this by keeping the default empty+ -- value. If you do explicitly specify a value, for segmented outputs,+ -- don\'t set this value to 0.+ gopClosedCadence :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting only when you set GOP mode control (GopSizeUnits) to+ -- Specified, frames (FRAMES) or Specified, seconds (SECONDS). Specify the+ -- GOP length using a whole number of frames or a decimal value of seconds.+ -- MediaConvert will interpret this value as frames or seconds depending on+ -- the value you choose for GOP mode control (GopSizeUnits). If you want to+ -- allow MediaConvert to automatically determine GOP size, leave GOP size+ -- blank and set GOP mode control to Auto (AUTO). If your output group+ -- specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode+ -- control to Auto in each output in your output group.+ gopSize :: Prelude.Maybe Prelude.Double,+ -- | Specify how the transcoder determines GOP size for this output. We+ -- recommend that you have the transcoder automatically choose this value+ -- for you based on characteristics of your input video. To enable this+ -- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+ -- blank. By default, if you don\'t specify GOP mode control+ -- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+ -- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+ -- leave GOP size blank in each output in your output group. To explicitly+ -- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+ -- seconds (SECONDS) and then provide the GOP length in the related setting+ -- GOP size (GopSize).+ gopSizeUnits :: Prelude.Maybe H264GopSizeUnits,+ -- | If your downstream systems have strict buffer requirements: Specify the+ -- minimum percentage of the HRD buffer that\'s available at the end of+ -- each encoded video segment. For the best video quality: Set to 0 or+ -- leave blank to automatically determine the final buffer fill percentage.+ hrdBufferFinalFillPercentage :: Prelude.Maybe Prelude.Natural,+ -- | Percentage of the buffer that should initially be filled (HRD buffer+ -- model).+ hrdBufferInitialFillPercentage :: Prelude.Maybe Prelude.Natural,+ -- | Size of buffer (HRD buffer model) in bits. For example, enter five+ -- megabits as 5000000.+ hrdBufferSize :: Prelude.Maybe Prelude.Natural,+ -- | Choose the scan line type for the output. Keep the default value,+ -- Progressive (PROGRESSIVE) to create a progressive output, regardless of+ -- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+ -- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+ -- the same field polarity throughout. Use Follow, default top+ -- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+ -- produce outputs with the same field polarity as the source. For jobs+ -- that have multiple inputs, the output field polarity might change over+ -- the course of the output. Follow behavior depends on the input scan+ -- type. If the source is interlaced, the output will be interlaced with+ -- the same polarity as the source. If the source is progressive, the+ -- output will be interlaced with top field bottom field first, depending+ -- on which of the Follow options you choose.+ interlaceMode :: Prelude.Maybe H264InterlaceMode,+ -- | Maximum bitrate in bits\/second. For example, enter five megabits per+ -- second as 5000000. Required when Rate control mode is QVBR.+ maxBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting only when you also enable Scene change detection+ -- (SceneChangeDetect). This setting determines how the encoder manages the+ -- spacing between I-frames that it inserts as part of the I-frame cadence+ -- and the I-frames that it inserts for Scene change detection. We+ -- recommend that you have the transcoder automatically choose this value+ -- for you based on characteristics of your input video. To enable this+ -- automatic behavior, keep the default value by leaving this setting out+ -- of your JSON job specification. In the console, do this by keeping the+ -- default empty value. When you explicitly specify a value for this+ -- setting, the encoder determines whether to skip a cadence-driven I-frame+ -- by the value you set. For example, if you set Min I interval+ -- (minIInterval) to 5 and a cadence-driven I-frame would fall within 5+ -- frames of a scene-change I-frame, then the encoder skips the+ -- cadence-driven I-frame. In this way, one GOP is shrunk slightly and one+ -- GOP is stretched slightly. When the cadence-driven I-frames are farther+ -- from the scene-change I-frame than the value you set, then the encoder+ -- leaves all I-frames in place and the GOPs surrounding the scene change+ -- are smaller than the usual cadence GOPs.+ minIInterval :: Prelude.Maybe Prelude.Natural,+ -- | This setting to determines the number of B-frames that MediaConvert puts+ -- between reference frames in this output. We recommend that you use+ -- automatic behavior to allow the transcoder to choose the best value+ -- based on characteristics of your input video. In the console, choose+ -- AUTO to select this automatic behavior. When you manually edit your JSON+ -- job specification, leave this setting out to choose automatic behavior.+ -- When you want to specify this number explicitly, choose a whole number+ -- from 0 through 7.+ numberBFramesBetweenReferenceFrames :: Prelude.Maybe Prelude.Natural,+ -- | Number of reference frames to use. The encoder may use more than+ -- requested if using B-frames and\/or interlaced encoding.+ numberReferenceFrames :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Specify how the service determines the pixel aspect ratio+ -- (PAR) for this output. The default behavior, Follow source+ -- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+ -- output. To specify a different PAR in the console, choose any value+ -- other than Follow source. To specify a different PAR by editing the JSON+ -- job specification, choose SPECIFIED. When you choose SPECIFIED for this+ -- setting, you must also specify values for the parNumerator and+ -- parDenominator settings.+ parControl :: Prelude.Maybe H264ParControl,+ -- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+ -- the console, this corresponds to any value other than Follow source.+ -- When you specify an output pixel aspect ratio (PAR) that is different+ -- from your input video PAR, provide your output PAR as a ratio. For+ -- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+ -- In this example, the value for parDenominator is 33.+ parDenominator :: Prelude.Maybe Prelude.Natural,+ -- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+ -- the console, this corresponds to any value other than Follow source.+ -- When you specify an output pixel aspect ratio (PAR) that is different+ -- from your input video PAR, provide your output PAR as a ratio. For+ -- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+ -- In this example, the value for parNumerator is 40.+ parNumerator :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+ -- you want to trade off encoding speed for output video quality. The+ -- default behavior is faster, lower quality, single-pass encoding.+ qualityTuningLevel :: Prelude.Maybe H264QualityTuningLevel,+ -- | Settings for quality-defined variable bitrate encoding with the H.265+ -- codec. Use these settings only when you set QVBR for Rate control mode+ -- (RateControlMode).+ qvbrSettings :: Prelude.Maybe H264QvbrSettings,+ -- | Use this setting to specify whether this output has a variable bitrate+ -- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+ -- (QVBR).+ rateControlMode :: Prelude.Maybe H264RateControlMode,+ -- | Places a PPS header on each encoded picture, even if repeated.+ repeatPps :: Prelude.Maybe H264RepeatPps,+ -- | Use this setting for interlaced outputs, when your output frame rate is+ -- half of your input frame rate. In this situation, choose Optimized+ -- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+ -- output. In this case, each progressive frame from the input corresponds+ -- to an interlaced field in the output. Keep the default value, Basic+ -- interlacing (INTERLACED), for all other output frame rates. With basic+ -- interlacing, MediaConvert performs any frame rate conversion first and+ -- then interlaces the frames. When you choose Optimized interlacing and+ -- you set your output frame rate to a value that isn\'t suitable for+ -- optimized interlacing, MediaConvert automatically falls back to basic+ -- interlacing. Required settings: To use optimized interlacing, you must+ -- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+ -- optimized interlacing for hard telecine outputs. You must also set+ -- Interlace mode (interlaceMode) to a value other than Progressive+ -- (PROGRESSIVE).+ scanTypeConversionMode :: Prelude.Maybe H264ScanTypeConversionMode,+ -- | Enable this setting to insert I-frames at scene changes that the service+ -- automatically detects. This improves video quality and is enabled by+ -- default. If this output uses QVBR, choose Transition detection+ -- (TRANSITION_DETECTION) for further video quality improvement. For more+ -- information about QVBR, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+ sceneChangeDetect :: Prelude.Maybe H264SceneChangeDetect,+ -- | Number of slices per picture. Must be less than or equal to the number+ -- of macroblock rows for progressive pictures, and less than or equal to+ -- half the number of macroblock rows for interlaced pictures.+ slices :: Prelude.Maybe Prelude.Natural,+ -- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+ -- per second (fps). Enable slow PAL to create a 25 fps output. When you+ -- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+ -- resamples your audio to keep it synchronized with the video. Note that+ -- enabling this setting will slightly reduce the duration of your video.+ -- Required settings: You must also set Framerate to 25. In your JSON job+ -- specification, set (framerateControl) to (SPECIFIED),+ -- (framerateNumerator) to 25 and (framerateDenominator) to 1.+ slowPal :: Prelude.Maybe H264SlowPal,+ -- | Ignore this setting unless you need to comply with a specification that+ -- requires a specific value. If you don\'t have a specification+ -- requirement, we recommend that you adjust the softness of your output by+ -- using a lower value for the setting Sharpness (sharpness) or by enabling+ -- a noise reducer filter (noiseReducerFilter). The Softness (softness)+ -- setting specifies the quantization matrices that the encoder uses. Keep+ -- the default value, 0, for flat quantization. Choose the value 1 or 16 to+ -- use the default JVT softening quantization matricies from the H.264+ -- specification. Choose a value from 17 to 128 to use planar+ -- interpolation. Increasing values from 17 to 128 result in increasing+ -- reduction of high-frequency data. The value 128 results in the softest+ -- video.+ softness :: Prelude.Maybe Prelude.Natural,+ -- | Only use this setting when you change the default value, Auto (AUTO),+ -- for the setting H264AdaptiveQuantization. When you keep all defaults,+ -- excluding H264AdaptiveQuantization and all other adaptive quantization+ -- from your JSON job specification, MediaConvert automatically applies the+ -- best types of quantization for your video content. When you set+ -- H264AdaptiveQuantization to a value other than AUTO, the default value+ -- for H264SpatialAdaptiveQuantization is Enabled (ENABLED). Keep this+ -- default value to adjust quantization within each frame based on spatial+ -- variation of content complexity. When you enable this feature, the+ -- encoder uses fewer bits on areas that can sustain more distortion with+ -- no noticeable visual degradation and uses more bits on areas where any+ -- small distortion will be noticeable. For example, complex textured+ -- blocks are encoded with fewer bits and smooth textured blocks are+ -- encoded with more bits. Enabling this feature will almost always improve+ -- your video quality. Note, though, that this feature doesn\'t take into+ -- account where the viewer\'s attention is likely to be. If viewers are+ -- likely to be focusing their attention on a part of the screen with a lot+ -- of complex texture, you might choose to set+ -- H264SpatialAdaptiveQuantization to Disabled (DISABLED). Related setting:+ -- When you enable spatial adaptive quantization, set the value for+ -- Adaptive quantization (H264AdaptiveQuantization) depending on your+ -- content. For homogeneous content, such as cartoons and video games, set+ -- it to Low. For content with a wider variety of textures, set it to High+ -- or Higher. To manually enable or disable+ -- H264SpatialAdaptiveQuantization, you must set Adaptive quantization+ -- (H264AdaptiveQuantization) to a value other than AUTO.+ spatialAdaptiveQuantization :: Prelude.Maybe H264SpatialAdaptiveQuantization,+ -- | Produces a bitstream compliant with SMPTE RP-2027.+ syntax :: Prelude.Maybe H264Syntax,+ -- | When you do frame rate conversion from 23.976 frames per second (fps) to+ -- 29.97 fps, and your output scan type is interlaced, you can optionally+ -- enable hard or soft telecine to create a smoother picture. Hard telecine+ -- (HARD) produces a 29.97i output. Soft telecine (SOFT) produces an output+ -- with a 23.976 output that signals to the video player device to do the+ -- conversion during play back. When you keep the default value, None+ -- (NONE), MediaConvert does a standard frame rate conversion to 29.97+ -- without doing anything with the field polarity to create a smoother+ -- picture.+ telecine :: Prelude.Maybe H264Telecine,+ -- | Only use this setting when you change the default value, AUTO, for the+ -- setting H264AdaptiveQuantization. When you keep all defaults, excluding+ -- H264AdaptiveQuantization and all other adaptive quantization from your+ -- JSON job specification, MediaConvert automatically applies the best+ -- types of quantization for your video content. When you set+ -- H264AdaptiveQuantization to a value other than AUTO, the default value+ -- for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this+ -- default value to adjust quantization within each frame based on temporal+ -- variation of content complexity. When you enable this feature, the+ -- encoder uses fewer bits on areas of the frame that aren\'t moving and+ -- uses more bits on complex objects with sharp edges that move a lot. For+ -- example, this feature improves the readability of text tickers on+ -- newscasts and scoreboards on sports matches. Enabling this feature will+ -- almost always improve your video quality. Note, though, that this+ -- feature doesn\'t take into account where the viewer\'s attention is+ -- likely to be. If viewers are likely to be focusing their attention on a+ -- part of the screen that doesn\'t have moving objects with sharp edges,+ -- such as sports athletes\' faces, you might choose to set+ -- H264TemporalAdaptiveQuantization to Disabled (DISABLED). Related+ -- setting: When you enable temporal quantization, adjust the strength of+ -- the filter with the setting Adaptive quantization+ -- (adaptiveQuantization). To manually enable or disable+ -- H264TemporalAdaptiveQuantization, you must set Adaptive quantization+ -- (H264AdaptiveQuantization) to a value other than AUTO.+ temporalAdaptiveQuantization :: Prelude.Maybe H264TemporalAdaptiveQuantization,+ -- | Inserts timecode for each frame as 4 bytes of an unregistered SEI+ -- message.+ unregisteredSeiTimecode :: Prelude.Maybe H264UnregisteredSeiTimecode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'H264Settings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adaptiveQuantization', 'h264Settings_adaptiveQuantization' - Keep the default value, Auto (AUTO), for this setting to have+-- MediaConvert automatically apply the best types of quantization for your+-- video content. When you want to apply your quantization settings+-- manually, you must set H264AdaptiveQuantization to a value other than+-- Auto (AUTO). Use this setting to specify the strength of any adaptive+-- quantization filters that you enable. If you don\'t want MediaConvert to+-- do any adaptive quantization in this transcode, set Adaptive+-- quantization (H264AdaptiveQuantization) to Off (OFF). Related settings:+-- The value that you choose here applies to the following settings:+-- H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and+-- H264TemporalAdaptiveQuantization.+--+-- 'bitrate', 'h264Settings_bitrate' - Specify the average bitrate in bits per second. Required for VBR and+-- CBR. For MS Smooth outputs, bitrates must be unique when rounded down to+-- the nearest multiple of 1000.+--+-- 'codecLevel', 'h264Settings_codecLevel' - Specify an H.264 level that is consistent with your output video+-- settings. If you aren\'t sure what level to specify, choose Auto (AUTO).+--+-- 'codecProfile', 'h264Settings_codecProfile' - H.264 Profile. High 4:2:2 and 10-bit profiles are only available with+-- the AVC-I License.+--+-- 'dynamicSubGop', 'h264Settings_dynamicSubGop' - Choose Adaptive to improve subjective video quality for high-motion+-- content. This will cause the service to use fewer B-frames (which infer+-- information based on other frames) for high-motion portions of the video+-- and more B-frames for low-motion portions. The maximum number of+-- B-frames is limited by the value you provide for the setting B frames+-- between reference frames (numberBFramesBetweenReferenceFrames).+--+-- 'entropyEncoding', 'h264Settings_entropyEncoding' - Entropy encoding mode. Use CABAC (must be in Main or High profile) or+-- CAVLC.+--+-- 'fieldEncoding', 'h264Settings_fieldEncoding' - The video encoding method for your MPEG-4 AVC output. Keep the default+-- value, PAFF, to have MediaConvert use PAFF encoding for interlaced+-- outputs. Choose Force field (FORCE_FIELD) to disable PAFF encoding and+-- create separate interlaced fields. Choose MBAFF to disable PAFF and have+-- MediaConvert use MBAFF encoding for interlaced outputs.+--+-- 'flickerAdaptiveQuantization', 'h264Settings_flickerAdaptiveQuantization' - Only use this setting when you change the default value, AUTO, for the+-- setting H264AdaptiveQuantization. When you keep all defaults, excluding+-- H264AdaptiveQuantization and all other adaptive quantization from your+-- JSON job specification, MediaConvert automatically applies the best+-- types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change this+-- value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears as+-- a visual flicker that can arise when the encoder saves bits by copying+-- some macroblocks many times from frame to frame, and then refreshes them+-- at the I-frame. When you enable this setting, the encoder updates these+-- macroblocks slightly more often to smooth out the flicker. To manually+-- enable or disable H264FlickerAdaptiveQuantization, you must set Adaptive+-- quantization (H264AdaptiveQuantization) to a value other than AUTO.+--+-- 'framerateControl', 'h264Settings_framerateControl' - If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+--+-- 'framerateConversionAlgorithm', 'h264Settings_framerateConversionAlgorithm' - Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+--+-- 'framerateDenominator', 'h264Settings_framerateDenominator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'framerateNumerator', 'h264Settings_framerateNumerator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'gopBReference', 'h264Settings_gopBReference' - If enable, use reference B frames for GOP structures that have B frames+-- > 1.+--+-- 'gopClosedCadence', 'h264Settings_gopClosedCadence' - Specify the relative frequency of open to closed GOPs in this output.+-- For example, if you want to allow four open GOPs and then require a+-- closed GOP, set this value to 5. We recommend that you have the+-- transcoder automatically choose this value for you based on+-- characteristics of your input video. To enable this automatic behavior,+-- keep the default value by leaving this setting out of your JSON job+-- specification. In the console, do this by keeping the default empty+-- value. If you do explicitly specify a value, for segmented outputs,+-- don\'t set this value to 0.+--+-- 'gopSize', 'h264Settings_gopSize' - Use this setting only when you set GOP mode control (GopSizeUnits) to+-- Specified, frames (FRAMES) or Specified, seconds (SECONDS). Specify the+-- GOP length using a whole number of frames or a decimal value of seconds.+-- MediaConvert will interpret this value as frames or seconds depending on+-- the value you choose for GOP mode control (GopSizeUnits). If you want to+-- allow MediaConvert to automatically determine GOP size, leave GOP size+-- blank and set GOP mode control to Auto (AUTO). If your output group+-- specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode+-- control to Auto in each output in your output group.+--+-- 'gopSizeUnits', 'h264Settings_gopSizeUnits' - Specify how the transcoder determines GOP size for this output. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+-- blank. By default, if you don\'t specify GOP mode control+-- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+-- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+-- leave GOP size blank in each output in your output group. To explicitly+-- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+-- seconds (SECONDS) and then provide the GOP length in the related setting+-- GOP size (GopSize).+--+-- 'hrdBufferFinalFillPercentage', 'h264Settings_hrdBufferFinalFillPercentage' - If your downstream systems have strict buffer requirements: Specify the+-- minimum percentage of the HRD buffer that\'s available at the end of+-- each encoded video segment. For the best video quality: Set to 0 or+-- leave blank to automatically determine the final buffer fill percentage.+--+-- 'hrdBufferInitialFillPercentage', 'h264Settings_hrdBufferInitialFillPercentage' - Percentage of the buffer that should initially be filled (HRD buffer+-- model).+--+-- 'hrdBufferSize', 'h264Settings_hrdBufferSize' - Size of buffer (HRD buffer model) in bits. For example, enter five+-- megabits as 5000000.+--+-- 'interlaceMode', 'h264Settings_interlaceMode' - Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+--+-- 'maxBitrate', 'h264Settings_maxBitrate' - Maximum bitrate in bits\/second. For example, enter five megabits per+-- second as 5000000. Required when Rate control mode is QVBR.+--+-- 'minIInterval', 'h264Settings_minIInterval' - Use this setting only when you also enable Scene change detection+-- (SceneChangeDetect). This setting determines how the encoder manages the+-- spacing between I-frames that it inserts as part of the I-frame cadence+-- and the I-frames that it inserts for Scene change detection. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, keep the default value by leaving this setting out+-- of your JSON job specification. In the console, do this by keeping the+-- default empty value. When you explicitly specify a value for this+-- setting, the encoder determines whether to skip a cadence-driven I-frame+-- by the value you set. For example, if you set Min I interval+-- (minIInterval) to 5 and a cadence-driven I-frame would fall within 5+-- frames of a scene-change I-frame, then the encoder skips the+-- cadence-driven I-frame. In this way, one GOP is shrunk slightly and one+-- GOP is stretched slightly. When the cadence-driven I-frames are farther+-- from the scene-change I-frame than the value you set, then the encoder+-- leaves all I-frames in place and the GOPs surrounding the scene change+-- are smaller than the usual cadence GOPs.+--+-- 'numberBFramesBetweenReferenceFrames', 'h264Settings_numberBFramesBetweenReferenceFrames' - This setting to determines the number of B-frames that MediaConvert puts+-- between reference frames in this output. We recommend that you use+-- automatic behavior to allow the transcoder to choose the best value+-- based on characteristics of your input video. In the console, choose+-- AUTO to select this automatic behavior. When you manually edit your JSON+-- job specification, leave this setting out to choose automatic behavior.+-- When you want to specify this number explicitly, choose a whole number+-- from 0 through 7.+--+-- 'numberReferenceFrames', 'h264Settings_numberReferenceFrames' - Number of reference frames to use. The encoder may use more than+-- requested if using B-frames and\/or interlaced encoding.+--+-- 'parControl', 'h264Settings_parControl' - Optional. Specify how the service determines the pixel aspect ratio+-- (PAR) for this output. The default behavior, Follow source+-- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+-- output. To specify a different PAR in the console, choose any value+-- other than Follow source. To specify a different PAR by editing the JSON+-- job specification, choose SPECIFIED. When you choose SPECIFIED for this+-- setting, you must also specify values for the parNumerator and+-- parDenominator settings.+--+-- 'parDenominator', 'h264Settings_parDenominator' - Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parDenominator is 33.+--+-- 'parNumerator', 'h264Settings_parNumerator' - Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parNumerator is 40.+--+-- 'qualityTuningLevel', 'h264Settings_qualityTuningLevel' - Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- you want to trade off encoding speed for output video quality. The+-- default behavior is faster, lower quality, single-pass encoding.+--+-- 'qvbrSettings', 'h264Settings_qvbrSettings' - Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+--+-- 'rateControlMode', 'h264Settings_rateControlMode' - Use this setting to specify whether this output has a variable bitrate+-- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+-- (QVBR).+--+-- 'repeatPps', 'h264Settings_repeatPps' - Places a PPS header on each encoded picture, even if repeated.+--+-- 'scanTypeConversionMode', 'h264Settings_scanTypeConversionMode' - Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+--+-- 'sceneChangeDetect', 'h264Settings_sceneChangeDetect' - Enable this setting to insert I-frames at scene changes that the service+-- automatically detects. This improves video quality and is enabled by+-- default. If this output uses QVBR, choose Transition detection+-- (TRANSITION_DETECTION) for further video quality improvement. For more+-- information about QVBR, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+--+-- 'slices', 'h264Settings_slices' - Number of slices per picture. Must be less than or equal to the number+-- of macroblock rows for progressive pictures, and less than or equal to+-- half the number of macroblock rows for interlaced pictures.+--+-- 'slowPal', 'h264Settings_slowPal' - Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+--+-- 'softness', 'h264Settings_softness' - Ignore this setting unless you need to comply with a specification that+-- requires a specific value. If you don\'t have a specification+-- requirement, we recommend that you adjust the softness of your output by+-- using a lower value for the setting Sharpness (sharpness) or by enabling+-- a noise reducer filter (noiseReducerFilter). The Softness (softness)+-- setting specifies the quantization matrices that the encoder uses. Keep+-- the default value, 0, for flat quantization. Choose the value 1 or 16 to+-- use the default JVT softening quantization matricies from the H.264+-- specification. Choose a value from 17 to 128 to use planar+-- interpolation. Increasing values from 17 to 128 result in increasing+-- reduction of high-frequency data. The value 128 results in the softest+-- video.+--+-- 'spatialAdaptiveQuantization', 'h264Settings_spatialAdaptiveQuantization' - Only use this setting when you change the default value, Auto (AUTO),+-- for the setting H264AdaptiveQuantization. When you keep all defaults,+-- excluding H264AdaptiveQuantization and all other adaptive quantization+-- from your JSON job specification, MediaConvert automatically applies the+-- best types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264SpatialAdaptiveQuantization is Enabled (ENABLED). Keep this+-- default value to adjust quantization within each frame based on spatial+-- variation of content complexity. When you enable this feature, the+-- encoder uses fewer bits on areas that can sustain more distortion with+-- no noticeable visual degradation and uses more bits on areas where any+-- small distortion will be noticeable. For example, complex textured+-- blocks are encoded with fewer bits and smooth textured blocks are+-- encoded with more bits. Enabling this feature will almost always improve+-- your video quality. Note, though, that this feature doesn\'t take into+-- account where the viewer\'s attention is likely to be. If viewers are+-- likely to be focusing their attention on a part of the screen with a lot+-- of complex texture, you might choose to set+-- H264SpatialAdaptiveQuantization to Disabled (DISABLED). Related setting:+-- When you enable spatial adaptive quantization, set the value for+-- Adaptive quantization (H264AdaptiveQuantization) depending on your+-- content. For homogeneous content, such as cartoons and video games, set+-- it to Low. For content with a wider variety of textures, set it to High+-- or Higher. To manually enable or disable+-- H264SpatialAdaptiveQuantization, you must set Adaptive quantization+-- (H264AdaptiveQuantization) to a value other than AUTO.+--+-- 'syntax', 'h264Settings_syntax' - Produces a bitstream compliant with SMPTE RP-2027.+--+-- 'telecine', 'h264Settings_telecine' - When you do frame rate conversion from 23.976 frames per second (fps) to+-- 29.97 fps, and your output scan type is interlaced, you can optionally+-- enable hard or soft telecine to create a smoother picture. Hard telecine+-- (HARD) produces a 29.97i output. Soft telecine (SOFT) produces an output+-- with a 23.976 output that signals to the video player device to do the+-- conversion during play back. When you keep the default value, None+-- (NONE), MediaConvert does a standard frame rate conversion to 29.97+-- without doing anything with the field polarity to create a smoother+-- picture.+--+-- 'temporalAdaptiveQuantization', 'h264Settings_temporalAdaptiveQuantization' - Only use this setting when you change the default value, AUTO, for the+-- setting H264AdaptiveQuantization. When you keep all defaults, excluding+-- H264AdaptiveQuantization and all other adaptive quantization from your+-- JSON job specification, MediaConvert automatically applies the best+-- types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this+-- default value to adjust quantization within each frame based on temporal+-- variation of content complexity. When you enable this feature, the+-- encoder uses fewer bits on areas of the frame that aren\'t moving and+-- uses more bits on complex objects with sharp edges that move a lot. For+-- example, this feature improves the readability of text tickers on+-- newscasts and scoreboards on sports matches. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen that doesn\'t have moving objects with sharp edges,+-- such as sports athletes\' faces, you might choose to set+-- H264TemporalAdaptiveQuantization to Disabled (DISABLED). Related+-- setting: When you enable temporal quantization, adjust the strength of+-- the filter with the setting Adaptive quantization+-- (adaptiveQuantization). To manually enable or disable+-- H264TemporalAdaptiveQuantization, you must set Adaptive quantization+-- (H264AdaptiveQuantization) to a value other than AUTO.+--+-- 'unregisteredSeiTimecode', 'h264Settings_unregisteredSeiTimecode' - Inserts timecode for each frame as 4 bytes of an unregistered SEI+-- message.+newH264Settings ::+ H264Settings+newH264Settings =+ H264Settings'+ { adaptiveQuantization =+ Prelude.Nothing,+ bitrate = Prelude.Nothing,+ codecLevel = Prelude.Nothing,+ codecProfile = Prelude.Nothing,+ dynamicSubGop = Prelude.Nothing,+ entropyEncoding = Prelude.Nothing,+ fieldEncoding = Prelude.Nothing,+ flickerAdaptiveQuantization = Prelude.Nothing,+ framerateControl = Prelude.Nothing,+ framerateConversionAlgorithm = Prelude.Nothing,+ framerateDenominator = Prelude.Nothing,+ framerateNumerator = Prelude.Nothing,+ gopBReference = Prelude.Nothing,+ gopClosedCadence = Prelude.Nothing,+ gopSize = Prelude.Nothing,+ gopSizeUnits = Prelude.Nothing,+ hrdBufferFinalFillPercentage = Prelude.Nothing,+ hrdBufferInitialFillPercentage = Prelude.Nothing,+ hrdBufferSize = Prelude.Nothing,+ interlaceMode = Prelude.Nothing,+ maxBitrate = Prelude.Nothing,+ minIInterval = Prelude.Nothing,+ numberBFramesBetweenReferenceFrames =+ Prelude.Nothing,+ numberReferenceFrames = Prelude.Nothing,+ parControl = Prelude.Nothing,+ parDenominator = Prelude.Nothing,+ parNumerator = Prelude.Nothing,+ qualityTuningLevel = Prelude.Nothing,+ qvbrSettings = Prelude.Nothing,+ rateControlMode = Prelude.Nothing,+ repeatPps = Prelude.Nothing,+ scanTypeConversionMode = Prelude.Nothing,+ sceneChangeDetect = Prelude.Nothing,+ slices = Prelude.Nothing,+ slowPal = Prelude.Nothing,+ softness = Prelude.Nothing,+ spatialAdaptiveQuantization = Prelude.Nothing,+ syntax = Prelude.Nothing,+ telecine = Prelude.Nothing,+ temporalAdaptiveQuantization = Prelude.Nothing,+ unregisteredSeiTimecode = Prelude.Nothing+ }++-- | Keep the default value, Auto (AUTO), for this setting to have+-- MediaConvert automatically apply the best types of quantization for your+-- video content. When you want to apply your quantization settings+-- manually, you must set H264AdaptiveQuantization to a value other than+-- Auto (AUTO). Use this setting to specify the strength of any adaptive+-- quantization filters that you enable. If you don\'t want MediaConvert to+-- do any adaptive quantization in this transcode, set Adaptive+-- quantization (H264AdaptiveQuantization) to Off (OFF). Related settings:+-- The value that you choose here applies to the following settings:+-- H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and+-- H264TemporalAdaptiveQuantization.+h264Settings_adaptiveQuantization :: Lens.Lens' H264Settings (Prelude.Maybe H264AdaptiveQuantization)+h264Settings_adaptiveQuantization = Lens.lens (\H264Settings' {adaptiveQuantization} -> adaptiveQuantization) (\s@H264Settings' {} a -> s {adaptiveQuantization = a} :: H264Settings)++-- | Specify the average bitrate in bits per second. Required for VBR and+-- CBR. For MS Smooth outputs, bitrates must be unique when rounded down to+-- the nearest multiple of 1000.+h264Settings_bitrate :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_bitrate = Lens.lens (\H264Settings' {bitrate} -> bitrate) (\s@H264Settings' {} a -> s {bitrate = a} :: H264Settings)++-- | Specify an H.264 level that is consistent with your output video+-- settings. If you aren\'t sure what level to specify, choose Auto (AUTO).+h264Settings_codecLevel :: Lens.Lens' H264Settings (Prelude.Maybe H264CodecLevel)+h264Settings_codecLevel = Lens.lens (\H264Settings' {codecLevel} -> codecLevel) (\s@H264Settings' {} a -> s {codecLevel = a} :: H264Settings)++-- | H.264 Profile. High 4:2:2 and 10-bit profiles are only available with+-- the AVC-I License.+h264Settings_codecProfile :: Lens.Lens' H264Settings (Prelude.Maybe H264CodecProfile)+h264Settings_codecProfile = Lens.lens (\H264Settings' {codecProfile} -> codecProfile) (\s@H264Settings' {} a -> s {codecProfile = a} :: H264Settings)++-- | Choose Adaptive to improve subjective video quality for high-motion+-- content. This will cause the service to use fewer B-frames (which infer+-- information based on other frames) for high-motion portions of the video+-- and more B-frames for low-motion portions. The maximum number of+-- B-frames is limited by the value you provide for the setting B frames+-- between reference frames (numberBFramesBetweenReferenceFrames).+h264Settings_dynamicSubGop :: Lens.Lens' H264Settings (Prelude.Maybe H264DynamicSubGop)+h264Settings_dynamicSubGop = Lens.lens (\H264Settings' {dynamicSubGop} -> dynamicSubGop) (\s@H264Settings' {} a -> s {dynamicSubGop = a} :: H264Settings)++-- | Entropy encoding mode. Use CABAC (must be in Main or High profile) or+-- CAVLC.+h264Settings_entropyEncoding :: Lens.Lens' H264Settings (Prelude.Maybe H264EntropyEncoding)+h264Settings_entropyEncoding = Lens.lens (\H264Settings' {entropyEncoding} -> entropyEncoding) (\s@H264Settings' {} a -> s {entropyEncoding = a} :: H264Settings)++-- | The video encoding method for your MPEG-4 AVC output. Keep the default+-- value, PAFF, to have MediaConvert use PAFF encoding for interlaced+-- outputs. Choose Force field (FORCE_FIELD) to disable PAFF encoding and+-- create separate interlaced fields. Choose MBAFF to disable PAFF and have+-- MediaConvert use MBAFF encoding for interlaced outputs.+h264Settings_fieldEncoding :: Lens.Lens' H264Settings (Prelude.Maybe H264FieldEncoding)+h264Settings_fieldEncoding = Lens.lens (\H264Settings' {fieldEncoding} -> fieldEncoding) (\s@H264Settings' {} a -> s {fieldEncoding = a} :: H264Settings)++-- | Only use this setting when you change the default value, AUTO, for the+-- setting H264AdaptiveQuantization. When you keep all defaults, excluding+-- H264AdaptiveQuantization and all other adaptive quantization from your+-- JSON job specification, MediaConvert automatically applies the best+-- types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change this+-- value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears as+-- a visual flicker that can arise when the encoder saves bits by copying+-- some macroblocks many times from frame to frame, and then refreshes them+-- at the I-frame. When you enable this setting, the encoder updates these+-- macroblocks slightly more often to smooth out the flicker. To manually+-- enable or disable H264FlickerAdaptiveQuantization, you must set Adaptive+-- quantization (H264AdaptiveQuantization) to a value other than AUTO.+h264Settings_flickerAdaptiveQuantization :: Lens.Lens' H264Settings (Prelude.Maybe H264FlickerAdaptiveQuantization)+h264Settings_flickerAdaptiveQuantization = Lens.lens (\H264Settings' {flickerAdaptiveQuantization} -> flickerAdaptiveQuantization) (\s@H264Settings' {} a -> s {flickerAdaptiveQuantization = a} :: H264Settings)++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+h264Settings_framerateControl :: Lens.Lens' H264Settings (Prelude.Maybe H264FramerateControl)+h264Settings_framerateControl = Lens.lens (\H264Settings' {framerateControl} -> framerateControl) (\s@H264Settings' {} a -> s {framerateControl = a} :: H264Settings)++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+h264Settings_framerateConversionAlgorithm :: Lens.Lens' H264Settings (Prelude.Maybe H264FramerateConversionAlgorithm)+h264Settings_framerateConversionAlgorithm = Lens.lens (\H264Settings' {framerateConversionAlgorithm} -> framerateConversionAlgorithm) (\s@H264Settings' {} a -> s {framerateConversionAlgorithm = a} :: H264Settings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+h264Settings_framerateDenominator :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_framerateDenominator = Lens.lens (\H264Settings' {framerateDenominator} -> framerateDenominator) (\s@H264Settings' {} a -> s {framerateDenominator = a} :: H264Settings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+h264Settings_framerateNumerator :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_framerateNumerator = Lens.lens (\H264Settings' {framerateNumerator} -> framerateNumerator) (\s@H264Settings' {} a -> s {framerateNumerator = a} :: H264Settings)++-- | If enable, use reference B frames for GOP structures that have B frames+-- > 1.+h264Settings_gopBReference :: Lens.Lens' H264Settings (Prelude.Maybe H264GopBReference)+h264Settings_gopBReference = Lens.lens (\H264Settings' {gopBReference} -> gopBReference) (\s@H264Settings' {} a -> s {gopBReference = a} :: H264Settings)++-- | Specify the relative frequency of open to closed GOPs in this output.+-- For example, if you want to allow four open GOPs and then require a+-- closed GOP, set this value to 5. We recommend that you have the+-- transcoder automatically choose this value for you based on+-- characteristics of your input video. To enable this automatic behavior,+-- keep the default value by leaving this setting out of your JSON job+-- specification. In the console, do this by keeping the default empty+-- value. If you do explicitly specify a value, for segmented outputs,+-- don\'t set this value to 0.+h264Settings_gopClosedCadence :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_gopClosedCadence = Lens.lens (\H264Settings' {gopClosedCadence} -> gopClosedCadence) (\s@H264Settings' {} a -> s {gopClosedCadence = a} :: H264Settings)++-- | Use this setting only when you set GOP mode control (GopSizeUnits) to+-- Specified, frames (FRAMES) or Specified, seconds (SECONDS). Specify the+-- GOP length using a whole number of frames or a decimal value of seconds.+-- MediaConvert will interpret this value as frames or seconds depending on+-- the value you choose for GOP mode control (GopSizeUnits). If you want to+-- allow MediaConvert to automatically determine GOP size, leave GOP size+-- blank and set GOP mode control to Auto (AUTO). If your output group+-- specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode+-- control to Auto in each output in your output group.+h264Settings_gopSize :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Double)+h264Settings_gopSize = Lens.lens (\H264Settings' {gopSize} -> gopSize) (\s@H264Settings' {} a -> s {gopSize = a} :: H264Settings)++-- | Specify how the transcoder determines GOP size for this output. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+-- blank. By default, if you don\'t specify GOP mode control+-- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+-- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+-- leave GOP size blank in each output in your output group. To explicitly+-- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+-- seconds (SECONDS) and then provide the GOP length in the related setting+-- GOP size (GopSize).+h264Settings_gopSizeUnits :: Lens.Lens' H264Settings (Prelude.Maybe H264GopSizeUnits)+h264Settings_gopSizeUnits = Lens.lens (\H264Settings' {gopSizeUnits} -> gopSizeUnits) (\s@H264Settings' {} a -> s {gopSizeUnits = a} :: H264Settings)++-- | If your downstream systems have strict buffer requirements: Specify the+-- minimum percentage of the HRD buffer that\'s available at the end of+-- each encoded video segment. For the best video quality: Set to 0 or+-- leave blank to automatically determine the final buffer fill percentage.+h264Settings_hrdBufferFinalFillPercentage :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_hrdBufferFinalFillPercentage = Lens.lens (\H264Settings' {hrdBufferFinalFillPercentage} -> hrdBufferFinalFillPercentage) (\s@H264Settings' {} a -> s {hrdBufferFinalFillPercentage = a} :: H264Settings)++-- | Percentage of the buffer that should initially be filled (HRD buffer+-- model).+h264Settings_hrdBufferInitialFillPercentage :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_hrdBufferInitialFillPercentage = Lens.lens (\H264Settings' {hrdBufferInitialFillPercentage} -> hrdBufferInitialFillPercentage) (\s@H264Settings' {} a -> s {hrdBufferInitialFillPercentage = a} :: H264Settings)++-- | Size of buffer (HRD buffer model) in bits. For example, enter five+-- megabits as 5000000.+h264Settings_hrdBufferSize :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_hrdBufferSize = Lens.lens (\H264Settings' {hrdBufferSize} -> hrdBufferSize) (\s@H264Settings' {} a -> s {hrdBufferSize = a} :: H264Settings)++-- | Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+h264Settings_interlaceMode :: Lens.Lens' H264Settings (Prelude.Maybe H264InterlaceMode)+h264Settings_interlaceMode = Lens.lens (\H264Settings' {interlaceMode} -> interlaceMode) (\s@H264Settings' {} a -> s {interlaceMode = a} :: H264Settings)++-- | Maximum bitrate in bits\/second. For example, enter five megabits per+-- second as 5000000. Required when Rate control mode is QVBR.+h264Settings_maxBitrate :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_maxBitrate = Lens.lens (\H264Settings' {maxBitrate} -> maxBitrate) (\s@H264Settings' {} a -> s {maxBitrate = a} :: H264Settings)++-- | Use this setting only when you also enable Scene change detection+-- (SceneChangeDetect). This setting determines how the encoder manages the+-- spacing between I-frames that it inserts as part of the I-frame cadence+-- and the I-frames that it inserts for Scene change detection. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, keep the default value by leaving this setting out+-- of your JSON job specification. In the console, do this by keeping the+-- default empty value. When you explicitly specify a value for this+-- setting, the encoder determines whether to skip a cadence-driven I-frame+-- by the value you set. For example, if you set Min I interval+-- (minIInterval) to 5 and a cadence-driven I-frame would fall within 5+-- frames of a scene-change I-frame, then the encoder skips the+-- cadence-driven I-frame. In this way, one GOP is shrunk slightly and one+-- GOP is stretched slightly. When the cadence-driven I-frames are farther+-- from the scene-change I-frame than the value you set, then the encoder+-- leaves all I-frames in place and the GOPs surrounding the scene change+-- are smaller than the usual cadence GOPs.+h264Settings_minIInterval :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_minIInterval = Lens.lens (\H264Settings' {minIInterval} -> minIInterval) (\s@H264Settings' {} a -> s {minIInterval = a} :: H264Settings)++-- | This setting to determines the number of B-frames that MediaConvert puts+-- between reference frames in this output. We recommend that you use+-- automatic behavior to allow the transcoder to choose the best value+-- based on characteristics of your input video. In the console, choose+-- AUTO to select this automatic behavior. When you manually edit your JSON+-- job specification, leave this setting out to choose automatic behavior.+-- When you want to specify this number explicitly, choose a whole number+-- from 0 through 7.+h264Settings_numberBFramesBetweenReferenceFrames :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_numberBFramesBetweenReferenceFrames = Lens.lens (\H264Settings' {numberBFramesBetweenReferenceFrames} -> numberBFramesBetweenReferenceFrames) (\s@H264Settings' {} a -> s {numberBFramesBetweenReferenceFrames = a} :: H264Settings)++-- | Number of reference frames to use. The encoder may use more than+-- requested if using B-frames and\/or interlaced encoding.+h264Settings_numberReferenceFrames :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_numberReferenceFrames = Lens.lens (\H264Settings' {numberReferenceFrames} -> numberReferenceFrames) (\s@H264Settings' {} a -> s {numberReferenceFrames = a} :: H264Settings)++-- | Optional. Specify how the service determines the pixel aspect ratio+-- (PAR) for this output. The default behavior, Follow source+-- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+-- output. To specify a different PAR in the console, choose any value+-- other than Follow source. To specify a different PAR by editing the JSON+-- job specification, choose SPECIFIED. When you choose SPECIFIED for this+-- setting, you must also specify values for the parNumerator and+-- parDenominator settings.+h264Settings_parControl :: Lens.Lens' H264Settings (Prelude.Maybe H264ParControl)+h264Settings_parControl = Lens.lens (\H264Settings' {parControl} -> parControl) (\s@H264Settings' {} a -> s {parControl = a} :: H264Settings)++-- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parDenominator is 33.+h264Settings_parDenominator :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_parDenominator = Lens.lens (\H264Settings' {parDenominator} -> parDenominator) (\s@H264Settings' {} a -> s {parDenominator = a} :: H264Settings)++-- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parNumerator is 40.+h264Settings_parNumerator :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_parNumerator = Lens.lens (\H264Settings' {parNumerator} -> parNumerator) (\s@H264Settings' {} a -> s {parNumerator = a} :: H264Settings)++-- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- you want to trade off encoding speed for output video quality. The+-- default behavior is faster, lower quality, single-pass encoding.+h264Settings_qualityTuningLevel :: Lens.Lens' H264Settings (Prelude.Maybe H264QualityTuningLevel)+h264Settings_qualityTuningLevel = Lens.lens (\H264Settings' {qualityTuningLevel} -> qualityTuningLevel) (\s@H264Settings' {} a -> s {qualityTuningLevel = a} :: H264Settings)++-- | Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+h264Settings_qvbrSettings :: Lens.Lens' H264Settings (Prelude.Maybe H264QvbrSettings)+h264Settings_qvbrSettings = Lens.lens (\H264Settings' {qvbrSettings} -> qvbrSettings) (\s@H264Settings' {} a -> s {qvbrSettings = a} :: H264Settings)++-- | Use this setting to specify whether this output has a variable bitrate+-- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+-- (QVBR).+h264Settings_rateControlMode :: Lens.Lens' H264Settings (Prelude.Maybe H264RateControlMode)+h264Settings_rateControlMode = Lens.lens (\H264Settings' {rateControlMode} -> rateControlMode) (\s@H264Settings' {} a -> s {rateControlMode = a} :: H264Settings)++-- | Places a PPS header on each encoded picture, even if repeated.+h264Settings_repeatPps :: Lens.Lens' H264Settings (Prelude.Maybe H264RepeatPps)+h264Settings_repeatPps = Lens.lens (\H264Settings' {repeatPps} -> repeatPps) (\s@H264Settings' {} a -> s {repeatPps = a} :: H264Settings)++-- | Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+h264Settings_scanTypeConversionMode :: Lens.Lens' H264Settings (Prelude.Maybe H264ScanTypeConversionMode)+h264Settings_scanTypeConversionMode = Lens.lens (\H264Settings' {scanTypeConversionMode} -> scanTypeConversionMode) (\s@H264Settings' {} a -> s {scanTypeConversionMode = a} :: H264Settings)++-- | Enable this setting to insert I-frames at scene changes that the service+-- automatically detects. This improves video quality and is enabled by+-- default. If this output uses QVBR, choose Transition detection+-- (TRANSITION_DETECTION) for further video quality improvement. For more+-- information about QVBR, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+h264Settings_sceneChangeDetect :: Lens.Lens' H264Settings (Prelude.Maybe H264SceneChangeDetect)+h264Settings_sceneChangeDetect = Lens.lens (\H264Settings' {sceneChangeDetect} -> sceneChangeDetect) (\s@H264Settings' {} a -> s {sceneChangeDetect = a} :: H264Settings)++-- | Number of slices per picture. Must be less than or equal to the number+-- of macroblock rows for progressive pictures, and less than or equal to+-- half the number of macroblock rows for interlaced pictures.+h264Settings_slices :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_slices = Lens.lens (\H264Settings' {slices} -> slices) (\s@H264Settings' {} a -> s {slices = a} :: H264Settings)++-- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+h264Settings_slowPal :: Lens.Lens' H264Settings (Prelude.Maybe H264SlowPal)+h264Settings_slowPal = Lens.lens (\H264Settings' {slowPal} -> slowPal) (\s@H264Settings' {} a -> s {slowPal = a} :: H264Settings)++-- | Ignore this setting unless you need to comply with a specification that+-- requires a specific value. If you don\'t have a specification+-- requirement, we recommend that you adjust the softness of your output by+-- using a lower value for the setting Sharpness (sharpness) or by enabling+-- a noise reducer filter (noiseReducerFilter). The Softness (softness)+-- setting specifies the quantization matrices that the encoder uses. Keep+-- the default value, 0, for flat quantization. Choose the value 1 or 16 to+-- use the default JVT softening quantization matricies from the H.264+-- specification. Choose a value from 17 to 128 to use planar+-- interpolation. Increasing values from 17 to 128 result in increasing+-- reduction of high-frequency data. The value 128 results in the softest+-- video.+h264Settings_softness :: Lens.Lens' H264Settings (Prelude.Maybe Prelude.Natural)+h264Settings_softness = Lens.lens (\H264Settings' {softness} -> softness) (\s@H264Settings' {} a -> s {softness = a} :: H264Settings)++-- | Only use this setting when you change the default value, Auto (AUTO),+-- for the setting H264AdaptiveQuantization. When you keep all defaults,+-- excluding H264AdaptiveQuantization and all other adaptive quantization+-- from your JSON job specification, MediaConvert automatically applies the+-- best types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264SpatialAdaptiveQuantization is Enabled (ENABLED). Keep this+-- default value to adjust quantization within each frame based on spatial+-- variation of content complexity. When you enable this feature, the+-- encoder uses fewer bits on areas that can sustain more distortion with+-- no noticeable visual degradation and uses more bits on areas where any+-- small distortion will be noticeable. For example, complex textured+-- blocks are encoded with fewer bits and smooth textured blocks are+-- encoded with more bits. Enabling this feature will almost always improve+-- your video quality. Note, though, that this feature doesn\'t take into+-- account where the viewer\'s attention is likely to be. If viewers are+-- likely to be focusing their attention on a part of the screen with a lot+-- of complex texture, you might choose to set+-- H264SpatialAdaptiveQuantization to Disabled (DISABLED). Related setting:+-- When you enable spatial adaptive quantization, set the value for+-- Adaptive quantization (H264AdaptiveQuantization) depending on your+-- content. For homogeneous content, such as cartoons and video games, set+-- it to Low. For content with a wider variety of textures, set it to High+-- or Higher. To manually enable or disable+-- H264SpatialAdaptiveQuantization, you must set Adaptive quantization+-- (H264AdaptiveQuantization) to a value other than AUTO.+h264Settings_spatialAdaptiveQuantization :: Lens.Lens' H264Settings (Prelude.Maybe H264SpatialAdaptiveQuantization)+h264Settings_spatialAdaptiveQuantization = Lens.lens (\H264Settings' {spatialAdaptiveQuantization} -> spatialAdaptiveQuantization) (\s@H264Settings' {} a -> s {spatialAdaptiveQuantization = a} :: H264Settings)++-- | Produces a bitstream compliant with SMPTE RP-2027.+h264Settings_syntax :: Lens.Lens' H264Settings (Prelude.Maybe H264Syntax)+h264Settings_syntax = Lens.lens (\H264Settings' {syntax} -> syntax) (\s@H264Settings' {} a -> s {syntax = a} :: H264Settings)++-- | When you do frame rate conversion from 23.976 frames per second (fps) to+-- 29.97 fps, and your output scan type is interlaced, you can optionally+-- enable hard or soft telecine to create a smoother picture. Hard telecine+-- (HARD) produces a 29.97i output. Soft telecine (SOFT) produces an output+-- with a 23.976 output that signals to the video player device to do the+-- conversion during play back. When you keep the default value, None+-- (NONE), MediaConvert does a standard frame rate conversion to 29.97+-- without doing anything with the field polarity to create a smoother+-- picture.+h264Settings_telecine :: Lens.Lens' H264Settings (Prelude.Maybe H264Telecine)+h264Settings_telecine = Lens.lens (\H264Settings' {telecine} -> telecine) (\s@H264Settings' {} a -> s {telecine = a} :: H264Settings)++-- | Only use this setting when you change the default value, AUTO, for the+-- setting H264AdaptiveQuantization. When you keep all defaults, excluding+-- H264AdaptiveQuantization and all other adaptive quantization from your+-- JSON job specification, MediaConvert automatically applies the best+-- types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this+-- default value to adjust quantization within each frame based on temporal+-- variation of content complexity. When you enable this feature, the+-- encoder uses fewer bits on areas of the frame that aren\'t moving and+-- uses more bits on complex objects with sharp edges that move a lot. For+-- example, this feature improves the readability of text tickers on+-- newscasts and scoreboards on sports matches. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen that doesn\'t have moving objects with sharp edges,+-- such as sports athletes\' faces, you might choose to set+-- H264TemporalAdaptiveQuantization to Disabled (DISABLED). Related+-- setting: When you enable temporal quantization, adjust the strength of+-- the filter with the setting Adaptive quantization+-- (adaptiveQuantization). To manually enable or disable+-- H264TemporalAdaptiveQuantization, you must set Adaptive quantization+-- (H264AdaptiveQuantization) to a value other than AUTO.+h264Settings_temporalAdaptiveQuantization :: Lens.Lens' H264Settings (Prelude.Maybe H264TemporalAdaptiveQuantization)+h264Settings_temporalAdaptiveQuantization = Lens.lens (\H264Settings' {temporalAdaptiveQuantization} -> temporalAdaptiveQuantization) (\s@H264Settings' {} a -> s {temporalAdaptiveQuantization = a} :: H264Settings)++-- | Inserts timecode for each frame as 4 bytes of an unregistered SEI+-- message.+h264Settings_unregisteredSeiTimecode :: Lens.Lens' H264Settings (Prelude.Maybe H264UnregisteredSeiTimecode)+h264Settings_unregisteredSeiTimecode = Lens.lens (\H264Settings' {unregisteredSeiTimecode} -> unregisteredSeiTimecode) (\s@H264Settings' {} a -> s {unregisteredSeiTimecode = a} :: H264Settings)++instance Data.FromJSON H264Settings where+ parseJSON =+ Data.withObject+ "H264Settings"+ ( \x ->+ H264Settings'+ Prelude.<$> (x Data..:? "adaptiveQuantization")+ Prelude.<*> (x Data..:? "bitrate")+ Prelude.<*> (x Data..:? "codecLevel")+ Prelude.<*> (x Data..:? "codecProfile")+ Prelude.<*> (x Data..:? "dynamicSubGop")+ Prelude.<*> (x Data..:? "entropyEncoding")+ Prelude.<*> (x Data..:? "fieldEncoding")+ Prelude.<*> (x Data..:? "flickerAdaptiveQuantization")+ Prelude.<*> (x Data..:? "framerateControl")+ Prelude.<*> (x Data..:? "framerateConversionAlgorithm")+ Prelude.<*> (x Data..:? "framerateDenominator")+ Prelude.<*> (x Data..:? "framerateNumerator")+ Prelude.<*> (x Data..:? "gopBReference")+ Prelude.<*> (x Data..:? "gopClosedCadence")+ Prelude.<*> (x Data..:? "gopSize")+ Prelude.<*> (x Data..:? "gopSizeUnits")+ Prelude.<*> (x Data..:? "hrdBufferFinalFillPercentage")+ Prelude.<*> (x Data..:? "hrdBufferInitialFillPercentage")+ Prelude.<*> (x Data..:? "hrdBufferSize")+ Prelude.<*> (x Data..:? "interlaceMode")+ Prelude.<*> (x Data..:? "maxBitrate")+ Prelude.<*> (x Data..:? "minIInterval")+ Prelude.<*> (x Data..:? "numberBFramesBetweenReferenceFrames")+ Prelude.<*> (x Data..:? "numberReferenceFrames")+ Prelude.<*> (x Data..:? "parControl")+ Prelude.<*> (x Data..:? "parDenominator")+ Prelude.<*> (x Data..:? "parNumerator")+ Prelude.<*> (x Data..:? "qualityTuningLevel")+ Prelude.<*> (x Data..:? "qvbrSettings")+ Prelude.<*> (x Data..:? "rateControlMode")+ Prelude.<*> (x Data..:? "repeatPps")+ Prelude.<*> (x Data..:? "scanTypeConversionMode")+ Prelude.<*> (x Data..:? "sceneChangeDetect")+ Prelude.<*> (x Data..:? "slices")+ Prelude.<*> (x Data..:? "slowPal")+ Prelude.<*> (x Data..:? "softness")+ Prelude.<*> (x Data..:? "spatialAdaptiveQuantization")+ Prelude.<*> (x Data..:? "syntax")+ Prelude.<*> (x Data..:? "telecine")+ Prelude.<*> (x Data..:? "temporalAdaptiveQuantization")+ Prelude.<*> (x Data..:? "unregisteredSeiTimecode")+ )++instance Prelude.Hashable H264Settings where+ hashWithSalt _salt H264Settings' {..} =+ _salt+ `Prelude.hashWithSalt` adaptiveQuantization+ `Prelude.hashWithSalt` bitrate+ `Prelude.hashWithSalt` codecLevel+ `Prelude.hashWithSalt` codecProfile+ `Prelude.hashWithSalt` dynamicSubGop+ `Prelude.hashWithSalt` entropyEncoding+ `Prelude.hashWithSalt` fieldEncoding+ `Prelude.hashWithSalt` flickerAdaptiveQuantization+ `Prelude.hashWithSalt` framerateControl+ `Prelude.hashWithSalt` framerateConversionAlgorithm+ `Prelude.hashWithSalt` framerateDenominator+ `Prelude.hashWithSalt` framerateNumerator+ `Prelude.hashWithSalt` gopBReference+ `Prelude.hashWithSalt` gopClosedCadence+ `Prelude.hashWithSalt` gopSize+ `Prelude.hashWithSalt` gopSizeUnits+ `Prelude.hashWithSalt` hrdBufferFinalFillPercentage+ `Prelude.hashWithSalt` hrdBufferInitialFillPercentage+ `Prelude.hashWithSalt` hrdBufferSize+ `Prelude.hashWithSalt` interlaceMode+ `Prelude.hashWithSalt` maxBitrate+ `Prelude.hashWithSalt` minIInterval+ `Prelude.hashWithSalt` numberBFramesBetweenReferenceFrames+ `Prelude.hashWithSalt` numberReferenceFrames+ `Prelude.hashWithSalt` parControl+ `Prelude.hashWithSalt` parDenominator+ `Prelude.hashWithSalt` parNumerator+ `Prelude.hashWithSalt` qualityTuningLevel+ `Prelude.hashWithSalt` qvbrSettings+ `Prelude.hashWithSalt` rateControlMode+ `Prelude.hashWithSalt` repeatPps+ `Prelude.hashWithSalt` scanTypeConversionMode+ `Prelude.hashWithSalt` sceneChangeDetect+ `Prelude.hashWithSalt` slices+ `Prelude.hashWithSalt` slowPal+ `Prelude.hashWithSalt` softness+ `Prelude.hashWithSalt` spatialAdaptiveQuantization+ `Prelude.hashWithSalt` syntax+ `Prelude.hashWithSalt` telecine+ `Prelude.hashWithSalt` temporalAdaptiveQuantization+ `Prelude.hashWithSalt` unregisteredSeiTimecode++instance Prelude.NFData H264Settings where+ rnf H264Settings' {..} =+ Prelude.rnf adaptiveQuantization+ `Prelude.seq` Prelude.rnf bitrate+ `Prelude.seq` Prelude.rnf codecLevel+ `Prelude.seq` Prelude.rnf codecProfile+ `Prelude.seq` Prelude.rnf dynamicSubGop+ `Prelude.seq` Prelude.rnf entropyEncoding+ `Prelude.seq` Prelude.rnf fieldEncoding+ `Prelude.seq` Prelude.rnf flickerAdaptiveQuantization+ `Prelude.seq` Prelude.rnf framerateControl+ `Prelude.seq` Prelude.rnf framerateConversionAlgorithm+ `Prelude.seq` Prelude.rnf framerateDenominator+ `Prelude.seq` Prelude.rnf framerateNumerator+ `Prelude.seq` Prelude.rnf gopBReference+ `Prelude.seq` Prelude.rnf gopClosedCadence+ `Prelude.seq` Prelude.rnf gopSize+ `Prelude.seq` Prelude.rnf gopSizeUnits+ `Prelude.seq` Prelude.rnf+ hrdBufferFinalFillPercentage+ `Prelude.seq` Prelude.rnf+ hrdBufferInitialFillPercentage+ `Prelude.seq` Prelude.rnf hrdBufferSize+ `Prelude.seq` Prelude.rnf interlaceMode+ `Prelude.seq` Prelude.rnf maxBitrate+ `Prelude.seq` Prelude.rnf minIInterval+ `Prelude.seq` Prelude.rnf+ numberBFramesBetweenReferenceFrames+ `Prelude.seq` Prelude.rnf+ numberReferenceFrames+ `Prelude.seq` Prelude.rnf+ parControl+ `Prelude.seq` Prelude.rnf+ parDenominator+ `Prelude.seq` Prelude.rnf+ parNumerator+ `Prelude.seq` Prelude.rnf+ qualityTuningLevel+ `Prelude.seq` Prelude.rnf+ qvbrSettings+ `Prelude.seq` Prelude.rnf+ rateControlMode+ `Prelude.seq` Prelude.rnf+ repeatPps+ `Prelude.seq` Prelude.rnf+ scanTypeConversionMode+ `Prelude.seq` Prelude.rnf+ sceneChangeDetect+ `Prelude.seq` Prelude.rnf+ slices+ `Prelude.seq` Prelude.rnf+ slowPal+ `Prelude.seq` Prelude.rnf+ softness+ `Prelude.seq` Prelude.rnf+ spatialAdaptiveQuantization+ `Prelude.seq` Prelude.rnf+ syntax+ `Prelude.seq` Prelude.rnf+ telecine+ `Prelude.seq` Prelude.rnf+ temporalAdaptiveQuantization+ `Prelude.seq` Prelude.rnf+ unregisteredSeiTimecode++instance Data.ToJSON H264Settings where+ toJSON H264Settings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adaptiveQuantization" Data..=)+ Prelude.<$> adaptiveQuantization,+ ("bitrate" Data..=) Prelude.<$> bitrate,+ ("codecLevel" Data..=) Prelude.<$> codecLevel,+ ("codecProfile" Data..=) Prelude.<$> codecProfile,+ ("dynamicSubGop" Data..=) Prelude.<$> dynamicSubGop,+ ("entropyEncoding" Data..=)+ Prelude.<$> entropyEncoding,+ ("fieldEncoding" Data..=) Prelude.<$> fieldEncoding,+ ("flickerAdaptiveQuantization" Data..=)+ Prelude.<$> flickerAdaptiveQuantization,+ ("framerateControl" Data..=)+ Prelude.<$> framerateControl,+ ("framerateConversionAlgorithm" Data..=)+ Prelude.<$> framerateConversionAlgorithm,+ ("framerateDenominator" Data..=)+ Prelude.<$> framerateDenominator,+ ("framerateNumerator" Data..=)+ Prelude.<$> framerateNumerator,+ ("gopBReference" Data..=) Prelude.<$> gopBReference,+ ("gopClosedCadence" Data..=)+ Prelude.<$> gopClosedCadence,+ ("gopSize" Data..=) Prelude.<$> gopSize,+ ("gopSizeUnits" Data..=) Prelude.<$> gopSizeUnits,+ ("hrdBufferFinalFillPercentage" Data..=)+ Prelude.<$> hrdBufferFinalFillPercentage,+ ("hrdBufferInitialFillPercentage" Data..=)+ Prelude.<$> hrdBufferInitialFillPercentage,+ ("hrdBufferSize" Data..=) Prelude.<$> hrdBufferSize,+ ("interlaceMode" Data..=) Prelude.<$> interlaceMode,+ ("maxBitrate" Data..=) Prelude.<$> maxBitrate,+ ("minIInterval" Data..=) Prelude.<$> minIInterval,+ ("numberBFramesBetweenReferenceFrames" Data..=)+ Prelude.<$> numberBFramesBetweenReferenceFrames,+ ("numberReferenceFrames" Data..=)+ Prelude.<$> numberReferenceFrames,+ ("parControl" Data..=) Prelude.<$> parControl,+ ("parDenominator" Data..=)+ Prelude.<$> parDenominator,+ ("parNumerator" Data..=) Prelude.<$> parNumerator,+ ("qualityTuningLevel" Data..=)+ Prelude.<$> qualityTuningLevel,+ ("qvbrSettings" Data..=) Prelude.<$> qvbrSettings,+ ("rateControlMode" Data..=)+ Prelude.<$> rateControlMode,+ ("repeatPps" Data..=) Prelude.<$> repeatPps,+ ("scanTypeConversionMode" Data..=)+ Prelude.<$> scanTypeConversionMode,+ ("sceneChangeDetect" Data..=)+ Prelude.<$> sceneChangeDetect,+ ("slices" Data..=) Prelude.<$> slices,+ ("slowPal" Data..=) Prelude.<$> slowPal,+ ("softness" Data..=) Prelude.<$> softness,+ ("spatialAdaptiveQuantization" Data..=)+ Prelude.<$> spatialAdaptiveQuantization,+ ("syntax" Data..=) Prelude.<$> syntax,+ ("telecine" Data..=) Prelude.<$> telecine,+ ("temporalAdaptiveQuantization" Data..=)+ Prelude.<$> temporalAdaptiveQuantization,+ ("unregisteredSeiTimecode" Data..=)+ Prelude.<$> unregisteredSeiTimecode+ ]+ )
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264SlowPal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264SlowPal+ ( H264SlowPal+ ( ..,+ H264SlowPal_DISABLED,+ H264SlowPal_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+newtype H264SlowPal = H264SlowPal'+ { fromH264SlowPal ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264SlowPal_DISABLED :: H264SlowPal+pattern H264SlowPal_DISABLED = H264SlowPal' "DISABLED"++pattern H264SlowPal_ENABLED :: H264SlowPal+pattern H264SlowPal_ENABLED = H264SlowPal' "ENABLED"++{-# COMPLETE+ H264SlowPal_DISABLED,+ H264SlowPal_ENABLED,+ H264SlowPal'+ #-}
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264SpatialAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264SpatialAdaptiveQuantization+ ( H264SpatialAdaptiveQuantization+ ( ..,+ H264SpatialAdaptiveQuantization_DISABLED,+ H264SpatialAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Only use this setting when you change the default value, Auto (AUTO),+-- for the setting H264AdaptiveQuantization. When you keep all defaults,+-- excluding H264AdaptiveQuantization and all other adaptive quantization+-- from your JSON job specification, MediaConvert automatically applies the+-- best types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264SpatialAdaptiveQuantization is Enabled (ENABLED). Keep this+-- default value to adjust quantization within each frame based on spatial+-- variation of content complexity. When you enable this feature, the+-- encoder uses fewer bits on areas that can sustain more distortion with+-- no noticeable visual degradation and uses more bits on areas where any+-- small distortion will be noticeable. For example, complex textured+-- blocks are encoded with fewer bits and smooth textured blocks are+-- encoded with more bits. Enabling this feature will almost always improve+-- your video quality. Note, though, that this feature doesn\'t take into+-- account where the viewer\'s attention is likely to be. If viewers are+-- likely to be focusing their attention on a part of the screen with a lot+-- of complex texture, you might choose to set+-- H264SpatialAdaptiveQuantization to Disabled (DISABLED). Related setting:+-- When you enable spatial adaptive quantization, set the value for+-- Adaptive quantization (H264AdaptiveQuantization) depending on your+-- content. For homogeneous content, such as cartoons and video games, set+-- it to Low. For content with a wider variety of textures, set it to High+-- or Higher. To manually enable or disable+-- H264SpatialAdaptiveQuantization, you must set Adaptive quantization+-- (H264AdaptiveQuantization) to a value other than AUTO.+newtype H264SpatialAdaptiveQuantization = H264SpatialAdaptiveQuantization'+ { fromH264SpatialAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264SpatialAdaptiveQuantization_DISABLED :: H264SpatialAdaptiveQuantization+pattern H264SpatialAdaptiveQuantization_DISABLED = H264SpatialAdaptiveQuantization' "DISABLED"++pattern H264SpatialAdaptiveQuantization_ENABLED :: H264SpatialAdaptiveQuantization+pattern H264SpatialAdaptiveQuantization_ENABLED = H264SpatialAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ H264SpatialAdaptiveQuantization_DISABLED,+ H264SpatialAdaptiveQuantization_ENABLED,+ H264SpatialAdaptiveQuantization'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264Syntax+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264Syntax+ ( H264Syntax+ ( ..,+ H264Syntax_DEFAULT,+ H264Syntax_RP2027+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Produces a bitstream compliant with SMPTE RP-2027.+newtype H264Syntax = H264Syntax'+ { fromH264Syntax ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264Syntax_DEFAULT :: H264Syntax+pattern H264Syntax_DEFAULT = H264Syntax' "DEFAULT"++pattern H264Syntax_RP2027 :: H264Syntax+pattern H264Syntax_RP2027 = H264Syntax' "RP2027"++{-# COMPLETE+ H264Syntax_DEFAULT,+ H264Syntax_RP2027,+ H264Syntax'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264Telecine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264Telecine+ ( H264Telecine+ ( ..,+ H264Telecine_HARD,+ H264Telecine_NONE,+ H264Telecine_SOFT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you do frame rate conversion from 23.976 frames per second (fps) to+-- 29.97 fps, and your output scan type is interlaced, you can optionally+-- enable hard or soft telecine to create a smoother picture. Hard telecine+-- (HARD) produces a 29.97i output. Soft telecine (SOFT) produces an output+-- with a 23.976 output that signals to the video player device to do the+-- conversion during play back. When you keep the default value, None+-- (NONE), MediaConvert does a standard frame rate conversion to 29.97+-- without doing anything with the field polarity to create a smoother+-- picture.+newtype H264Telecine = H264Telecine'+ { fromH264Telecine ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264Telecine_HARD :: H264Telecine+pattern H264Telecine_HARD = H264Telecine' "HARD"++pattern H264Telecine_NONE :: H264Telecine+pattern H264Telecine_NONE = H264Telecine' "NONE"++pattern H264Telecine_SOFT :: H264Telecine+pattern H264Telecine_SOFT = H264Telecine' "SOFT"++{-# COMPLETE+ H264Telecine_HARD,+ H264Telecine_NONE,+ H264Telecine_SOFT,+ H264Telecine'+ #-}
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264TemporalAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264TemporalAdaptiveQuantization+ ( H264TemporalAdaptiveQuantization+ ( ..,+ H264TemporalAdaptiveQuantization_DISABLED,+ H264TemporalAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Only use this setting when you change the default value, AUTO, for the+-- setting H264AdaptiveQuantization. When you keep all defaults, excluding+-- H264AdaptiveQuantization and all other adaptive quantization from your+-- JSON job specification, MediaConvert automatically applies the best+-- types of quantization for your video content. When you set+-- H264AdaptiveQuantization to a value other than AUTO, the default value+-- for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this+-- default value to adjust quantization within each frame based on temporal+-- variation of content complexity. When you enable this feature, the+-- encoder uses fewer bits on areas of the frame that aren\'t moving and+-- uses more bits on complex objects with sharp edges that move a lot. For+-- example, this feature improves the readability of text tickers on+-- newscasts and scoreboards on sports matches. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen that doesn\'t have moving objects with sharp edges,+-- such as sports athletes\' faces, you might choose to set+-- H264TemporalAdaptiveQuantization to Disabled (DISABLED). Related+-- setting: When you enable temporal quantization, adjust the strength of+-- the filter with the setting Adaptive quantization+-- (adaptiveQuantization). To manually enable or disable+-- H264TemporalAdaptiveQuantization, you must set Adaptive quantization+-- (H264AdaptiveQuantization) to a value other than AUTO.+newtype H264TemporalAdaptiveQuantization = H264TemporalAdaptiveQuantization'+ { fromH264TemporalAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264TemporalAdaptiveQuantization_DISABLED :: H264TemporalAdaptiveQuantization+pattern H264TemporalAdaptiveQuantization_DISABLED = H264TemporalAdaptiveQuantization' "DISABLED"++pattern H264TemporalAdaptiveQuantization_ENABLED :: H264TemporalAdaptiveQuantization+pattern H264TemporalAdaptiveQuantization_ENABLED = H264TemporalAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ H264TemporalAdaptiveQuantization_DISABLED,+ H264TemporalAdaptiveQuantization_ENABLED,+ H264TemporalAdaptiveQuantization'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H264UnregisteredSeiTimecode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H264UnregisteredSeiTimecode+ ( H264UnregisteredSeiTimecode+ ( ..,+ H264UnregisteredSeiTimecode_DISABLED,+ H264UnregisteredSeiTimecode_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Inserts timecode for each frame as 4 bytes of an unregistered SEI+-- message.+newtype H264UnregisteredSeiTimecode = H264UnregisteredSeiTimecode'+ { fromH264UnregisteredSeiTimecode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H264UnregisteredSeiTimecode_DISABLED :: H264UnregisteredSeiTimecode+pattern H264UnregisteredSeiTimecode_DISABLED = H264UnregisteredSeiTimecode' "DISABLED"++pattern H264UnregisteredSeiTimecode_ENABLED :: H264UnregisteredSeiTimecode+pattern H264UnregisteredSeiTimecode_ENABLED = H264UnregisteredSeiTimecode' "ENABLED"++{-# COMPLETE+ H264UnregisteredSeiTimecode_DISABLED,+ H264UnregisteredSeiTimecode_ENABLED,+ H264UnregisteredSeiTimecode'+ #-}
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265AdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265AdaptiveQuantization+ ( H265AdaptiveQuantization+ ( ..,+ H265AdaptiveQuantization_AUTO,+ H265AdaptiveQuantization_HIGH,+ H265AdaptiveQuantization_HIGHER,+ H265AdaptiveQuantization_LOW,+ H265AdaptiveQuantization_MAX,+ H265AdaptiveQuantization_MEDIUM,+ H265AdaptiveQuantization_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you set Adaptive Quantization (H265AdaptiveQuantization) to Auto+-- (AUTO), or leave blank, MediaConvert automatically applies quantization+-- to improve the video quality of your output. Set Adaptive Quantization+-- to Low (LOW), Medium (MEDIUM), High (HIGH), Higher (HIGHER), or Max+-- (MAX) to manually control the strength of the quantization filter. When+-- you do, you can specify a value for Spatial Adaptive Quantization+-- (H265SpatialAdaptiveQuantization), Temporal Adaptive Quantization+-- (H265TemporalAdaptiveQuantization), and Flicker Adaptive Quantization+-- (H265FlickerAdaptiveQuantization), to further control the quantization+-- filter. Set Adaptive Quantization to Off (OFF) to apply no quantization+-- to your output.+newtype H265AdaptiveQuantization = H265AdaptiveQuantization'+ { fromH265AdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265AdaptiveQuantization_AUTO :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_AUTO = H265AdaptiveQuantization' "AUTO"++pattern H265AdaptiveQuantization_HIGH :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_HIGH = H265AdaptiveQuantization' "HIGH"++pattern H265AdaptiveQuantization_HIGHER :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_HIGHER = H265AdaptiveQuantization' "HIGHER"++pattern H265AdaptiveQuantization_LOW :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_LOW = H265AdaptiveQuantization' "LOW"++pattern H265AdaptiveQuantization_MAX :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_MAX = H265AdaptiveQuantization' "MAX"++pattern H265AdaptiveQuantization_MEDIUM :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_MEDIUM = H265AdaptiveQuantization' "MEDIUM"++pattern H265AdaptiveQuantization_OFF :: H265AdaptiveQuantization+pattern H265AdaptiveQuantization_OFF = H265AdaptiveQuantization' "OFF"++{-# COMPLETE+ H265AdaptiveQuantization_AUTO,+ H265AdaptiveQuantization_HIGH,+ H265AdaptiveQuantization_HIGHER,+ H265AdaptiveQuantization_LOW,+ H265AdaptiveQuantization_MAX,+ H265AdaptiveQuantization_MEDIUM,+ H265AdaptiveQuantization_OFF,+ H265AdaptiveQuantization'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265AlternateTransferFunctionSei+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265AlternateTransferFunctionSei+ ( H265AlternateTransferFunctionSei+ ( ..,+ H265AlternateTransferFunctionSei_DISABLED,+ H265AlternateTransferFunctionSei_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enables Alternate Transfer Function SEI message for outputs using Hybrid+-- Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).+newtype H265AlternateTransferFunctionSei = H265AlternateTransferFunctionSei'+ { fromH265AlternateTransferFunctionSei ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265AlternateTransferFunctionSei_DISABLED :: H265AlternateTransferFunctionSei+pattern H265AlternateTransferFunctionSei_DISABLED = H265AlternateTransferFunctionSei' "DISABLED"++pattern H265AlternateTransferFunctionSei_ENABLED :: H265AlternateTransferFunctionSei+pattern H265AlternateTransferFunctionSei_ENABLED = H265AlternateTransferFunctionSei' "ENABLED"++{-# COMPLETE+ H265AlternateTransferFunctionSei_DISABLED,+ H265AlternateTransferFunctionSei_ENABLED,+ H265AlternateTransferFunctionSei'+ #-}
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265CodecLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265CodecLevel+ ( H265CodecLevel+ ( ..,+ H265CodecLevel_AUTO,+ H265CodecLevel_LEVEL_1,+ H265CodecLevel_LEVEL_2,+ H265CodecLevel_LEVEL_2_1,+ H265CodecLevel_LEVEL_3,+ H265CodecLevel_LEVEL_3_1,+ H265CodecLevel_LEVEL_4,+ H265CodecLevel_LEVEL_4_1,+ H265CodecLevel_LEVEL_5,+ H265CodecLevel_LEVEL_5_1,+ H265CodecLevel_LEVEL_5_2,+ H265CodecLevel_LEVEL_6,+ H265CodecLevel_LEVEL_6_1,+ H265CodecLevel_LEVEL_6_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | H.265 Level.+newtype H265CodecLevel = H265CodecLevel'+ { fromH265CodecLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265CodecLevel_AUTO :: H265CodecLevel+pattern H265CodecLevel_AUTO = H265CodecLevel' "AUTO"++pattern H265CodecLevel_LEVEL_1 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_1 = H265CodecLevel' "LEVEL_1"++pattern H265CodecLevel_LEVEL_2 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_2 = H265CodecLevel' "LEVEL_2"++pattern H265CodecLevel_LEVEL_2_1 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_2_1 = H265CodecLevel' "LEVEL_2_1"++pattern H265CodecLevel_LEVEL_3 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_3 = H265CodecLevel' "LEVEL_3"++pattern H265CodecLevel_LEVEL_3_1 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_3_1 = H265CodecLevel' "LEVEL_3_1"++pattern H265CodecLevel_LEVEL_4 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_4 = H265CodecLevel' "LEVEL_4"++pattern H265CodecLevel_LEVEL_4_1 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_4_1 = H265CodecLevel' "LEVEL_4_1"++pattern H265CodecLevel_LEVEL_5 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_5 = H265CodecLevel' "LEVEL_5"++pattern H265CodecLevel_LEVEL_5_1 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_5_1 = H265CodecLevel' "LEVEL_5_1"++pattern H265CodecLevel_LEVEL_5_2 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_5_2 = H265CodecLevel' "LEVEL_5_2"++pattern H265CodecLevel_LEVEL_6 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_6 = H265CodecLevel' "LEVEL_6"++pattern H265CodecLevel_LEVEL_6_1 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_6_1 = H265CodecLevel' "LEVEL_6_1"++pattern H265CodecLevel_LEVEL_6_2 :: H265CodecLevel+pattern H265CodecLevel_LEVEL_6_2 = H265CodecLevel' "LEVEL_6_2"++{-# COMPLETE+ H265CodecLevel_AUTO,+ H265CodecLevel_LEVEL_1,+ H265CodecLevel_LEVEL_2,+ H265CodecLevel_LEVEL_2_1,+ H265CodecLevel_LEVEL_3,+ H265CodecLevel_LEVEL_3_1,+ H265CodecLevel_LEVEL_4,+ H265CodecLevel_LEVEL_4_1,+ H265CodecLevel_LEVEL_5,+ H265CodecLevel_LEVEL_5_1,+ H265CodecLevel_LEVEL_5_2,+ H265CodecLevel_LEVEL_6,+ H265CodecLevel_LEVEL_6_1,+ H265CodecLevel_LEVEL_6_2,+ H265CodecLevel'+ #-}
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265CodecProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265CodecProfile+ ( H265CodecProfile+ ( ..,+ H265CodecProfile_MAIN10_HIGH,+ H265CodecProfile_MAIN10_MAIN,+ H265CodecProfile_MAIN_422_10BIT_HIGH,+ H265CodecProfile_MAIN_422_10BIT_MAIN,+ H265CodecProfile_MAIN_422_8BIT_HIGH,+ H265CodecProfile_MAIN_422_8BIT_MAIN,+ H265CodecProfile_MAIN_HIGH,+ H265CodecProfile_MAIN_MAIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Represents the Profile and Tier, per the HEVC (H.265) specification.+-- Selections are grouped as [Profile] \/ [Tier], so \"Main\/High\"+-- represents Main Profile with High Tier. 4:2:2 profiles are only+-- available with the HEVC 4:2:2 License.+newtype H265CodecProfile = H265CodecProfile'+ { fromH265CodecProfile ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265CodecProfile_MAIN10_HIGH :: H265CodecProfile+pattern H265CodecProfile_MAIN10_HIGH = H265CodecProfile' "MAIN10_HIGH"++pattern H265CodecProfile_MAIN10_MAIN :: H265CodecProfile+pattern H265CodecProfile_MAIN10_MAIN = H265CodecProfile' "MAIN10_MAIN"++pattern H265CodecProfile_MAIN_422_10BIT_HIGH :: H265CodecProfile+pattern H265CodecProfile_MAIN_422_10BIT_HIGH = H265CodecProfile' "MAIN_422_10BIT_HIGH"++pattern H265CodecProfile_MAIN_422_10BIT_MAIN :: H265CodecProfile+pattern H265CodecProfile_MAIN_422_10BIT_MAIN = H265CodecProfile' "MAIN_422_10BIT_MAIN"++pattern H265CodecProfile_MAIN_422_8BIT_HIGH :: H265CodecProfile+pattern H265CodecProfile_MAIN_422_8BIT_HIGH = H265CodecProfile' "MAIN_422_8BIT_HIGH"++pattern H265CodecProfile_MAIN_422_8BIT_MAIN :: H265CodecProfile+pattern H265CodecProfile_MAIN_422_8BIT_MAIN = H265CodecProfile' "MAIN_422_8BIT_MAIN"++pattern H265CodecProfile_MAIN_HIGH :: H265CodecProfile+pattern H265CodecProfile_MAIN_HIGH = H265CodecProfile' "MAIN_HIGH"++pattern H265CodecProfile_MAIN_MAIN :: H265CodecProfile+pattern H265CodecProfile_MAIN_MAIN = H265CodecProfile' "MAIN_MAIN"++{-# COMPLETE+ H265CodecProfile_MAIN10_HIGH,+ H265CodecProfile_MAIN10_MAIN,+ H265CodecProfile_MAIN_422_10BIT_HIGH,+ H265CodecProfile_MAIN_422_10BIT_MAIN,+ H265CodecProfile_MAIN_422_8BIT_HIGH,+ H265CodecProfile_MAIN_422_8BIT_MAIN,+ H265CodecProfile_MAIN_HIGH,+ H265CodecProfile_MAIN_MAIN,+ H265CodecProfile'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265DynamicSubGop+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265DynamicSubGop+ ( H265DynamicSubGop+ ( ..,+ H265DynamicSubGop_ADAPTIVE,+ H265DynamicSubGop_STATIC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose Adaptive to improve subjective video quality for high-motion+-- content. This will cause the service to use fewer B-frames (which infer+-- information based on other frames) for high-motion portions of the video+-- and more B-frames for low-motion portions. The maximum number of+-- B-frames is limited by the value you provide for the setting B frames+-- between reference frames (numberBFramesBetweenReferenceFrames).+newtype H265DynamicSubGop = H265DynamicSubGop'+ { fromH265DynamicSubGop ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265DynamicSubGop_ADAPTIVE :: H265DynamicSubGop+pattern H265DynamicSubGop_ADAPTIVE = H265DynamicSubGop' "ADAPTIVE"++pattern H265DynamicSubGop_STATIC :: H265DynamicSubGop+pattern H265DynamicSubGop_STATIC = H265DynamicSubGop' "STATIC"++{-# COMPLETE+ H265DynamicSubGop_ADAPTIVE,+ H265DynamicSubGop_STATIC,+ H265DynamicSubGop'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265FlickerAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265FlickerAdaptiveQuantization+ ( H265FlickerAdaptiveQuantization+ ( ..,+ H265FlickerAdaptiveQuantization_DISABLED,+ H265FlickerAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable this setting to have the encoder reduce I-frame pop. I-frame pop+-- appears as a visual flicker that can arise when the encoder saves bits+-- by copying some macroblocks many times from frame to frame, and then+-- refreshes them at the I-frame. When you enable this setting, the encoder+-- updates these macroblocks slightly more often to smooth out the flicker.+-- This setting is disabled by default. Related setting: In addition to+-- enabling this setting, you must also set adaptiveQuantization to a value+-- other than Off (OFF).+newtype H265FlickerAdaptiveQuantization = H265FlickerAdaptiveQuantization'+ { fromH265FlickerAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265FlickerAdaptiveQuantization_DISABLED :: H265FlickerAdaptiveQuantization+pattern H265FlickerAdaptiveQuantization_DISABLED = H265FlickerAdaptiveQuantization' "DISABLED"++pattern H265FlickerAdaptiveQuantization_ENABLED :: H265FlickerAdaptiveQuantization+pattern H265FlickerAdaptiveQuantization_ENABLED = H265FlickerAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ H265FlickerAdaptiveQuantization_DISABLED,+ H265FlickerAdaptiveQuantization_ENABLED,+ H265FlickerAdaptiveQuantization'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265FramerateControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265FramerateControl+ ( H265FramerateControl+ ( ..,+ H265FramerateControl_INITIALIZE_FROM_SOURCE,+ H265FramerateControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+newtype H265FramerateControl = H265FramerateControl'+ { fromH265FramerateControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265FramerateControl_INITIALIZE_FROM_SOURCE :: H265FramerateControl+pattern H265FramerateControl_INITIALIZE_FROM_SOURCE = H265FramerateControl' "INITIALIZE_FROM_SOURCE"++pattern H265FramerateControl_SPECIFIED :: H265FramerateControl+pattern H265FramerateControl_SPECIFIED = H265FramerateControl' "SPECIFIED"++{-# COMPLETE+ H265FramerateControl_INITIALIZE_FROM_SOURCE,+ H265FramerateControl_SPECIFIED,+ H265FramerateControl'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265FramerateConversionAlgorithm+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265FramerateConversionAlgorithm+ ( H265FramerateConversionAlgorithm+ ( ..,+ H265FramerateConversionAlgorithm_DUPLICATE_DROP,+ H265FramerateConversionAlgorithm_FRAMEFORMER,+ H265FramerateConversionAlgorithm_INTERPOLATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+newtype H265FramerateConversionAlgorithm = H265FramerateConversionAlgorithm'+ { fromH265FramerateConversionAlgorithm ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265FramerateConversionAlgorithm_DUPLICATE_DROP :: H265FramerateConversionAlgorithm+pattern H265FramerateConversionAlgorithm_DUPLICATE_DROP = H265FramerateConversionAlgorithm' "DUPLICATE_DROP"++pattern H265FramerateConversionAlgorithm_FRAMEFORMER :: H265FramerateConversionAlgorithm+pattern H265FramerateConversionAlgorithm_FRAMEFORMER = H265FramerateConversionAlgorithm' "FRAMEFORMER"++pattern H265FramerateConversionAlgorithm_INTERPOLATE :: H265FramerateConversionAlgorithm+pattern H265FramerateConversionAlgorithm_INTERPOLATE = H265FramerateConversionAlgorithm' "INTERPOLATE"++{-# COMPLETE+ H265FramerateConversionAlgorithm_DUPLICATE_DROP,+ H265FramerateConversionAlgorithm_FRAMEFORMER,+ H265FramerateConversionAlgorithm_INTERPOLATE,+ H265FramerateConversionAlgorithm'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265GopBReference+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265GopBReference+ ( H265GopBReference+ ( ..,+ H265GopBReference_DISABLED,+ H265GopBReference_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If enable, use reference B frames for GOP structures that have B frames+-- > 1.+newtype H265GopBReference = H265GopBReference'+ { fromH265GopBReference ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265GopBReference_DISABLED :: H265GopBReference+pattern H265GopBReference_DISABLED = H265GopBReference' "DISABLED"++pattern H265GopBReference_ENABLED :: H265GopBReference+pattern H265GopBReference_ENABLED = H265GopBReference' "ENABLED"++{-# COMPLETE+ H265GopBReference_DISABLED,+ H265GopBReference_ENABLED,+ H265GopBReference'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265GopSizeUnits+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265GopSizeUnits+ ( H265GopSizeUnits+ ( ..,+ H265GopSizeUnits_AUTO,+ H265GopSizeUnits_FRAMES,+ H265GopSizeUnits_SECONDS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how the transcoder determines GOP size for this output. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+-- blank. By default, if you don\'t specify GOP mode control+-- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+-- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+-- leave GOP size blank in each output in your output group. To explicitly+-- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+-- seconds (SECONDS) and then provide the GOP length in the related setting+-- GOP size (GopSize).+newtype H265GopSizeUnits = H265GopSizeUnits'+ { fromH265GopSizeUnits ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265GopSizeUnits_AUTO :: H265GopSizeUnits+pattern H265GopSizeUnits_AUTO = H265GopSizeUnits' "AUTO"++pattern H265GopSizeUnits_FRAMES :: H265GopSizeUnits+pattern H265GopSizeUnits_FRAMES = H265GopSizeUnits' "FRAMES"++pattern H265GopSizeUnits_SECONDS :: H265GopSizeUnits+pattern H265GopSizeUnits_SECONDS = H265GopSizeUnits' "SECONDS"++{-# COMPLETE+ H265GopSizeUnits_AUTO,+ H265GopSizeUnits_FRAMES,+ H265GopSizeUnits_SECONDS,+ H265GopSizeUnits'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265InterlaceMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265InterlaceMode+ ( H265InterlaceMode+ ( ..,+ H265InterlaceMode_BOTTOM_FIELD,+ H265InterlaceMode_FOLLOW_BOTTOM_FIELD,+ H265InterlaceMode_FOLLOW_TOP_FIELD,+ H265InterlaceMode_PROGRESSIVE,+ H265InterlaceMode_TOP_FIELD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+newtype H265InterlaceMode = H265InterlaceMode'+ { fromH265InterlaceMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265InterlaceMode_BOTTOM_FIELD :: H265InterlaceMode+pattern H265InterlaceMode_BOTTOM_FIELD = H265InterlaceMode' "BOTTOM_FIELD"++pattern H265InterlaceMode_FOLLOW_BOTTOM_FIELD :: H265InterlaceMode+pattern H265InterlaceMode_FOLLOW_BOTTOM_FIELD = H265InterlaceMode' "FOLLOW_BOTTOM_FIELD"++pattern H265InterlaceMode_FOLLOW_TOP_FIELD :: H265InterlaceMode+pattern H265InterlaceMode_FOLLOW_TOP_FIELD = H265InterlaceMode' "FOLLOW_TOP_FIELD"++pattern H265InterlaceMode_PROGRESSIVE :: H265InterlaceMode+pattern H265InterlaceMode_PROGRESSIVE = H265InterlaceMode' "PROGRESSIVE"++pattern H265InterlaceMode_TOP_FIELD :: H265InterlaceMode+pattern H265InterlaceMode_TOP_FIELD = H265InterlaceMode' "TOP_FIELD"++{-# COMPLETE+ H265InterlaceMode_BOTTOM_FIELD,+ H265InterlaceMode_FOLLOW_BOTTOM_FIELD,+ H265InterlaceMode_FOLLOW_TOP_FIELD,+ H265InterlaceMode_PROGRESSIVE,+ H265InterlaceMode_TOP_FIELD,+ H265InterlaceMode'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265ParControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265ParControl+ ( H265ParControl+ ( ..,+ H265ParControl_INITIALIZE_FROM_SOURCE,+ H265ParControl_SPECIFIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. Specify how the service determines the pixel aspect ratio+-- (PAR) for this output. The default behavior, Follow source+-- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+-- output. To specify a different PAR in the console, choose any value+-- other than Follow source. To specify a different PAR by editing the JSON+-- job specification, choose SPECIFIED. When you choose SPECIFIED for this+-- setting, you must also specify values for the parNumerator and+-- parDenominator settings.+newtype H265ParControl = H265ParControl'+ { fromH265ParControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265ParControl_INITIALIZE_FROM_SOURCE :: H265ParControl+pattern H265ParControl_INITIALIZE_FROM_SOURCE = H265ParControl' "INITIALIZE_FROM_SOURCE"++pattern H265ParControl_SPECIFIED :: H265ParControl+pattern H265ParControl_SPECIFIED = H265ParControl' "SPECIFIED"++{-# COMPLETE+ H265ParControl_INITIALIZE_FROM_SOURCE,+ H265ParControl_SPECIFIED,+ H265ParControl'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265QualityTuningLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265QualityTuningLevel+ ( H265QualityTuningLevel+ ( ..,+ H265QualityTuningLevel_MULTI_PASS_HQ,+ H265QualityTuningLevel_SINGLE_PASS,+ H265QualityTuningLevel_SINGLE_PASS_HQ+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- you want to trade off encoding speed for output video quality. The+-- default behavior is faster, lower quality, single-pass encoding.+newtype H265QualityTuningLevel = H265QualityTuningLevel'+ { fromH265QualityTuningLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265QualityTuningLevel_MULTI_PASS_HQ :: H265QualityTuningLevel+pattern H265QualityTuningLevel_MULTI_PASS_HQ = H265QualityTuningLevel' "MULTI_PASS_HQ"++pattern H265QualityTuningLevel_SINGLE_PASS :: H265QualityTuningLevel+pattern H265QualityTuningLevel_SINGLE_PASS = H265QualityTuningLevel' "SINGLE_PASS"++pattern H265QualityTuningLevel_SINGLE_PASS_HQ :: H265QualityTuningLevel+pattern H265QualityTuningLevel_SINGLE_PASS_HQ = H265QualityTuningLevel' "SINGLE_PASS_HQ"++{-# COMPLETE+ H265QualityTuningLevel_MULTI_PASS_HQ,+ H265QualityTuningLevel_SINGLE_PASS,+ H265QualityTuningLevel_SINGLE_PASS_HQ,+ H265QualityTuningLevel'+ #-}
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265QvbrSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265QvbrSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+--+-- /See:/ 'newH265QvbrSettings' smart constructor.+data H265QvbrSettings = H265QvbrSettings'+ { -- | Use this setting only when Rate control mode is QVBR and Quality tuning+ -- level is Multi-pass HQ. For Max average bitrate values suited to the+ -- complexity of your input video, the service limits the average bitrate+ -- of the video part of this output to the value that you choose. That is,+ -- the total size of the video element is less than or equal to the value+ -- you set multiplied by the number of seconds of encoded output.+ maxAverageBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting only when you set Rate control mode (RateControlMode)+ -- to QVBR. Specify the target quality level for this output. MediaConvert+ -- determines the right number of bits to use for each part of the video to+ -- maintain the video quality that you specify. When you keep the default+ -- value, AUTO, MediaConvert picks a quality level for you, based on+ -- characteristics of your input video. If you prefer to specify a quality+ -- level, specify a number from 1 through 10. Use higher numbers for+ -- greater quality. Level 10 results in nearly lossless compression. The+ -- quality level for most broadcast-quality transcodes is between 6 and 9.+ -- Optionally, to specify a value between whole numbers, also provide a+ -- value for the setting qvbrQualityLevelFineTune. For example, if you want+ -- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+ -- qvbrQualityLevelFineTune to .33.+ qvbrQualityLevel :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Specify a value here to set the QVBR quality to a level that+ -- is between whole numbers. For example, if you want your QVBR quality+ -- level to be 7.33, set qvbrQualityLevel to 7 and set+ -- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+ -- level to the nearest third of a whole number. For example, if you set+ -- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+ -- actual QVBR quality level is 7.33.+ qvbrQualityLevelFineTune :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'H265QvbrSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxAverageBitrate', 'h265QvbrSettings_maxAverageBitrate' - Use this setting only when Rate control mode is QVBR and Quality tuning+-- level is Multi-pass HQ. For Max average bitrate values suited to the+-- complexity of your input video, the service limits the average bitrate+-- of the video part of this output to the value that you choose. That is,+-- the total size of the video element is less than or equal to the value+-- you set multiplied by the number of seconds of encoded output.+--+-- 'qvbrQualityLevel', 'h265QvbrSettings_qvbrQualityLevel' - Use this setting only when you set Rate control mode (RateControlMode)+-- to QVBR. Specify the target quality level for this output. MediaConvert+-- determines the right number of bits to use for each part of the video to+-- maintain the video quality that you specify. When you keep the default+-- value, AUTO, MediaConvert picks a quality level for you, based on+-- characteristics of your input video. If you prefer to specify a quality+-- level, specify a number from 1 through 10. Use higher numbers for+-- greater quality. Level 10 results in nearly lossless compression. The+-- quality level for most broadcast-quality transcodes is between 6 and 9.+-- Optionally, to specify a value between whole numbers, also provide a+-- value for the setting qvbrQualityLevelFineTune. For example, if you want+-- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33.+--+-- 'qvbrQualityLevelFineTune', 'h265QvbrSettings_qvbrQualityLevelFineTune' - Optional. Specify a value here to set the QVBR quality to a level that+-- is between whole numbers. For example, if you want your QVBR quality+-- level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+-- level to the nearest third of a whole number. For example, if you set+-- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+-- actual QVBR quality level is 7.33.+newH265QvbrSettings ::+ H265QvbrSettings+newH265QvbrSettings =+ H265QvbrSettings'+ { maxAverageBitrate =+ Prelude.Nothing,+ qvbrQualityLevel = Prelude.Nothing,+ qvbrQualityLevelFineTune = Prelude.Nothing+ }++-- | Use this setting only when Rate control mode is QVBR and Quality tuning+-- level is Multi-pass HQ. For Max average bitrate values suited to the+-- complexity of your input video, the service limits the average bitrate+-- of the video part of this output to the value that you choose. That is,+-- the total size of the video element is less than or equal to the value+-- you set multiplied by the number of seconds of encoded output.+h265QvbrSettings_maxAverageBitrate :: Lens.Lens' H265QvbrSettings (Prelude.Maybe Prelude.Natural)+h265QvbrSettings_maxAverageBitrate = Lens.lens (\H265QvbrSettings' {maxAverageBitrate} -> maxAverageBitrate) (\s@H265QvbrSettings' {} a -> s {maxAverageBitrate = a} :: H265QvbrSettings)++-- | Use this setting only when you set Rate control mode (RateControlMode)+-- to QVBR. Specify the target quality level for this output. MediaConvert+-- determines the right number of bits to use for each part of the video to+-- maintain the video quality that you specify. When you keep the default+-- value, AUTO, MediaConvert picks a quality level for you, based on+-- characteristics of your input video. If you prefer to specify a quality+-- level, specify a number from 1 through 10. Use higher numbers for+-- greater quality. Level 10 results in nearly lossless compression. The+-- quality level for most broadcast-quality transcodes is between 6 and 9.+-- Optionally, to specify a value between whole numbers, also provide a+-- value for the setting qvbrQualityLevelFineTune. For example, if you want+-- your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33.+h265QvbrSettings_qvbrQualityLevel :: Lens.Lens' H265QvbrSettings (Prelude.Maybe Prelude.Natural)+h265QvbrSettings_qvbrQualityLevel = Lens.lens (\H265QvbrSettings' {qvbrQualityLevel} -> qvbrQualityLevel) (\s@H265QvbrSettings' {} a -> s {qvbrQualityLevel = a} :: H265QvbrSettings)++-- | Optional. Specify a value here to set the QVBR quality to a level that+-- is between whole numbers. For example, if you want your QVBR quality+-- level to be 7.33, set qvbrQualityLevel to 7 and set+-- qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality+-- level to the nearest third of a whole number. For example, if you set+-- qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your+-- actual QVBR quality level is 7.33.+h265QvbrSettings_qvbrQualityLevelFineTune :: Lens.Lens' H265QvbrSettings (Prelude.Maybe Prelude.Double)+h265QvbrSettings_qvbrQualityLevelFineTune = Lens.lens (\H265QvbrSettings' {qvbrQualityLevelFineTune} -> qvbrQualityLevelFineTune) (\s@H265QvbrSettings' {} a -> s {qvbrQualityLevelFineTune = a} :: H265QvbrSettings)++instance Data.FromJSON H265QvbrSettings where+ parseJSON =+ Data.withObject+ "H265QvbrSettings"+ ( \x ->+ H265QvbrSettings'+ Prelude.<$> (x Data..:? "maxAverageBitrate")+ Prelude.<*> (x Data..:? "qvbrQualityLevel")+ Prelude.<*> (x Data..:? "qvbrQualityLevelFineTune")+ )++instance Prelude.Hashable H265QvbrSettings where+ hashWithSalt _salt H265QvbrSettings' {..} =+ _salt+ `Prelude.hashWithSalt` maxAverageBitrate+ `Prelude.hashWithSalt` qvbrQualityLevel+ `Prelude.hashWithSalt` qvbrQualityLevelFineTune++instance Prelude.NFData H265QvbrSettings where+ rnf H265QvbrSettings' {..} =+ Prelude.rnf maxAverageBitrate+ `Prelude.seq` Prelude.rnf qvbrQualityLevel+ `Prelude.seq` Prelude.rnf qvbrQualityLevelFineTune++instance Data.ToJSON H265QvbrSettings where+ toJSON H265QvbrSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxAverageBitrate" Data..=)+ Prelude.<$> maxAverageBitrate,+ ("qvbrQualityLevel" Data..=)+ Prelude.<$> qvbrQualityLevel,+ ("qvbrQualityLevelFineTune" Data..=)+ Prelude.<$> qvbrQualityLevelFineTune+ ]+ )
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265RateControlMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265RateControlMode+ ( H265RateControlMode+ ( ..,+ H265RateControlMode_CBR,+ H265RateControlMode_QVBR,+ H265RateControlMode_VBR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting to specify whether this output has a variable bitrate+-- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+-- (QVBR).+newtype H265RateControlMode = H265RateControlMode'+ { fromH265RateControlMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265RateControlMode_CBR :: H265RateControlMode+pattern H265RateControlMode_CBR = H265RateControlMode' "CBR"++pattern H265RateControlMode_QVBR :: H265RateControlMode+pattern H265RateControlMode_QVBR = H265RateControlMode' "QVBR"++pattern H265RateControlMode_VBR :: H265RateControlMode+pattern H265RateControlMode_VBR = H265RateControlMode' "VBR"++{-# COMPLETE+ H265RateControlMode_CBR,+ H265RateControlMode_QVBR,+ H265RateControlMode_VBR,+ H265RateControlMode'+ #-}
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265SampleAdaptiveOffsetFilterMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265SampleAdaptiveOffsetFilterMode+ ( H265SampleAdaptiveOffsetFilterMode+ ( ..,+ H265SampleAdaptiveOffsetFilterMode_ADAPTIVE,+ H265SampleAdaptiveOffsetFilterMode_DEFAULT,+ H265SampleAdaptiveOffsetFilterMode_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode+-- dynamically selects best strength based on content+newtype H265SampleAdaptiveOffsetFilterMode = H265SampleAdaptiveOffsetFilterMode'+ { fromH265SampleAdaptiveOffsetFilterMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265SampleAdaptiveOffsetFilterMode_ADAPTIVE :: H265SampleAdaptiveOffsetFilterMode+pattern H265SampleAdaptiveOffsetFilterMode_ADAPTIVE = H265SampleAdaptiveOffsetFilterMode' "ADAPTIVE"++pattern H265SampleAdaptiveOffsetFilterMode_DEFAULT :: H265SampleAdaptiveOffsetFilterMode+pattern H265SampleAdaptiveOffsetFilterMode_DEFAULT = H265SampleAdaptiveOffsetFilterMode' "DEFAULT"++pattern H265SampleAdaptiveOffsetFilterMode_OFF :: H265SampleAdaptiveOffsetFilterMode+pattern H265SampleAdaptiveOffsetFilterMode_OFF = H265SampleAdaptiveOffsetFilterMode' "OFF"++{-# COMPLETE+ H265SampleAdaptiveOffsetFilterMode_ADAPTIVE,+ H265SampleAdaptiveOffsetFilterMode_DEFAULT,+ H265SampleAdaptiveOffsetFilterMode_OFF,+ H265SampleAdaptiveOffsetFilterMode'+ #-}
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265ScanTypeConversionMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265ScanTypeConversionMode+ ( H265ScanTypeConversionMode+ ( ..,+ H265ScanTypeConversionMode_INTERLACED,+ H265ScanTypeConversionMode_INTERLACED_OPTIMIZE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+newtype H265ScanTypeConversionMode = H265ScanTypeConversionMode'+ { fromH265ScanTypeConversionMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265ScanTypeConversionMode_INTERLACED :: H265ScanTypeConversionMode+pattern H265ScanTypeConversionMode_INTERLACED = H265ScanTypeConversionMode' "INTERLACED"++pattern H265ScanTypeConversionMode_INTERLACED_OPTIMIZE :: H265ScanTypeConversionMode+pattern H265ScanTypeConversionMode_INTERLACED_OPTIMIZE = H265ScanTypeConversionMode' "INTERLACED_OPTIMIZE"++{-# COMPLETE+ H265ScanTypeConversionMode_INTERLACED,+ H265ScanTypeConversionMode_INTERLACED_OPTIMIZE,+ H265ScanTypeConversionMode'+ #-}
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265SceneChangeDetect+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265SceneChangeDetect+ ( H265SceneChangeDetect+ ( ..,+ H265SceneChangeDetect_DISABLED,+ H265SceneChangeDetect_ENABLED,+ H265SceneChangeDetect_TRANSITION_DETECTION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable this setting to insert I-frames at scene changes that the service+-- automatically detects. This improves video quality and is enabled by+-- default. If this output uses QVBR, choose Transition detection+-- (TRANSITION_DETECTION) for further video quality improvement. For more+-- information about QVBR, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+newtype H265SceneChangeDetect = H265SceneChangeDetect'+ { fromH265SceneChangeDetect ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265SceneChangeDetect_DISABLED :: H265SceneChangeDetect+pattern H265SceneChangeDetect_DISABLED = H265SceneChangeDetect' "DISABLED"++pattern H265SceneChangeDetect_ENABLED :: H265SceneChangeDetect+pattern H265SceneChangeDetect_ENABLED = H265SceneChangeDetect' "ENABLED"++pattern H265SceneChangeDetect_TRANSITION_DETECTION :: H265SceneChangeDetect+pattern H265SceneChangeDetect_TRANSITION_DETECTION = H265SceneChangeDetect' "TRANSITION_DETECTION"++{-# COMPLETE+ H265SceneChangeDetect_DISABLED,+ H265SceneChangeDetect_ENABLED,+ H265SceneChangeDetect_TRANSITION_DETECTION,+ H265SceneChangeDetect'+ #-}
@@ -0,0 +1,1373 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265Settings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265Settings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.H265AdaptiveQuantization+import Amazonka.MediaConvert.Types.H265AlternateTransferFunctionSei+import Amazonka.MediaConvert.Types.H265CodecLevel+import Amazonka.MediaConvert.Types.H265CodecProfile+import Amazonka.MediaConvert.Types.H265DynamicSubGop+import Amazonka.MediaConvert.Types.H265FlickerAdaptiveQuantization+import Amazonka.MediaConvert.Types.H265FramerateControl+import Amazonka.MediaConvert.Types.H265FramerateConversionAlgorithm+import Amazonka.MediaConvert.Types.H265GopBReference+import Amazonka.MediaConvert.Types.H265GopSizeUnits+import Amazonka.MediaConvert.Types.H265InterlaceMode+import Amazonka.MediaConvert.Types.H265ParControl+import Amazonka.MediaConvert.Types.H265QualityTuningLevel+import Amazonka.MediaConvert.Types.H265QvbrSettings+import Amazonka.MediaConvert.Types.H265RateControlMode+import Amazonka.MediaConvert.Types.H265SampleAdaptiveOffsetFilterMode+import Amazonka.MediaConvert.Types.H265ScanTypeConversionMode+import Amazonka.MediaConvert.Types.H265SceneChangeDetect+import Amazonka.MediaConvert.Types.H265SlowPal+import Amazonka.MediaConvert.Types.H265SpatialAdaptiveQuantization+import Amazonka.MediaConvert.Types.H265Telecine+import Amazonka.MediaConvert.Types.H265TemporalAdaptiveQuantization+import Amazonka.MediaConvert.Types.H265TemporalIds+import Amazonka.MediaConvert.Types.H265Tiles+import Amazonka.MediaConvert.Types.H265UnregisteredSeiTimecode+import Amazonka.MediaConvert.Types.H265WriteMp4PackagingType+import qualified Amazonka.Prelude as Prelude++-- | Settings for H265 codec+--+-- /See:/ 'newH265Settings' smart constructor.+data H265Settings = H265Settings'+ { -- | When you set Adaptive Quantization (H265AdaptiveQuantization) to Auto+ -- (AUTO), or leave blank, MediaConvert automatically applies quantization+ -- to improve the video quality of your output. Set Adaptive Quantization+ -- to Low (LOW), Medium (MEDIUM), High (HIGH), Higher (HIGHER), or Max+ -- (MAX) to manually control the strength of the quantization filter. When+ -- you do, you can specify a value for Spatial Adaptive Quantization+ -- (H265SpatialAdaptiveQuantization), Temporal Adaptive Quantization+ -- (H265TemporalAdaptiveQuantization), and Flicker Adaptive Quantization+ -- (H265FlickerAdaptiveQuantization), to further control the quantization+ -- filter. Set Adaptive Quantization to Off (OFF) to apply no quantization+ -- to your output.+ adaptiveQuantization :: Prelude.Maybe H265AdaptiveQuantization,+ -- | Enables Alternate Transfer Function SEI message for outputs using Hybrid+ -- Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).+ alternateTransferFunctionSei :: Prelude.Maybe H265AlternateTransferFunctionSei,+ -- | Specify the average bitrate in bits per second. Required for VBR and+ -- CBR. For MS Smooth outputs, bitrates must be unique when rounded down to+ -- the nearest multiple of 1000.+ bitrate :: Prelude.Maybe Prelude.Natural,+ -- | H.265 Level.+ codecLevel :: Prelude.Maybe H265CodecLevel,+ -- | Represents the Profile and Tier, per the HEVC (H.265) specification.+ -- Selections are grouped as [Profile] \/ [Tier], so \"Main\/High\"+ -- represents Main Profile with High Tier. 4:2:2 profiles are only+ -- available with the HEVC 4:2:2 License.+ codecProfile :: Prelude.Maybe H265CodecProfile,+ -- | Choose Adaptive to improve subjective video quality for high-motion+ -- content. This will cause the service to use fewer B-frames (which infer+ -- information based on other frames) for high-motion portions of the video+ -- and more B-frames for low-motion portions. The maximum number of+ -- B-frames is limited by the value you provide for the setting B frames+ -- between reference frames (numberBFramesBetweenReferenceFrames).+ dynamicSubGop :: Prelude.Maybe H265DynamicSubGop,+ -- | Enable this setting to have the encoder reduce I-frame pop. I-frame pop+ -- appears as a visual flicker that can arise when the encoder saves bits+ -- by copying some macroblocks many times from frame to frame, and then+ -- refreshes them at the I-frame. When you enable this setting, the encoder+ -- updates these macroblocks slightly more often to smooth out the flicker.+ -- This setting is disabled by default. Related setting: In addition to+ -- enabling this setting, you must also set adaptiveQuantization to a value+ -- other than Off (OFF).+ flickerAdaptiveQuantization :: Prelude.Maybe H265FlickerAdaptiveQuantization,+ -- | If you are using the console, use the Framerate setting to specify the+ -- frame rate for this output. If you want to keep the same frame rate as+ -- the input video, choose Follow source. If you want to do frame rate+ -- conversion, choose a frame rate from the dropdown list or choose Custom.+ -- The framerates shown in the dropdown list are decimal approximations of+ -- fractions. If you choose Custom, specify your frame rate as a fraction.+ -- If you are creating your transcoding job specification as a JSON file+ -- without the console, use FramerateControl to specify which value the+ -- service uses for the frame rate for this output. Choose+ -- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+ -- from the input. Choose SPECIFIED if you want the service to use the+ -- frame rate you specify in the settings FramerateNumerator and+ -- FramerateDenominator.+ framerateControl :: Prelude.Maybe H265FramerateControl,+ -- | Choose the method that you want MediaConvert to use when increasing or+ -- decreasing the frame rate. We recommend using drop duplicate+ -- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+ -- 30 fps. For numerically complex conversions, you can use interpolate+ -- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+ -- might introduce undesirable video artifacts. For complex frame rate+ -- conversions, especially if your source video has already been converted+ -- from its original cadence, use FrameFormer (FRAMEFORMER) to do+ -- motion-compensated interpolation. FrameFormer chooses the best+ -- conversion method frame by frame. Note that using FrameFormer increases+ -- the transcoding time and incurs a significant add-on cost.+ framerateConversionAlgorithm :: Prelude.Maybe H265FramerateConversionAlgorithm,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateDenominator to specify the denominator of this+ -- fraction. In this example, use 1001 for the value of+ -- FramerateDenominator. When you use the console for transcode jobs that+ -- use frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateDenominator :: Prelude.Maybe Prelude.Natural,+ -- | When you use the API for transcode jobs that use frame rate conversion,+ -- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+ -- 23.976 fps. Use FramerateNumerator to specify the numerator of this+ -- fraction. In this example, use 24000 for the value of+ -- FramerateNumerator. When you use the console for transcode jobs that use+ -- frame rate conversion, provide the value as a decimal number for+ -- Framerate. In this example, specify 23.976.+ framerateNumerator :: Prelude.Maybe Prelude.Natural,+ -- | If enable, use reference B frames for GOP structures that have B frames+ -- > 1.+ gopBReference :: Prelude.Maybe H265GopBReference,+ -- | Specify the relative frequency of open to closed GOPs in this output.+ -- For example, if you want to allow four open GOPs and then require a+ -- closed GOP, set this value to 5. We recommend that you have the+ -- transcoder automatically choose this value for you based on+ -- characteristics of your input video. To enable this automatic behavior,+ -- keep the default value by leaving this setting out of your JSON job+ -- specification. In the console, do this by keeping the default empty+ -- value. If you do explicitly specify a value, for segmented outputs,+ -- don\'t set this value to 0.+ gopClosedCadence :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting only when you set GOP mode control (GopSizeUnits) to+ -- Specified, frames (FRAMES) or Specified, seconds (SECONDS). Specify the+ -- GOP length using a whole number of frames or a decimal value of seconds.+ -- MediaConvert will interpret this value as frames or seconds depending on+ -- the value you choose for GOP mode control (GopSizeUnits). If you want to+ -- allow MediaConvert to automatically determine GOP size, leave GOP size+ -- blank and set GOP mode control to Auto (AUTO). If your output group+ -- specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode+ -- control to Auto in each output in your output group.+ gopSize :: Prelude.Maybe Prelude.Double,+ -- | Specify how the transcoder determines GOP size for this output. We+ -- recommend that you have the transcoder automatically choose this value+ -- for you based on characteristics of your input video. To enable this+ -- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+ -- blank. By default, if you don\'t specify GOP mode control+ -- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+ -- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+ -- leave GOP size blank in each output in your output group. To explicitly+ -- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+ -- seconds (SECONDS) and then provide the GOP length in the related setting+ -- GOP size (GopSize).+ gopSizeUnits :: Prelude.Maybe H265GopSizeUnits,+ -- | If your downstream systems have strict buffer requirements: Specify the+ -- minimum percentage of the HRD buffer that\'s available at the end of+ -- each encoded video segment. For the best video quality: Set to 0 or+ -- leave blank to automatically determine the final buffer fill percentage.+ hrdBufferFinalFillPercentage :: Prelude.Maybe Prelude.Natural,+ -- | Percentage of the buffer that should initially be filled (HRD buffer+ -- model).+ hrdBufferInitialFillPercentage :: Prelude.Maybe Prelude.Natural,+ -- | Size of buffer (HRD buffer model) in bits. For example, enter five+ -- megabits as 5000000.+ hrdBufferSize :: Prelude.Maybe Prelude.Natural,+ -- | Choose the scan line type for the output. Keep the default value,+ -- Progressive (PROGRESSIVE) to create a progressive output, regardless of+ -- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+ -- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+ -- the same field polarity throughout. Use Follow, default top+ -- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+ -- produce outputs with the same field polarity as the source. For jobs+ -- that have multiple inputs, the output field polarity might change over+ -- the course of the output. Follow behavior depends on the input scan+ -- type. If the source is interlaced, the output will be interlaced with+ -- the same polarity as the source. If the source is progressive, the+ -- output will be interlaced with top field bottom field first, depending+ -- on which of the Follow options you choose.+ interlaceMode :: Prelude.Maybe H265InterlaceMode,+ -- | Maximum bitrate in bits\/second. For example, enter five megabits per+ -- second as 5000000. Required when Rate control mode is QVBR.+ maxBitrate :: Prelude.Maybe Prelude.Natural,+ -- | Use this setting only when you also enable Scene change detection+ -- (SceneChangeDetect). This setting determines how the encoder manages the+ -- spacing between I-frames that it inserts as part of the I-frame cadence+ -- and the I-frames that it inserts for Scene change detection. We+ -- recommend that you have the transcoder automatically choose this value+ -- for you based on characteristics of your input video. To enable this+ -- automatic behavior, keep the default value by leaving this setting out+ -- of your JSON job specification. In the console, do this by keeping the+ -- default empty value. When you explicitly specify a value for this+ -- setting, the encoder determines whether to skip a cadence-driven I-frame+ -- by the value you set. For example, if you set Min I interval+ -- (minIInterval) to 5 and a cadence-driven I-frame would fall within 5+ -- frames of a scene-change I-frame, then the encoder skips the+ -- cadence-driven I-frame. In this way, one GOP is shrunk slightly and one+ -- GOP is stretched slightly. When the cadence-driven I-frames are farther+ -- from the scene-change I-frame than the value you set, then the encoder+ -- leaves all I-frames in place and the GOPs surrounding the scene change+ -- are smaller than the usual cadence GOPs.+ minIInterval :: Prelude.Maybe Prelude.Natural,+ -- | Specify the number of B-frames that MediaConvert puts between reference+ -- frames in this output. Valid values are whole numbers from 0 through 7.+ -- When you don\'t specify a value, MediaConvert defaults to 2.+ numberBFramesBetweenReferenceFrames :: Prelude.Maybe Prelude.Natural,+ -- | Number of reference frames to use. The encoder may use more than+ -- requested if using B-frames and\/or interlaced encoding.+ numberReferenceFrames :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Specify how the service determines the pixel aspect ratio+ -- (PAR) for this output. The default behavior, Follow source+ -- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+ -- output. To specify a different PAR in the console, choose any value+ -- other than Follow source. To specify a different PAR by editing the JSON+ -- job specification, choose SPECIFIED. When you choose SPECIFIED for this+ -- setting, you must also specify values for the parNumerator and+ -- parDenominator settings.+ parControl :: Prelude.Maybe H265ParControl,+ -- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+ -- the console, this corresponds to any value other than Follow source.+ -- When you specify an output pixel aspect ratio (PAR) that is different+ -- from your input video PAR, provide your output PAR as a ratio. For+ -- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+ -- In this example, the value for parDenominator is 33.+ parDenominator :: Prelude.Maybe Prelude.Natural,+ -- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+ -- the console, this corresponds to any value other than Follow source.+ -- When you specify an output pixel aspect ratio (PAR) that is different+ -- from your input video PAR, provide your output PAR as a ratio. For+ -- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+ -- In this example, the value for parNumerator is 40.+ parNumerator :: Prelude.Maybe Prelude.Natural,+ -- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+ -- you want to trade off encoding speed for output video quality. The+ -- default behavior is faster, lower quality, single-pass encoding.+ qualityTuningLevel :: Prelude.Maybe H265QualityTuningLevel,+ -- | Settings for quality-defined variable bitrate encoding with the H.265+ -- codec. Use these settings only when you set QVBR for Rate control mode+ -- (RateControlMode).+ qvbrSettings :: Prelude.Maybe H265QvbrSettings,+ -- | Use this setting to specify whether this output has a variable bitrate+ -- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+ -- (QVBR).+ rateControlMode :: Prelude.Maybe H265RateControlMode,+ -- | Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode+ -- dynamically selects best strength based on content+ sampleAdaptiveOffsetFilterMode :: Prelude.Maybe H265SampleAdaptiveOffsetFilterMode,+ -- | Use this setting for interlaced outputs, when your output frame rate is+ -- half of your input frame rate. In this situation, choose Optimized+ -- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+ -- output. In this case, each progressive frame from the input corresponds+ -- to an interlaced field in the output. Keep the default value, Basic+ -- interlacing (INTERLACED), for all other output frame rates. With basic+ -- interlacing, MediaConvert performs any frame rate conversion first and+ -- then interlaces the frames. When you choose Optimized interlacing and+ -- you set your output frame rate to a value that isn\'t suitable for+ -- optimized interlacing, MediaConvert automatically falls back to basic+ -- interlacing. Required settings: To use optimized interlacing, you must+ -- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+ -- optimized interlacing for hard telecine outputs. You must also set+ -- Interlace mode (interlaceMode) to a value other than Progressive+ -- (PROGRESSIVE).+ scanTypeConversionMode :: Prelude.Maybe H265ScanTypeConversionMode,+ -- | Enable this setting to insert I-frames at scene changes that the service+ -- automatically detects. This improves video quality and is enabled by+ -- default. If this output uses QVBR, choose Transition detection+ -- (TRANSITION_DETECTION) for further video quality improvement. For more+ -- information about QVBR, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+ sceneChangeDetect :: Prelude.Maybe H265SceneChangeDetect,+ -- | Number of slices per picture. Must be less than or equal to the number+ -- of macroblock rows for progressive pictures, and less than or equal to+ -- half the number of macroblock rows for interlaced pictures.+ slices :: Prelude.Maybe Prelude.Natural,+ -- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+ -- per second (fps). Enable slow PAL to create a 25 fps output. When you+ -- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+ -- resamples your audio to keep it synchronized with the video. Note that+ -- enabling this setting will slightly reduce the duration of your video.+ -- Required settings: You must also set Framerate to 25. In your JSON job+ -- specification, set (framerateControl) to (SPECIFIED),+ -- (framerateNumerator) to 25 and (framerateDenominator) to 1.+ slowPal :: Prelude.Maybe H265SlowPal,+ -- | Keep the default value, Enabled (ENABLED), to adjust quantization within+ -- each frame based on spatial variation of content complexity. When you+ -- enable this feature, the encoder uses fewer bits on areas that can+ -- sustain more distortion with no noticeable visual degradation and uses+ -- more bits on areas where any small distortion will be noticeable. For+ -- example, complex textured blocks are encoded with fewer bits and smooth+ -- textured blocks are encoded with more bits. Enabling this feature will+ -- almost always improve your video quality. Note, though, that this+ -- feature doesn\'t take into account where the viewer\'s attention is+ -- likely to be. If viewers are likely to be focusing their attention on a+ -- part of the screen with a lot of complex texture, you might choose to+ -- disable this feature. Related setting: When you enable spatial adaptive+ -- quantization, set the value for Adaptive quantization+ -- (adaptiveQuantization) depending on your content. For homogeneous+ -- content, such as cartoons and video games, set it to Low. For content+ -- with a wider variety of textures, set it to High or Higher.+ spatialAdaptiveQuantization :: Prelude.Maybe H265SpatialAdaptiveQuantization,+ -- | This field applies only if the Streams > Advanced > Framerate+ -- (framerate) field is set to 29.970. This field works with the Streams >+ -- Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the+ -- Streams > Advanced > Interlaced Mode field (interlace_mode) to identify+ -- the scan type for the output: Progressive, Interlaced, Hard Telecine or+ -- Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft:+ -- produces 23.976; the player converts this output to 29.97i.+ telecine :: Prelude.Maybe H265Telecine,+ -- | Keep the default value, Enabled (ENABLED), to adjust quantization within+ -- each frame based on temporal variation of content complexity. When you+ -- enable this feature, the encoder uses fewer bits on areas of the frame+ -- that aren\'t moving and uses more bits on complex objects with sharp+ -- edges that move a lot. For example, this feature improves the+ -- readability of text tickers on newscasts and scoreboards on sports+ -- matches. Enabling this feature will almost always improve your video+ -- quality. Note, though, that this feature doesn\'t take into account+ -- where the viewer\'s attention is likely to be. If viewers are likely to+ -- be focusing their attention on a part of the screen that doesn\'t have+ -- moving objects with sharp edges, such as sports athletes\' faces, you+ -- might choose to disable this feature. Related setting: When you enable+ -- temporal quantization, adjust the strength of the filter with the+ -- setting Adaptive quantization (adaptiveQuantization).+ temporalAdaptiveQuantization :: Prelude.Maybe H265TemporalAdaptiveQuantization,+ -- | Enables temporal layer identifiers in the encoded bitstream. Up to 3+ -- layers are supported depending on GOP structure: I- and P-frames form+ -- one layer, reference B-frames can form a second layer and non-reference+ -- b-frames can form a third layer. Decoders can optionally decode only the+ -- lower temporal layers to generate a lower frame rate output. For+ -- example, given a bitstream with temporal IDs and with b-frames = 1 (i.e.+ -- IbPbPb display order), a decoder could decode all the frames for full+ -- frame rate output or only the I and P frames (lowest temporal layer) for+ -- a half frame rate output.+ temporalIds :: Prelude.Maybe H265TemporalIds,+ -- | Enable use of tiles, allowing horizontal as well as vertical subdivision+ -- of the encoded pictures.+ tiles :: Prelude.Maybe H265Tiles,+ -- | Inserts timecode for each frame as 4 bytes of an unregistered SEI+ -- message.+ unregisteredSeiTimecode :: Prelude.Maybe H265UnregisteredSeiTimecode,+ -- | If the location of parameter set NAL units doesn\'t matter in your+ -- workflow, ignore this setting. Use this setting only with CMAF or DASH+ -- outputs, or with standalone file outputs in an MPEG-4 container (MP4+ -- outputs). Choose HVC1 to mark your output as HVC1. This makes your+ -- output compliant with the following specification: ISO IECJTC1 SC29+ -- N13798 Text ISO\/IEC FDIS 14496-15 3rd Edition. For these outputs, the+ -- service stores parameter set NAL units in the sample headers but not in+ -- the samples directly. For MP4 outputs, when you choose HVC1, your output+ -- video might not work properly with some downstream systems and video+ -- players. The service defaults to marking your output as HEV1. For these+ -- outputs, the service writes parameter set NAL units directly into the+ -- samples.+ writeMp4PackagingType :: Prelude.Maybe H265WriteMp4PackagingType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'H265Settings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adaptiveQuantization', 'h265Settings_adaptiveQuantization' - When you set Adaptive Quantization (H265AdaptiveQuantization) to Auto+-- (AUTO), or leave blank, MediaConvert automatically applies quantization+-- to improve the video quality of your output. Set Adaptive Quantization+-- to Low (LOW), Medium (MEDIUM), High (HIGH), Higher (HIGHER), or Max+-- (MAX) to manually control the strength of the quantization filter. When+-- you do, you can specify a value for Spatial Adaptive Quantization+-- (H265SpatialAdaptiveQuantization), Temporal Adaptive Quantization+-- (H265TemporalAdaptiveQuantization), and Flicker Adaptive Quantization+-- (H265FlickerAdaptiveQuantization), to further control the quantization+-- filter. Set Adaptive Quantization to Off (OFF) to apply no quantization+-- to your output.+--+-- 'alternateTransferFunctionSei', 'h265Settings_alternateTransferFunctionSei' - Enables Alternate Transfer Function SEI message for outputs using Hybrid+-- Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).+--+-- 'bitrate', 'h265Settings_bitrate' - Specify the average bitrate in bits per second. Required for VBR and+-- CBR. For MS Smooth outputs, bitrates must be unique when rounded down to+-- the nearest multiple of 1000.+--+-- 'codecLevel', 'h265Settings_codecLevel' - H.265 Level.+--+-- 'codecProfile', 'h265Settings_codecProfile' - Represents the Profile and Tier, per the HEVC (H.265) specification.+-- Selections are grouped as [Profile] \/ [Tier], so \"Main\/High\"+-- represents Main Profile with High Tier. 4:2:2 profiles are only+-- available with the HEVC 4:2:2 License.+--+-- 'dynamicSubGop', 'h265Settings_dynamicSubGop' - Choose Adaptive to improve subjective video quality for high-motion+-- content. This will cause the service to use fewer B-frames (which infer+-- information based on other frames) for high-motion portions of the video+-- and more B-frames for low-motion portions. The maximum number of+-- B-frames is limited by the value you provide for the setting B frames+-- between reference frames (numberBFramesBetweenReferenceFrames).+--+-- 'flickerAdaptiveQuantization', 'h265Settings_flickerAdaptiveQuantization' - Enable this setting to have the encoder reduce I-frame pop. I-frame pop+-- appears as a visual flicker that can arise when the encoder saves bits+-- by copying some macroblocks many times from frame to frame, and then+-- refreshes them at the I-frame. When you enable this setting, the encoder+-- updates these macroblocks slightly more often to smooth out the flicker.+-- This setting is disabled by default. Related setting: In addition to+-- enabling this setting, you must also set adaptiveQuantization to a value+-- other than Off (OFF).+--+-- 'framerateControl', 'h265Settings_framerateControl' - If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+--+-- 'framerateConversionAlgorithm', 'h265Settings_framerateConversionAlgorithm' - Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+--+-- 'framerateDenominator', 'h265Settings_framerateDenominator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'framerateNumerator', 'h265Settings_framerateNumerator' - When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+--+-- 'gopBReference', 'h265Settings_gopBReference' - If enable, use reference B frames for GOP structures that have B frames+-- > 1.+--+-- 'gopClosedCadence', 'h265Settings_gopClosedCadence' - Specify the relative frequency of open to closed GOPs in this output.+-- For example, if you want to allow four open GOPs and then require a+-- closed GOP, set this value to 5. We recommend that you have the+-- transcoder automatically choose this value for you based on+-- characteristics of your input video. To enable this automatic behavior,+-- keep the default value by leaving this setting out of your JSON job+-- specification. In the console, do this by keeping the default empty+-- value. If you do explicitly specify a value, for segmented outputs,+-- don\'t set this value to 0.+--+-- 'gopSize', 'h265Settings_gopSize' - Use this setting only when you set GOP mode control (GopSizeUnits) to+-- Specified, frames (FRAMES) or Specified, seconds (SECONDS). Specify the+-- GOP length using a whole number of frames or a decimal value of seconds.+-- MediaConvert will interpret this value as frames or seconds depending on+-- the value you choose for GOP mode control (GopSizeUnits). If you want to+-- allow MediaConvert to automatically determine GOP size, leave GOP size+-- blank and set GOP mode control to Auto (AUTO). If your output group+-- specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode+-- control to Auto in each output in your output group.+--+-- 'gopSizeUnits', 'h265Settings_gopSizeUnits' - Specify how the transcoder determines GOP size for this output. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+-- blank. By default, if you don\'t specify GOP mode control+-- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+-- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+-- leave GOP size blank in each output in your output group. To explicitly+-- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+-- seconds (SECONDS) and then provide the GOP length in the related setting+-- GOP size (GopSize).+--+-- 'hrdBufferFinalFillPercentage', 'h265Settings_hrdBufferFinalFillPercentage' - If your downstream systems have strict buffer requirements: Specify the+-- minimum percentage of the HRD buffer that\'s available at the end of+-- each encoded video segment. For the best video quality: Set to 0 or+-- leave blank to automatically determine the final buffer fill percentage.+--+-- 'hrdBufferInitialFillPercentage', 'h265Settings_hrdBufferInitialFillPercentage' - Percentage of the buffer that should initially be filled (HRD buffer+-- model).+--+-- 'hrdBufferSize', 'h265Settings_hrdBufferSize' - Size of buffer (HRD buffer model) in bits. For example, enter five+-- megabits as 5000000.+--+-- 'interlaceMode', 'h265Settings_interlaceMode' - Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+--+-- 'maxBitrate', 'h265Settings_maxBitrate' - Maximum bitrate in bits\/second. For example, enter five megabits per+-- second as 5000000. Required when Rate control mode is QVBR.+--+-- 'minIInterval', 'h265Settings_minIInterval' - Use this setting only when you also enable Scene change detection+-- (SceneChangeDetect). This setting determines how the encoder manages the+-- spacing between I-frames that it inserts as part of the I-frame cadence+-- and the I-frames that it inserts for Scene change detection. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, keep the default value by leaving this setting out+-- of your JSON job specification. In the console, do this by keeping the+-- default empty value. When you explicitly specify a value for this+-- setting, the encoder determines whether to skip a cadence-driven I-frame+-- by the value you set. For example, if you set Min I interval+-- (minIInterval) to 5 and a cadence-driven I-frame would fall within 5+-- frames of a scene-change I-frame, then the encoder skips the+-- cadence-driven I-frame. In this way, one GOP is shrunk slightly and one+-- GOP is stretched slightly. When the cadence-driven I-frames are farther+-- from the scene-change I-frame than the value you set, then the encoder+-- leaves all I-frames in place and the GOPs surrounding the scene change+-- are smaller than the usual cadence GOPs.+--+-- 'numberBFramesBetweenReferenceFrames', 'h265Settings_numberBFramesBetweenReferenceFrames' - Specify the number of B-frames that MediaConvert puts between reference+-- frames in this output. Valid values are whole numbers from 0 through 7.+-- When you don\'t specify a value, MediaConvert defaults to 2.+--+-- 'numberReferenceFrames', 'h265Settings_numberReferenceFrames' - Number of reference frames to use. The encoder may use more than+-- requested if using B-frames and\/or interlaced encoding.+--+-- 'parControl', 'h265Settings_parControl' - Optional. Specify how the service determines the pixel aspect ratio+-- (PAR) for this output. The default behavior, Follow source+-- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+-- output. To specify a different PAR in the console, choose any value+-- other than Follow source. To specify a different PAR by editing the JSON+-- job specification, choose SPECIFIED. When you choose SPECIFIED for this+-- setting, you must also specify values for the parNumerator and+-- parDenominator settings.+--+-- 'parDenominator', 'h265Settings_parDenominator' - Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parDenominator is 33.+--+-- 'parNumerator', 'h265Settings_parNumerator' - Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parNumerator is 40.+--+-- 'qualityTuningLevel', 'h265Settings_qualityTuningLevel' - Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- you want to trade off encoding speed for output video quality. The+-- default behavior is faster, lower quality, single-pass encoding.+--+-- 'qvbrSettings', 'h265Settings_qvbrSettings' - Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+--+-- 'rateControlMode', 'h265Settings_rateControlMode' - Use this setting to specify whether this output has a variable bitrate+-- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+-- (QVBR).+--+-- 'sampleAdaptiveOffsetFilterMode', 'h265Settings_sampleAdaptiveOffsetFilterMode' - Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode+-- dynamically selects best strength based on content+--+-- 'scanTypeConversionMode', 'h265Settings_scanTypeConversionMode' - Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+--+-- 'sceneChangeDetect', 'h265Settings_sceneChangeDetect' - Enable this setting to insert I-frames at scene changes that the service+-- automatically detects. This improves video quality and is enabled by+-- default. If this output uses QVBR, choose Transition detection+-- (TRANSITION_DETECTION) for further video quality improvement. For more+-- information about QVBR, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+--+-- 'slices', 'h265Settings_slices' - Number of slices per picture. Must be less than or equal to the number+-- of macroblock rows for progressive pictures, and less than or equal to+-- half the number of macroblock rows for interlaced pictures.+--+-- 'slowPal', 'h265Settings_slowPal' - Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+--+-- 'spatialAdaptiveQuantization', 'h265Settings_spatialAdaptiveQuantization' - Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on spatial variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas that can+-- sustain more distortion with no noticeable visual degradation and uses+-- more bits on areas where any small distortion will be noticeable. For+-- example, complex textured blocks are encoded with fewer bits and smooth+-- textured blocks are encoded with more bits. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen with a lot of complex texture, you might choose to+-- disable this feature. Related setting: When you enable spatial adaptive+-- quantization, set the value for Adaptive quantization+-- (adaptiveQuantization) depending on your content. For homogeneous+-- content, such as cartoons and video games, set it to Low. For content+-- with a wider variety of textures, set it to High or Higher.+--+-- 'telecine', 'h265Settings_telecine' - This field applies only if the Streams > Advanced > Framerate+-- (framerate) field is set to 29.970. This field works with the Streams >+-- Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the+-- Streams > Advanced > Interlaced Mode field (interlace_mode) to identify+-- the scan type for the output: Progressive, Interlaced, Hard Telecine or+-- Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft:+-- produces 23.976; the player converts this output to 29.97i.+--+-- 'temporalAdaptiveQuantization', 'h265Settings_temporalAdaptiveQuantization' - Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on temporal variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas of the frame+-- that aren\'t moving and uses more bits on complex objects with sharp+-- edges that move a lot. For example, this feature improves the+-- readability of text tickers on newscasts and scoreboards on sports+-- matches. Enabling this feature will almost always improve your video+-- quality. Note, though, that this feature doesn\'t take into account+-- where the viewer\'s attention is likely to be. If viewers are likely to+-- be focusing their attention on a part of the screen that doesn\'t have+-- moving objects with sharp edges, such as sports athletes\' faces, you+-- might choose to disable this feature. Related setting: When you enable+-- temporal quantization, adjust the strength of the filter with the+-- setting Adaptive quantization (adaptiveQuantization).+--+-- 'temporalIds', 'h265Settings_temporalIds' - Enables temporal layer identifiers in the encoded bitstream. Up to 3+-- layers are supported depending on GOP structure: I- and P-frames form+-- one layer, reference B-frames can form a second layer and non-reference+-- b-frames can form a third layer. Decoders can optionally decode only the+-- lower temporal layers to generate a lower frame rate output. For+-- example, given a bitstream with temporal IDs and with b-frames = 1 (i.e.+-- IbPbPb display order), a decoder could decode all the frames for full+-- frame rate output or only the I and P frames (lowest temporal layer) for+-- a half frame rate output.+--+-- 'tiles', 'h265Settings_tiles' - Enable use of tiles, allowing horizontal as well as vertical subdivision+-- of the encoded pictures.+--+-- 'unregisteredSeiTimecode', 'h265Settings_unregisteredSeiTimecode' - Inserts timecode for each frame as 4 bytes of an unregistered SEI+-- message.+--+-- 'writeMp4PackagingType', 'h265Settings_writeMp4PackagingType' - If the location of parameter set NAL units doesn\'t matter in your+-- workflow, ignore this setting. Use this setting only with CMAF or DASH+-- outputs, or with standalone file outputs in an MPEG-4 container (MP4+-- outputs). Choose HVC1 to mark your output as HVC1. This makes your+-- output compliant with the following specification: ISO IECJTC1 SC29+-- N13798 Text ISO\/IEC FDIS 14496-15 3rd Edition. For these outputs, the+-- service stores parameter set NAL units in the sample headers but not in+-- the samples directly. For MP4 outputs, when you choose HVC1, your output+-- video might not work properly with some downstream systems and video+-- players. The service defaults to marking your output as HEV1. For these+-- outputs, the service writes parameter set NAL units directly into the+-- samples.+newH265Settings ::+ H265Settings+newH265Settings =+ H265Settings'+ { adaptiveQuantization =+ Prelude.Nothing,+ alternateTransferFunctionSei = Prelude.Nothing,+ bitrate = Prelude.Nothing,+ codecLevel = Prelude.Nothing,+ codecProfile = Prelude.Nothing,+ dynamicSubGop = Prelude.Nothing,+ flickerAdaptiveQuantization = Prelude.Nothing,+ framerateControl = Prelude.Nothing,+ framerateConversionAlgorithm = Prelude.Nothing,+ framerateDenominator = Prelude.Nothing,+ framerateNumerator = Prelude.Nothing,+ gopBReference = Prelude.Nothing,+ gopClosedCadence = Prelude.Nothing,+ gopSize = Prelude.Nothing,+ gopSizeUnits = Prelude.Nothing,+ hrdBufferFinalFillPercentage = Prelude.Nothing,+ hrdBufferInitialFillPercentage = Prelude.Nothing,+ hrdBufferSize = Prelude.Nothing,+ interlaceMode = Prelude.Nothing,+ maxBitrate = Prelude.Nothing,+ minIInterval = Prelude.Nothing,+ numberBFramesBetweenReferenceFrames =+ Prelude.Nothing,+ numberReferenceFrames = Prelude.Nothing,+ parControl = Prelude.Nothing,+ parDenominator = Prelude.Nothing,+ parNumerator = Prelude.Nothing,+ qualityTuningLevel = Prelude.Nothing,+ qvbrSettings = Prelude.Nothing,+ rateControlMode = Prelude.Nothing,+ sampleAdaptiveOffsetFilterMode = Prelude.Nothing,+ scanTypeConversionMode = Prelude.Nothing,+ sceneChangeDetect = Prelude.Nothing,+ slices = Prelude.Nothing,+ slowPal = Prelude.Nothing,+ spatialAdaptiveQuantization = Prelude.Nothing,+ telecine = Prelude.Nothing,+ temporalAdaptiveQuantization = Prelude.Nothing,+ temporalIds = Prelude.Nothing,+ tiles = Prelude.Nothing,+ unregisteredSeiTimecode = Prelude.Nothing,+ writeMp4PackagingType = Prelude.Nothing+ }++-- | When you set Adaptive Quantization (H265AdaptiveQuantization) to Auto+-- (AUTO), or leave blank, MediaConvert automatically applies quantization+-- to improve the video quality of your output. Set Adaptive Quantization+-- to Low (LOW), Medium (MEDIUM), High (HIGH), Higher (HIGHER), or Max+-- (MAX) to manually control the strength of the quantization filter. When+-- you do, you can specify a value for Spatial Adaptive Quantization+-- (H265SpatialAdaptiveQuantization), Temporal Adaptive Quantization+-- (H265TemporalAdaptiveQuantization), and Flicker Adaptive Quantization+-- (H265FlickerAdaptiveQuantization), to further control the quantization+-- filter. Set Adaptive Quantization to Off (OFF) to apply no quantization+-- to your output.+h265Settings_adaptiveQuantization :: Lens.Lens' H265Settings (Prelude.Maybe H265AdaptiveQuantization)+h265Settings_adaptiveQuantization = Lens.lens (\H265Settings' {adaptiveQuantization} -> adaptiveQuantization) (\s@H265Settings' {} a -> s {adaptiveQuantization = a} :: H265Settings)++-- | Enables Alternate Transfer Function SEI message for outputs using Hybrid+-- Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).+h265Settings_alternateTransferFunctionSei :: Lens.Lens' H265Settings (Prelude.Maybe H265AlternateTransferFunctionSei)+h265Settings_alternateTransferFunctionSei = Lens.lens (\H265Settings' {alternateTransferFunctionSei} -> alternateTransferFunctionSei) (\s@H265Settings' {} a -> s {alternateTransferFunctionSei = a} :: H265Settings)++-- | Specify the average bitrate in bits per second. Required for VBR and+-- CBR. For MS Smooth outputs, bitrates must be unique when rounded down to+-- the nearest multiple of 1000.+h265Settings_bitrate :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_bitrate = Lens.lens (\H265Settings' {bitrate} -> bitrate) (\s@H265Settings' {} a -> s {bitrate = a} :: H265Settings)++-- | H.265 Level.+h265Settings_codecLevel :: Lens.Lens' H265Settings (Prelude.Maybe H265CodecLevel)+h265Settings_codecLevel = Lens.lens (\H265Settings' {codecLevel} -> codecLevel) (\s@H265Settings' {} a -> s {codecLevel = a} :: H265Settings)++-- | Represents the Profile and Tier, per the HEVC (H.265) specification.+-- Selections are grouped as [Profile] \/ [Tier], so \"Main\/High\"+-- represents Main Profile with High Tier. 4:2:2 profiles are only+-- available with the HEVC 4:2:2 License.+h265Settings_codecProfile :: Lens.Lens' H265Settings (Prelude.Maybe H265CodecProfile)+h265Settings_codecProfile = Lens.lens (\H265Settings' {codecProfile} -> codecProfile) (\s@H265Settings' {} a -> s {codecProfile = a} :: H265Settings)++-- | Choose Adaptive to improve subjective video quality for high-motion+-- content. This will cause the service to use fewer B-frames (which infer+-- information based on other frames) for high-motion portions of the video+-- and more B-frames for low-motion portions. The maximum number of+-- B-frames is limited by the value you provide for the setting B frames+-- between reference frames (numberBFramesBetweenReferenceFrames).+h265Settings_dynamicSubGop :: Lens.Lens' H265Settings (Prelude.Maybe H265DynamicSubGop)+h265Settings_dynamicSubGop = Lens.lens (\H265Settings' {dynamicSubGop} -> dynamicSubGop) (\s@H265Settings' {} a -> s {dynamicSubGop = a} :: H265Settings)++-- | Enable this setting to have the encoder reduce I-frame pop. I-frame pop+-- appears as a visual flicker that can arise when the encoder saves bits+-- by copying some macroblocks many times from frame to frame, and then+-- refreshes them at the I-frame. When you enable this setting, the encoder+-- updates these macroblocks slightly more often to smooth out the flicker.+-- This setting is disabled by default. Related setting: In addition to+-- enabling this setting, you must also set adaptiveQuantization to a value+-- other than Off (OFF).+h265Settings_flickerAdaptiveQuantization :: Lens.Lens' H265Settings (Prelude.Maybe H265FlickerAdaptiveQuantization)+h265Settings_flickerAdaptiveQuantization = Lens.lens (\H265Settings' {flickerAdaptiveQuantization} -> flickerAdaptiveQuantization) (\s@H265Settings' {} a -> s {flickerAdaptiveQuantization = a} :: H265Settings)++-- | If you are using the console, use the Framerate setting to specify the+-- frame rate for this output. If you want to keep the same frame rate as+-- the input video, choose Follow source. If you want to do frame rate+-- conversion, choose a frame rate from the dropdown list or choose Custom.+-- The framerates shown in the dropdown list are decimal approximations of+-- fractions. If you choose Custom, specify your frame rate as a fraction.+-- If you are creating your transcoding job specification as a JSON file+-- without the console, use FramerateControl to specify which value the+-- service uses for the frame rate for this output. Choose+-- INITIALIZE_FROM_SOURCE if you want the service to use the frame rate+-- from the input. Choose SPECIFIED if you want the service to use the+-- frame rate you specify in the settings FramerateNumerator and+-- FramerateDenominator.+h265Settings_framerateControl :: Lens.Lens' H265Settings (Prelude.Maybe H265FramerateControl)+h265Settings_framerateControl = Lens.lens (\H265Settings' {framerateControl} -> framerateControl) (\s@H265Settings' {} a -> s {framerateControl = a} :: H265Settings)++-- | Choose the method that you want MediaConvert to use when increasing or+-- decreasing the frame rate. We recommend using drop duplicate+-- (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to+-- 30 fps. For numerically complex conversions, you can use interpolate+-- (INTERPOLATE) to avoid stutter. This results in a smooth picture, but+-- might introduce undesirable video artifacts. For complex frame rate+-- conversions, especially if your source video has already been converted+-- from its original cadence, use FrameFormer (FRAMEFORMER) to do+-- motion-compensated interpolation. FrameFormer chooses the best+-- conversion method frame by frame. Note that using FrameFormer increases+-- the transcoding time and incurs a significant add-on cost.+h265Settings_framerateConversionAlgorithm :: Lens.Lens' H265Settings (Prelude.Maybe H265FramerateConversionAlgorithm)+h265Settings_framerateConversionAlgorithm = Lens.lens (\H265Settings' {framerateConversionAlgorithm} -> framerateConversionAlgorithm) (\s@H265Settings' {} a -> s {framerateConversionAlgorithm = a} :: H265Settings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateDenominator to specify the denominator of this+-- fraction. In this example, use 1001 for the value of+-- FramerateDenominator. When you use the console for transcode jobs that+-- use frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+h265Settings_framerateDenominator :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_framerateDenominator = Lens.lens (\H265Settings' {framerateDenominator} -> framerateDenominator) (\s@H265Settings' {} a -> s {framerateDenominator = a} :: H265Settings)++-- | When you use the API for transcode jobs that use frame rate conversion,+-- specify the frame rate as a fraction. For example, 24000 \/ 1001 =+-- 23.976 fps. Use FramerateNumerator to specify the numerator of this+-- fraction. In this example, use 24000 for the value of+-- FramerateNumerator. When you use the console for transcode jobs that use+-- frame rate conversion, provide the value as a decimal number for+-- Framerate. In this example, specify 23.976.+h265Settings_framerateNumerator :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_framerateNumerator = Lens.lens (\H265Settings' {framerateNumerator} -> framerateNumerator) (\s@H265Settings' {} a -> s {framerateNumerator = a} :: H265Settings)++-- | If enable, use reference B frames for GOP structures that have B frames+-- > 1.+h265Settings_gopBReference :: Lens.Lens' H265Settings (Prelude.Maybe H265GopBReference)+h265Settings_gopBReference = Lens.lens (\H265Settings' {gopBReference} -> gopBReference) (\s@H265Settings' {} a -> s {gopBReference = a} :: H265Settings)++-- | Specify the relative frequency of open to closed GOPs in this output.+-- For example, if you want to allow four open GOPs and then require a+-- closed GOP, set this value to 5. We recommend that you have the+-- transcoder automatically choose this value for you based on+-- characteristics of your input video. To enable this automatic behavior,+-- keep the default value by leaving this setting out of your JSON job+-- specification. In the console, do this by keeping the default empty+-- value. If you do explicitly specify a value, for segmented outputs,+-- don\'t set this value to 0.+h265Settings_gopClosedCadence :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_gopClosedCadence = Lens.lens (\H265Settings' {gopClosedCadence} -> gopClosedCadence) (\s@H265Settings' {} a -> s {gopClosedCadence = a} :: H265Settings)++-- | Use this setting only when you set GOP mode control (GopSizeUnits) to+-- Specified, frames (FRAMES) or Specified, seconds (SECONDS). Specify the+-- GOP length using a whole number of frames or a decimal value of seconds.+-- MediaConvert will interpret this value as frames or seconds depending on+-- the value you choose for GOP mode control (GopSizeUnits). If you want to+-- allow MediaConvert to automatically determine GOP size, leave GOP size+-- blank and set GOP mode control to Auto (AUTO). If your output group+-- specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode+-- control to Auto in each output in your output group.+h265Settings_gopSize :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Double)+h265Settings_gopSize = Lens.lens (\H265Settings' {gopSize} -> gopSize) (\s@H265Settings' {} a -> s {gopSize = a} :: H265Settings)++-- | Specify how the transcoder determines GOP size for this output. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize)+-- blank. By default, if you don\'t specify GOP mode control+-- (GopSizeUnits), MediaConvert will use automatic behavior. If your output+-- group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and+-- leave GOP size blank in each output in your output group. To explicitly+-- specify the GOP length, choose Specified, frames (FRAMES) or Specified,+-- seconds (SECONDS) and then provide the GOP length in the related setting+-- GOP size (GopSize).+h265Settings_gopSizeUnits :: Lens.Lens' H265Settings (Prelude.Maybe H265GopSizeUnits)+h265Settings_gopSizeUnits = Lens.lens (\H265Settings' {gopSizeUnits} -> gopSizeUnits) (\s@H265Settings' {} a -> s {gopSizeUnits = a} :: H265Settings)++-- | If your downstream systems have strict buffer requirements: Specify the+-- minimum percentage of the HRD buffer that\'s available at the end of+-- each encoded video segment. For the best video quality: Set to 0 or+-- leave blank to automatically determine the final buffer fill percentage.+h265Settings_hrdBufferFinalFillPercentage :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_hrdBufferFinalFillPercentage = Lens.lens (\H265Settings' {hrdBufferFinalFillPercentage} -> hrdBufferFinalFillPercentage) (\s@H265Settings' {} a -> s {hrdBufferFinalFillPercentage = a} :: H265Settings)++-- | Percentage of the buffer that should initially be filled (HRD buffer+-- model).+h265Settings_hrdBufferInitialFillPercentage :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_hrdBufferInitialFillPercentage = Lens.lens (\H265Settings' {hrdBufferInitialFillPercentage} -> hrdBufferInitialFillPercentage) (\s@H265Settings' {} a -> s {hrdBufferInitialFillPercentage = a} :: H265Settings)++-- | Size of buffer (HRD buffer model) in bits. For example, enter five+-- megabits as 5000000.+h265Settings_hrdBufferSize :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_hrdBufferSize = Lens.lens (\H265Settings' {hrdBufferSize} -> hrdBufferSize) (\s@H265Settings' {} a -> s {hrdBufferSize = a} :: H265Settings)++-- | Choose the scan line type for the output. Keep the default value,+-- Progressive (PROGRESSIVE) to create a progressive output, regardless of+-- the scan type of your input. Use Top field first (TOP_FIELD) or Bottom+-- field first (BOTTOM_FIELD) to create an output that\'s interlaced with+-- the same field polarity throughout. Use Follow, default top+-- (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to+-- produce outputs with the same field polarity as the source. For jobs+-- that have multiple inputs, the output field polarity might change over+-- the course of the output. Follow behavior depends on the input scan+-- type. If the source is interlaced, the output will be interlaced with+-- the same polarity as the source. If the source is progressive, the+-- output will be interlaced with top field bottom field first, depending+-- on which of the Follow options you choose.+h265Settings_interlaceMode :: Lens.Lens' H265Settings (Prelude.Maybe H265InterlaceMode)+h265Settings_interlaceMode = Lens.lens (\H265Settings' {interlaceMode} -> interlaceMode) (\s@H265Settings' {} a -> s {interlaceMode = a} :: H265Settings)++-- | Maximum bitrate in bits\/second. For example, enter five megabits per+-- second as 5000000. Required when Rate control mode is QVBR.+h265Settings_maxBitrate :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_maxBitrate = Lens.lens (\H265Settings' {maxBitrate} -> maxBitrate) (\s@H265Settings' {} a -> s {maxBitrate = a} :: H265Settings)++-- | Use this setting only when you also enable Scene change detection+-- (SceneChangeDetect). This setting determines how the encoder manages the+-- spacing between I-frames that it inserts as part of the I-frame cadence+-- and the I-frames that it inserts for Scene change detection. We+-- recommend that you have the transcoder automatically choose this value+-- for you based on characteristics of your input video. To enable this+-- automatic behavior, keep the default value by leaving this setting out+-- of your JSON job specification. In the console, do this by keeping the+-- default empty value. When you explicitly specify a value for this+-- setting, the encoder determines whether to skip a cadence-driven I-frame+-- by the value you set. For example, if you set Min I interval+-- (minIInterval) to 5 and a cadence-driven I-frame would fall within 5+-- frames of a scene-change I-frame, then the encoder skips the+-- cadence-driven I-frame. In this way, one GOP is shrunk slightly and one+-- GOP is stretched slightly. When the cadence-driven I-frames are farther+-- from the scene-change I-frame than the value you set, then the encoder+-- leaves all I-frames in place and the GOPs surrounding the scene change+-- are smaller than the usual cadence GOPs.+h265Settings_minIInterval :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_minIInterval = Lens.lens (\H265Settings' {minIInterval} -> minIInterval) (\s@H265Settings' {} a -> s {minIInterval = a} :: H265Settings)++-- | Specify the number of B-frames that MediaConvert puts between reference+-- frames in this output. Valid values are whole numbers from 0 through 7.+-- When you don\'t specify a value, MediaConvert defaults to 2.+h265Settings_numberBFramesBetweenReferenceFrames :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_numberBFramesBetweenReferenceFrames = Lens.lens (\H265Settings' {numberBFramesBetweenReferenceFrames} -> numberBFramesBetweenReferenceFrames) (\s@H265Settings' {} a -> s {numberBFramesBetweenReferenceFrames = a} :: H265Settings)++-- | Number of reference frames to use. The encoder may use more than+-- requested if using B-frames and\/or interlaced encoding.+h265Settings_numberReferenceFrames :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_numberReferenceFrames = Lens.lens (\H265Settings' {numberReferenceFrames} -> numberReferenceFrames) (\s@H265Settings' {} a -> s {numberReferenceFrames = a} :: H265Settings)++-- | Optional. Specify how the service determines the pixel aspect ratio+-- (PAR) for this output. The default behavior, Follow source+-- (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your+-- output. To specify a different PAR in the console, choose any value+-- other than Follow source. To specify a different PAR by editing the JSON+-- job specification, choose SPECIFIED. When you choose SPECIFIED for this+-- setting, you must also specify values for the parNumerator and+-- parDenominator settings.+h265Settings_parControl :: Lens.Lens' H265Settings (Prelude.Maybe H265ParControl)+h265Settings_parControl = Lens.lens (\H265Settings' {parControl} -> parControl) (\s@H265Settings' {} a -> s {parControl = a} :: H265Settings)++-- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parDenominator is 33.+h265Settings_parDenominator :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_parDenominator = Lens.lens (\H265Settings' {parDenominator} -> parDenominator) (\s@H265Settings' {} a -> s {parDenominator = a} :: H265Settings)++-- | Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On+-- the console, this corresponds to any value other than Follow source.+-- When you specify an output pixel aspect ratio (PAR) that is different+-- from your input video PAR, provide your output PAR as a ratio. For+-- example, for D1\/DV NTSC widescreen, you would specify the ratio 40:33.+-- In this example, the value for parNumerator is 40.+h265Settings_parNumerator :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_parNumerator = Lens.lens (\H265Settings' {parNumerator} -> parNumerator) (\s@H265Settings' {} a -> s {parNumerator = a} :: H265Settings)++-- | Optional. Use Quality tuning level (qualityTuningLevel) to choose how+-- you want to trade off encoding speed for output video quality. The+-- default behavior is faster, lower quality, single-pass encoding.+h265Settings_qualityTuningLevel :: Lens.Lens' H265Settings (Prelude.Maybe H265QualityTuningLevel)+h265Settings_qualityTuningLevel = Lens.lens (\H265Settings' {qualityTuningLevel} -> qualityTuningLevel) (\s@H265Settings' {} a -> s {qualityTuningLevel = a} :: H265Settings)++-- | Settings for quality-defined variable bitrate encoding with the H.265+-- codec. Use these settings only when you set QVBR for Rate control mode+-- (RateControlMode).+h265Settings_qvbrSettings :: Lens.Lens' H265Settings (Prelude.Maybe H265QvbrSettings)+h265Settings_qvbrSettings = Lens.lens (\H265Settings' {qvbrSettings} -> qvbrSettings) (\s@H265Settings' {} a -> s {qvbrSettings = a} :: H265Settings)++-- | Use this setting to specify whether this output has a variable bitrate+-- (VBR), constant bitrate (CBR) or quality-defined variable bitrate+-- (QVBR).+h265Settings_rateControlMode :: Lens.Lens' H265Settings (Prelude.Maybe H265RateControlMode)+h265Settings_rateControlMode = Lens.lens (\H265Settings' {rateControlMode} -> rateControlMode) (\s@H265Settings' {} a -> s {rateControlMode = a} :: H265Settings)++-- | Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode+-- dynamically selects best strength based on content+h265Settings_sampleAdaptiveOffsetFilterMode :: Lens.Lens' H265Settings (Prelude.Maybe H265SampleAdaptiveOffsetFilterMode)+h265Settings_sampleAdaptiveOffsetFilterMode = Lens.lens (\H265Settings' {sampleAdaptiveOffsetFilterMode} -> sampleAdaptiveOffsetFilterMode) (\s@H265Settings' {} a -> s {sampleAdaptiveOffsetFilterMode = a} :: H265Settings)++-- | Use this setting for interlaced outputs, when your output frame rate is+-- half of your input frame rate. In this situation, choose Optimized+-- interlacing (INTERLACED_OPTIMIZE) to create a better quality interlaced+-- output. In this case, each progressive frame from the input corresponds+-- to an interlaced field in the output. Keep the default value, Basic+-- interlacing (INTERLACED), for all other output frame rates. With basic+-- interlacing, MediaConvert performs any frame rate conversion first and+-- then interlaces the frames. When you choose Optimized interlacing and+-- you set your output frame rate to a value that isn\'t suitable for+-- optimized interlacing, MediaConvert automatically falls back to basic+-- interlacing. Required settings: To use optimized interlacing, you must+-- set Telecine (telecine) to None (NONE) or Soft (SOFT). You can\'t use+-- optimized interlacing for hard telecine outputs. You must also set+-- Interlace mode (interlaceMode) to a value other than Progressive+-- (PROGRESSIVE).+h265Settings_scanTypeConversionMode :: Lens.Lens' H265Settings (Prelude.Maybe H265ScanTypeConversionMode)+h265Settings_scanTypeConversionMode = Lens.lens (\H265Settings' {scanTypeConversionMode} -> scanTypeConversionMode) (\s@H265Settings' {} a -> s {scanTypeConversionMode = a} :: H265Settings)++-- | Enable this setting to insert I-frames at scene changes that the service+-- automatically detects. This improves video quality and is enabled by+-- default. If this output uses QVBR, choose Transition detection+-- (TRANSITION_DETECTION) for further video quality improvement. For more+-- information about QVBR, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/cbr-vbr-qvbr.+h265Settings_sceneChangeDetect :: Lens.Lens' H265Settings (Prelude.Maybe H265SceneChangeDetect)+h265Settings_sceneChangeDetect = Lens.lens (\H265Settings' {sceneChangeDetect} -> sceneChangeDetect) (\s@H265Settings' {} a -> s {sceneChangeDetect = a} :: H265Settings)++-- | Number of slices per picture. Must be less than or equal to the number+-- of macroblock rows for progressive pictures, and less than or equal to+-- half the number of macroblock rows for interlaced pictures.+h265Settings_slices :: Lens.Lens' H265Settings (Prelude.Maybe Prelude.Natural)+h265Settings_slices = Lens.lens (\H265Settings' {slices} -> slices) (\s@H265Settings' {} a -> s {slices = a} :: H265Settings)++-- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+h265Settings_slowPal :: Lens.Lens' H265Settings (Prelude.Maybe H265SlowPal)+h265Settings_slowPal = Lens.lens (\H265Settings' {slowPal} -> slowPal) (\s@H265Settings' {} a -> s {slowPal = a} :: H265Settings)++-- | Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on spatial variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas that can+-- sustain more distortion with no noticeable visual degradation and uses+-- more bits on areas where any small distortion will be noticeable. For+-- example, complex textured blocks are encoded with fewer bits and smooth+-- textured blocks are encoded with more bits. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen with a lot of complex texture, you might choose to+-- disable this feature. Related setting: When you enable spatial adaptive+-- quantization, set the value for Adaptive quantization+-- (adaptiveQuantization) depending on your content. For homogeneous+-- content, such as cartoons and video games, set it to Low. For content+-- with a wider variety of textures, set it to High or Higher.+h265Settings_spatialAdaptiveQuantization :: Lens.Lens' H265Settings (Prelude.Maybe H265SpatialAdaptiveQuantization)+h265Settings_spatialAdaptiveQuantization = Lens.lens (\H265Settings' {spatialAdaptiveQuantization} -> spatialAdaptiveQuantization) (\s@H265Settings' {} a -> s {spatialAdaptiveQuantization = a} :: H265Settings)++-- | This field applies only if the Streams > Advanced > Framerate+-- (framerate) field is set to 29.970. This field works with the Streams >+-- Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the+-- Streams > Advanced > Interlaced Mode field (interlace_mode) to identify+-- the scan type for the output: Progressive, Interlaced, Hard Telecine or+-- Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft:+-- produces 23.976; the player converts this output to 29.97i.+h265Settings_telecine :: Lens.Lens' H265Settings (Prelude.Maybe H265Telecine)+h265Settings_telecine = Lens.lens (\H265Settings' {telecine} -> telecine) (\s@H265Settings' {} a -> s {telecine = a} :: H265Settings)++-- | Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on temporal variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas of the frame+-- that aren\'t moving and uses more bits on complex objects with sharp+-- edges that move a lot. For example, this feature improves the+-- readability of text tickers on newscasts and scoreboards on sports+-- matches. Enabling this feature will almost always improve your video+-- quality. Note, though, that this feature doesn\'t take into account+-- where the viewer\'s attention is likely to be. If viewers are likely to+-- be focusing their attention on a part of the screen that doesn\'t have+-- moving objects with sharp edges, such as sports athletes\' faces, you+-- might choose to disable this feature. Related setting: When you enable+-- temporal quantization, adjust the strength of the filter with the+-- setting Adaptive quantization (adaptiveQuantization).+h265Settings_temporalAdaptiveQuantization :: Lens.Lens' H265Settings (Prelude.Maybe H265TemporalAdaptiveQuantization)+h265Settings_temporalAdaptiveQuantization = Lens.lens (\H265Settings' {temporalAdaptiveQuantization} -> temporalAdaptiveQuantization) (\s@H265Settings' {} a -> s {temporalAdaptiveQuantization = a} :: H265Settings)++-- | Enables temporal layer identifiers in the encoded bitstream. Up to 3+-- layers are supported depending on GOP structure: I- and P-frames form+-- one layer, reference B-frames can form a second layer and non-reference+-- b-frames can form a third layer. Decoders can optionally decode only the+-- lower temporal layers to generate a lower frame rate output. For+-- example, given a bitstream with temporal IDs and with b-frames = 1 (i.e.+-- IbPbPb display order), a decoder could decode all the frames for full+-- frame rate output or only the I and P frames (lowest temporal layer) for+-- a half frame rate output.+h265Settings_temporalIds :: Lens.Lens' H265Settings (Prelude.Maybe H265TemporalIds)+h265Settings_temporalIds = Lens.lens (\H265Settings' {temporalIds} -> temporalIds) (\s@H265Settings' {} a -> s {temporalIds = a} :: H265Settings)++-- | Enable use of tiles, allowing horizontal as well as vertical subdivision+-- of the encoded pictures.+h265Settings_tiles :: Lens.Lens' H265Settings (Prelude.Maybe H265Tiles)+h265Settings_tiles = Lens.lens (\H265Settings' {tiles} -> tiles) (\s@H265Settings' {} a -> s {tiles = a} :: H265Settings)++-- | Inserts timecode for each frame as 4 bytes of an unregistered SEI+-- message.+h265Settings_unregisteredSeiTimecode :: Lens.Lens' H265Settings (Prelude.Maybe H265UnregisteredSeiTimecode)+h265Settings_unregisteredSeiTimecode = Lens.lens (\H265Settings' {unregisteredSeiTimecode} -> unregisteredSeiTimecode) (\s@H265Settings' {} a -> s {unregisteredSeiTimecode = a} :: H265Settings)++-- | If the location of parameter set NAL units doesn\'t matter in your+-- workflow, ignore this setting. Use this setting only with CMAF or DASH+-- outputs, or with standalone file outputs in an MPEG-4 container (MP4+-- outputs). Choose HVC1 to mark your output as HVC1. This makes your+-- output compliant with the following specification: ISO IECJTC1 SC29+-- N13798 Text ISO\/IEC FDIS 14496-15 3rd Edition. For these outputs, the+-- service stores parameter set NAL units in the sample headers but not in+-- the samples directly. For MP4 outputs, when you choose HVC1, your output+-- video might not work properly with some downstream systems and video+-- players. The service defaults to marking your output as HEV1. For these+-- outputs, the service writes parameter set NAL units directly into the+-- samples.+h265Settings_writeMp4PackagingType :: Lens.Lens' H265Settings (Prelude.Maybe H265WriteMp4PackagingType)+h265Settings_writeMp4PackagingType = Lens.lens (\H265Settings' {writeMp4PackagingType} -> writeMp4PackagingType) (\s@H265Settings' {} a -> s {writeMp4PackagingType = a} :: H265Settings)++instance Data.FromJSON H265Settings where+ parseJSON =+ Data.withObject+ "H265Settings"+ ( \x ->+ H265Settings'+ Prelude.<$> (x Data..:? "adaptiveQuantization")+ Prelude.<*> (x Data..:? "alternateTransferFunctionSei")+ Prelude.<*> (x Data..:? "bitrate")+ Prelude.<*> (x Data..:? "codecLevel")+ Prelude.<*> (x Data..:? "codecProfile")+ Prelude.<*> (x Data..:? "dynamicSubGop")+ Prelude.<*> (x Data..:? "flickerAdaptiveQuantization")+ Prelude.<*> (x Data..:? "framerateControl")+ Prelude.<*> (x Data..:? "framerateConversionAlgorithm")+ Prelude.<*> (x Data..:? "framerateDenominator")+ Prelude.<*> (x Data..:? "framerateNumerator")+ Prelude.<*> (x Data..:? "gopBReference")+ Prelude.<*> (x Data..:? "gopClosedCadence")+ Prelude.<*> (x Data..:? "gopSize")+ Prelude.<*> (x Data..:? "gopSizeUnits")+ Prelude.<*> (x Data..:? "hrdBufferFinalFillPercentage")+ Prelude.<*> (x Data..:? "hrdBufferInitialFillPercentage")+ Prelude.<*> (x Data..:? "hrdBufferSize")+ Prelude.<*> (x Data..:? "interlaceMode")+ Prelude.<*> (x Data..:? "maxBitrate")+ Prelude.<*> (x Data..:? "minIInterval")+ Prelude.<*> (x Data..:? "numberBFramesBetweenReferenceFrames")+ Prelude.<*> (x Data..:? "numberReferenceFrames")+ Prelude.<*> (x Data..:? "parControl")+ Prelude.<*> (x Data..:? "parDenominator")+ Prelude.<*> (x Data..:? "parNumerator")+ Prelude.<*> (x Data..:? "qualityTuningLevel")+ Prelude.<*> (x Data..:? "qvbrSettings")+ Prelude.<*> (x Data..:? "rateControlMode")+ Prelude.<*> (x Data..:? "sampleAdaptiveOffsetFilterMode")+ Prelude.<*> (x Data..:? "scanTypeConversionMode")+ Prelude.<*> (x Data..:? "sceneChangeDetect")+ Prelude.<*> (x Data..:? "slices")+ Prelude.<*> (x Data..:? "slowPal")+ Prelude.<*> (x Data..:? "spatialAdaptiveQuantization")+ Prelude.<*> (x Data..:? "telecine")+ Prelude.<*> (x Data..:? "temporalAdaptiveQuantization")+ Prelude.<*> (x Data..:? "temporalIds")+ Prelude.<*> (x Data..:? "tiles")+ Prelude.<*> (x Data..:? "unregisteredSeiTimecode")+ Prelude.<*> (x Data..:? "writeMp4PackagingType")+ )++instance Prelude.Hashable H265Settings where+ hashWithSalt _salt H265Settings' {..} =+ _salt+ `Prelude.hashWithSalt` adaptiveQuantization+ `Prelude.hashWithSalt` alternateTransferFunctionSei+ `Prelude.hashWithSalt` bitrate+ `Prelude.hashWithSalt` codecLevel+ `Prelude.hashWithSalt` codecProfile+ `Prelude.hashWithSalt` dynamicSubGop+ `Prelude.hashWithSalt` flickerAdaptiveQuantization+ `Prelude.hashWithSalt` framerateControl+ `Prelude.hashWithSalt` framerateConversionAlgorithm+ `Prelude.hashWithSalt` framerateDenominator+ `Prelude.hashWithSalt` framerateNumerator+ `Prelude.hashWithSalt` gopBReference+ `Prelude.hashWithSalt` gopClosedCadence+ `Prelude.hashWithSalt` gopSize+ `Prelude.hashWithSalt` gopSizeUnits+ `Prelude.hashWithSalt` hrdBufferFinalFillPercentage+ `Prelude.hashWithSalt` hrdBufferInitialFillPercentage+ `Prelude.hashWithSalt` hrdBufferSize+ `Prelude.hashWithSalt` interlaceMode+ `Prelude.hashWithSalt` maxBitrate+ `Prelude.hashWithSalt` minIInterval+ `Prelude.hashWithSalt` numberBFramesBetweenReferenceFrames+ `Prelude.hashWithSalt` numberReferenceFrames+ `Prelude.hashWithSalt` parControl+ `Prelude.hashWithSalt` parDenominator+ `Prelude.hashWithSalt` parNumerator+ `Prelude.hashWithSalt` qualityTuningLevel+ `Prelude.hashWithSalt` qvbrSettings+ `Prelude.hashWithSalt` rateControlMode+ `Prelude.hashWithSalt` sampleAdaptiveOffsetFilterMode+ `Prelude.hashWithSalt` scanTypeConversionMode+ `Prelude.hashWithSalt` sceneChangeDetect+ `Prelude.hashWithSalt` slices+ `Prelude.hashWithSalt` slowPal+ `Prelude.hashWithSalt` spatialAdaptiveQuantization+ `Prelude.hashWithSalt` telecine+ `Prelude.hashWithSalt` temporalAdaptiveQuantization+ `Prelude.hashWithSalt` temporalIds+ `Prelude.hashWithSalt` tiles+ `Prelude.hashWithSalt` unregisteredSeiTimecode+ `Prelude.hashWithSalt` writeMp4PackagingType++instance Prelude.NFData H265Settings where+ rnf H265Settings' {..} =+ Prelude.rnf adaptiveQuantization+ `Prelude.seq` Prelude.rnf alternateTransferFunctionSei+ `Prelude.seq` Prelude.rnf bitrate+ `Prelude.seq` Prelude.rnf codecLevel+ `Prelude.seq` Prelude.rnf codecProfile+ `Prelude.seq` Prelude.rnf dynamicSubGop+ `Prelude.seq` Prelude.rnf flickerAdaptiveQuantization+ `Prelude.seq` Prelude.rnf framerateControl+ `Prelude.seq` Prelude.rnf framerateConversionAlgorithm+ `Prelude.seq` Prelude.rnf framerateDenominator+ `Prelude.seq` Prelude.rnf framerateNumerator+ `Prelude.seq` Prelude.rnf gopBReference+ `Prelude.seq` Prelude.rnf gopClosedCadence+ `Prelude.seq` Prelude.rnf gopSize+ `Prelude.seq` Prelude.rnf gopSizeUnits+ `Prelude.seq` Prelude.rnf+ hrdBufferFinalFillPercentage+ `Prelude.seq` Prelude.rnf+ hrdBufferInitialFillPercentage+ `Prelude.seq` Prelude.rnf hrdBufferSize+ `Prelude.seq` Prelude.rnf interlaceMode+ `Prelude.seq` Prelude.rnf maxBitrate+ `Prelude.seq` Prelude.rnf minIInterval+ `Prelude.seq` Prelude.rnf+ numberBFramesBetweenReferenceFrames+ `Prelude.seq` Prelude.rnf+ numberReferenceFrames+ `Prelude.seq` Prelude.rnf parControl+ `Prelude.seq` Prelude.rnf+ parDenominator+ `Prelude.seq` Prelude.rnf+ parNumerator+ `Prelude.seq` Prelude.rnf+ qualityTuningLevel+ `Prelude.seq` Prelude.rnf+ qvbrSettings+ `Prelude.seq` Prelude.rnf+ rateControlMode+ `Prelude.seq` Prelude.rnf+ sampleAdaptiveOffsetFilterMode+ `Prelude.seq` Prelude.rnf+ scanTypeConversionMode+ `Prelude.seq` Prelude.rnf+ sceneChangeDetect+ `Prelude.seq` Prelude.rnf+ slices+ `Prelude.seq` Prelude.rnf+ slowPal+ `Prelude.seq` Prelude.rnf+ spatialAdaptiveQuantization+ `Prelude.seq` Prelude.rnf+ telecine+ `Prelude.seq` Prelude.rnf+ temporalAdaptiveQuantization+ `Prelude.seq` Prelude.rnf+ temporalIds+ `Prelude.seq` Prelude.rnf+ tiles+ `Prelude.seq` Prelude.rnf+ unregisteredSeiTimecode+ `Prelude.seq` Prelude.rnf+ writeMp4PackagingType++instance Data.ToJSON H265Settings where+ toJSON H265Settings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adaptiveQuantization" Data..=)+ Prelude.<$> adaptiveQuantization,+ ("alternateTransferFunctionSei" Data..=)+ Prelude.<$> alternateTransferFunctionSei,+ ("bitrate" Data..=) Prelude.<$> bitrate,+ ("codecLevel" Data..=) Prelude.<$> codecLevel,+ ("codecProfile" Data..=) Prelude.<$> codecProfile,+ ("dynamicSubGop" Data..=) Prelude.<$> dynamicSubGop,+ ("flickerAdaptiveQuantization" Data..=)+ Prelude.<$> flickerAdaptiveQuantization,+ ("framerateControl" Data..=)+ Prelude.<$> framerateControl,+ ("framerateConversionAlgorithm" Data..=)+ Prelude.<$> framerateConversionAlgorithm,+ ("framerateDenominator" Data..=)+ Prelude.<$> framerateDenominator,+ ("framerateNumerator" Data..=)+ Prelude.<$> framerateNumerator,+ ("gopBReference" Data..=) Prelude.<$> gopBReference,+ ("gopClosedCadence" Data..=)+ Prelude.<$> gopClosedCadence,+ ("gopSize" Data..=) Prelude.<$> gopSize,+ ("gopSizeUnits" Data..=) Prelude.<$> gopSizeUnits,+ ("hrdBufferFinalFillPercentage" Data..=)+ Prelude.<$> hrdBufferFinalFillPercentage,+ ("hrdBufferInitialFillPercentage" Data..=)+ Prelude.<$> hrdBufferInitialFillPercentage,+ ("hrdBufferSize" Data..=) Prelude.<$> hrdBufferSize,+ ("interlaceMode" Data..=) Prelude.<$> interlaceMode,+ ("maxBitrate" Data..=) Prelude.<$> maxBitrate,+ ("minIInterval" Data..=) Prelude.<$> minIInterval,+ ("numberBFramesBetweenReferenceFrames" Data..=)+ Prelude.<$> numberBFramesBetweenReferenceFrames,+ ("numberReferenceFrames" Data..=)+ Prelude.<$> numberReferenceFrames,+ ("parControl" Data..=) Prelude.<$> parControl,+ ("parDenominator" Data..=)+ Prelude.<$> parDenominator,+ ("parNumerator" Data..=) Prelude.<$> parNumerator,+ ("qualityTuningLevel" Data..=)+ Prelude.<$> qualityTuningLevel,+ ("qvbrSettings" Data..=) Prelude.<$> qvbrSettings,+ ("rateControlMode" Data..=)+ Prelude.<$> rateControlMode,+ ("sampleAdaptiveOffsetFilterMode" Data..=)+ Prelude.<$> sampleAdaptiveOffsetFilterMode,+ ("scanTypeConversionMode" Data..=)+ Prelude.<$> scanTypeConversionMode,+ ("sceneChangeDetect" Data..=)+ Prelude.<$> sceneChangeDetect,+ ("slices" Data..=) Prelude.<$> slices,+ ("slowPal" Data..=) Prelude.<$> slowPal,+ ("spatialAdaptiveQuantization" Data..=)+ Prelude.<$> spatialAdaptiveQuantization,+ ("telecine" Data..=) Prelude.<$> telecine,+ ("temporalAdaptiveQuantization" Data..=)+ Prelude.<$> temporalAdaptiveQuantization,+ ("temporalIds" Data..=) Prelude.<$> temporalIds,+ ("tiles" Data..=) Prelude.<$> tiles,+ ("unregisteredSeiTimecode" Data..=)+ Prelude.<$> unregisteredSeiTimecode,+ ("writeMp4PackagingType" Data..=)+ Prelude.<$> writeMp4PackagingType+ ]+ )
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265SlowPal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265SlowPal+ ( H265SlowPal+ ( ..,+ H265SlowPal_DISABLED,+ H265SlowPal_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless your input frame rate is 23.976 or 24 frames+-- per second (fps). Enable slow PAL to create a 25 fps output. When you+-- enable slow PAL, MediaConvert relabels the video frames to 25 fps and+-- resamples your audio to keep it synchronized with the video. Note that+-- enabling this setting will slightly reduce the duration of your video.+-- Required settings: You must also set Framerate to 25. In your JSON job+-- specification, set (framerateControl) to (SPECIFIED),+-- (framerateNumerator) to 25 and (framerateDenominator) to 1.+newtype H265SlowPal = H265SlowPal'+ { fromH265SlowPal ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265SlowPal_DISABLED :: H265SlowPal+pattern H265SlowPal_DISABLED = H265SlowPal' "DISABLED"++pattern H265SlowPal_ENABLED :: H265SlowPal+pattern H265SlowPal_ENABLED = H265SlowPal' "ENABLED"++{-# COMPLETE+ H265SlowPal_DISABLED,+ H265SlowPal_ENABLED,+ H265SlowPal'+ #-}
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265SpatialAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265SpatialAdaptiveQuantization+ ( H265SpatialAdaptiveQuantization+ ( ..,+ H265SpatialAdaptiveQuantization_DISABLED,+ H265SpatialAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on spatial variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas that can+-- sustain more distortion with no noticeable visual degradation and uses+-- more bits on areas where any small distortion will be noticeable. For+-- example, complex textured blocks are encoded with fewer bits and smooth+-- textured blocks are encoded with more bits. Enabling this feature will+-- almost always improve your video quality. Note, though, that this+-- feature doesn\'t take into account where the viewer\'s attention is+-- likely to be. If viewers are likely to be focusing their attention on a+-- part of the screen with a lot of complex texture, you might choose to+-- disable this feature. Related setting: When you enable spatial adaptive+-- quantization, set the value for Adaptive quantization+-- (adaptiveQuantization) depending on your content. For homogeneous+-- content, such as cartoons and video games, set it to Low. For content+-- with a wider variety of textures, set it to High or Higher.+newtype H265SpatialAdaptiveQuantization = H265SpatialAdaptiveQuantization'+ { fromH265SpatialAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265SpatialAdaptiveQuantization_DISABLED :: H265SpatialAdaptiveQuantization+pattern H265SpatialAdaptiveQuantization_DISABLED = H265SpatialAdaptiveQuantization' "DISABLED"++pattern H265SpatialAdaptiveQuantization_ENABLED :: H265SpatialAdaptiveQuantization+pattern H265SpatialAdaptiveQuantization_ENABLED = H265SpatialAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ H265SpatialAdaptiveQuantization_DISABLED,+ H265SpatialAdaptiveQuantization_ENABLED,+ H265SpatialAdaptiveQuantization'+ #-}
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265Telecine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265Telecine+ ( H265Telecine+ ( ..,+ H265Telecine_HARD,+ H265Telecine_NONE,+ H265Telecine_SOFT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This field applies only if the Streams > Advanced > Framerate+-- (framerate) field is set to 29.970. This field works with the Streams >+-- Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the+-- Streams > Advanced > Interlaced Mode field (interlace_mode) to identify+-- the scan type for the output: Progressive, Interlaced, Hard Telecine or+-- Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft:+-- produces 23.976; the player converts this output to 29.97i.+newtype H265Telecine = H265Telecine'+ { fromH265Telecine ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265Telecine_HARD :: H265Telecine+pattern H265Telecine_HARD = H265Telecine' "HARD"++pattern H265Telecine_NONE :: H265Telecine+pattern H265Telecine_NONE = H265Telecine' "NONE"++pattern H265Telecine_SOFT :: H265Telecine+pattern H265Telecine_SOFT = H265Telecine' "SOFT"++{-# COMPLETE+ H265Telecine_HARD,+ H265Telecine_NONE,+ H265Telecine_SOFT,+ H265Telecine'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265TemporalAdaptiveQuantization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265TemporalAdaptiveQuantization+ ( H265TemporalAdaptiveQuantization+ ( ..,+ H265TemporalAdaptiveQuantization_DISABLED,+ H265TemporalAdaptiveQuantization_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Keep the default value, Enabled (ENABLED), to adjust quantization within+-- each frame based on temporal variation of content complexity. When you+-- enable this feature, the encoder uses fewer bits on areas of the frame+-- that aren\'t moving and uses more bits on complex objects with sharp+-- edges that move a lot. For example, this feature improves the+-- readability of text tickers on newscasts and scoreboards on sports+-- matches. Enabling this feature will almost always improve your video+-- quality. Note, though, that this feature doesn\'t take into account+-- where the viewer\'s attention is likely to be. If viewers are likely to+-- be focusing their attention on a part of the screen that doesn\'t have+-- moving objects with sharp edges, such as sports athletes\' faces, you+-- might choose to disable this feature. Related setting: When you enable+-- temporal quantization, adjust the strength of the filter with the+-- setting Adaptive quantization (adaptiveQuantization).+newtype H265TemporalAdaptiveQuantization = H265TemporalAdaptiveQuantization'+ { fromH265TemporalAdaptiveQuantization ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265TemporalAdaptiveQuantization_DISABLED :: H265TemporalAdaptiveQuantization+pattern H265TemporalAdaptiveQuantization_DISABLED = H265TemporalAdaptiveQuantization' "DISABLED"++pattern H265TemporalAdaptiveQuantization_ENABLED :: H265TemporalAdaptiveQuantization+pattern H265TemporalAdaptiveQuantization_ENABLED = H265TemporalAdaptiveQuantization' "ENABLED"++{-# COMPLETE+ H265TemporalAdaptiveQuantization_DISABLED,+ H265TemporalAdaptiveQuantization_ENABLED,+ H265TemporalAdaptiveQuantization'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265TemporalIds+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265TemporalIds+ ( H265TemporalIds+ ( ..,+ H265TemporalIds_DISABLED,+ H265TemporalIds_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enables temporal layer identifiers in the encoded bitstream. Up to 3+-- layers are supported depending on GOP structure: I- and P-frames form+-- one layer, reference B-frames can form a second layer and non-reference+-- b-frames can form a third layer. Decoders can optionally decode only the+-- lower temporal layers to generate a lower frame rate output. For+-- example, given a bitstream with temporal IDs and with b-frames = 1 (i.e.+-- IbPbPb display order), a decoder could decode all the frames for full+-- frame rate output or only the I and P frames (lowest temporal layer) for+-- a half frame rate output.+newtype H265TemporalIds = H265TemporalIds'+ { fromH265TemporalIds ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265TemporalIds_DISABLED :: H265TemporalIds+pattern H265TemporalIds_DISABLED = H265TemporalIds' "DISABLED"++pattern H265TemporalIds_ENABLED :: H265TemporalIds+pattern H265TemporalIds_ENABLED = H265TemporalIds' "ENABLED"++{-# COMPLETE+ H265TemporalIds_DISABLED,+ H265TemporalIds_ENABLED,+ H265TemporalIds'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265Tiles+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265Tiles+ ( H265Tiles+ ( ..,+ H265Tiles_DISABLED,+ H265Tiles_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable use of tiles, allowing horizontal as well as vertical subdivision+-- of the encoded pictures.+newtype H265Tiles = H265Tiles'+ { fromH265Tiles ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265Tiles_DISABLED :: H265Tiles+pattern H265Tiles_DISABLED = H265Tiles' "DISABLED"++pattern H265Tiles_ENABLED :: H265Tiles+pattern H265Tiles_ENABLED = H265Tiles' "ENABLED"++{-# COMPLETE+ H265Tiles_DISABLED,+ H265Tiles_ENABLED,+ H265Tiles'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265UnregisteredSeiTimecode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265UnregisteredSeiTimecode+ ( H265UnregisteredSeiTimecode+ ( ..,+ H265UnregisteredSeiTimecode_DISABLED,+ H265UnregisteredSeiTimecode_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Inserts timecode for each frame as 4 bytes of an unregistered SEI+-- message.+newtype H265UnregisteredSeiTimecode = H265UnregisteredSeiTimecode'+ { fromH265UnregisteredSeiTimecode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265UnregisteredSeiTimecode_DISABLED :: H265UnregisteredSeiTimecode+pattern H265UnregisteredSeiTimecode_DISABLED = H265UnregisteredSeiTimecode' "DISABLED"++pattern H265UnregisteredSeiTimecode_ENABLED :: H265UnregisteredSeiTimecode+pattern H265UnregisteredSeiTimecode_ENABLED = H265UnregisteredSeiTimecode' "ENABLED"++{-# COMPLETE+ H265UnregisteredSeiTimecode_DISABLED,+ H265UnregisteredSeiTimecode_ENABLED,+ H265UnregisteredSeiTimecode'+ #-}
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.H265WriteMp4PackagingType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.H265WriteMp4PackagingType+ ( H265WriteMp4PackagingType+ ( ..,+ H265WriteMp4PackagingType_HEV1,+ H265WriteMp4PackagingType_HVC1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If the location of parameter set NAL units doesn\'t matter in your+-- workflow, ignore this setting. Use this setting only with CMAF or DASH+-- outputs, or with standalone file outputs in an MPEG-4 container (MP4+-- outputs). Choose HVC1 to mark your output as HVC1. This makes your+-- output compliant with the following specification: ISO IECJTC1 SC29+-- N13798 Text ISO\/IEC FDIS 14496-15 3rd Edition. For these outputs, the+-- service stores parameter set NAL units in the sample headers but not in+-- the samples directly. For MP4 outputs, when you choose HVC1, your output+-- video might not work properly with some downstream systems and video+-- players. The service defaults to marking your output as HEV1. For these+-- outputs, the service writes parameter set NAL units directly into the+-- samples.+newtype H265WriteMp4PackagingType = H265WriteMp4PackagingType'+ { fromH265WriteMp4PackagingType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern H265WriteMp4PackagingType_HEV1 :: H265WriteMp4PackagingType+pattern H265WriteMp4PackagingType_HEV1 = H265WriteMp4PackagingType' "HEV1"++pattern H265WriteMp4PackagingType_HVC1 :: H265WriteMp4PackagingType+pattern H265WriteMp4PackagingType_HVC1 = H265WriteMp4PackagingType' "HVC1"++{-# COMPLETE+ H265WriteMp4PackagingType_HEV1,+ H265WriteMp4PackagingType_HVC1,+ H265WriteMp4PackagingType'+ #-}
@@ -0,0 +1,319 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Hdr10Metadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Hdr10Metadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use these settings to specify static color calibration metadata, as+-- defined by SMPTE ST 2086. These values don\'t affect the pixel values+-- that are encoded in the video stream. They are intended to help the+-- downstream video player display content in a way that reflects the+-- intentions of the the content creator.+--+-- /See:/ 'newHdr10Metadata' smart constructor.+data Hdr10Metadata = Hdr10Metadata'+ { -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ bluePrimaryX :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ bluePrimaryY :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ greenPrimaryX :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ greenPrimaryY :: Prelude.Maybe Prelude.Natural,+ -- | Maximum light level among all samples in the coded video sequence, in+ -- units of candelas per square meter. This setting doesn\'t have a default+ -- value; you must specify a value that is suitable for the content.+ maxContentLightLevel :: Prelude.Maybe Prelude.Natural,+ -- | Maximum average light level of any frame in the coded video sequence, in+ -- units of candelas per square meter. This setting doesn\'t have a default+ -- value; you must specify a value that is suitable for the content.+ maxFrameAverageLightLevel :: Prelude.Maybe Prelude.Natural,+ -- | Nominal maximum mastering display luminance in units of of 0.0001+ -- candelas per square meter.+ maxLuminance :: Prelude.Maybe Prelude.Natural,+ -- | Nominal minimum mastering display luminance in units of of 0.0001+ -- candelas per square meter+ minLuminance :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ redPrimaryX :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ redPrimaryY :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ whitePointX :: Prelude.Maybe Prelude.Natural,+ -- | HDR Master Display Information must be provided by a color grader, using+ -- color grading tools. Range is 0 to 50,000, each increment represents+ -- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+ -- color correction.+ whitePointY :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Hdr10Metadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bluePrimaryX', 'hdr10Metadata_bluePrimaryX' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'bluePrimaryY', 'hdr10Metadata_bluePrimaryY' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'greenPrimaryX', 'hdr10Metadata_greenPrimaryX' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'greenPrimaryY', 'hdr10Metadata_greenPrimaryY' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'maxContentLightLevel', 'hdr10Metadata_maxContentLightLevel' - Maximum light level among all samples in the coded video sequence, in+-- units of candelas per square meter. This setting doesn\'t have a default+-- value; you must specify a value that is suitable for the content.+--+-- 'maxFrameAverageLightLevel', 'hdr10Metadata_maxFrameAverageLightLevel' - Maximum average light level of any frame in the coded video sequence, in+-- units of candelas per square meter. This setting doesn\'t have a default+-- value; you must specify a value that is suitable for the content.+--+-- 'maxLuminance', 'hdr10Metadata_maxLuminance' - Nominal maximum mastering display luminance in units of of 0.0001+-- candelas per square meter.+--+-- 'minLuminance', 'hdr10Metadata_minLuminance' - Nominal minimum mastering display luminance in units of of 0.0001+-- candelas per square meter+--+-- 'redPrimaryX', 'hdr10Metadata_redPrimaryX' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'redPrimaryY', 'hdr10Metadata_redPrimaryY' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'whitePointX', 'hdr10Metadata_whitePointX' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+--+-- 'whitePointY', 'hdr10Metadata_whitePointY' - HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+newHdr10Metadata ::+ Hdr10Metadata+newHdr10Metadata =+ Hdr10Metadata'+ { bluePrimaryX = Prelude.Nothing,+ bluePrimaryY = Prelude.Nothing,+ greenPrimaryX = Prelude.Nothing,+ greenPrimaryY = Prelude.Nothing,+ maxContentLightLevel = Prelude.Nothing,+ maxFrameAverageLightLevel = Prelude.Nothing,+ maxLuminance = Prelude.Nothing,+ minLuminance = Prelude.Nothing,+ redPrimaryX = Prelude.Nothing,+ redPrimaryY = Prelude.Nothing,+ whitePointX = Prelude.Nothing,+ whitePointY = Prelude.Nothing+ }++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_bluePrimaryX :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_bluePrimaryX = Lens.lens (\Hdr10Metadata' {bluePrimaryX} -> bluePrimaryX) (\s@Hdr10Metadata' {} a -> s {bluePrimaryX = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_bluePrimaryY :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_bluePrimaryY = Lens.lens (\Hdr10Metadata' {bluePrimaryY} -> bluePrimaryY) (\s@Hdr10Metadata' {} a -> s {bluePrimaryY = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_greenPrimaryX :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_greenPrimaryX = Lens.lens (\Hdr10Metadata' {greenPrimaryX} -> greenPrimaryX) (\s@Hdr10Metadata' {} a -> s {greenPrimaryX = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_greenPrimaryY :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_greenPrimaryY = Lens.lens (\Hdr10Metadata' {greenPrimaryY} -> greenPrimaryY) (\s@Hdr10Metadata' {} a -> s {greenPrimaryY = a} :: Hdr10Metadata)++-- | Maximum light level among all samples in the coded video sequence, in+-- units of candelas per square meter. This setting doesn\'t have a default+-- value; you must specify a value that is suitable for the content.+hdr10Metadata_maxContentLightLevel :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_maxContentLightLevel = Lens.lens (\Hdr10Metadata' {maxContentLightLevel} -> maxContentLightLevel) (\s@Hdr10Metadata' {} a -> s {maxContentLightLevel = a} :: Hdr10Metadata)++-- | Maximum average light level of any frame in the coded video sequence, in+-- units of candelas per square meter. This setting doesn\'t have a default+-- value; you must specify a value that is suitable for the content.+hdr10Metadata_maxFrameAverageLightLevel :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_maxFrameAverageLightLevel = Lens.lens (\Hdr10Metadata' {maxFrameAverageLightLevel} -> maxFrameAverageLightLevel) (\s@Hdr10Metadata' {} a -> s {maxFrameAverageLightLevel = a} :: Hdr10Metadata)++-- | Nominal maximum mastering display luminance in units of of 0.0001+-- candelas per square meter.+hdr10Metadata_maxLuminance :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_maxLuminance = Lens.lens (\Hdr10Metadata' {maxLuminance} -> maxLuminance) (\s@Hdr10Metadata' {} a -> s {maxLuminance = a} :: Hdr10Metadata)++-- | Nominal minimum mastering display luminance in units of of 0.0001+-- candelas per square meter+hdr10Metadata_minLuminance :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_minLuminance = Lens.lens (\Hdr10Metadata' {minLuminance} -> minLuminance) (\s@Hdr10Metadata' {} a -> s {minLuminance = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_redPrimaryX :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_redPrimaryX = Lens.lens (\Hdr10Metadata' {redPrimaryX} -> redPrimaryX) (\s@Hdr10Metadata' {} a -> s {redPrimaryX = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_redPrimaryY :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_redPrimaryY = Lens.lens (\Hdr10Metadata' {redPrimaryY} -> redPrimaryY) (\s@Hdr10Metadata' {} a -> s {redPrimaryY = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_whitePointX :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_whitePointX = Lens.lens (\Hdr10Metadata' {whitePointX} -> whitePointX) (\s@Hdr10Metadata' {} a -> s {whitePointX = a} :: Hdr10Metadata)++-- | HDR Master Display Information must be provided by a color grader, using+-- color grading tools. Range is 0 to 50,000, each increment represents+-- 0.00002 in CIE1931 color coordinate. Note that this setting is not for+-- color correction.+hdr10Metadata_whitePointY :: Lens.Lens' Hdr10Metadata (Prelude.Maybe Prelude.Natural)+hdr10Metadata_whitePointY = Lens.lens (\Hdr10Metadata' {whitePointY} -> whitePointY) (\s@Hdr10Metadata' {} a -> s {whitePointY = a} :: Hdr10Metadata)++instance Data.FromJSON Hdr10Metadata where+ parseJSON =+ Data.withObject+ "Hdr10Metadata"+ ( \x ->+ Hdr10Metadata'+ Prelude.<$> (x Data..:? "bluePrimaryX")+ Prelude.<*> (x Data..:? "bluePrimaryY")+ Prelude.<*> (x Data..:? "greenPrimaryX")+ Prelude.<*> (x Data..:? "greenPrimaryY")+ Prelude.<*> (x Data..:? "maxContentLightLevel")+ Prelude.<*> (x Data..:? "maxFrameAverageLightLevel")+ Prelude.<*> (x Data..:? "maxLuminance")+ Prelude.<*> (x Data..:? "minLuminance")+ Prelude.<*> (x Data..:? "redPrimaryX")+ Prelude.<*> (x Data..:? "redPrimaryY")+ Prelude.<*> (x Data..:? "whitePointX")+ Prelude.<*> (x Data..:? "whitePointY")+ )++instance Prelude.Hashable Hdr10Metadata where+ hashWithSalt _salt Hdr10Metadata' {..} =+ _salt+ `Prelude.hashWithSalt` bluePrimaryX+ `Prelude.hashWithSalt` bluePrimaryY+ `Prelude.hashWithSalt` greenPrimaryX+ `Prelude.hashWithSalt` greenPrimaryY+ `Prelude.hashWithSalt` maxContentLightLevel+ `Prelude.hashWithSalt` maxFrameAverageLightLevel+ `Prelude.hashWithSalt` maxLuminance+ `Prelude.hashWithSalt` minLuminance+ `Prelude.hashWithSalt` redPrimaryX+ `Prelude.hashWithSalt` redPrimaryY+ `Prelude.hashWithSalt` whitePointX+ `Prelude.hashWithSalt` whitePointY++instance Prelude.NFData Hdr10Metadata where+ rnf Hdr10Metadata' {..} =+ Prelude.rnf bluePrimaryX+ `Prelude.seq` Prelude.rnf bluePrimaryY+ `Prelude.seq` Prelude.rnf greenPrimaryX+ `Prelude.seq` Prelude.rnf greenPrimaryY+ `Prelude.seq` Prelude.rnf maxContentLightLevel+ `Prelude.seq` Prelude.rnf maxFrameAverageLightLevel+ `Prelude.seq` Prelude.rnf maxLuminance+ `Prelude.seq` Prelude.rnf minLuminance+ `Prelude.seq` Prelude.rnf redPrimaryX+ `Prelude.seq` Prelude.rnf redPrimaryY+ `Prelude.seq` Prelude.rnf whitePointX+ `Prelude.seq` Prelude.rnf whitePointY++instance Data.ToJSON Hdr10Metadata where+ toJSON Hdr10Metadata' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bluePrimaryX" Data..=) Prelude.<$> bluePrimaryX,+ ("bluePrimaryY" Data..=) Prelude.<$> bluePrimaryY,+ ("greenPrimaryX" Data..=) Prelude.<$> greenPrimaryX,+ ("greenPrimaryY" Data..=) Prelude.<$> greenPrimaryY,+ ("maxContentLightLevel" Data..=)+ Prelude.<$> maxContentLightLevel,+ ("maxFrameAverageLightLevel" Data..=)+ Prelude.<$> maxFrameAverageLightLevel,+ ("maxLuminance" Data..=) Prelude.<$> maxLuminance,+ ("minLuminance" Data..=) Prelude.<$> minLuminance,+ ("redPrimaryX" Data..=) Prelude.<$> redPrimaryX,+ ("redPrimaryY" Data..=) Prelude.<$> redPrimaryY,+ ("whitePointX" Data..=) Prelude.<$> whitePointX,+ ("whitePointY" Data..=) Prelude.<$> whitePointY+ ]+ )
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Hdr10Plus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Hdr10Plus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Setting for HDR10+ metadata insertion+--+-- /See:/ 'newHdr10Plus' smart constructor.+data Hdr10Plus = Hdr10Plus'+ { -- | Specify the HDR10+ mastering display normalized peak luminance, in nits.+ -- This is the normalized actual peak luminance of the mastering display,+ -- as defined by ST 2094-40.+ masteringMonitorNits :: Prelude.Maybe Prelude.Natural,+ -- | Specify the HDR10+ target display nominal peak luminance, in nits. This+ -- is the nominal maximum luminance of the target display as defined by ST+ -- 2094-40.+ targetMonitorNits :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Hdr10Plus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'masteringMonitorNits', 'hdr10Plus_masteringMonitorNits' - Specify the HDR10+ mastering display normalized peak luminance, in nits.+-- This is the normalized actual peak luminance of the mastering display,+-- as defined by ST 2094-40.+--+-- 'targetMonitorNits', 'hdr10Plus_targetMonitorNits' - Specify the HDR10+ target display nominal peak luminance, in nits. This+-- is the nominal maximum luminance of the target display as defined by ST+-- 2094-40.+newHdr10Plus ::+ Hdr10Plus+newHdr10Plus =+ Hdr10Plus'+ { masteringMonitorNits = Prelude.Nothing,+ targetMonitorNits = Prelude.Nothing+ }++-- | Specify the HDR10+ mastering display normalized peak luminance, in nits.+-- This is the normalized actual peak luminance of the mastering display,+-- as defined by ST 2094-40.+hdr10Plus_masteringMonitorNits :: Lens.Lens' Hdr10Plus (Prelude.Maybe Prelude.Natural)+hdr10Plus_masteringMonitorNits = Lens.lens (\Hdr10Plus' {masteringMonitorNits} -> masteringMonitorNits) (\s@Hdr10Plus' {} a -> s {masteringMonitorNits = a} :: Hdr10Plus)++-- | Specify the HDR10+ target display nominal peak luminance, in nits. This+-- is the nominal maximum luminance of the target display as defined by ST+-- 2094-40.+hdr10Plus_targetMonitorNits :: Lens.Lens' Hdr10Plus (Prelude.Maybe Prelude.Natural)+hdr10Plus_targetMonitorNits = Lens.lens (\Hdr10Plus' {targetMonitorNits} -> targetMonitorNits) (\s@Hdr10Plus' {} a -> s {targetMonitorNits = a} :: Hdr10Plus)++instance Data.FromJSON Hdr10Plus where+ parseJSON =+ Data.withObject+ "Hdr10Plus"+ ( \x ->+ Hdr10Plus'+ Prelude.<$> (x Data..:? "masteringMonitorNits")+ Prelude.<*> (x Data..:? "targetMonitorNits")+ )++instance Prelude.Hashable Hdr10Plus where+ hashWithSalt _salt Hdr10Plus' {..} =+ _salt+ `Prelude.hashWithSalt` masteringMonitorNits+ `Prelude.hashWithSalt` targetMonitorNits++instance Prelude.NFData Hdr10Plus where+ rnf Hdr10Plus' {..} =+ Prelude.rnf masteringMonitorNits+ `Prelude.seq` Prelude.rnf targetMonitorNits++instance Data.ToJSON Hdr10Plus where+ toJSON Hdr10Plus' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("masteringMonitorNits" Data..=)+ Prelude.<$> masteringMonitorNits,+ ("targetMonitorNits" Data..=)+ Prelude.<$> targetMonitorNits+ ]+ )
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsAdMarkers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsAdMarkers+ ( HlsAdMarkers+ ( ..,+ HlsAdMarkers_ELEMENTAL,+ HlsAdMarkers_ELEMENTAL_SCTE35+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ad marker for Apple HLS manifest.+newtype HlsAdMarkers = HlsAdMarkers'+ { fromHlsAdMarkers ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsAdMarkers_ELEMENTAL :: HlsAdMarkers+pattern HlsAdMarkers_ELEMENTAL = HlsAdMarkers' "ELEMENTAL"++pattern HlsAdMarkers_ELEMENTAL_SCTE35 :: HlsAdMarkers+pattern HlsAdMarkers_ELEMENTAL_SCTE35 = HlsAdMarkers' "ELEMENTAL_SCTE35"++{-# COMPLETE+ HlsAdMarkers_ELEMENTAL,+ HlsAdMarkers_ELEMENTAL_SCTE35,+ HlsAdMarkers'+ #-}
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsAdditionalManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsAdditionalManifest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the details for each additional HLS manifest that you want the+-- service to generate for this output group. Each manifest can reference a+-- different subset of outputs in the group.+--+-- /See:/ 'newHlsAdditionalManifest' smart constructor.+data HlsAdditionalManifest = HlsAdditionalManifest'+ { -- | Specify a name modifier that the service adds to the name of this+ -- manifest to make it different from the file names of the other main+ -- manifests in the output group. For example, say that the default main+ -- manifest for your HLS group is film-name.m3u8. If you enter+ -- \"-no-premium\" for this setting, then the file name the service+ -- generates for this top-level manifest is film-name-no-premium.m3u8. For+ -- HLS output groups, specify a manifestNameModifier that is different from+ -- the nameModifier of the output. The service uses the output name+ -- modifier to create unique names for the individual variant manifests.+ manifestNameModifier :: Prelude.Maybe Prelude.Text,+ -- | Specify the outputs that you want this additional top-level manifest to+ -- reference.+ selectedOutputs :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsAdditionalManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestNameModifier', 'hlsAdditionalManifest_manifestNameModifier' - Specify a name modifier that the service adds to the name of this+-- manifest to make it different from the file names of the other main+-- manifests in the output group. For example, say that the default main+-- manifest for your HLS group is film-name.m3u8. If you enter+-- \"-no-premium\" for this setting, then the file name the service+-- generates for this top-level manifest is film-name-no-premium.m3u8. For+-- HLS output groups, specify a manifestNameModifier that is different from+-- the nameModifier of the output. The service uses the output name+-- modifier to create unique names for the individual variant manifests.+--+-- 'selectedOutputs', 'hlsAdditionalManifest_selectedOutputs' - Specify the outputs that you want this additional top-level manifest to+-- reference.+newHlsAdditionalManifest ::+ HlsAdditionalManifest+newHlsAdditionalManifest =+ HlsAdditionalManifest'+ { manifestNameModifier =+ Prelude.Nothing,+ selectedOutputs = Prelude.Nothing+ }++-- | Specify a name modifier that the service adds to the name of this+-- manifest to make it different from the file names of the other main+-- manifests in the output group. For example, say that the default main+-- manifest for your HLS group is film-name.m3u8. If you enter+-- \"-no-premium\" for this setting, then the file name the service+-- generates for this top-level manifest is film-name-no-premium.m3u8. For+-- HLS output groups, specify a manifestNameModifier that is different from+-- the nameModifier of the output. The service uses the output name+-- modifier to create unique names for the individual variant manifests.+hlsAdditionalManifest_manifestNameModifier :: Lens.Lens' HlsAdditionalManifest (Prelude.Maybe Prelude.Text)+hlsAdditionalManifest_manifestNameModifier = Lens.lens (\HlsAdditionalManifest' {manifestNameModifier} -> manifestNameModifier) (\s@HlsAdditionalManifest' {} a -> s {manifestNameModifier = a} :: HlsAdditionalManifest)++-- | Specify the outputs that you want this additional top-level manifest to+-- reference.+hlsAdditionalManifest_selectedOutputs :: Lens.Lens' HlsAdditionalManifest (Prelude.Maybe [Prelude.Text])+hlsAdditionalManifest_selectedOutputs = Lens.lens (\HlsAdditionalManifest' {selectedOutputs} -> selectedOutputs) (\s@HlsAdditionalManifest' {} a -> s {selectedOutputs = a} :: HlsAdditionalManifest) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON HlsAdditionalManifest where+ parseJSON =+ Data.withObject+ "HlsAdditionalManifest"+ ( \x ->+ HlsAdditionalManifest'+ Prelude.<$> (x Data..:? "manifestNameModifier")+ Prelude.<*> ( x+ Data..:? "selectedOutputs"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable HlsAdditionalManifest where+ hashWithSalt _salt HlsAdditionalManifest' {..} =+ _salt+ `Prelude.hashWithSalt` manifestNameModifier+ `Prelude.hashWithSalt` selectedOutputs++instance Prelude.NFData HlsAdditionalManifest where+ rnf HlsAdditionalManifest' {..} =+ Prelude.rnf manifestNameModifier+ `Prelude.seq` Prelude.rnf selectedOutputs++instance Data.ToJSON HlsAdditionalManifest where+ toJSON HlsAdditionalManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("manifestNameModifier" Data..=)+ Prelude.<$> manifestNameModifier,+ ("selectedOutputs" Data..=)+ Prelude.<$> selectedOutputs+ ]+ )
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsAudioOnlyContainer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsAudioOnlyContainer+ ( HlsAudioOnlyContainer+ ( ..,+ HlsAudioOnlyContainer_AUTOMATIC,+ HlsAudioOnlyContainer_M2TS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this setting only in audio-only outputs. Choose MPEG-2 Transport+-- Stream (M2TS) to create a file in an MPEG2-TS container. Keep the+-- default value Automatic (AUTOMATIC) to create a raw audio-only file with+-- no container. Regardless of the value that you specify here, if this+-- output has video, the service will place outputs into an MPEG2-TS+-- container.+newtype HlsAudioOnlyContainer = HlsAudioOnlyContainer'+ { fromHlsAudioOnlyContainer ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsAudioOnlyContainer_AUTOMATIC :: HlsAudioOnlyContainer+pattern HlsAudioOnlyContainer_AUTOMATIC = HlsAudioOnlyContainer' "AUTOMATIC"++pattern HlsAudioOnlyContainer_M2TS :: HlsAudioOnlyContainer+pattern HlsAudioOnlyContainer_M2TS = HlsAudioOnlyContainer' "M2TS"++{-# COMPLETE+ HlsAudioOnlyContainer_AUTOMATIC,+ HlsAudioOnlyContainer_M2TS,+ HlsAudioOnlyContainer'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsAudioOnlyHeader+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsAudioOnlyHeader+ ( HlsAudioOnlyHeader+ ( ..,+ HlsAudioOnlyHeader_EXCLUDE,+ HlsAudioOnlyHeader_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Ignore this setting unless you are using FairPlay DRM with Verimatrix+-- and you encounter playback issues. Keep the default value, Include+-- (INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to+-- remove the audio-only headers from your audio segments.+newtype HlsAudioOnlyHeader = HlsAudioOnlyHeader'+ { fromHlsAudioOnlyHeader ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsAudioOnlyHeader_EXCLUDE :: HlsAudioOnlyHeader+pattern HlsAudioOnlyHeader_EXCLUDE = HlsAudioOnlyHeader' "EXCLUDE"++pattern HlsAudioOnlyHeader_INCLUDE :: HlsAudioOnlyHeader+pattern HlsAudioOnlyHeader_INCLUDE = HlsAudioOnlyHeader' "INCLUDE"++{-# COMPLETE+ HlsAudioOnlyHeader_EXCLUDE,+ HlsAudioOnlyHeader_INCLUDE,+ HlsAudioOnlyHeader'+ #-}
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsAudioTrackType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsAudioTrackType+ ( HlsAudioTrackType+ ( ..,+ HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT,+ HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT,+ HlsAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT,+ HlsAudioTrackType_AUDIO_ONLY_VARIANT_STREAM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Four types of audio-only tracks are supported: Audio-Only Variant Stream+-- The client can play back this audio-only stream instead of video in+-- low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS+-- manifest. Alternate Audio, Auto Select, Default Alternate rendition that+-- the client should try to play back by default. Represented as an+-- EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES+-- Alternate Audio, Auto Select, Not Default Alternate rendition that the+-- client may try to play back by default. Represented as an EXT-X-MEDIA in+-- the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not+-- Auto Select Alternate rendition that the client will not try to play+-- back by default. Represented as an EXT-X-MEDIA in the HLS manifest with+-- DEFAULT=NO, AUTOSELECT=NO+newtype HlsAudioTrackType = HlsAudioTrackType'+ { fromHlsAudioTrackType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT :: HlsAudioTrackType+pattern HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT = HlsAudioTrackType' "ALTERNATE_AUDIO_AUTO_SELECT"++pattern HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT :: HlsAudioTrackType+pattern HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT = HlsAudioTrackType' "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"++pattern HlsAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT :: HlsAudioTrackType+pattern HlsAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT = HlsAudioTrackType' "ALTERNATE_AUDIO_NOT_AUTO_SELECT"++pattern HlsAudioTrackType_AUDIO_ONLY_VARIANT_STREAM :: HlsAudioTrackType+pattern HlsAudioTrackType_AUDIO_ONLY_VARIANT_STREAM = HlsAudioTrackType' "AUDIO_ONLY_VARIANT_STREAM"++{-# COMPLETE+ HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT,+ HlsAudioTrackType_ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT,+ HlsAudioTrackType_ALTERNATE_AUDIO_NOT_AUTO_SELECT,+ HlsAudioTrackType_AUDIO_ONLY_VARIANT_STREAM,+ HlsAudioTrackType'+ #-}
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsCaptionLanguageMapping+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsCaptionLanguageMapping where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.LanguageCode+import qualified Amazonka.Prelude as Prelude++-- | Caption Language Mapping+--+-- /See:/ 'newHlsCaptionLanguageMapping' smart constructor.+data HlsCaptionLanguageMapping = HlsCaptionLanguageMapping'+ { -- | Caption channel.+ captionChannel :: Prelude.Maybe Prelude.Int,+ -- | Specify the language for this captions channel, using the ISO 639-2 or+ -- ISO 639-3 three-letter language code+ customLanguageCode :: Prelude.Maybe Prelude.Text,+ -- | Specify the language, using the ISO 639-2 three-letter code listed at+ -- https:\/\/www.loc.gov\/standards\/iso639-2\/php\/code_list.php.+ languageCode :: Prelude.Maybe LanguageCode,+ -- | Caption language description.+ languageDescription :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsCaptionLanguageMapping' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'captionChannel', 'hlsCaptionLanguageMapping_captionChannel' - Caption channel.+--+-- 'customLanguageCode', 'hlsCaptionLanguageMapping_customLanguageCode' - Specify the language for this captions channel, using the ISO 639-2 or+-- ISO 639-3 three-letter language code+--+-- 'languageCode', 'hlsCaptionLanguageMapping_languageCode' - Specify the language, using the ISO 639-2 three-letter code listed at+-- https:\/\/www.loc.gov\/standards\/iso639-2\/php\/code_list.php.+--+-- 'languageDescription', 'hlsCaptionLanguageMapping_languageDescription' - Caption language description.+newHlsCaptionLanguageMapping ::+ HlsCaptionLanguageMapping+newHlsCaptionLanguageMapping =+ HlsCaptionLanguageMapping'+ { captionChannel =+ Prelude.Nothing,+ customLanguageCode = Prelude.Nothing,+ languageCode = Prelude.Nothing,+ languageDescription = Prelude.Nothing+ }++-- | Caption channel.+hlsCaptionLanguageMapping_captionChannel :: Lens.Lens' HlsCaptionLanguageMapping (Prelude.Maybe Prelude.Int)+hlsCaptionLanguageMapping_captionChannel = Lens.lens (\HlsCaptionLanguageMapping' {captionChannel} -> captionChannel) (\s@HlsCaptionLanguageMapping' {} a -> s {captionChannel = a} :: HlsCaptionLanguageMapping)++-- | Specify the language for this captions channel, using the ISO 639-2 or+-- ISO 639-3 three-letter language code+hlsCaptionLanguageMapping_customLanguageCode :: Lens.Lens' HlsCaptionLanguageMapping (Prelude.Maybe Prelude.Text)+hlsCaptionLanguageMapping_customLanguageCode = Lens.lens (\HlsCaptionLanguageMapping' {customLanguageCode} -> customLanguageCode) (\s@HlsCaptionLanguageMapping' {} a -> s {customLanguageCode = a} :: HlsCaptionLanguageMapping)++-- | Specify the language, using the ISO 639-2 three-letter code listed at+-- https:\/\/www.loc.gov\/standards\/iso639-2\/php\/code_list.php.+hlsCaptionLanguageMapping_languageCode :: Lens.Lens' HlsCaptionLanguageMapping (Prelude.Maybe LanguageCode)+hlsCaptionLanguageMapping_languageCode = Lens.lens (\HlsCaptionLanguageMapping' {languageCode} -> languageCode) (\s@HlsCaptionLanguageMapping' {} a -> s {languageCode = a} :: HlsCaptionLanguageMapping)++-- | Caption language description.+hlsCaptionLanguageMapping_languageDescription :: Lens.Lens' HlsCaptionLanguageMapping (Prelude.Maybe Prelude.Text)+hlsCaptionLanguageMapping_languageDescription = Lens.lens (\HlsCaptionLanguageMapping' {languageDescription} -> languageDescription) (\s@HlsCaptionLanguageMapping' {} a -> s {languageDescription = a} :: HlsCaptionLanguageMapping)++instance Data.FromJSON HlsCaptionLanguageMapping where+ parseJSON =+ Data.withObject+ "HlsCaptionLanguageMapping"+ ( \x ->+ HlsCaptionLanguageMapping'+ Prelude.<$> (x Data..:? "captionChannel")+ Prelude.<*> (x Data..:? "customLanguageCode")+ Prelude.<*> (x Data..:? "languageCode")+ Prelude.<*> (x Data..:? "languageDescription")+ )++instance Prelude.Hashable HlsCaptionLanguageMapping where+ hashWithSalt _salt HlsCaptionLanguageMapping' {..} =+ _salt+ `Prelude.hashWithSalt` captionChannel+ `Prelude.hashWithSalt` customLanguageCode+ `Prelude.hashWithSalt` languageCode+ `Prelude.hashWithSalt` languageDescription++instance Prelude.NFData HlsCaptionLanguageMapping where+ rnf HlsCaptionLanguageMapping' {..} =+ Prelude.rnf captionChannel+ `Prelude.seq` Prelude.rnf customLanguageCode+ `Prelude.seq` Prelude.rnf languageCode+ `Prelude.seq` Prelude.rnf languageDescription++instance Data.ToJSON HlsCaptionLanguageMapping where+ toJSON HlsCaptionLanguageMapping' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("captionChannel" Data..=)+ Prelude.<$> captionChannel,+ ("customLanguageCode" Data..=)+ Prelude.<$> customLanguageCode,+ ("languageCode" Data..=) Prelude.<$> languageCode,+ ("languageDescription" Data..=)+ Prelude.<$> languageDescription+ ]+ )
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsCaptionLanguageSetting+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsCaptionLanguageSetting+ ( HlsCaptionLanguageSetting+ ( ..,+ HlsCaptionLanguageSetting_INSERT,+ HlsCaptionLanguageSetting_NONE,+ HlsCaptionLanguageSetting_OMIT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Applies only to 608 Embedded output captions. Insert: Include+-- CLOSED-CAPTIONS lines in the manifest. Specify at least one language in+-- the CC1 Language Code field. One CLOSED-CAPTION line is added for each+-- Language Code you specify. Make sure to specify the languages in the+-- order in which they appear in the original source (if the source is+-- embedded format) or the order of the caption selectors (if the source is+-- other than embedded). Otherwise, languages in the manifest will not+-- match up properly with the output captions. None: Include+-- CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any+-- CLOSED-CAPTIONS line from the manifest.+newtype HlsCaptionLanguageSetting = HlsCaptionLanguageSetting'+ { fromHlsCaptionLanguageSetting ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsCaptionLanguageSetting_INSERT :: HlsCaptionLanguageSetting+pattern HlsCaptionLanguageSetting_INSERT = HlsCaptionLanguageSetting' "INSERT"++pattern HlsCaptionLanguageSetting_NONE :: HlsCaptionLanguageSetting+pattern HlsCaptionLanguageSetting_NONE = HlsCaptionLanguageSetting' "NONE"++pattern HlsCaptionLanguageSetting_OMIT :: HlsCaptionLanguageSetting+pattern HlsCaptionLanguageSetting_OMIT = HlsCaptionLanguageSetting' "OMIT"++{-# COMPLETE+ HlsCaptionLanguageSetting_INSERT,+ HlsCaptionLanguageSetting_NONE,+ HlsCaptionLanguageSetting_OMIT,+ HlsCaptionLanguageSetting'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsCaptionSegmentLengthControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsCaptionSegmentLengthControl+ ( HlsCaptionSegmentLengthControl+ ( ..,+ HlsCaptionSegmentLengthControl_LARGE_SEGMENTS,+ HlsCaptionSegmentLengthControl_MATCH_VIDEO+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Set Caption segment length control (CaptionSegmentLengthControl) to+-- Match video (MATCH_VIDEO) to create caption segments that align with the+-- video segments from the first video output in this output group. For+-- example, if the video segments are 2 seconds long, your WebVTT segments+-- will also be 2 seconds long. Keep the default setting, Large segments+-- (LARGE_SEGMENTS) to create caption segments that are 300 seconds long.+newtype HlsCaptionSegmentLengthControl = HlsCaptionSegmentLengthControl'+ { fromHlsCaptionSegmentLengthControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsCaptionSegmentLengthControl_LARGE_SEGMENTS :: HlsCaptionSegmentLengthControl+pattern HlsCaptionSegmentLengthControl_LARGE_SEGMENTS = HlsCaptionSegmentLengthControl' "LARGE_SEGMENTS"++pattern HlsCaptionSegmentLengthControl_MATCH_VIDEO :: HlsCaptionSegmentLengthControl+pattern HlsCaptionSegmentLengthControl_MATCH_VIDEO = HlsCaptionSegmentLengthControl' "MATCH_VIDEO"++{-# COMPLETE+ HlsCaptionSegmentLengthControl_LARGE_SEGMENTS,+ HlsCaptionSegmentLengthControl_MATCH_VIDEO,+ HlsCaptionSegmentLengthControl'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsClientCache+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsClientCache+ ( HlsClientCache+ ( ..,+ HlsClientCache_DISABLED,+ HlsClientCache_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Disable this setting only when your workflow requires the+-- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+-- (ENABLED) and control caching in your video distribution set up. For+-- example, use the Cache-Control http header.+newtype HlsClientCache = HlsClientCache'+ { fromHlsClientCache ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsClientCache_DISABLED :: HlsClientCache+pattern HlsClientCache_DISABLED = HlsClientCache' "DISABLED"++pattern HlsClientCache_ENABLED :: HlsClientCache+pattern HlsClientCache_ENABLED = HlsClientCache' "ENABLED"++{-# COMPLETE+ HlsClientCache_DISABLED,+ HlsClientCache_ENABLED,+ HlsClientCache'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsCodecSpecification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsCodecSpecification+ ( HlsCodecSpecification+ ( ..,+ HlsCodecSpecification_RFC_4281,+ HlsCodecSpecification_RFC_6381+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specification to use (RFC-6381 or the default RFC-4281) during m3u8+-- playlist generation.+newtype HlsCodecSpecification = HlsCodecSpecification'+ { fromHlsCodecSpecification ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsCodecSpecification_RFC_4281 :: HlsCodecSpecification+pattern HlsCodecSpecification_RFC_4281 = HlsCodecSpecification' "RFC_4281"++pattern HlsCodecSpecification_RFC_6381 :: HlsCodecSpecification+pattern HlsCodecSpecification_RFC_6381 = HlsCodecSpecification' "RFC_6381"++{-# COMPLETE+ HlsCodecSpecification_RFC_4281,+ HlsCodecSpecification_RFC_6381,+ HlsCodecSpecification'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsDescriptiveVideoServiceFlag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsDescriptiveVideoServiceFlag+ ( HlsDescriptiveVideoServiceFlag+ ( ..,+ HlsDescriptiveVideoServiceFlag_DONT_FLAG,+ HlsDescriptiveVideoServiceFlag_FLAG+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether to flag this audio track as descriptive video service+-- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+-- MediaConvert includes the parameter+-- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+-- EXT-X-MEDIA entry for this track. When you keep the default choice,+-- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+-- flag can help with accessibility on Apple devices. For more information,+-- see the Apple documentation.+newtype HlsDescriptiveVideoServiceFlag = HlsDescriptiveVideoServiceFlag'+ { fromHlsDescriptiveVideoServiceFlag ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsDescriptiveVideoServiceFlag_DONT_FLAG :: HlsDescriptiveVideoServiceFlag+pattern HlsDescriptiveVideoServiceFlag_DONT_FLAG = HlsDescriptiveVideoServiceFlag' "DONT_FLAG"++pattern HlsDescriptiveVideoServiceFlag_FLAG :: HlsDescriptiveVideoServiceFlag+pattern HlsDescriptiveVideoServiceFlag_FLAG = HlsDescriptiveVideoServiceFlag' "FLAG"++{-# COMPLETE+ HlsDescriptiveVideoServiceFlag_DONT_FLAG,+ HlsDescriptiveVideoServiceFlag_FLAG,+ HlsDescriptiveVideoServiceFlag'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsDirectoryStructure+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsDirectoryStructure+ ( HlsDirectoryStructure+ ( ..,+ HlsDirectoryStructure_SINGLE_DIRECTORY,+ HlsDirectoryStructure_SUBDIRECTORY_PER_STREAM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates whether segments should be placed in subdirectories.+newtype HlsDirectoryStructure = HlsDirectoryStructure'+ { fromHlsDirectoryStructure ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsDirectoryStructure_SINGLE_DIRECTORY :: HlsDirectoryStructure+pattern HlsDirectoryStructure_SINGLE_DIRECTORY = HlsDirectoryStructure' "SINGLE_DIRECTORY"++pattern HlsDirectoryStructure_SUBDIRECTORY_PER_STREAM :: HlsDirectoryStructure+pattern HlsDirectoryStructure_SUBDIRECTORY_PER_STREAM = HlsDirectoryStructure' "SUBDIRECTORY_PER_STREAM"++{-# COMPLETE+ HlsDirectoryStructure_SINGLE_DIRECTORY,+ HlsDirectoryStructure_SUBDIRECTORY_PER_STREAM,+ HlsDirectoryStructure'+ #-}
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsEncryptionSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsEncryptionSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.HlsEncryptionType+import Amazonka.MediaConvert.Types.HlsInitializationVectorInManifest+import Amazonka.MediaConvert.Types.HlsKeyProviderType+import Amazonka.MediaConvert.Types.HlsOfflineEncrypted+import Amazonka.MediaConvert.Types.SpekeKeyProvider+import Amazonka.MediaConvert.Types.StaticKeyProvider+import qualified Amazonka.Prelude as Prelude++-- | Settings for HLS encryption+--+-- /See:/ 'newHlsEncryptionSettings' smart constructor.+data HlsEncryptionSettings = HlsEncryptionSettings'+ { -- | This is a 128-bit, 16-byte hex value represented by a 32-character text+ -- string. If this parameter is not set then the Initialization Vector will+ -- follow the segment number by default.+ constantInitializationVector :: Prelude.Maybe Prelude.Text,+ -- | Encrypts the segments with the given encryption scheme. Leave blank to+ -- disable. Selecting \'Disabled\' in the web interface also disables+ -- encryption.+ encryptionMethod :: Prelude.Maybe HlsEncryptionType,+ -- | The Initialization Vector is a 128-bit number used in conjunction with+ -- the key for encrypting blocks. If set to INCLUDE, Initialization Vector+ -- is listed in the manifest. Otherwise Initialization Vector is not in the+ -- manifest.+ initializationVectorInManifest :: Prelude.Maybe HlsInitializationVectorInManifest,+ -- | Enable this setting to insert the EXT-X-SESSION-KEY element into the+ -- master playlist. This allows for offline Apple HLS FairPlay content+ -- protection.+ offlineEncrypted :: Prelude.Maybe HlsOfflineEncrypted,+ -- | If your output group type is HLS, DASH, or Microsoft Smooth, use these+ -- settings when doing DRM encryption with a SPEKE-compliant key provider.+ -- If your output group type is CMAF, use the SpekeKeyProviderCmaf settings+ -- instead.+ spekeKeyProvider :: Prelude.Maybe SpekeKeyProvider,+ -- | Use these settings to set up encryption with a static key provider.+ staticKeyProvider :: Prelude.Maybe StaticKeyProvider,+ -- | Specify whether your DRM encryption key is static or from a key provider+ -- that follows the SPEKE standard. For more information about SPEKE, see+ -- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+ type' :: Prelude.Maybe HlsKeyProviderType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsEncryptionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'constantInitializationVector', 'hlsEncryptionSettings_constantInitializationVector' - This is a 128-bit, 16-byte hex value represented by a 32-character text+-- string. If this parameter is not set then the Initialization Vector will+-- follow the segment number by default.+--+-- 'encryptionMethod', 'hlsEncryptionSettings_encryptionMethod' - Encrypts the segments with the given encryption scheme. Leave blank to+-- disable. Selecting \'Disabled\' in the web interface also disables+-- encryption.+--+-- 'initializationVectorInManifest', 'hlsEncryptionSettings_initializationVectorInManifest' - The Initialization Vector is a 128-bit number used in conjunction with+-- the key for encrypting blocks. If set to INCLUDE, Initialization Vector+-- is listed in the manifest. Otherwise Initialization Vector is not in the+-- manifest.+--+-- 'offlineEncrypted', 'hlsEncryptionSettings_offlineEncrypted' - Enable this setting to insert the EXT-X-SESSION-KEY element into the+-- master playlist. This allows for offline Apple HLS FairPlay content+-- protection.+--+-- 'spekeKeyProvider', 'hlsEncryptionSettings_spekeKeyProvider' - If your output group type is HLS, DASH, or Microsoft Smooth, use these+-- settings when doing DRM encryption with a SPEKE-compliant key provider.+-- If your output group type is CMAF, use the SpekeKeyProviderCmaf settings+-- instead.+--+-- 'staticKeyProvider', 'hlsEncryptionSettings_staticKeyProvider' - Use these settings to set up encryption with a static key provider.+--+-- 'type'', 'hlsEncryptionSettings_type' - Specify whether your DRM encryption key is static or from a key provider+-- that follows the SPEKE standard. For more information about SPEKE, see+-- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+newHlsEncryptionSettings ::+ HlsEncryptionSettings+newHlsEncryptionSettings =+ HlsEncryptionSettings'+ { constantInitializationVector =+ Prelude.Nothing,+ encryptionMethod = Prelude.Nothing,+ initializationVectorInManifest = Prelude.Nothing,+ offlineEncrypted = Prelude.Nothing,+ spekeKeyProvider = Prelude.Nothing,+ staticKeyProvider = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | This is a 128-bit, 16-byte hex value represented by a 32-character text+-- string. If this parameter is not set then the Initialization Vector will+-- follow the segment number by default.+hlsEncryptionSettings_constantInitializationVector :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe Prelude.Text)+hlsEncryptionSettings_constantInitializationVector = Lens.lens (\HlsEncryptionSettings' {constantInitializationVector} -> constantInitializationVector) (\s@HlsEncryptionSettings' {} a -> s {constantInitializationVector = a} :: HlsEncryptionSettings)++-- | Encrypts the segments with the given encryption scheme. Leave blank to+-- disable. Selecting \'Disabled\' in the web interface also disables+-- encryption.+hlsEncryptionSettings_encryptionMethod :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe HlsEncryptionType)+hlsEncryptionSettings_encryptionMethod = Lens.lens (\HlsEncryptionSettings' {encryptionMethod} -> encryptionMethod) (\s@HlsEncryptionSettings' {} a -> s {encryptionMethod = a} :: HlsEncryptionSettings)++-- | The Initialization Vector is a 128-bit number used in conjunction with+-- the key for encrypting blocks. If set to INCLUDE, Initialization Vector+-- is listed in the manifest. Otherwise Initialization Vector is not in the+-- manifest.+hlsEncryptionSettings_initializationVectorInManifest :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe HlsInitializationVectorInManifest)+hlsEncryptionSettings_initializationVectorInManifest = Lens.lens (\HlsEncryptionSettings' {initializationVectorInManifest} -> initializationVectorInManifest) (\s@HlsEncryptionSettings' {} a -> s {initializationVectorInManifest = a} :: HlsEncryptionSettings)++-- | Enable this setting to insert the EXT-X-SESSION-KEY element into the+-- master playlist. This allows for offline Apple HLS FairPlay content+-- protection.+hlsEncryptionSettings_offlineEncrypted :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe HlsOfflineEncrypted)+hlsEncryptionSettings_offlineEncrypted = Lens.lens (\HlsEncryptionSettings' {offlineEncrypted} -> offlineEncrypted) (\s@HlsEncryptionSettings' {} a -> s {offlineEncrypted = a} :: HlsEncryptionSettings)++-- | If your output group type is HLS, DASH, or Microsoft Smooth, use these+-- settings when doing DRM encryption with a SPEKE-compliant key provider.+-- If your output group type is CMAF, use the SpekeKeyProviderCmaf settings+-- instead.+hlsEncryptionSettings_spekeKeyProvider :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe SpekeKeyProvider)+hlsEncryptionSettings_spekeKeyProvider = Lens.lens (\HlsEncryptionSettings' {spekeKeyProvider} -> spekeKeyProvider) (\s@HlsEncryptionSettings' {} a -> s {spekeKeyProvider = a} :: HlsEncryptionSettings)++-- | Use these settings to set up encryption with a static key provider.+hlsEncryptionSettings_staticKeyProvider :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe StaticKeyProvider)+hlsEncryptionSettings_staticKeyProvider = Lens.lens (\HlsEncryptionSettings' {staticKeyProvider} -> staticKeyProvider) (\s@HlsEncryptionSettings' {} a -> s {staticKeyProvider = a} :: HlsEncryptionSettings)++-- | Specify whether your DRM encryption key is static or from a key provider+-- that follows the SPEKE standard. For more information about SPEKE, see+-- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+hlsEncryptionSettings_type :: Lens.Lens' HlsEncryptionSettings (Prelude.Maybe HlsKeyProviderType)+hlsEncryptionSettings_type = Lens.lens (\HlsEncryptionSettings' {type'} -> type') (\s@HlsEncryptionSettings' {} a -> s {type' = a} :: HlsEncryptionSettings)++instance Data.FromJSON HlsEncryptionSettings where+ parseJSON =+ Data.withObject+ "HlsEncryptionSettings"+ ( \x ->+ HlsEncryptionSettings'+ Prelude.<$> (x Data..:? "constantInitializationVector")+ Prelude.<*> (x Data..:? "encryptionMethod")+ Prelude.<*> (x Data..:? "initializationVectorInManifest")+ Prelude.<*> (x Data..:? "offlineEncrypted")+ Prelude.<*> (x Data..:? "spekeKeyProvider")+ Prelude.<*> (x Data..:? "staticKeyProvider")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable HlsEncryptionSettings where+ hashWithSalt _salt HlsEncryptionSettings' {..} =+ _salt+ `Prelude.hashWithSalt` constantInitializationVector+ `Prelude.hashWithSalt` encryptionMethod+ `Prelude.hashWithSalt` initializationVectorInManifest+ `Prelude.hashWithSalt` offlineEncrypted+ `Prelude.hashWithSalt` spekeKeyProvider+ `Prelude.hashWithSalt` staticKeyProvider+ `Prelude.hashWithSalt` type'++instance Prelude.NFData HlsEncryptionSettings where+ rnf HlsEncryptionSettings' {..} =+ Prelude.rnf constantInitializationVector+ `Prelude.seq` Prelude.rnf encryptionMethod+ `Prelude.seq` Prelude.rnf initializationVectorInManifest+ `Prelude.seq` Prelude.rnf offlineEncrypted+ `Prelude.seq` Prelude.rnf spekeKeyProvider+ `Prelude.seq` Prelude.rnf staticKeyProvider+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON HlsEncryptionSettings where+ toJSON HlsEncryptionSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("constantInitializationVector" Data..=)+ Prelude.<$> constantInitializationVector,+ ("encryptionMethod" Data..=)+ Prelude.<$> encryptionMethod,+ ("initializationVectorInManifest" Data..=)+ Prelude.<$> initializationVectorInManifest,+ ("offlineEncrypted" Data..=)+ Prelude.<$> offlineEncrypted,+ ("spekeKeyProvider" Data..=)+ Prelude.<$> spekeKeyProvider,+ ("staticKeyProvider" Data..=)+ Prelude.<$> staticKeyProvider,+ ("type" Data..=) Prelude.<$> type'+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsEncryptionType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsEncryptionType+ ( HlsEncryptionType+ ( ..,+ HlsEncryptionType_AES128,+ HlsEncryptionType_SAMPLE_AES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Encrypts the segments with the given encryption scheme. Leave blank to+-- disable. Selecting \'Disabled\' in the web interface also disables+-- encryption.+newtype HlsEncryptionType = HlsEncryptionType'+ { fromHlsEncryptionType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsEncryptionType_AES128 :: HlsEncryptionType+pattern HlsEncryptionType_AES128 = HlsEncryptionType' "AES128"++pattern HlsEncryptionType_SAMPLE_AES :: HlsEncryptionType+pattern HlsEncryptionType_SAMPLE_AES = HlsEncryptionType' "SAMPLE_AES"++{-# COMPLETE+ HlsEncryptionType_AES128,+ HlsEncryptionType_SAMPLE_AES,+ HlsEncryptionType'+ #-}
@@ -0,0 +1,822 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsGroupSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsGroupSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DestinationSettings+import Amazonka.MediaConvert.Types.HlsAdMarkers+import Amazonka.MediaConvert.Types.HlsAdditionalManifest+import Amazonka.MediaConvert.Types.HlsAudioOnlyHeader+import Amazonka.MediaConvert.Types.HlsCaptionLanguageMapping+import Amazonka.MediaConvert.Types.HlsCaptionLanguageSetting+import Amazonka.MediaConvert.Types.HlsCaptionSegmentLengthControl+import Amazonka.MediaConvert.Types.HlsClientCache+import Amazonka.MediaConvert.Types.HlsCodecSpecification+import Amazonka.MediaConvert.Types.HlsDirectoryStructure+import Amazonka.MediaConvert.Types.HlsEncryptionSettings+import Amazonka.MediaConvert.Types.HlsImageBasedTrickPlay+import Amazonka.MediaConvert.Types.HlsImageBasedTrickPlaySettings+import Amazonka.MediaConvert.Types.HlsManifestCompression+import Amazonka.MediaConvert.Types.HlsManifestDurationFormat+import Amazonka.MediaConvert.Types.HlsOutputSelection+import Amazonka.MediaConvert.Types.HlsProgramDateTime+import Amazonka.MediaConvert.Types.HlsSegmentControl+import Amazonka.MediaConvert.Types.HlsSegmentLengthControl+import Amazonka.MediaConvert.Types.HlsStreamInfResolution+import Amazonka.MediaConvert.Types.HlsTargetDurationCompatibilityMode+import Amazonka.MediaConvert.Types.HlsTimedMetadataId3Frame+import qualified Amazonka.Prelude as Prelude++-- | Settings related to your HLS output package. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/outputs-file-ABR.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set Type, under+-- OutputGroupSettings, to HLS_GROUP_SETTINGS.+--+-- /See:/ 'newHlsGroupSettings' smart constructor.+data HlsGroupSettings = HlsGroupSettings'+ { -- | Choose one or more ad marker types to decorate your Apple HLS manifest.+ -- This setting does not determine whether SCTE-35 markers appear in the+ -- outputs themselves.+ adMarkers :: Prelude.Maybe [HlsAdMarkers],+ -- | By default, the service creates one top-level .m3u8 HLS manifest for+ -- each HLS output group in your job. This default manifest references+ -- every output in the output group. To create additional top-level+ -- manifests that reference a subset of the outputs in the output group,+ -- specify a list of them here.+ additionalManifests :: Prelude.Maybe [HlsAdditionalManifest],+ -- | Ignore this setting unless you are using FairPlay DRM with Verimatrix+ -- and you encounter playback issues. Keep the default value, Include+ -- (INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to+ -- remove the audio-only headers from your audio segments.+ audioOnlyHeader :: Prelude.Maybe HlsAudioOnlyHeader,+ -- | A partial URI prefix that will be prepended to each output in the media+ -- .m3u8 file. Can be used if base manifest is delivered from a different+ -- URL than the main .m3u8 file.+ baseUrl :: Prelude.Maybe Prelude.Text,+ -- | Language to be used on Caption outputs+ captionLanguageMappings :: Prelude.Maybe [HlsCaptionLanguageMapping],+ -- | Applies only to 608 Embedded output captions. Insert: Include+ -- CLOSED-CAPTIONS lines in the manifest. Specify at least one language in+ -- the CC1 Language Code field. One CLOSED-CAPTION line is added for each+ -- Language Code you specify. Make sure to specify the languages in the+ -- order in which they appear in the original source (if the source is+ -- embedded format) or the order of the caption selectors (if the source is+ -- other than embedded). Otherwise, languages in the manifest will not+ -- match up properly with the output captions. None: Include+ -- CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any+ -- CLOSED-CAPTIONS line from the manifest.+ captionLanguageSetting :: Prelude.Maybe HlsCaptionLanguageSetting,+ -- | Set Caption segment length control (CaptionSegmentLengthControl) to+ -- Match video (MATCH_VIDEO) to create caption segments that align with the+ -- video segments from the first video output in this output group. For+ -- example, if the video segments are 2 seconds long, your WebVTT segments+ -- will also be 2 seconds long. Keep the default setting, Large segments+ -- (LARGE_SEGMENTS) to create caption segments that are 300 seconds long.+ captionSegmentLengthControl :: Prelude.Maybe HlsCaptionSegmentLengthControl,+ -- | Disable this setting only when your workflow requires the+ -- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+ -- (ENABLED) and control caching in your video distribution set up. For+ -- example, use the Cache-Control http header.+ clientCache :: Prelude.Maybe HlsClientCache,+ -- | Specification to use (RFC-6381 or the default RFC-4281) during m3u8+ -- playlist generation.+ codecSpecification :: Prelude.Maybe HlsCodecSpecification,+ -- | Use Destination (Destination) to specify the S3 output location and the+ -- output filename base. Destination accepts format identifiers. If you do+ -- not specify the base filename in the URI, the service will use the+ -- filename of the input file. If your job has multiple inputs, the service+ -- uses the filename of the first input file.+ destination :: Prelude.Maybe Prelude.Text,+ -- | Settings associated with the destination. Will vary based on the type of+ -- destination+ destinationSettings :: Prelude.Maybe DestinationSettings,+ -- | Indicates whether segments should be placed in subdirectories.+ directoryStructure :: Prelude.Maybe HlsDirectoryStructure,+ -- | DRM settings.+ encryption :: Prelude.Maybe HlsEncryptionSettings,+ -- | Specify whether MediaConvert generates images for trick play. Keep the+ -- default value, None (NONE), to not generate any images. Choose Thumbnail+ -- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+ -- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+ -- full-resolution images of single frames. MediaConvert creates a child+ -- manifest for each set of images that you generate and adds corresponding+ -- entries to the parent manifest. A common application for these images is+ -- Roku trick mode. The thumbnails and full-frame images that MediaConvert+ -- creates with this feature are compatible with this Roku specification:+ -- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+ imageBasedTrickPlay :: Prelude.Maybe HlsImageBasedTrickPlay,+ -- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+ -- ADVANCED+ imageBasedTrickPlaySettings :: Prelude.Maybe HlsImageBasedTrickPlaySettings,+ -- | When set to GZIP, compresses HLS playlist.+ manifestCompression :: Prelude.Maybe HlsManifestCompression,+ -- | Indicates whether the output manifest should use floating point values+ -- for segment duration.+ manifestDurationFormat :: Prelude.Maybe HlsManifestDurationFormat,+ -- | Keep this setting at the default value of 0, unless you are+ -- troubleshooting a problem with how devices play back the end of your+ -- video asset. If you know that player devices are hanging on the final+ -- segment of your video because the length of your final segment is too+ -- short, use this setting to specify a minimum final segment length, in+ -- seconds. Choose a value that is greater than or equal to 1 and less than+ -- your segment length. When you specify a value for this setting, the+ -- encoder will combine any final segment that is shorter than the length+ -- that you specify with the previous segment. For example, your segment+ -- length is 3 seconds and your final segment is .5 seconds without a+ -- minimum final segment length; when you set the minimum final segment+ -- length to 1, your final segment is 3.5 seconds.+ minFinalSegmentLength :: Prelude.Maybe Prelude.Double,+ -- | When set, Minimum Segment Size is enforced by looking ahead and back+ -- within the specified range for a nearby avail and extending the segment+ -- size if needed.+ minSegmentLength :: Prelude.Maybe Prelude.Natural,+ -- | Indicates whether the .m3u8 manifest file should be generated for this+ -- HLS output group.+ outputSelection :: Prelude.Maybe HlsOutputSelection,+ -- | Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest+ -- files. The value is calculated as follows: either the program date and+ -- time are initialized using the input timecode source, or the time is+ -- initialized using the input timecode source and the date is initialized+ -- using the timestamp_offset.+ programDateTime :: Prelude.Maybe HlsProgramDateTime,+ -- | Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.+ programDateTimePeriod :: Prelude.Maybe Prelude.Natural,+ -- | When set to SINGLE_FILE, emits program as a single media resource (.ts)+ -- file, uses #EXT-X-BYTERANGE tags to index segment for playback.+ segmentControl :: Prelude.Maybe HlsSegmentControl,+ -- | Specify the length, in whole seconds, of each segment. When you don\'t+ -- specify a value, MediaConvert defaults to 10. Related settings: Use+ -- Segment length control (SegmentLengthControl) to specify whether the+ -- encoder enforces this value strictly. Use Segment control+ -- (HlsSegmentControl) to specify whether MediaConvert creates separate+ -- segment files or one content file that has metadata to mark the segment+ -- boundaries.+ segmentLength :: Prelude.Maybe Prelude.Natural,+ -- | Specify how you want MediaConvert to determine the segment length.+ -- Choose Exact (EXACT) to have the encoder use the exact length that you+ -- specify with the setting Segment length (SegmentLength). This might+ -- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+ -- the encoder round up the segment lengths to match the next GOP boundary.+ segmentLengthControl :: Prelude.Maybe HlsSegmentLengthControl,+ -- | Number of segments to write to a subdirectory before starting a new one.+ -- directoryStructure must be SINGLE_DIRECTORY for this setting to have an+ -- effect.+ segmentsPerSubdirectory :: Prelude.Maybe Prelude.Natural,+ -- | Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+ -- tag of variant manifest.+ streamInfResolution :: Prelude.Maybe HlsStreamInfResolution,+ -- | When set to LEGACY, the segment target duration is always rounded up to+ -- the nearest integer value above its current value in seconds. When set+ -- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+ -- nearest integer value if fraction seconds are greater than or equal to+ -- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+ -- use LEGACY if your client needs to ensure that the target duration is+ -- always longer than the actual duration of the segment. Some older+ -- players may experience interrupted playback when the actual duration of+ -- a track in a segment is longer than the target duration.+ targetDurationCompatibilityMode :: Prelude.Maybe HlsTargetDurationCompatibilityMode,+ -- | Specify the type of the ID3 frame (timedMetadataId3Frame) to use for ID3+ -- timestamps (timedMetadataId3Period) in your output. To include ID3+ -- timestamps: Specify PRIV (PRIV) or TDRL (TDRL) and set ID3 metadata+ -- (timedMetadata) to Passthrough (PASSTHROUGH). To exclude ID3 timestamps:+ -- Set ID3 timestamp frame type to None (NONE).+ timedMetadataId3Frame :: Prelude.Maybe HlsTimedMetadataId3Frame,+ -- | Specify the interval in seconds to write ID3 timestamps in your output.+ -- The first timestamp starts at the output timecode and date, and+ -- increases incrementally with each ID3 timestamp. To use the default+ -- interval of 10 seconds: Leave blank. To include this metadata in your+ -- output: Set ID3 timestamp frame type (timedMetadataId3Frame) to PRIV+ -- (PRIV) or TDRL (TDRL), and set ID3 metadata (timedMetadata) to+ -- Passthrough (PASSTHROUGH).+ timedMetadataId3Period :: Prelude.Maybe Prelude.Int,+ -- | Provides an extra millisecond delta offset to fine tune the timestamps.+ timestampDeltaMilliseconds :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsGroupSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adMarkers', 'hlsGroupSettings_adMarkers' - Choose one or more ad marker types to decorate your Apple HLS manifest.+-- This setting does not determine whether SCTE-35 markers appear in the+-- outputs themselves.+--+-- 'additionalManifests', 'hlsGroupSettings_additionalManifests' - By default, the service creates one top-level .m3u8 HLS manifest for+-- each HLS output group in your job. This default manifest references+-- every output in the output group. To create additional top-level+-- manifests that reference a subset of the outputs in the output group,+-- specify a list of them here.+--+-- 'audioOnlyHeader', 'hlsGroupSettings_audioOnlyHeader' - Ignore this setting unless you are using FairPlay DRM with Verimatrix+-- and you encounter playback issues. Keep the default value, Include+-- (INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to+-- remove the audio-only headers from your audio segments.+--+-- 'baseUrl', 'hlsGroupSettings_baseUrl' - A partial URI prefix that will be prepended to each output in the media+-- .m3u8 file. Can be used if base manifest is delivered from a different+-- URL than the main .m3u8 file.+--+-- 'captionLanguageMappings', 'hlsGroupSettings_captionLanguageMappings' - Language to be used on Caption outputs+--+-- 'captionLanguageSetting', 'hlsGroupSettings_captionLanguageSetting' - Applies only to 608 Embedded output captions. Insert: Include+-- CLOSED-CAPTIONS lines in the manifest. Specify at least one language in+-- the CC1 Language Code field. One CLOSED-CAPTION line is added for each+-- Language Code you specify. Make sure to specify the languages in the+-- order in which they appear in the original source (if the source is+-- embedded format) or the order of the caption selectors (if the source is+-- other than embedded). Otherwise, languages in the manifest will not+-- match up properly with the output captions. None: Include+-- CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any+-- CLOSED-CAPTIONS line from the manifest.+--+-- 'captionSegmentLengthControl', 'hlsGroupSettings_captionSegmentLengthControl' - Set Caption segment length control (CaptionSegmentLengthControl) to+-- Match video (MATCH_VIDEO) to create caption segments that align with the+-- video segments from the first video output in this output group. For+-- example, if the video segments are 2 seconds long, your WebVTT segments+-- will also be 2 seconds long. Keep the default setting, Large segments+-- (LARGE_SEGMENTS) to create caption segments that are 300 seconds long.+--+-- 'clientCache', 'hlsGroupSettings_clientCache' - Disable this setting only when your workflow requires the+-- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+-- (ENABLED) and control caching in your video distribution set up. For+-- example, use the Cache-Control http header.+--+-- 'codecSpecification', 'hlsGroupSettings_codecSpecification' - Specification to use (RFC-6381 or the default RFC-4281) during m3u8+-- playlist generation.+--+-- 'destination', 'hlsGroupSettings_destination' - Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+--+-- 'destinationSettings', 'hlsGroupSettings_destinationSettings' - Settings associated with the destination. Will vary based on the type of+-- destination+--+-- 'directoryStructure', 'hlsGroupSettings_directoryStructure' - Indicates whether segments should be placed in subdirectories.+--+-- 'encryption', 'hlsGroupSettings_encryption' - DRM settings.+--+-- 'imageBasedTrickPlay', 'hlsGroupSettings_imageBasedTrickPlay' - Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. MediaConvert creates a child+-- manifest for each set of images that you generate and adds corresponding+-- entries to the parent manifest. A common application for these images is+-- Roku trick mode. The thumbnails and full-frame images that MediaConvert+-- creates with this feature are compatible with this Roku specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+--+-- 'imageBasedTrickPlaySettings', 'hlsGroupSettings_imageBasedTrickPlaySettings' - Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+--+-- 'manifestCompression', 'hlsGroupSettings_manifestCompression' - When set to GZIP, compresses HLS playlist.+--+-- 'manifestDurationFormat', 'hlsGroupSettings_manifestDurationFormat' - Indicates whether the output manifest should use floating point values+-- for segment duration.+--+-- 'minFinalSegmentLength', 'hlsGroupSettings_minFinalSegmentLength' - Keep this setting at the default value of 0, unless you are+-- troubleshooting a problem with how devices play back the end of your+-- video asset. If you know that player devices are hanging on the final+-- segment of your video because the length of your final segment is too+-- short, use this setting to specify a minimum final segment length, in+-- seconds. Choose a value that is greater than or equal to 1 and less than+-- your segment length. When you specify a value for this setting, the+-- encoder will combine any final segment that is shorter than the length+-- that you specify with the previous segment. For example, your segment+-- length is 3 seconds and your final segment is .5 seconds without a+-- minimum final segment length; when you set the minimum final segment+-- length to 1, your final segment is 3.5 seconds.+--+-- 'minSegmentLength', 'hlsGroupSettings_minSegmentLength' - When set, Minimum Segment Size is enforced by looking ahead and back+-- within the specified range for a nearby avail and extending the segment+-- size if needed.+--+-- 'outputSelection', 'hlsGroupSettings_outputSelection' - Indicates whether the .m3u8 manifest file should be generated for this+-- HLS output group.+--+-- 'programDateTime', 'hlsGroupSettings_programDateTime' - Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest+-- files. The value is calculated as follows: either the program date and+-- time are initialized using the input timecode source, or the time is+-- initialized using the input timecode source and the date is initialized+-- using the timestamp_offset.+--+-- 'programDateTimePeriod', 'hlsGroupSettings_programDateTimePeriod' - Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.+--+-- 'segmentControl', 'hlsGroupSettings_segmentControl' - When set to SINGLE_FILE, emits program as a single media resource (.ts)+-- file, uses #EXT-X-BYTERANGE tags to index segment for playback.+--+-- 'segmentLength', 'hlsGroupSettings_segmentLength' - Specify the length, in whole seconds, of each segment. When you don\'t+-- specify a value, MediaConvert defaults to 10. Related settings: Use+-- Segment length control (SegmentLengthControl) to specify whether the+-- encoder enforces this value strictly. Use Segment control+-- (HlsSegmentControl) to specify whether MediaConvert creates separate+-- segment files or one content file that has metadata to mark the segment+-- boundaries.+--+-- 'segmentLengthControl', 'hlsGroupSettings_segmentLengthControl' - Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+--+-- 'segmentsPerSubdirectory', 'hlsGroupSettings_segmentsPerSubdirectory' - Number of segments to write to a subdirectory before starting a new one.+-- directoryStructure must be SINGLE_DIRECTORY for this setting to have an+-- effect.+--+-- 'streamInfResolution', 'hlsGroupSettings_streamInfResolution' - Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+-- tag of variant manifest.+--+-- 'targetDurationCompatibilityMode', 'hlsGroupSettings_targetDurationCompatibilityMode' - When set to LEGACY, the segment target duration is always rounded up to+-- the nearest integer value above its current value in seconds. When set+-- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+-- nearest integer value if fraction seconds are greater than or equal to+-- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+-- use LEGACY if your client needs to ensure that the target duration is+-- always longer than the actual duration of the segment. Some older+-- players may experience interrupted playback when the actual duration of+-- a track in a segment is longer than the target duration.+--+-- 'timedMetadataId3Frame', 'hlsGroupSettings_timedMetadataId3Frame' - Specify the type of the ID3 frame (timedMetadataId3Frame) to use for ID3+-- timestamps (timedMetadataId3Period) in your output. To include ID3+-- timestamps: Specify PRIV (PRIV) or TDRL (TDRL) and set ID3 metadata+-- (timedMetadata) to Passthrough (PASSTHROUGH). To exclude ID3 timestamps:+-- Set ID3 timestamp frame type to None (NONE).+--+-- 'timedMetadataId3Period', 'hlsGroupSettings_timedMetadataId3Period' - Specify the interval in seconds to write ID3 timestamps in your output.+-- The first timestamp starts at the output timecode and date, and+-- increases incrementally with each ID3 timestamp. To use the default+-- interval of 10 seconds: Leave blank. To include this metadata in your+-- output: Set ID3 timestamp frame type (timedMetadataId3Frame) to PRIV+-- (PRIV) or TDRL (TDRL), and set ID3 metadata (timedMetadata) to+-- Passthrough (PASSTHROUGH).+--+-- 'timestampDeltaMilliseconds', 'hlsGroupSettings_timestampDeltaMilliseconds' - Provides an extra millisecond delta offset to fine tune the timestamps.+newHlsGroupSettings ::+ HlsGroupSettings+newHlsGroupSettings =+ HlsGroupSettings'+ { adMarkers = Prelude.Nothing,+ additionalManifests = Prelude.Nothing,+ audioOnlyHeader = Prelude.Nothing,+ baseUrl = Prelude.Nothing,+ captionLanguageMappings = Prelude.Nothing,+ captionLanguageSetting = Prelude.Nothing,+ captionSegmentLengthControl = Prelude.Nothing,+ clientCache = Prelude.Nothing,+ codecSpecification = Prelude.Nothing,+ destination = Prelude.Nothing,+ destinationSettings = Prelude.Nothing,+ directoryStructure = Prelude.Nothing,+ encryption = Prelude.Nothing,+ imageBasedTrickPlay = Prelude.Nothing,+ imageBasedTrickPlaySettings = Prelude.Nothing,+ manifestCompression = Prelude.Nothing,+ manifestDurationFormat = Prelude.Nothing,+ minFinalSegmentLength = Prelude.Nothing,+ minSegmentLength = Prelude.Nothing,+ outputSelection = Prelude.Nothing,+ programDateTime = Prelude.Nothing,+ programDateTimePeriod = Prelude.Nothing,+ segmentControl = Prelude.Nothing,+ segmentLength = Prelude.Nothing,+ segmentLengthControl = Prelude.Nothing,+ segmentsPerSubdirectory = Prelude.Nothing,+ streamInfResolution = Prelude.Nothing,+ targetDurationCompatibilityMode = Prelude.Nothing,+ timedMetadataId3Frame = Prelude.Nothing,+ timedMetadataId3Period = Prelude.Nothing,+ timestampDeltaMilliseconds = Prelude.Nothing+ }++-- | Choose one or more ad marker types to decorate your Apple HLS manifest.+-- This setting does not determine whether SCTE-35 markers appear in the+-- outputs themselves.+hlsGroupSettings_adMarkers :: Lens.Lens' HlsGroupSettings (Prelude.Maybe [HlsAdMarkers])+hlsGroupSettings_adMarkers = Lens.lens (\HlsGroupSettings' {adMarkers} -> adMarkers) (\s@HlsGroupSettings' {} a -> s {adMarkers = a} :: HlsGroupSettings) Prelude.. Lens.mapping Lens.coerced++-- | By default, the service creates one top-level .m3u8 HLS manifest for+-- each HLS output group in your job. This default manifest references+-- every output in the output group. To create additional top-level+-- manifests that reference a subset of the outputs in the output group,+-- specify a list of them here.+hlsGroupSettings_additionalManifests :: Lens.Lens' HlsGroupSettings (Prelude.Maybe [HlsAdditionalManifest])+hlsGroupSettings_additionalManifests = Lens.lens (\HlsGroupSettings' {additionalManifests} -> additionalManifests) (\s@HlsGroupSettings' {} a -> s {additionalManifests = a} :: HlsGroupSettings) Prelude.. Lens.mapping Lens.coerced++-- | Ignore this setting unless you are using FairPlay DRM with Verimatrix+-- and you encounter playback issues. Keep the default value, Include+-- (INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to+-- remove the audio-only headers from your audio segments.+hlsGroupSettings_audioOnlyHeader :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsAudioOnlyHeader)+hlsGroupSettings_audioOnlyHeader = Lens.lens (\HlsGroupSettings' {audioOnlyHeader} -> audioOnlyHeader) (\s@HlsGroupSettings' {} a -> s {audioOnlyHeader = a} :: HlsGroupSettings)++-- | A partial URI prefix that will be prepended to each output in the media+-- .m3u8 file. Can be used if base manifest is delivered from a different+-- URL than the main .m3u8 file.+hlsGroupSettings_baseUrl :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Text)+hlsGroupSettings_baseUrl = Lens.lens (\HlsGroupSettings' {baseUrl} -> baseUrl) (\s@HlsGroupSettings' {} a -> s {baseUrl = a} :: HlsGroupSettings)++-- | Language to be used on Caption outputs+hlsGroupSettings_captionLanguageMappings :: Lens.Lens' HlsGroupSettings (Prelude.Maybe [HlsCaptionLanguageMapping])+hlsGroupSettings_captionLanguageMappings = Lens.lens (\HlsGroupSettings' {captionLanguageMappings} -> captionLanguageMappings) (\s@HlsGroupSettings' {} a -> s {captionLanguageMappings = a} :: HlsGroupSettings) Prelude.. Lens.mapping Lens.coerced++-- | Applies only to 608 Embedded output captions. Insert: Include+-- CLOSED-CAPTIONS lines in the manifest. Specify at least one language in+-- the CC1 Language Code field. One CLOSED-CAPTION line is added for each+-- Language Code you specify. Make sure to specify the languages in the+-- order in which they appear in the original source (if the source is+-- embedded format) or the order of the caption selectors (if the source is+-- other than embedded). Otherwise, languages in the manifest will not+-- match up properly with the output captions. None: Include+-- CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any+-- CLOSED-CAPTIONS line from the manifest.+hlsGroupSettings_captionLanguageSetting :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsCaptionLanguageSetting)+hlsGroupSettings_captionLanguageSetting = Lens.lens (\HlsGroupSettings' {captionLanguageSetting} -> captionLanguageSetting) (\s@HlsGroupSettings' {} a -> s {captionLanguageSetting = a} :: HlsGroupSettings)++-- | Set Caption segment length control (CaptionSegmentLengthControl) to+-- Match video (MATCH_VIDEO) to create caption segments that align with the+-- video segments from the first video output in this output group. For+-- example, if the video segments are 2 seconds long, your WebVTT segments+-- will also be 2 seconds long. Keep the default setting, Large segments+-- (LARGE_SEGMENTS) to create caption segments that are 300 seconds long.+hlsGroupSettings_captionSegmentLengthControl :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsCaptionSegmentLengthControl)+hlsGroupSettings_captionSegmentLengthControl = Lens.lens (\HlsGroupSettings' {captionSegmentLengthControl} -> captionSegmentLengthControl) (\s@HlsGroupSettings' {} a -> s {captionSegmentLengthControl = a} :: HlsGroupSettings)++-- | Disable this setting only when your workflow requires the+-- #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled+-- (ENABLED) and control caching in your video distribution set up. For+-- example, use the Cache-Control http header.+hlsGroupSettings_clientCache :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsClientCache)+hlsGroupSettings_clientCache = Lens.lens (\HlsGroupSettings' {clientCache} -> clientCache) (\s@HlsGroupSettings' {} a -> s {clientCache = a} :: HlsGroupSettings)++-- | Specification to use (RFC-6381 or the default RFC-4281) during m3u8+-- playlist generation.+hlsGroupSettings_codecSpecification :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsCodecSpecification)+hlsGroupSettings_codecSpecification = Lens.lens (\HlsGroupSettings' {codecSpecification} -> codecSpecification) (\s@HlsGroupSettings' {} a -> s {codecSpecification = a} :: HlsGroupSettings)++-- | Use Destination (Destination) to specify the S3 output location and the+-- output filename base. Destination accepts format identifiers. If you do+-- not specify the base filename in the URI, the service will use the+-- filename of the input file. If your job has multiple inputs, the service+-- uses the filename of the first input file.+hlsGroupSettings_destination :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Text)+hlsGroupSettings_destination = Lens.lens (\HlsGroupSettings' {destination} -> destination) (\s@HlsGroupSettings' {} a -> s {destination = a} :: HlsGroupSettings)++-- | Settings associated with the destination. Will vary based on the type of+-- destination+hlsGroupSettings_destinationSettings :: Lens.Lens' HlsGroupSettings (Prelude.Maybe DestinationSettings)+hlsGroupSettings_destinationSettings = Lens.lens (\HlsGroupSettings' {destinationSettings} -> destinationSettings) (\s@HlsGroupSettings' {} a -> s {destinationSettings = a} :: HlsGroupSettings)++-- | Indicates whether segments should be placed in subdirectories.+hlsGroupSettings_directoryStructure :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsDirectoryStructure)+hlsGroupSettings_directoryStructure = Lens.lens (\HlsGroupSettings' {directoryStructure} -> directoryStructure) (\s@HlsGroupSettings' {} a -> s {directoryStructure = a} :: HlsGroupSettings)++-- | DRM settings.+hlsGroupSettings_encryption :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsEncryptionSettings)+hlsGroupSettings_encryption = Lens.lens (\HlsGroupSettings' {encryption} -> encryption) (\s@HlsGroupSettings' {} a -> s {encryption = a} :: HlsGroupSettings)++-- | Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. MediaConvert creates a child+-- manifest for each set of images that you generate and adds corresponding+-- entries to the parent manifest. A common application for these images is+-- Roku trick mode. The thumbnails and full-frame images that MediaConvert+-- creates with this feature are compatible with this Roku specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+hlsGroupSettings_imageBasedTrickPlay :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsImageBasedTrickPlay)+hlsGroupSettings_imageBasedTrickPlay = Lens.lens (\HlsGroupSettings' {imageBasedTrickPlay} -> imageBasedTrickPlay) (\s@HlsGroupSettings' {} a -> s {imageBasedTrickPlay = a} :: HlsGroupSettings)++-- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+hlsGroupSettings_imageBasedTrickPlaySettings :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsImageBasedTrickPlaySettings)+hlsGroupSettings_imageBasedTrickPlaySettings = Lens.lens (\HlsGroupSettings' {imageBasedTrickPlaySettings} -> imageBasedTrickPlaySettings) (\s@HlsGroupSettings' {} a -> s {imageBasedTrickPlaySettings = a} :: HlsGroupSettings)++-- | When set to GZIP, compresses HLS playlist.+hlsGroupSettings_manifestCompression :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsManifestCompression)+hlsGroupSettings_manifestCompression = Lens.lens (\HlsGroupSettings' {manifestCompression} -> manifestCompression) (\s@HlsGroupSettings' {} a -> s {manifestCompression = a} :: HlsGroupSettings)++-- | Indicates whether the output manifest should use floating point values+-- for segment duration.+hlsGroupSettings_manifestDurationFormat :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsManifestDurationFormat)+hlsGroupSettings_manifestDurationFormat = Lens.lens (\HlsGroupSettings' {manifestDurationFormat} -> manifestDurationFormat) (\s@HlsGroupSettings' {} a -> s {manifestDurationFormat = a} :: HlsGroupSettings)++-- | Keep this setting at the default value of 0, unless you are+-- troubleshooting a problem with how devices play back the end of your+-- video asset. If you know that player devices are hanging on the final+-- segment of your video because the length of your final segment is too+-- short, use this setting to specify a minimum final segment length, in+-- seconds. Choose a value that is greater than or equal to 1 and less than+-- your segment length. When you specify a value for this setting, the+-- encoder will combine any final segment that is shorter than the length+-- that you specify with the previous segment. For example, your segment+-- length is 3 seconds and your final segment is .5 seconds without a+-- minimum final segment length; when you set the minimum final segment+-- length to 1, your final segment is 3.5 seconds.+hlsGroupSettings_minFinalSegmentLength :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Double)+hlsGroupSettings_minFinalSegmentLength = Lens.lens (\HlsGroupSettings' {minFinalSegmentLength} -> minFinalSegmentLength) (\s@HlsGroupSettings' {} a -> s {minFinalSegmentLength = a} :: HlsGroupSettings)++-- | When set, Minimum Segment Size is enforced by looking ahead and back+-- within the specified range for a nearby avail and extending the segment+-- size if needed.+hlsGroupSettings_minSegmentLength :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Natural)+hlsGroupSettings_minSegmentLength = Lens.lens (\HlsGroupSettings' {minSegmentLength} -> minSegmentLength) (\s@HlsGroupSettings' {} a -> s {minSegmentLength = a} :: HlsGroupSettings)++-- | Indicates whether the .m3u8 manifest file should be generated for this+-- HLS output group.+hlsGroupSettings_outputSelection :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsOutputSelection)+hlsGroupSettings_outputSelection = Lens.lens (\HlsGroupSettings' {outputSelection} -> outputSelection) (\s@HlsGroupSettings' {} a -> s {outputSelection = a} :: HlsGroupSettings)++-- | Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest+-- files. The value is calculated as follows: either the program date and+-- time are initialized using the input timecode source, or the time is+-- initialized using the input timecode source and the date is initialized+-- using the timestamp_offset.+hlsGroupSettings_programDateTime :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsProgramDateTime)+hlsGroupSettings_programDateTime = Lens.lens (\HlsGroupSettings' {programDateTime} -> programDateTime) (\s@HlsGroupSettings' {} a -> s {programDateTime = a} :: HlsGroupSettings)++-- | Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.+hlsGroupSettings_programDateTimePeriod :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Natural)+hlsGroupSettings_programDateTimePeriod = Lens.lens (\HlsGroupSettings' {programDateTimePeriod} -> programDateTimePeriod) (\s@HlsGroupSettings' {} a -> s {programDateTimePeriod = a} :: HlsGroupSettings)++-- | When set to SINGLE_FILE, emits program as a single media resource (.ts)+-- file, uses #EXT-X-BYTERANGE tags to index segment for playback.+hlsGroupSettings_segmentControl :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsSegmentControl)+hlsGroupSettings_segmentControl = Lens.lens (\HlsGroupSettings' {segmentControl} -> segmentControl) (\s@HlsGroupSettings' {} a -> s {segmentControl = a} :: HlsGroupSettings)++-- | Specify the length, in whole seconds, of each segment. When you don\'t+-- specify a value, MediaConvert defaults to 10. Related settings: Use+-- Segment length control (SegmentLengthControl) to specify whether the+-- encoder enforces this value strictly. Use Segment control+-- (HlsSegmentControl) to specify whether MediaConvert creates separate+-- segment files or one content file that has metadata to mark the segment+-- boundaries.+hlsGroupSettings_segmentLength :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Natural)+hlsGroupSettings_segmentLength = Lens.lens (\HlsGroupSettings' {segmentLength} -> segmentLength) (\s@HlsGroupSettings' {} a -> s {segmentLength = a} :: HlsGroupSettings)++-- | Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+hlsGroupSettings_segmentLengthControl :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsSegmentLengthControl)+hlsGroupSettings_segmentLengthControl = Lens.lens (\HlsGroupSettings' {segmentLengthControl} -> segmentLengthControl) (\s@HlsGroupSettings' {} a -> s {segmentLengthControl = a} :: HlsGroupSettings)++-- | Number of segments to write to a subdirectory before starting a new one.+-- directoryStructure must be SINGLE_DIRECTORY for this setting to have an+-- effect.+hlsGroupSettings_segmentsPerSubdirectory :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Natural)+hlsGroupSettings_segmentsPerSubdirectory = Lens.lens (\HlsGroupSettings' {segmentsPerSubdirectory} -> segmentsPerSubdirectory) (\s@HlsGroupSettings' {} a -> s {segmentsPerSubdirectory = a} :: HlsGroupSettings)++-- | Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+-- tag of variant manifest.+hlsGroupSettings_streamInfResolution :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsStreamInfResolution)+hlsGroupSettings_streamInfResolution = Lens.lens (\HlsGroupSettings' {streamInfResolution} -> streamInfResolution) (\s@HlsGroupSettings' {} a -> s {streamInfResolution = a} :: HlsGroupSettings)++-- | When set to LEGACY, the segment target duration is always rounded up to+-- the nearest integer value above its current value in seconds. When set+-- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+-- nearest integer value if fraction seconds are greater than or equal to+-- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+-- use LEGACY if your client needs to ensure that the target duration is+-- always longer than the actual duration of the segment. Some older+-- players may experience interrupted playback when the actual duration of+-- a track in a segment is longer than the target duration.+hlsGroupSettings_targetDurationCompatibilityMode :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsTargetDurationCompatibilityMode)+hlsGroupSettings_targetDurationCompatibilityMode = Lens.lens (\HlsGroupSettings' {targetDurationCompatibilityMode} -> targetDurationCompatibilityMode) (\s@HlsGroupSettings' {} a -> s {targetDurationCompatibilityMode = a} :: HlsGroupSettings)++-- | Specify the type of the ID3 frame (timedMetadataId3Frame) to use for ID3+-- timestamps (timedMetadataId3Period) in your output. To include ID3+-- timestamps: Specify PRIV (PRIV) or TDRL (TDRL) and set ID3 metadata+-- (timedMetadata) to Passthrough (PASSTHROUGH). To exclude ID3 timestamps:+-- Set ID3 timestamp frame type to None (NONE).+hlsGroupSettings_timedMetadataId3Frame :: Lens.Lens' HlsGroupSettings (Prelude.Maybe HlsTimedMetadataId3Frame)+hlsGroupSettings_timedMetadataId3Frame = Lens.lens (\HlsGroupSettings' {timedMetadataId3Frame} -> timedMetadataId3Frame) (\s@HlsGroupSettings' {} a -> s {timedMetadataId3Frame = a} :: HlsGroupSettings)++-- | Specify the interval in seconds to write ID3 timestamps in your output.+-- The first timestamp starts at the output timecode and date, and+-- increases incrementally with each ID3 timestamp. To use the default+-- interval of 10 seconds: Leave blank. To include this metadata in your+-- output: Set ID3 timestamp frame type (timedMetadataId3Frame) to PRIV+-- (PRIV) or TDRL (TDRL), and set ID3 metadata (timedMetadata) to+-- Passthrough (PASSTHROUGH).+hlsGroupSettings_timedMetadataId3Period :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Int)+hlsGroupSettings_timedMetadataId3Period = Lens.lens (\HlsGroupSettings' {timedMetadataId3Period} -> timedMetadataId3Period) (\s@HlsGroupSettings' {} a -> s {timedMetadataId3Period = a} :: HlsGroupSettings)++-- | Provides an extra millisecond delta offset to fine tune the timestamps.+hlsGroupSettings_timestampDeltaMilliseconds :: Lens.Lens' HlsGroupSettings (Prelude.Maybe Prelude.Int)+hlsGroupSettings_timestampDeltaMilliseconds = Lens.lens (\HlsGroupSettings' {timestampDeltaMilliseconds} -> timestampDeltaMilliseconds) (\s@HlsGroupSettings' {} a -> s {timestampDeltaMilliseconds = a} :: HlsGroupSettings)++instance Data.FromJSON HlsGroupSettings where+ parseJSON =+ Data.withObject+ "HlsGroupSettings"+ ( \x ->+ HlsGroupSettings'+ Prelude.<$> (x Data..:? "adMarkers" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "additionalManifests"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "audioOnlyHeader")+ Prelude.<*> (x Data..:? "baseUrl")+ Prelude.<*> ( x+ Data..:? "captionLanguageMappings"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "captionLanguageSetting")+ Prelude.<*> (x Data..:? "captionSegmentLengthControl")+ Prelude.<*> (x Data..:? "clientCache")+ Prelude.<*> (x Data..:? "codecSpecification")+ Prelude.<*> (x Data..:? "destination")+ Prelude.<*> (x Data..:? "destinationSettings")+ Prelude.<*> (x Data..:? "directoryStructure")+ Prelude.<*> (x Data..:? "encryption")+ Prelude.<*> (x Data..:? "imageBasedTrickPlay")+ Prelude.<*> (x Data..:? "imageBasedTrickPlaySettings")+ Prelude.<*> (x Data..:? "manifestCompression")+ Prelude.<*> (x Data..:? "manifestDurationFormat")+ Prelude.<*> (x Data..:? "minFinalSegmentLength")+ Prelude.<*> (x Data..:? "minSegmentLength")+ Prelude.<*> (x Data..:? "outputSelection")+ Prelude.<*> (x Data..:? "programDateTime")+ Prelude.<*> (x Data..:? "programDateTimePeriod")+ Prelude.<*> (x Data..:? "segmentControl")+ Prelude.<*> (x Data..:? "segmentLength")+ Prelude.<*> (x Data..:? "segmentLengthControl")+ Prelude.<*> (x Data..:? "segmentsPerSubdirectory")+ Prelude.<*> (x Data..:? "streamInfResolution")+ Prelude.<*> (x Data..:? "targetDurationCompatibilityMode")+ Prelude.<*> (x Data..:? "timedMetadataId3Frame")+ Prelude.<*> (x Data..:? "timedMetadataId3Period")+ Prelude.<*> (x Data..:? "timestampDeltaMilliseconds")+ )++instance Prelude.Hashable HlsGroupSettings where+ hashWithSalt _salt HlsGroupSettings' {..} =+ _salt+ `Prelude.hashWithSalt` adMarkers+ `Prelude.hashWithSalt` additionalManifests+ `Prelude.hashWithSalt` audioOnlyHeader+ `Prelude.hashWithSalt` baseUrl+ `Prelude.hashWithSalt` captionLanguageMappings+ `Prelude.hashWithSalt` captionLanguageSetting+ `Prelude.hashWithSalt` captionSegmentLengthControl+ `Prelude.hashWithSalt` clientCache+ `Prelude.hashWithSalt` codecSpecification+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` destinationSettings+ `Prelude.hashWithSalt` directoryStructure+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` imageBasedTrickPlay+ `Prelude.hashWithSalt` imageBasedTrickPlaySettings+ `Prelude.hashWithSalt` manifestCompression+ `Prelude.hashWithSalt` manifestDurationFormat+ `Prelude.hashWithSalt` minFinalSegmentLength+ `Prelude.hashWithSalt` minSegmentLength+ `Prelude.hashWithSalt` outputSelection+ `Prelude.hashWithSalt` programDateTime+ `Prelude.hashWithSalt` programDateTimePeriod+ `Prelude.hashWithSalt` segmentControl+ `Prelude.hashWithSalt` segmentLength+ `Prelude.hashWithSalt` segmentLengthControl+ `Prelude.hashWithSalt` segmentsPerSubdirectory+ `Prelude.hashWithSalt` streamInfResolution+ `Prelude.hashWithSalt` targetDurationCompatibilityMode+ `Prelude.hashWithSalt` timedMetadataId3Frame+ `Prelude.hashWithSalt` timedMetadataId3Period+ `Prelude.hashWithSalt` timestampDeltaMilliseconds++instance Prelude.NFData HlsGroupSettings where+ rnf HlsGroupSettings' {..} =+ Prelude.rnf adMarkers+ `Prelude.seq` Prelude.rnf additionalManifests+ `Prelude.seq` Prelude.rnf audioOnlyHeader+ `Prelude.seq` Prelude.rnf baseUrl+ `Prelude.seq` Prelude.rnf captionLanguageMappings+ `Prelude.seq` Prelude.rnf captionLanguageSetting+ `Prelude.seq` Prelude.rnf captionSegmentLengthControl+ `Prelude.seq` Prelude.rnf clientCache+ `Prelude.seq` Prelude.rnf codecSpecification+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf destinationSettings+ `Prelude.seq` Prelude.rnf directoryStructure+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf imageBasedTrickPlay+ `Prelude.seq` Prelude.rnf imageBasedTrickPlaySettings+ `Prelude.seq` Prelude.rnf manifestCompression+ `Prelude.seq` Prelude.rnf manifestDurationFormat+ `Prelude.seq` Prelude.rnf minFinalSegmentLength+ `Prelude.seq` Prelude.rnf minSegmentLength+ `Prelude.seq` Prelude.rnf outputSelection+ `Prelude.seq` Prelude.rnf programDateTime+ `Prelude.seq` Prelude.rnf+ programDateTimePeriod+ `Prelude.seq` Prelude.rnf+ segmentControl+ `Prelude.seq` Prelude.rnf+ segmentLength+ `Prelude.seq` Prelude.rnf+ segmentLengthControl+ `Prelude.seq` Prelude.rnf+ segmentsPerSubdirectory+ `Prelude.seq` Prelude.rnf+ streamInfResolution+ `Prelude.seq` Prelude.rnf+ targetDurationCompatibilityMode+ `Prelude.seq` Prelude.rnf+ timedMetadataId3Frame+ `Prelude.seq` Prelude.rnf+ timedMetadataId3Period+ `Prelude.seq` Prelude.rnf+ timestampDeltaMilliseconds++instance Data.ToJSON HlsGroupSettings where+ toJSON HlsGroupSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adMarkers" Data..=) Prelude.<$> adMarkers,+ ("additionalManifests" Data..=)+ Prelude.<$> additionalManifests,+ ("audioOnlyHeader" Data..=)+ Prelude.<$> audioOnlyHeader,+ ("baseUrl" Data..=) Prelude.<$> baseUrl,+ ("captionLanguageMappings" Data..=)+ Prelude.<$> captionLanguageMappings,+ ("captionLanguageSetting" Data..=)+ Prelude.<$> captionLanguageSetting,+ ("captionSegmentLengthControl" Data..=)+ Prelude.<$> captionSegmentLengthControl,+ ("clientCache" Data..=) Prelude.<$> clientCache,+ ("codecSpecification" Data..=)+ Prelude.<$> codecSpecification,+ ("destination" Data..=) Prelude.<$> destination,+ ("destinationSettings" Data..=)+ Prelude.<$> destinationSettings,+ ("directoryStructure" Data..=)+ Prelude.<$> directoryStructure,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("imageBasedTrickPlay" Data..=)+ Prelude.<$> imageBasedTrickPlay,+ ("imageBasedTrickPlaySettings" Data..=)+ Prelude.<$> imageBasedTrickPlaySettings,+ ("manifestCompression" Data..=)+ Prelude.<$> manifestCompression,+ ("manifestDurationFormat" Data..=)+ Prelude.<$> manifestDurationFormat,+ ("minFinalSegmentLength" Data..=)+ Prelude.<$> minFinalSegmentLength,+ ("minSegmentLength" Data..=)+ Prelude.<$> minSegmentLength,+ ("outputSelection" Data..=)+ Prelude.<$> outputSelection,+ ("programDateTime" Data..=)+ Prelude.<$> programDateTime,+ ("programDateTimePeriod" Data..=)+ Prelude.<$> programDateTimePeriod,+ ("segmentControl" Data..=)+ Prelude.<$> segmentControl,+ ("segmentLength" Data..=) Prelude.<$> segmentLength,+ ("segmentLengthControl" Data..=)+ Prelude.<$> segmentLengthControl,+ ("segmentsPerSubdirectory" Data..=)+ Prelude.<$> segmentsPerSubdirectory,+ ("streamInfResolution" Data..=)+ Prelude.<$> streamInfResolution,+ ("targetDurationCompatibilityMode" Data..=)+ Prelude.<$> targetDurationCompatibilityMode,+ ("timedMetadataId3Frame" Data..=)+ Prelude.<$> timedMetadataId3Frame,+ ("timedMetadataId3Period" Data..=)+ Prelude.<$> timedMetadataId3Period,+ ("timestampDeltaMilliseconds" Data..=)+ Prelude.<$> timestampDeltaMilliseconds+ ]+ )
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsIFrameOnlyManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsIFrameOnlyManifest+ ( HlsIFrameOnlyManifest+ ( ..,+ HlsIFrameOnlyManifest_EXCLUDE,+ HlsIFrameOnlyManifest_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Choose Include (INCLUDE) to have MediaConvert generate a child manifest+-- that lists only the I-frames for this rendition, in addition to your+-- regular manifest for this rendition. You might use this manifest as part+-- of a workflow that creates preview functions for your video.+-- MediaConvert adds both the I-frame only child manifest and the regular+-- child manifest to the parent manifest. When you don\'t need the I-frame+-- only child manifest, keep the default value Exclude (EXCLUDE).+newtype HlsIFrameOnlyManifest = HlsIFrameOnlyManifest'+ { fromHlsIFrameOnlyManifest ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsIFrameOnlyManifest_EXCLUDE :: HlsIFrameOnlyManifest+pattern HlsIFrameOnlyManifest_EXCLUDE = HlsIFrameOnlyManifest' "EXCLUDE"++pattern HlsIFrameOnlyManifest_INCLUDE :: HlsIFrameOnlyManifest+pattern HlsIFrameOnlyManifest_INCLUDE = HlsIFrameOnlyManifest' "INCLUDE"++{-# COMPLETE+ HlsIFrameOnlyManifest_EXCLUDE,+ HlsIFrameOnlyManifest_INCLUDE,+ HlsIFrameOnlyManifest'+ #-}
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsImageBasedTrickPlay+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsImageBasedTrickPlay+ ( HlsImageBasedTrickPlay+ ( ..,+ HlsImageBasedTrickPlay_ADVANCED,+ HlsImageBasedTrickPlay_NONE,+ HlsImageBasedTrickPlay_THUMBNAIL,+ HlsImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether MediaConvert generates images for trick play. Keep the+-- default value, None (NONE), to not generate any images. Choose Thumbnail+-- (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full+-- frame (THUMBNAIL_AND_FULLFRAME) to generate tiled thumbnails and+-- full-resolution images of single frames. MediaConvert creates a child+-- manifest for each set of images that you generate and adds corresponding+-- entries to the parent manifest. A common application for these images is+-- Roku trick mode. The thumbnails and full-frame images that MediaConvert+-- creates with this feature are compatible with this Roku specification:+-- https:\/\/developer.roku.com\/docs\/developer-program\/media-playback\/trick-mode\/hls-and-dash.md+newtype HlsImageBasedTrickPlay = HlsImageBasedTrickPlay'+ { fromHlsImageBasedTrickPlay ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsImageBasedTrickPlay_ADVANCED :: HlsImageBasedTrickPlay+pattern HlsImageBasedTrickPlay_ADVANCED = HlsImageBasedTrickPlay' "ADVANCED"++pattern HlsImageBasedTrickPlay_NONE :: HlsImageBasedTrickPlay+pattern HlsImageBasedTrickPlay_NONE = HlsImageBasedTrickPlay' "NONE"++pattern HlsImageBasedTrickPlay_THUMBNAIL :: HlsImageBasedTrickPlay+pattern HlsImageBasedTrickPlay_THUMBNAIL = HlsImageBasedTrickPlay' "THUMBNAIL"++pattern HlsImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME :: HlsImageBasedTrickPlay+pattern HlsImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME = HlsImageBasedTrickPlay' "THUMBNAIL_AND_FULLFRAME"++{-# COMPLETE+ HlsImageBasedTrickPlay_ADVANCED,+ HlsImageBasedTrickPlay_NONE,+ HlsImageBasedTrickPlay_THUMBNAIL,+ HlsImageBasedTrickPlay_THUMBNAIL_AND_FULLFRAME,+ HlsImageBasedTrickPlay'+ #-}
@@ -0,0 +1,205 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsImageBasedTrickPlaySettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsImageBasedTrickPlaySettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.HlsIntervalCadence+import qualified Amazonka.Prelude as Prelude++-- | Tile and thumbnail settings applicable when imageBasedTrickPlay is+-- ADVANCED+--+-- /See:/ 'newHlsImageBasedTrickPlaySettings' smart constructor.+data HlsImageBasedTrickPlaySettings = HlsImageBasedTrickPlaySettings'+ { -- | The cadence MediaConvert follows for generating thumbnails. If set to+ -- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+ -- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+ -- MediaConvert generates thumbnails according to the interval you specify+ -- in thumbnailInterval.+ intervalCadence :: Prelude.Maybe HlsIntervalCadence,+ -- | Height of each thumbnail within each tile image, in pixels. Leave blank+ -- to maintain aspect ratio with thumbnail width. If following the aspect+ -- ratio would lead to a total tile height greater than 4096, then the job+ -- will be rejected. Must be divisible by 2.+ thumbnailHeight :: Prelude.Maybe Prelude.Natural,+ -- | Enter the interval, in seconds, that MediaConvert uses to generate+ -- thumbnails. If the interval you enter doesn\'t align with the output+ -- frame rate, MediaConvert automatically rounds the interval to align with+ -- the output frame rate. For example, if the output frame rate is 29.97+ -- frames per second and you enter 5, MediaConvert uses a 150 frame+ -- interval to generate thumbnails.+ thumbnailInterval :: Prelude.Maybe Prelude.Double,+ -- | Width of each thumbnail within each tile image, in pixels. Default is+ -- 312. Must be divisible by 8.+ thumbnailWidth :: Prelude.Maybe Prelude.Natural,+ -- | Number of thumbnails in each column of a tile image. Set a value between+ -- 2 and 2048. Must be divisible by 2.+ tileHeight :: Prelude.Maybe Prelude.Natural,+ -- | Number of thumbnails in each row of a tile image. Set a value between 1+ -- and 512.+ tileWidth :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsImageBasedTrickPlaySettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'intervalCadence', 'hlsImageBasedTrickPlaySettings_intervalCadence' - The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+--+-- 'thumbnailHeight', 'hlsImageBasedTrickPlaySettings_thumbnailHeight' - Height of each thumbnail within each tile image, in pixels. Leave blank+-- to maintain aspect ratio with thumbnail width. If following the aspect+-- ratio would lead to a total tile height greater than 4096, then the job+-- will be rejected. Must be divisible by 2.+--+-- 'thumbnailInterval', 'hlsImageBasedTrickPlaySettings_thumbnailInterval' - Enter the interval, in seconds, that MediaConvert uses to generate+-- thumbnails. If the interval you enter doesn\'t align with the output+-- frame rate, MediaConvert automatically rounds the interval to align with+-- the output frame rate. For example, if the output frame rate is 29.97+-- frames per second and you enter 5, MediaConvert uses a 150 frame+-- interval to generate thumbnails.+--+-- 'thumbnailWidth', 'hlsImageBasedTrickPlaySettings_thumbnailWidth' - Width of each thumbnail within each tile image, in pixels. Default is+-- 312. Must be divisible by 8.+--+-- 'tileHeight', 'hlsImageBasedTrickPlaySettings_tileHeight' - Number of thumbnails in each column of a tile image. Set a value between+-- 2 and 2048. Must be divisible by 2.+--+-- 'tileWidth', 'hlsImageBasedTrickPlaySettings_tileWidth' - Number of thumbnails in each row of a tile image. Set a value between 1+-- and 512.+newHlsImageBasedTrickPlaySettings ::+ HlsImageBasedTrickPlaySettings+newHlsImageBasedTrickPlaySettings =+ HlsImageBasedTrickPlaySettings'+ { intervalCadence =+ Prelude.Nothing,+ thumbnailHeight = Prelude.Nothing,+ thumbnailInterval = Prelude.Nothing,+ thumbnailWidth = Prelude.Nothing,+ tileHeight = Prelude.Nothing,+ tileWidth = Prelude.Nothing+ }++-- | The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+hlsImageBasedTrickPlaySettings_intervalCadence :: Lens.Lens' HlsImageBasedTrickPlaySettings (Prelude.Maybe HlsIntervalCadence)+hlsImageBasedTrickPlaySettings_intervalCadence = Lens.lens (\HlsImageBasedTrickPlaySettings' {intervalCadence} -> intervalCadence) (\s@HlsImageBasedTrickPlaySettings' {} a -> s {intervalCadence = a} :: HlsImageBasedTrickPlaySettings)++-- | Height of each thumbnail within each tile image, in pixels. Leave blank+-- to maintain aspect ratio with thumbnail width. If following the aspect+-- ratio would lead to a total tile height greater than 4096, then the job+-- will be rejected. Must be divisible by 2.+hlsImageBasedTrickPlaySettings_thumbnailHeight :: Lens.Lens' HlsImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+hlsImageBasedTrickPlaySettings_thumbnailHeight = Lens.lens (\HlsImageBasedTrickPlaySettings' {thumbnailHeight} -> thumbnailHeight) (\s@HlsImageBasedTrickPlaySettings' {} a -> s {thumbnailHeight = a} :: HlsImageBasedTrickPlaySettings)++-- | Enter the interval, in seconds, that MediaConvert uses to generate+-- thumbnails. If the interval you enter doesn\'t align with the output+-- frame rate, MediaConvert automatically rounds the interval to align with+-- the output frame rate. For example, if the output frame rate is 29.97+-- frames per second and you enter 5, MediaConvert uses a 150 frame+-- interval to generate thumbnails.+hlsImageBasedTrickPlaySettings_thumbnailInterval :: Lens.Lens' HlsImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Double)+hlsImageBasedTrickPlaySettings_thumbnailInterval = Lens.lens (\HlsImageBasedTrickPlaySettings' {thumbnailInterval} -> thumbnailInterval) (\s@HlsImageBasedTrickPlaySettings' {} a -> s {thumbnailInterval = a} :: HlsImageBasedTrickPlaySettings)++-- | Width of each thumbnail within each tile image, in pixels. Default is+-- 312. Must be divisible by 8.+hlsImageBasedTrickPlaySettings_thumbnailWidth :: Lens.Lens' HlsImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+hlsImageBasedTrickPlaySettings_thumbnailWidth = Lens.lens (\HlsImageBasedTrickPlaySettings' {thumbnailWidth} -> thumbnailWidth) (\s@HlsImageBasedTrickPlaySettings' {} a -> s {thumbnailWidth = a} :: HlsImageBasedTrickPlaySettings)++-- | Number of thumbnails in each column of a tile image. Set a value between+-- 2 and 2048. Must be divisible by 2.+hlsImageBasedTrickPlaySettings_tileHeight :: Lens.Lens' HlsImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+hlsImageBasedTrickPlaySettings_tileHeight = Lens.lens (\HlsImageBasedTrickPlaySettings' {tileHeight} -> tileHeight) (\s@HlsImageBasedTrickPlaySettings' {} a -> s {tileHeight = a} :: HlsImageBasedTrickPlaySettings)++-- | Number of thumbnails in each row of a tile image. Set a value between 1+-- and 512.+hlsImageBasedTrickPlaySettings_tileWidth :: Lens.Lens' HlsImageBasedTrickPlaySettings (Prelude.Maybe Prelude.Natural)+hlsImageBasedTrickPlaySettings_tileWidth = Lens.lens (\HlsImageBasedTrickPlaySettings' {tileWidth} -> tileWidth) (\s@HlsImageBasedTrickPlaySettings' {} a -> s {tileWidth = a} :: HlsImageBasedTrickPlaySettings)++instance Data.FromJSON HlsImageBasedTrickPlaySettings where+ parseJSON =+ Data.withObject+ "HlsImageBasedTrickPlaySettings"+ ( \x ->+ HlsImageBasedTrickPlaySettings'+ Prelude.<$> (x Data..:? "intervalCadence")+ Prelude.<*> (x Data..:? "thumbnailHeight")+ Prelude.<*> (x Data..:? "thumbnailInterval")+ Prelude.<*> (x Data..:? "thumbnailWidth")+ Prelude.<*> (x Data..:? "tileHeight")+ Prelude.<*> (x Data..:? "tileWidth")+ )++instance+ Prelude.Hashable+ HlsImageBasedTrickPlaySettings+ where+ hashWithSalt+ _salt+ HlsImageBasedTrickPlaySettings' {..} =+ _salt+ `Prelude.hashWithSalt` intervalCadence+ `Prelude.hashWithSalt` thumbnailHeight+ `Prelude.hashWithSalt` thumbnailInterval+ `Prelude.hashWithSalt` thumbnailWidth+ `Prelude.hashWithSalt` tileHeight+ `Prelude.hashWithSalt` tileWidth++instance+ Prelude.NFData+ HlsImageBasedTrickPlaySettings+ where+ rnf HlsImageBasedTrickPlaySettings' {..} =+ Prelude.rnf intervalCadence+ `Prelude.seq` Prelude.rnf thumbnailHeight+ `Prelude.seq` Prelude.rnf thumbnailInterval+ `Prelude.seq` Prelude.rnf thumbnailWidth+ `Prelude.seq` Prelude.rnf tileHeight+ `Prelude.seq` Prelude.rnf tileWidth++instance Data.ToJSON HlsImageBasedTrickPlaySettings where+ toJSON HlsImageBasedTrickPlaySettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("intervalCadence" Data..=)+ Prelude.<$> intervalCadence,+ ("thumbnailHeight" Data..=)+ Prelude.<$> thumbnailHeight,+ ("thumbnailInterval" Data..=)+ Prelude.<$> thumbnailInterval,+ ("thumbnailWidth" Data..=)+ Prelude.<$> thumbnailWidth,+ ("tileHeight" Data..=) Prelude.<$> tileHeight,+ ("tileWidth" Data..=) Prelude.<$> tileWidth+ ]+ )
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsInitializationVectorInManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsInitializationVectorInManifest+ ( HlsInitializationVectorInManifest+ ( ..,+ HlsInitializationVectorInManifest_EXCLUDE,+ HlsInitializationVectorInManifest_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Initialization Vector is a 128-bit number used in conjunction with+-- the key for encrypting blocks. If set to INCLUDE, Initialization Vector+-- is listed in the manifest. Otherwise Initialization Vector is not in the+-- manifest.+newtype HlsInitializationVectorInManifest = HlsInitializationVectorInManifest'+ { fromHlsInitializationVectorInManifest ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsInitializationVectorInManifest_EXCLUDE :: HlsInitializationVectorInManifest+pattern HlsInitializationVectorInManifest_EXCLUDE = HlsInitializationVectorInManifest' "EXCLUDE"++pattern HlsInitializationVectorInManifest_INCLUDE :: HlsInitializationVectorInManifest+pattern HlsInitializationVectorInManifest_INCLUDE = HlsInitializationVectorInManifest' "INCLUDE"++{-# COMPLETE+ HlsInitializationVectorInManifest_EXCLUDE,+ HlsInitializationVectorInManifest_INCLUDE,+ HlsInitializationVectorInManifest'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsIntervalCadence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsIntervalCadence+ ( HlsIntervalCadence+ ( ..,+ HlsIntervalCadence_FOLLOW_CUSTOM,+ HlsIntervalCadence_FOLLOW_IFRAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The cadence MediaConvert follows for generating thumbnails. If set to+-- FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in+-- the output (matching the GOP cadence). If set to FOLLOW_CUSTOM,+-- MediaConvert generates thumbnails according to the interval you specify+-- in thumbnailInterval.+newtype HlsIntervalCadence = HlsIntervalCadence'+ { fromHlsIntervalCadence ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsIntervalCadence_FOLLOW_CUSTOM :: HlsIntervalCadence+pattern HlsIntervalCadence_FOLLOW_CUSTOM = HlsIntervalCadence' "FOLLOW_CUSTOM"++pattern HlsIntervalCadence_FOLLOW_IFRAME :: HlsIntervalCadence+pattern HlsIntervalCadence_FOLLOW_IFRAME = HlsIntervalCadence' "FOLLOW_IFRAME"++{-# COMPLETE+ HlsIntervalCadence_FOLLOW_CUSTOM,+ HlsIntervalCadence_FOLLOW_IFRAME,+ HlsIntervalCadence'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsKeyProviderType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsKeyProviderType+ ( HlsKeyProviderType+ ( ..,+ HlsKeyProviderType_SPEKE,+ HlsKeyProviderType_STATIC_KEY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify whether your DRM encryption key is static or from a key provider+-- that follows the SPEKE standard. For more information about SPEKE, see+-- https:\/\/docs.aws.amazon.com\/speke\/latest\/documentation\/what-is-speke.html.+newtype HlsKeyProviderType = HlsKeyProviderType'+ { fromHlsKeyProviderType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsKeyProviderType_SPEKE :: HlsKeyProviderType+pattern HlsKeyProviderType_SPEKE = HlsKeyProviderType' "SPEKE"++pattern HlsKeyProviderType_STATIC_KEY :: HlsKeyProviderType+pattern HlsKeyProviderType_STATIC_KEY = HlsKeyProviderType' "STATIC_KEY"++{-# COMPLETE+ HlsKeyProviderType_SPEKE,+ HlsKeyProviderType_STATIC_KEY,+ HlsKeyProviderType'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsManifestCompression+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsManifestCompression+ ( HlsManifestCompression+ ( ..,+ HlsManifestCompression_GZIP,+ HlsManifestCompression_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to GZIP, compresses HLS playlist.+newtype HlsManifestCompression = HlsManifestCompression'+ { fromHlsManifestCompression ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsManifestCompression_GZIP :: HlsManifestCompression+pattern HlsManifestCompression_GZIP = HlsManifestCompression' "GZIP"++pattern HlsManifestCompression_NONE :: HlsManifestCompression+pattern HlsManifestCompression_NONE = HlsManifestCompression' "NONE"++{-# COMPLETE+ HlsManifestCompression_GZIP,+ HlsManifestCompression_NONE,+ HlsManifestCompression'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsManifestDurationFormat+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsManifestDurationFormat+ ( HlsManifestDurationFormat+ ( ..,+ HlsManifestDurationFormat_FLOATING_POINT,+ HlsManifestDurationFormat_INTEGER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates whether the output manifest should use floating point values+-- for segment duration.+newtype HlsManifestDurationFormat = HlsManifestDurationFormat'+ { fromHlsManifestDurationFormat ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsManifestDurationFormat_FLOATING_POINT :: HlsManifestDurationFormat+pattern HlsManifestDurationFormat_FLOATING_POINT = HlsManifestDurationFormat' "FLOATING_POINT"++pattern HlsManifestDurationFormat_INTEGER :: HlsManifestDurationFormat+pattern HlsManifestDurationFormat_INTEGER = HlsManifestDurationFormat' "INTEGER"++{-# COMPLETE+ HlsManifestDurationFormat_FLOATING_POINT,+ HlsManifestDurationFormat_INTEGER,+ HlsManifestDurationFormat'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsOfflineEncrypted+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsOfflineEncrypted+ ( HlsOfflineEncrypted+ ( ..,+ HlsOfflineEncrypted_DISABLED,+ HlsOfflineEncrypted_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable this setting to insert the EXT-X-SESSION-KEY element into the+-- master playlist. This allows for offline Apple HLS FairPlay content+-- protection.+newtype HlsOfflineEncrypted = HlsOfflineEncrypted'+ { fromHlsOfflineEncrypted ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsOfflineEncrypted_DISABLED :: HlsOfflineEncrypted+pattern HlsOfflineEncrypted_DISABLED = HlsOfflineEncrypted' "DISABLED"++pattern HlsOfflineEncrypted_ENABLED :: HlsOfflineEncrypted+pattern HlsOfflineEncrypted_ENABLED = HlsOfflineEncrypted' "ENABLED"++{-# COMPLETE+ HlsOfflineEncrypted_DISABLED,+ HlsOfflineEncrypted_ENABLED,+ HlsOfflineEncrypted'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsOutputSelection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsOutputSelection+ ( HlsOutputSelection+ ( ..,+ HlsOutputSelection_MANIFESTS_AND_SEGMENTS,+ HlsOutputSelection_SEGMENTS_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates whether the .m3u8 manifest file should be generated for this+-- HLS output group.+newtype HlsOutputSelection = HlsOutputSelection'+ { fromHlsOutputSelection ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsOutputSelection_MANIFESTS_AND_SEGMENTS :: HlsOutputSelection+pattern HlsOutputSelection_MANIFESTS_AND_SEGMENTS = HlsOutputSelection' "MANIFESTS_AND_SEGMENTS"++pattern HlsOutputSelection_SEGMENTS_ONLY :: HlsOutputSelection+pattern HlsOutputSelection_SEGMENTS_ONLY = HlsOutputSelection' "SEGMENTS_ONLY"++{-# COMPLETE+ HlsOutputSelection_MANIFESTS_AND_SEGMENTS,+ HlsOutputSelection_SEGMENTS_ONLY,+ HlsOutputSelection'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsProgramDateTime+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsProgramDateTime+ ( HlsProgramDateTime+ ( ..,+ HlsProgramDateTime_EXCLUDE,+ HlsProgramDateTime_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest+-- files. The value is calculated as follows: either the program date and+-- time are initialized using the input timecode source, or the time is+-- initialized using the input timecode source and the date is initialized+-- using the timestamp_offset.+newtype HlsProgramDateTime = HlsProgramDateTime'+ { fromHlsProgramDateTime ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsProgramDateTime_EXCLUDE :: HlsProgramDateTime+pattern HlsProgramDateTime_EXCLUDE = HlsProgramDateTime' "EXCLUDE"++pattern HlsProgramDateTime_INCLUDE :: HlsProgramDateTime+pattern HlsProgramDateTime_INCLUDE = HlsProgramDateTime' "INCLUDE"++{-# COMPLETE+ HlsProgramDateTime_EXCLUDE,+ HlsProgramDateTime_INCLUDE,+ HlsProgramDateTime'+ #-}
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsRenditionGroupSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsRenditionGroupSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.LanguageCode+import qualified Amazonka.Prelude as Prelude++-- | Settings specific to audio sources in an HLS alternate rendition group.+-- Specify the properties (renditionGroupId, renditionName or+-- renditionLanguageCode) to identify the unique audio track among the+-- alternative rendition groups present in the HLS manifest. If no unique+-- track is found, or multiple tracks match the properties provided, the+-- job fails. If no properties in hlsRenditionGroupSettings are specified,+-- the default audio track within the video segment is chosen. If there is+-- no audio within video segment, the alternative audio with DEFAULT=YES is+-- chosen instead.+--+-- /See:/ 'newHlsRenditionGroupSettings' smart constructor.+data HlsRenditionGroupSettings = HlsRenditionGroupSettings'+ { -- | Optional. Specify alternative group ID+ renditionGroupId :: Prelude.Maybe Prelude.Text,+ -- | Optional. Specify ISO 639-2 or ISO 639-3 code in the language property+ renditionLanguageCode :: Prelude.Maybe LanguageCode,+ -- | Optional. Specify media name+ renditionName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsRenditionGroupSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'renditionGroupId', 'hlsRenditionGroupSettings_renditionGroupId' - Optional. Specify alternative group ID+--+-- 'renditionLanguageCode', 'hlsRenditionGroupSettings_renditionLanguageCode' - Optional. Specify ISO 639-2 or ISO 639-3 code in the language property+--+-- 'renditionName', 'hlsRenditionGroupSettings_renditionName' - Optional. Specify media name+newHlsRenditionGroupSettings ::+ HlsRenditionGroupSettings+newHlsRenditionGroupSettings =+ HlsRenditionGroupSettings'+ { renditionGroupId =+ Prelude.Nothing,+ renditionLanguageCode = Prelude.Nothing,+ renditionName = Prelude.Nothing+ }++-- | Optional. Specify alternative group ID+hlsRenditionGroupSettings_renditionGroupId :: Lens.Lens' HlsRenditionGroupSettings (Prelude.Maybe Prelude.Text)+hlsRenditionGroupSettings_renditionGroupId = Lens.lens (\HlsRenditionGroupSettings' {renditionGroupId} -> renditionGroupId) (\s@HlsRenditionGroupSettings' {} a -> s {renditionGroupId = a} :: HlsRenditionGroupSettings)++-- | Optional. Specify ISO 639-2 or ISO 639-3 code in the language property+hlsRenditionGroupSettings_renditionLanguageCode :: Lens.Lens' HlsRenditionGroupSettings (Prelude.Maybe LanguageCode)+hlsRenditionGroupSettings_renditionLanguageCode = Lens.lens (\HlsRenditionGroupSettings' {renditionLanguageCode} -> renditionLanguageCode) (\s@HlsRenditionGroupSettings' {} a -> s {renditionLanguageCode = a} :: HlsRenditionGroupSettings)++-- | Optional. Specify media name+hlsRenditionGroupSettings_renditionName :: Lens.Lens' HlsRenditionGroupSettings (Prelude.Maybe Prelude.Text)+hlsRenditionGroupSettings_renditionName = Lens.lens (\HlsRenditionGroupSettings' {renditionName} -> renditionName) (\s@HlsRenditionGroupSettings' {} a -> s {renditionName = a} :: HlsRenditionGroupSettings)++instance Data.FromJSON HlsRenditionGroupSettings where+ parseJSON =+ Data.withObject+ "HlsRenditionGroupSettings"+ ( \x ->+ HlsRenditionGroupSettings'+ Prelude.<$> (x Data..:? "renditionGroupId")+ Prelude.<*> (x Data..:? "renditionLanguageCode")+ Prelude.<*> (x Data..:? "renditionName")+ )++instance Prelude.Hashable HlsRenditionGroupSettings where+ hashWithSalt _salt HlsRenditionGroupSettings' {..} =+ _salt+ `Prelude.hashWithSalt` renditionGroupId+ `Prelude.hashWithSalt` renditionLanguageCode+ `Prelude.hashWithSalt` renditionName++instance Prelude.NFData HlsRenditionGroupSettings where+ rnf HlsRenditionGroupSettings' {..} =+ Prelude.rnf renditionGroupId+ `Prelude.seq` Prelude.rnf renditionLanguageCode+ `Prelude.seq` Prelude.rnf renditionName++instance Data.ToJSON HlsRenditionGroupSettings where+ toJSON HlsRenditionGroupSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("renditionGroupId" Data..=)+ Prelude.<$> renditionGroupId,+ ("renditionLanguageCode" Data..=)+ Prelude.<$> renditionLanguageCode,+ ("renditionName" Data..=) Prelude.<$> renditionName+ ]+ )
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsSegmentControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsSegmentControl+ ( HlsSegmentControl+ ( ..,+ HlsSegmentControl_SEGMENTED_FILES,+ HlsSegmentControl_SINGLE_FILE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to SINGLE_FILE, emits program as a single media resource (.ts)+-- file, uses #EXT-X-BYTERANGE tags to index segment for playback.+newtype HlsSegmentControl = HlsSegmentControl'+ { fromHlsSegmentControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsSegmentControl_SEGMENTED_FILES :: HlsSegmentControl+pattern HlsSegmentControl_SEGMENTED_FILES = HlsSegmentControl' "SEGMENTED_FILES"++pattern HlsSegmentControl_SINGLE_FILE :: HlsSegmentControl+pattern HlsSegmentControl_SINGLE_FILE = HlsSegmentControl' "SINGLE_FILE"++{-# COMPLETE+ HlsSegmentControl_SEGMENTED_FILES,+ HlsSegmentControl_SINGLE_FILE,+ HlsSegmentControl'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsSegmentLengthControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsSegmentLengthControl+ ( HlsSegmentLengthControl+ ( ..,+ HlsSegmentLengthControl_EXACT,+ HlsSegmentLengthControl_GOP_MULTIPLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how you want MediaConvert to determine the segment length.+-- Choose Exact (EXACT) to have the encoder use the exact length that you+-- specify with the setting Segment length (SegmentLength). This might+-- result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have+-- the encoder round up the segment lengths to match the next GOP boundary.+newtype HlsSegmentLengthControl = HlsSegmentLengthControl'+ { fromHlsSegmentLengthControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsSegmentLengthControl_EXACT :: HlsSegmentLengthControl+pattern HlsSegmentLengthControl_EXACT = HlsSegmentLengthControl' "EXACT"++pattern HlsSegmentLengthControl_GOP_MULTIPLE :: HlsSegmentLengthControl+pattern HlsSegmentLengthControl_GOP_MULTIPLE = HlsSegmentLengthControl' "GOP_MULTIPLE"++{-# COMPLETE+ HlsSegmentLengthControl_EXACT,+ HlsSegmentLengthControl_GOP_MULTIPLE,+ HlsSegmentLengthControl'+ #-}
@@ -0,0 +1,273 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.HlsAudioOnlyContainer+import Amazonka.MediaConvert.Types.HlsAudioTrackType+import Amazonka.MediaConvert.Types.HlsDescriptiveVideoServiceFlag+import Amazonka.MediaConvert.Types.HlsIFrameOnlyManifest+import qualified Amazonka.Prelude as Prelude++-- | Settings for HLS output groups+--+-- /See:/ 'newHlsSettings' smart constructor.+data HlsSettings = HlsSettings'+ { -- | Specifies the group to which the audio rendition belongs.+ audioGroupId :: Prelude.Maybe Prelude.Text,+ -- | Use this setting only in audio-only outputs. Choose MPEG-2 Transport+ -- Stream (M2TS) to create a file in an MPEG2-TS container. Keep the+ -- default value Automatic (AUTOMATIC) to create an audio-only file in a+ -- raw container. Regardless of the value that you specify here, if this+ -- output has video, the service will place the output into an MPEG2-TS+ -- container.+ audioOnlyContainer :: Prelude.Maybe HlsAudioOnlyContainer,+ -- | List all the audio groups that are used with the video output stream.+ -- Input all the audio GROUP-IDs that are associated to the video, separate+ -- by \',\'.+ audioRenditionSets :: Prelude.Maybe Prelude.Text,+ -- | Four types of audio-only tracks are supported: Audio-Only Variant Stream+ -- The client can play back this audio-only stream instead of video in+ -- low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS+ -- manifest. Alternate Audio, Auto Select, Default Alternate rendition that+ -- the client should try to play back by default. Represented as an+ -- EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES+ -- Alternate Audio, Auto Select, Not Default Alternate rendition that the+ -- client may try to play back by default. Represented as an EXT-X-MEDIA in+ -- the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not+ -- Auto Select Alternate rendition that the client will not try to play+ -- back by default. Represented as an EXT-X-MEDIA in the HLS manifest with+ -- DEFAULT=NO, AUTOSELECT=NO+ audioTrackType :: Prelude.Maybe HlsAudioTrackType,+ -- | Specify whether to flag this audio track as descriptive video service+ -- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+ -- MediaConvert includes the parameter+ -- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+ -- EXT-X-MEDIA entry for this track. When you keep the default choice,+ -- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+ -- flag can help with accessibility on Apple devices. For more information,+ -- see the Apple documentation.+ descriptiveVideoServiceFlag :: Prelude.Maybe HlsDescriptiveVideoServiceFlag,+ -- | Choose Include (INCLUDE) to have MediaConvert generate a child manifest+ -- that lists only the I-frames for this rendition, in addition to your+ -- regular manifest for this rendition. You might use this manifest as part+ -- of a workflow that creates preview functions for your video.+ -- MediaConvert adds both the I-frame only child manifest and the regular+ -- child manifest to the parent manifest. When you don\'t need the I-frame+ -- only child manifest, keep the default value Exclude (EXCLUDE).+ iFrameOnlyManifest :: Prelude.Maybe HlsIFrameOnlyManifest,+ -- | Use this setting to add an identifying string to the filename of each+ -- segment. The service adds this string between the name modifier and+ -- segment index number. You can use format identifiers in the string. For+ -- more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/using-variables-in-your-job-settings.html+ segmentModifier :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioGroupId', 'hlsSettings_audioGroupId' - Specifies the group to which the audio rendition belongs.+--+-- 'audioOnlyContainer', 'hlsSettings_audioOnlyContainer' - Use this setting only in audio-only outputs. Choose MPEG-2 Transport+-- Stream (M2TS) to create a file in an MPEG2-TS container. Keep the+-- default value Automatic (AUTOMATIC) to create an audio-only file in a+-- raw container. Regardless of the value that you specify here, if this+-- output has video, the service will place the output into an MPEG2-TS+-- container.+--+-- 'audioRenditionSets', 'hlsSettings_audioRenditionSets' - List all the audio groups that are used with the video output stream.+-- Input all the audio GROUP-IDs that are associated to the video, separate+-- by \',\'.+--+-- 'audioTrackType', 'hlsSettings_audioTrackType' - Four types of audio-only tracks are supported: Audio-Only Variant Stream+-- The client can play back this audio-only stream instead of video in+-- low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS+-- manifest. Alternate Audio, Auto Select, Default Alternate rendition that+-- the client should try to play back by default. Represented as an+-- EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES+-- Alternate Audio, Auto Select, Not Default Alternate rendition that the+-- client may try to play back by default. Represented as an EXT-X-MEDIA in+-- the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not+-- Auto Select Alternate rendition that the client will not try to play+-- back by default. Represented as an EXT-X-MEDIA in the HLS manifest with+-- DEFAULT=NO, AUTOSELECT=NO+--+-- 'descriptiveVideoServiceFlag', 'hlsSettings_descriptiveVideoServiceFlag' - Specify whether to flag this audio track as descriptive video service+-- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+-- MediaConvert includes the parameter+-- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+-- EXT-X-MEDIA entry for this track. When you keep the default choice,+-- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+-- flag can help with accessibility on Apple devices. For more information,+-- see the Apple documentation.+--+-- 'iFrameOnlyManifest', 'hlsSettings_iFrameOnlyManifest' - Choose Include (INCLUDE) to have MediaConvert generate a child manifest+-- that lists only the I-frames for this rendition, in addition to your+-- regular manifest for this rendition. You might use this manifest as part+-- of a workflow that creates preview functions for your video.+-- MediaConvert adds both the I-frame only child manifest and the regular+-- child manifest to the parent manifest. When you don\'t need the I-frame+-- only child manifest, keep the default value Exclude (EXCLUDE).+--+-- 'segmentModifier', 'hlsSettings_segmentModifier' - Use this setting to add an identifying string to the filename of each+-- segment. The service adds this string between the name modifier and+-- segment index number. You can use format identifiers in the string. For+-- more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/using-variables-in-your-job-settings.html+newHlsSettings ::+ HlsSettings+newHlsSettings =+ HlsSettings'+ { audioGroupId = Prelude.Nothing,+ audioOnlyContainer = Prelude.Nothing,+ audioRenditionSets = Prelude.Nothing,+ audioTrackType = Prelude.Nothing,+ descriptiveVideoServiceFlag = Prelude.Nothing,+ iFrameOnlyManifest = Prelude.Nothing,+ segmentModifier = Prelude.Nothing+ }++-- | Specifies the group to which the audio rendition belongs.+hlsSettings_audioGroupId :: Lens.Lens' HlsSettings (Prelude.Maybe Prelude.Text)+hlsSettings_audioGroupId = Lens.lens (\HlsSettings' {audioGroupId} -> audioGroupId) (\s@HlsSettings' {} a -> s {audioGroupId = a} :: HlsSettings)++-- | Use this setting only in audio-only outputs. Choose MPEG-2 Transport+-- Stream (M2TS) to create a file in an MPEG2-TS container. Keep the+-- default value Automatic (AUTOMATIC) to create an audio-only file in a+-- raw container. Regardless of the value that you specify here, if this+-- output has video, the service will place the output into an MPEG2-TS+-- container.+hlsSettings_audioOnlyContainer :: Lens.Lens' HlsSettings (Prelude.Maybe HlsAudioOnlyContainer)+hlsSettings_audioOnlyContainer = Lens.lens (\HlsSettings' {audioOnlyContainer} -> audioOnlyContainer) (\s@HlsSettings' {} a -> s {audioOnlyContainer = a} :: HlsSettings)++-- | List all the audio groups that are used with the video output stream.+-- Input all the audio GROUP-IDs that are associated to the video, separate+-- by \',\'.+hlsSettings_audioRenditionSets :: Lens.Lens' HlsSettings (Prelude.Maybe Prelude.Text)+hlsSettings_audioRenditionSets = Lens.lens (\HlsSettings' {audioRenditionSets} -> audioRenditionSets) (\s@HlsSettings' {} a -> s {audioRenditionSets = a} :: HlsSettings)++-- | Four types of audio-only tracks are supported: Audio-Only Variant Stream+-- The client can play back this audio-only stream instead of video in+-- low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS+-- manifest. Alternate Audio, Auto Select, Default Alternate rendition that+-- the client should try to play back by default. Represented as an+-- EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES+-- Alternate Audio, Auto Select, Not Default Alternate rendition that the+-- client may try to play back by default. Represented as an EXT-X-MEDIA in+-- the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not+-- Auto Select Alternate rendition that the client will not try to play+-- back by default. Represented as an EXT-X-MEDIA in the HLS manifest with+-- DEFAULT=NO, AUTOSELECT=NO+hlsSettings_audioTrackType :: Lens.Lens' HlsSettings (Prelude.Maybe HlsAudioTrackType)+hlsSettings_audioTrackType = Lens.lens (\HlsSettings' {audioTrackType} -> audioTrackType) (\s@HlsSettings' {} a -> s {audioTrackType = a} :: HlsSettings)++-- | Specify whether to flag this audio track as descriptive video service+-- (DVS) in your HLS parent manifest. When you choose Flag (FLAG),+-- MediaConvert includes the parameter+-- CHARACTERISTICS=\"public.accessibility.describes-video\" in the+-- EXT-X-MEDIA entry for this track. When you keep the default choice,+-- Don\'t flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS+-- flag can help with accessibility on Apple devices. For more information,+-- see the Apple documentation.+hlsSettings_descriptiveVideoServiceFlag :: Lens.Lens' HlsSettings (Prelude.Maybe HlsDescriptiveVideoServiceFlag)+hlsSettings_descriptiveVideoServiceFlag = Lens.lens (\HlsSettings' {descriptiveVideoServiceFlag} -> descriptiveVideoServiceFlag) (\s@HlsSettings' {} a -> s {descriptiveVideoServiceFlag = a} :: HlsSettings)++-- | Choose Include (INCLUDE) to have MediaConvert generate a child manifest+-- that lists only the I-frames for this rendition, in addition to your+-- regular manifest for this rendition. You might use this manifest as part+-- of a workflow that creates preview functions for your video.+-- MediaConvert adds both the I-frame only child manifest and the regular+-- child manifest to the parent manifest. When you don\'t need the I-frame+-- only child manifest, keep the default value Exclude (EXCLUDE).+hlsSettings_iFrameOnlyManifest :: Lens.Lens' HlsSettings (Prelude.Maybe HlsIFrameOnlyManifest)+hlsSettings_iFrameOnlyManifest = Lens.lens (\HlsSettings' {iFrameOnlyManifest} -> iFrameOnlyManifest) (\s@HlsSettings' {} a -> s {iFrameOnlyManifest = a} :: HlsSettings)++-- | Use this setting to add an identifying string to the filename of each+-- segment. The service adds this string between the name modifier and+-- segment index number. You can use format identifiers in the string. For+-- more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/using-variables-in-your-job-settings.html+hlsSettings_segmentModifier :: Lens.Lens' HlsSettings (Prelude.Maybe Prelude.Text)+hlsSettings_segmentModifier = Lens.lens (\HlsSettings' {segmentModifier} -> segmentModifier) (\s@HlsSettings' {} a -> s {segmentModifier = a} :: HlsSettings)++instance Data.FromJSON HlsSettings where+ parseJSON =+ Data.withObject+ "HlsSettings"+ ( \x ->+ HlsSettings'+ Prelude.<$> (x Data..:? "audioGroupId")+ Prelude.<*> (x Data..:? "audioOnlyContainer")+ Prelude.<*> (x Data..:? "audioRenditionSets")+ Prelude.<*> (x Data..:? "audioTrackType")+ Prelude.<*> (x Data..:? "descriptiveVideoServiceFlag")+ Prelude.<*> (x Data..:? "iFrameOnlyManifest")+ Prelude.<*> (x Data..:? "segmentModifier")+ )++instance Prelude.Hashable HlsSettings where+ hashWithSalt _salt HlsSettings' {..} =+ _salt+ `Prelude.hashWithSalt` audioGroupId+ `Prelude.hashWithSalt` audioOnlyContainer+ `Prelude.hashWithSalt` audioRenditionSets+ `Prelude.hashWithSalt` audioTrackType+ `Prelude.hashWithSalt` descriptiveVideoServiceFlag+ `Prelude.hashWithSalt` iFrameOnlyManifest+ `Prelude.hashWithSalt` segmentModifier++instance Prelude.NFData HlsSettings where+ rnf HlsSettings' {..} =+ Prelude.rnf audioGroupId+ `Prelude.seq` Prelude.rnf audioOnlyContainer+ `Prelude.seq` Prelude.rnf audioRenditionSets+ `Prelude.seq` Prelude.rnf audioTrackType+ `Prelude.seq` Prelude.rnf descriptiveVideoServiceFlag+ `Prelude.seq` Prelude.rnf iFrameOnlyManifest+ `Prelude.seq` Prelude.rnf segmentModifier++instance Data.ToJSON HlsSettings where+ toJSON HlsSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioGroupId" Data..=) Prelude.<$> audioGroupId,+ ("audioOnlyContainer" Data..=)+ Prelude.<$> audioOnlyContainer,+ ("audioRenditionSets" Data..=)+ Prelude.<$> audioRenditionSets,+ ("audioTrackType" Data..=)+ Prelude.<$> audioTrackType,+ ("descriptiveVideoServiceFlag" Data..=)+ Prelude.<$> descriptiveVideoServiceFlag,+ ("iFrameOnlyManifest" Data..=)+ Prelude.<$> iFrameOnlyManifest,+ ("segmentModifier" Data..=)+ Prelude.<$> segmentModifier+ ]+ )
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsStreamInfResolution+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsStreamInfResolution+ ( HlsStreamInfResolution+ ( ..,+ HlsStreamInfResolution_EXCLUDE,+ HlsStreamInfResolution_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF+-- tag of variant manifest.+newtype HlsStreamInfResolution = HlsStreamInfResolution'+ { fromHlsStreamInfResolution ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsStreamInfResolution_EXCLUDE :: HlsStreamInfResolution+pattern HlsStreamInfResolution_EXCLUDE = HlsStreamInfResolution' "EXCLUDE"++pattern HlsStreamInfResolution_INCLUDE :: HlsStreamInfResolution+pattern HlsStreamInfResolution_INCLUDE = HlsStreamInfResolution' "INCLUDE"++{-# COMPLETE+ HlsStreamInfResolution_EXCLUDE,+ HlsStreamInfResolution_INCLUDE,+ HlsStreamInfResolution'+ #-}
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsTargetDurationCompatibilityMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsTargetDurationCompatibilityMode+ ( HlsTargetDurationCompatibilityMode+ ( ..,+ HlsTargetDurationCompatibilityMode_LEGACY,+ HlsTargetDurationCompatibilityMode_SPEC_COMPLIANT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to LEGACY, the segment target duration is always rounded up to+-- the nearest integer value above its current value in seconds. When set+-- to SPEC\\\\_COMPLIANT, the segment target duration is rounded up to the+-- nearest integer value if fraction seconds are greater than or equal to+-- 0.5 (>= 0.5) and rounded down if less than 0.5 (\< 0.5). You may need to+-- use LEGACY if your client needs to ensure that the target duration is+-- always longer than the actual duration of the segment. Some older+-- players may experience interrupted playback when the actual duration of+-- a track in a segment is longer than the target duration.+newtype HlsTargetDurationCompatibilityMode = HlsTargetDurationCompatibilityMode'+ { fromHlsTargetDurationCompatibilityMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsTargetDurationCompatibilityMode_LEGACY :: HlsTargetDurationCompatibilityMode+pattern HlsTargetDurationCompatibilityMode_LEGACY = HlsTargetDurationCompatibilityMode' "LEGACY"++pattern HlsTargetDurationCompatibilityMode_SPEC_COMPLIANT :: HlsTargetDurationCompatibilityMode+pattern HlsTargetDurationCompatibilityMode_SPEC_COMPLIANT = HlsTargetDurationCompatibilityMode' "SPEC_COMPLIANT"++{-# COMPLETE+ HlsTargetDurationCompatibilityMode_LEGACY,+ HlsTargetDurationCompatibilityMode_SPEC_COMPLIANT,+ HlsTargetDurationCompatibilityMode'+ #-}
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HlsTimedMetadataId3Frame+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HlsTimedMetadataId3Frame+ ( HlsTimedMetadataId3Frame+ ( ..,+ HlsTimedMetadataId3Frame_NONE,+ HlsTimedMetadataId3Frame_PRIV,+ HlsTimedMetadataId3Frame_TDRL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the type of the ID3 frame (timedMetadataId3Frame) to use for ID3+-- timestamps (timedMetadataId3Period) in your output. To include ID3+-- timestamps: Specify PRIV (PRIV) or TDRL (TDRL) and set ID3 metadata+-- (timedMetadata) to Passthrough (PASSTHROUGH). To exclude ID3 timestamps:+-- Set ID3 timestamp frame type to None (NONE).+newtype HlsTimedMetadataId3Frame = HlsTimedMetadataId3Frame'+ { fromHlsTimedMetadataId3Frame ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HlsTimedMetadataId3Frame_NONE :: HlsTimedMetadataId3Frame+pattern HlsTimedMetadataId3Frame_NONE = HlsTimedMetadataId3Frame' "NONE"++pattern HlsTimedMetadataId3Frame_PRIV :: HlsTimedMetadataId3Frame+pattern HlsTimedMetadataId3Frame_PRIV = HlsTimedMetadataId3Frame' "PRIV"++pattern HlsTimedMetadataId3Frame_TDRL :: HlsTimedMetadataId3Frame+pattern HlsTimedMetadataId3Frame_TDRL = HlsTimedMetadataId3Frame' "TDRL"++{-# COMPLETE+ HlsTimedMetadataId3Frame_NONE,+ HlsTimedMetadataId3Frame_PRIV,+ HlsTimedMetadataId3Frame_TDRL,+ HlsTimedMetadataId3Frame'+ #-}
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.HopDestination+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.HopDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. Configuration for a destination queue to which the job can hop+-- once a customer-defined minimum wait time has passed.+--+-- /See:/ 'newHopDestination' smart constructor.+data HopDestination = HopDestination'+ { -- | Optional. When you set up a job to use queue hopping, you can specify a+ -- different relative priority for the job in the destination queue. If you+ -- don\'t specify, the relative priority will remain the same as in the+ -- previous queue.+ priority :: Prelude.Maybe Prelude.Int,+ -- | Optional unless the job is submitted on the default queue. When you set+ -- up a job to use queue hopping, you can specify a destination queue. This+ -- queue cannot be the original queue to which the job is submitted. If the+ -- original queue isn\'t the default queue and you don\'t specify the+ -- destination queue, the job will move to the default queue.+ queue :: Prelude.Maybe Prelude.Text,+ -- | Required for setting up a job to use queue hopping. Minimum wait time in+ -- minutes until the job can hop to the destination queue. Valid range is 1+ -- to 1440 minutes, inclusive.+ waitMinutes :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HopDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'priority', 'hopDestination_priority' - Optional. When you set up a job to use queue hopping, you can specify a+-- different relative priority for the job in the destination queue. If you+-- don\'t specify, the relative priority will remain the same as in the+-- previous queue.+--+-- 'queue', 'hopDestination_queue' - Optional unless the job is submitted on the default queue. When you set+-- up a job to use queue hopping, you can specify a destination queue. This+-- queue cannot be the original queue to which the job is submitted. If the+-- original queue isn\'t the default queue and you don\'t specify the+-- destination queue, the job will move to the default queue.+--+-- 'waitMinutes', 'hopDestination_waitMinutes' - Required for setting up a job to use queue hopping. Minimum wait time in+-- minutes until the job can hop to the destination queue. Valid range is 1+-- to 1440 minutes, inclusive.+newHopDestination ::+ HopDestination+newHopDestination =+ HopDestination'+ { priority = Prelude.Nothing,+ queue = Prelude.Nothing,+ waitMinutes = Prelude.Nothing+ }++-- | Optional. When you set up a job to use queue hopping, you can specify a+-- different relative priority for the job in the destination queue. If you+-- don\'t specify, the relative priority will remain the same as in the+-- previous queue.+hopDestination_priority :: Lens.Lens' HopDestination (Prelude.Maybe Prelude.Int)+hopDestination_priority = Lens.lens (\HopDestination' {priority} -> priority) (\s@HopDestination' {} a -> s {priority = a} :: HopDestination)++-- | Optional unless the job is submitted on the default queue. When you set+-- up a job to use queue hopping, you can specify a destination queue. This+-- queue cannot be the original queue to which the job is submitted. If the+-- original queue isn\'t the default queue and you don\'t specify the+-- destination queue, the job will move to the default queue.+hopDestination_queue :: Lens.Lens' HopDestination (Prelude.Maybe Prelude.Text)+hopDestination_queue = Lens.lens (\HopDestination' {queue} -> queue) (\s@HopDestination' {} a -> s {queue = a} :: HopDestination)++-- | Required for setting up a job to use queue hopping. Minimum wait time in+-- minutes until the job can hop to the destination queue. Valid range is 1+-- to 1440 minutes, inclusive.+hopDestination_waitMinutes :: Lens.Lens' HopDestination (Prelude.Maybe Prelude.Int)+hopDestination_waitMinutes = Lens.lens (\HopDestination' {waitMinutes} -> waitMinutes) (\s@HopDestination' {} a -> s {waitMinutes = a} :: HopDestination)++instance Data.FromJSON HopDestination where+ parseJSON =+ Data.withObject+ "HopDestination"+ ( \x ->+ HopDestination'+ Prelude.<$> (x Data..:? "priority")+ Prelude.<*> (x Data..:? "queue")+ Prelude.<*> (x Data..:? "waitMinutes")+ )++instance Prelude.Hashable HopDestination where+ hashWithSalt _salt HopDestination' {..} =+ _salt+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` queue+ `Prelude.hashWithSalt` waitMinutes++instance Prelude.NFData HopDestination where+ rnf HopDestination' {..} =+ Prelude.rnf priority+ `Prelude.seq` Prelude.rnf queue+ `Prelude.seq` Prelude.rnf waitMinutes++instance Data.ToJSON HopDestination where+ toJSON HopDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("priority" Data..=) Prelude.<$> priority,+ ("queue" Data..=) Prelude.<$> queue,+ ("waitMinutes" Data..=) Prelude.<$> waitMinutes+ ]+ )
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Id3Insertion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Id3Insertion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3)+-- to specify the base 64 encoded string and use Timecode (TimeCode) to+-- specify the time when the tag should be inserted. To insert multiple ID3+-- tags in your output, create multiple instances of ID3 insertion+-- (Id3Insertion).+--+-- /See:/ 'newId3Insertion' smart constructor.+data Id3Insertion = Id3Insertion'+ { -- | Use ID3 tag (Id3) to provide a fully formed ID3 tag in base64-encode+ -- format.+ id3 :: Prelude.Maybe Prelude.Text,+ -- | Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.+ timecode :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Id3Insertion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id3', 'id3Insertion_id3' - Use ID3 tag (Id3) to provide a fully formed ID3 tag in base64-encode+-- format.+--+-- 'timecode', 'id3Insertion_timecode' - Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.+newId3Insertion ::+ Id3Insertion+newId3Insertion =+ Id3Insertion'+ { id3 = Prelude.Nothing,+ timecode = Prelude.Nothing+ }++-- | Use ID3 tag (Id3) to provide a fully formed ID3 tag in base64-encode+-- format.+id3Insertion_id3 :: Lens.Lens' Id3Insertion (Prelude.Maybe Prelude.Text)+id3Insertion_id3 = Lens.lens (\Id3Insertion' {id3} -> id3) (\s@Id3Insertion' {} a -> s {id3 = a} :: Id3Insertion)++-- | Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.+id3Insertion_timecode :: Lens.Lens' Id3Insertion (Prelude.Maybe Prelude.Text)+id3Insertion_timecode = Lens.lens (\Id3Insertion' {timecode} -> timecode) (\s@Id3Insertion' {} a -> s {timecode = a} :: Id3Insertion)++instance Data.FromJSON Id3Insertion where+ parseJSON =+ Data.withObject+ "Id3Insertion"+ ( \x ->+ Id3Insertion'+ Prelude.<$> (x Data..:? "id3")+ Prelude.<*> (x Data..:? "timecode")+ )++instance Prelude.Hashable Id3Insertion where+ hashWithSalt _salt Id3Insertion' {..} =+ _salt+ `Prelude.hashWithSalt` id3+ `Prelude.hashWithSalt` timecode++instance Prelude.NFData Id3Insertion where+ rnf Id3Insertion' {..} =+ Prelude.rnf id3 `Prelude.seq` Prelude.rnf timecode++instance Data.ToJSON Id3Insertion where+ toJSON Id3Insertion' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("id3" Data..=) Prelude.<$> id3,+ ("timecode" Data..=) Prelude.<$> timecode+ ]+ )
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ImageInserter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ImageInserter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.InsertableImage+import qualified Amazonka.Prelude as Prelude++-- | Use the image inserter feature to include a graphic overlay on your+-- video. Enable or disable this feature for each input or output+-- individually. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/graphic-overlay.html.+-- This setting is disabled by default.+--+-- /See:/ 'newImageInserter' smart constructor.+data ImageInserter = ImageInserter'+ { -- | Specify the images that you want to overlay on your video. The images+ -- must be PNG or TGA files.+ insertableImages :: Prelude.Maybe [InsertableImage],+ -- | Specify the reference white level, in nits, for all of your image+ -- inserter images. Use to correct brightness levels within HDR10 outputs.+ -- For 1,000 nit peak brightness displays, we recommend that you set SDR+ -- reference white level to 203 (according to ITU-R BT.2408). Leave blank+ -- to use the default value of 100, or specify an integer from 100 to 1000.+ sdrReferenceWhiteLevel :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageInserter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'insertableImages', 'imageInserter_insertableImages' - Specify the images that you want to overlay on your video. The images+-- must be PNG or TGA files.+--+-- 'sdrReferenceWhiteLevel', 'imageInserter_sdrReferenceWhiteLevel' - Specify the reference white level, in nits, for all of your image+-- inserter images. Use to correct brightness levels within HDR10 outputs.+-- For 1,000 nit peak brightness displays, we recommend that you set SDR+-- reference white level to 203 (according to ITU-R BT.2408). Leave blank+-- to use the default value of 100, or specify an integer from 100 to 1000.+newImageInserter ::+ ImageInserter+newImageInserter =+ ImageInserter'+ { insertableImages = Prelude.Nothing,+ sdrReferenceWhiteLevel = Prelude.Nothing+ }++-- | Specify the images that you want to overlay on your video. The images+-- must be PNG or TGA files.+imageInserter_insertableImages :: Lens.Lens' ImageInserter (Prelude.Maybe [InsertableImage])+imageInserter_insertableImages = Lens.lens (\ImageInserter' {insertableImages} -> insertableImages) (\s@ImageInserter' {} a -> s {insertableImages = a} :: ImageInserter) Prelude.. Lens.mapping Lens.coerced++-- | Specify the reference white level, in nits, for all of your image+-- inserter images. Use to correct brightness levels within HDR10 outputs.+-- For 1,000 nit peak brightness displays, we recommend that you set SDR+-- reference white level to 203 (according to ITU-R BT.2408). Leave blank+-- to use the default value of 100, or specify an integer from 100 to 1000.+imageInserter_sdrReferenceWhiteLevel :: Lens.Lens' ImageInserter (Prelude.Maybe Prelude.Natural)+imageInserter_sdrReferenceWhiteLevel = Lens.lens (\ImageInserter' {sdrReferenceWhiteLevel} -> sdrReferenceWhiteLevel) (\s@ImageInserter' {} a -> s {sdrReferenceWhiteLevel = a} :: ImageInserter)++instance Data.FromJSON ImageInserter where+ parseJSON =+ Data.withObject+ "ImageInserter"+ ( \x ->+ ImageInserter'+ Prelude.<$> ( x+ Data..:? "insertableImages"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "sdrReferenceWhiteLevel")+ )++instance Prelude.Hashable ImageInserter where+ hashWithSalt _salt ImageInserter' {..} =+ _salt+ `Prelude.hashWithSalt` insertableImages+ `Prelude.hashWithSalt` sdrReferenceWhiteLevel++instance Prelude.NFData ImageInserter where+ rnf ImageInserter' {..} =+ Prelude.rnf insertableImages+ `Prelude.seq` Prelude.rnf sdrReferenceWhiteLevel++instance Data.ToJSON ImageInserter where+ toJSON ImageInserter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("insertableImages" Data..=)+ Prelude.<$> insertableImages,+ ("sdrReferenceWhiteLevel" Data..=)+ Prelude.<$> sdrReferenceWhiteLevel+ ]+ )
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ImscAccessibilitySubs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ImscAccessibilitySubs+ ( ImscAccessibilitySubs+ ( ..,+ ImscAccessibilitySubs_DISABLED,+ ImscAccessibilitySubs_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Set Accessibility subtitles to Enabled if the ISMC or WebVTT captions+-- track is intended to provide accessibility for people who are deaf or+-- hard of hearing. When you enable this feature, MediaConvert adds the+-- following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for+-- this track:+-- CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\"+-- and AUTOSELECT=\"YES\". Keep the default value, Disabled, if the+-- captions track is not intended to provide such accessibility.+-- MediaConvert will not add the above attributes.+newtype ImscAccessibilitySubs = ImscAccessibilitySubs'+ { fromImscAccessibilitySubs ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ImscAccessibilitySubs_DISABLED :: ImscAccessibilitySubs+pattern ImscAccessibilitySubs_DISABLED = ImscAccessibilitySubs' "DISABLED"++pattern ImscAccessibilitySubs_ENABLED :: ImscAccessibilitySubs+pattern ImscAccessibilitySubs_ENABLED = ImscAccessibilitySubs' "ENABLED"++{-# COMPLETE+ ImscAccessibilitySubs_DISABLED,+ ImscAccessibilitySubs_ENABLED,+ ImscAccessibilitySubs'+ #-}
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ImscDestinationSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ImscDestinationSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.ImscAccessibilitySubs+import Amazonka.MediaConvert.Types.ImscStylePassthrough+import qualified Amazonka.Prelude as Prelude++-- | Settings related to IMSC captions. IMSC is a sidecar format that holds+-- captions in a file that is separate from the video container. Set up+-- sidecar captions in the same output group, but different output from+-- your video. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/ttml-and-webvtt-output-captions.html.+-- When you work directly in your JSON job specification, include this+-- object and any required children when you set destinationType to IMSC.+--+-- /See:/ 'newImscDestinationSettings' smart constructor.+data ImscDestinationSettings = ImscDestinationSettings'+ { -- | Set Accessibility subtitles to Enabled if the ISMC or WebVTT captions+ -- track is intended to provide accessibility for people who are deaf or+ -- hard of hearing. When you enable this feature, MediaConvert adds the+ -- following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for+ -- this track:+ -- CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\"+ -- and AUTOSELECT=\"YES\". Keep the default value, Disabled, if the+ -- captions track is not intended to provide such accessibility.+ -- MediaConvert will not add the above attributes.+ accessibility :: Prelude.Maybe ImscAccessibilitySubs,+ -- | Keep this setting enabled to have MediaConvert use the font style and+ -- position information from the captions source in the output. This option+ -- is available only when your input captions are IMSC, SMPTE-TT, or TTML.+ -- Disable this setting for simplified output captions.+ stylePassthrough :: Prelude.Maybe ImscStylePassthrough+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImscDestinationSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessibility', 'imscDestinationSettings_accessibility' - Set Accessibility subtitles to Enabled if the ISMC or WebVTT captions+-- track is intended to provide accessibility for people who are deaf or+-- hard of hearing. When you enable this feature, MediaConvert adds the+-- following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for+-- this track:+-- CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\"+-- and AUTOSELECT=\"YES\". Keep the default value, Disabled, if the+-- captions track is not intended to provide such accessibility.+-- MediaConvert will not add the above attributes.+--+-- 'stylePassthrough', 'imscDestinationSettings_stylePassthrough' - Keep this setting enabled to have MediaConvert use the font style and+-- position information from the captions source in the output. This option+-- is available only when your input captions are IMSC, SMPTE-TT, or TTML.+-- Disable this setting for simplified output captions.+newImscDestinationSettings ::+ ImscDestinationSettings+newImscDestinationSettings =+ ImscDestinationSettings'+ { accessibility =+ Prelude.Nothing,+ stylePassthrough = Prelude.Nothing+ }++-- | Set Accessibility subtitles to Enabled if the ISMC or WebVTT captions+-- track is intended to provide accessibility for people who are deaf or+-- hard of hearing. When you enable this feature, MediaConvert adds the+-- following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for+-- this track:+-- CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\"+-- and AUTOSELECT=\"YES\". Keep the default value, Disabled, if the+-- captions track is not intended to provide such accessibility.+-- MediaConvert will not add the above attributes.+imscDestinationSettings_accessibility :: Lens.Lens' ImscDestinationSettings (Prelude.Maybe ImscAccessibilitySubs)+imscDestinationSettings_accessibility = Lens.lens (\ImscDestinationSettings' {accessibility} -> accessibility) (\s@ImscDestinationSettings' {} a -> s {accessibility = a} :: ImscDestinationSettings)++-- | Keep this setting enabled to have MediaConvert use the font style and+-- position information from the captions source in the output. This option+-- is available only when your input captions are IMSC, SMPTE-TT, or TTML.+-- Disable this setting for simplified output captions.+imscDestinationSettings_stylePassthrough :: Lens.Lens' ImscDestinationSettings (Prelude.Maybe ImscStylePassthrough)+imscDestinationSettings_stylePassthrough = Lens.lens (\ImscDestinationSettings' {stylePassthrough} -> stylePassthrough) (\s@ImscDestinationSettings' {} a -> s {stylePassthrough = a} :: ImscDestinationSettings)++instance Data.FromJSON ImscDestinationSettings where+ parseJSON =+ Data.withObject+ "ImscDestinationSettings"+ ( \x ->+ ImscDestinationSettings'+ Prelude.<$> (x Data..:? "accessibility")+ Prelude.<*> (x Data..:? "stylePassthrough")+ )++instance Prelude.Hashable ImscDestinationSettings where+ hashWithSalt _salt ImscDestinationSettings' {..} =+ _salt+ `Prelude.hashWithSalt` accessibility+ `Prelude.hashWithSalt` stylePassthrough++instance Prelude.NFData ImscDestinationSettings where+ rnf ImscDestinationSettings' {..} =+ Prelude.rnf accessibility+ `Prelude.seq` Prelude.rnf stylePassthrough++instance Data.ToJSON ImscDestinationSettings where+ toJSON ImscDestinationSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("accessibility" Data..=) Prelude.<$> accessibility,+ ("stylePassthrough" Data..=)+ Prelude.<$> stylePassthrough+ ]+ )
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.ImscStylePassthrough+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.ImscStylePassthrough+ ( ImscStylePassthrough+ ( ..,+ ImscStylePassthrough_DISABLED,+ ImscStylePassthrough_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Keep this setting enabled to have MediaConvert use the font style and+-- position information from the captions source in the output. This option+-- is available only when your input captions are IMSC, SMPTE-TT, or TTML.+-- Disable this setting for simplified output captions.+newtype ImscStylePassthrough = ImscStylePassthrough'+ { fromImscStylePassthrough ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ImscStylePassthrough_DISABLED :: ImscStylePassthrough+pattern ImscStylePassthrough_DISABLED = ImscStylePassthrough' "DISABLED"++pattern ImscStylePassthrough_ENABLED :: ImscStylePassthrough+pattern ImscStylePassthrough_ENABLED = ImscStylePassthrough' "ENABLED"++{-# COMPLETE+ ImscStylePassthrough_DISABLED,+ ImscStylePassthrough_ENABLED,+ ImscStylePassthrough'+ #-}
@@ -0,0 +1,686 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Input+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Input where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AudioSelector+import Amazonka.MediaConvert.Types.AudioSelectorGroup+import Amazonka.MediaConvert.Types.CaptionSelector+import Amazonka.MediaConvert.Types.ImageInserter+import Amazonka.MediaConvert.Types.InputClipping+import Amazonka.MediaConvert.Types.InputDeblockFilter+import Amazonka.MediaConvert.Types.InputDecryptionSettings+import Amazonka.MediaConvert.Types.InputDenoiseFilter+import Amazonka.MediaConvert.Types.InputFilterEnable+import Amazonka.MediaConvert.Types.InputPsiControl+import Amazonka.MediaConvert.Types.InputScanType+import Amazonka.MediaConvert.Types.InputTimecodeSource+import Amazonka.MediaConvert.Types.InputVideoGenerator+import Amazonka.MediaConvert.Types.Rectangle+import Amazonka.MediaConvert.Types.VideoSelector+import qualified Amazonka.Prelude as Prelude++-- | Use inputs to define the source files used in your transcoding job. For+-- more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/specify-input-settings.html.+-- You can use multiple video inputs to do input stitching. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/assembling-multiple-inputs-and-input-clips.html+--+-- /See:/ 'newInput' smart constructor.+data Input = Input'+ { -- | Use audio selector groups to combine multiple sidecar audio inputs so+ -- that you can assign them to a single output audio tab+ -- (AudioDescription). Note that, if you\'re working with embedded audio,+ -- it\'s simpler to assign multiple input tracks into a single audio+ -- selector rather than use an audio selector group.+ audioSelectorGroups :: Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelectorGroup),+ -- | Use Audio selectors (AudioSelectors) to specify a track or set of tracks+ -- from the input that you will use in your outputs. You can use multiple+ -- Audio selectors per input.+ audioSelectors :: Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelector),+ -- | Use captions selectors to specify the captions data from your input that+ -- you use in your outputs. You can use up to 20 captions selectors per+ -- input.+ captionSelectors :: Prelude.Maybe (Prelude.HashMap Prelude.Text CaptionSelector),+ -- | Use Cropping selection (crop) to specify the video area that the service+ -- will include in the output video frame. If you specify a value here, it+ -- will override any value that you specify in the output setting Cropping+ -- selection (crop).+ crop :: Prelude.Maybe Rectangle,+ -- | Enable Deblock (InputDeblockFilter) to produce smoother motion in the+ -- output. Default is disabled. Only manually controllable for MPEG2 and+ -- uncompressed video inputs.+ deblockFilter :: Prelude.Maybe InputDeblockFilter,+ -- | Settings for decrypting any input files that you encrypt before you+ -- upload them to Amazon S3. MediaConvert can decrypt files only when you+ -- use AWS Key Management Service (KMS) to encrypt the data key that you+ -- use to encrypt your content.+ decryptionSettings :: Prelude.Maybe InputDecryptionSettings,+ -- | Enable Denoise (InputDenoiseFilter) to filter noise from the input.+ -- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+ -- uncompressed video inputs.+ denoiseFilter :: Prelude.Maybe InputDenoiseFilter,+ -- | Use this setting only when your video source has Dolby Vision studio+ -- mastering metadata that is carried in a separate XML file. Specify the+ -- Amazon S3 location for the metadata XML file. MediaConvert uses this+ -- file to provide global and frame-level metadata for Dolby Vision+ -- preprocessing. When you specify a file here and your input also has+ -- interleaved global and frame level metadata, MediaConvert ignores the+ -- interleaved metadata and uses only the the metadata from this external+ -- XML file. Note that your IAM service role must grant MediaConvert read+ -- permissions to this file. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+ dolbyVisionMetadataXml :: Prelude.Maybe Prelude.Text,+ -- | Specify the source file for your transcoding job. You can use multiple+ -- inputs in a single job. The service concatenates these inputs, in the+ -- order that you specify them in the job, to create the outputs. If your+ -- input format is IMF, specify your input by providing the path to your+ -- CPL. For example, \"s3:\/\/bucket\/vf\/cpl.xml\". If the CPL is in an+ -- incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps)+ -- to specify any supplemental IMPs that contain assets referenced by the+ -- CPL.+ fileInput :: Prelude.Maybe Prelude.Text,+ -- | Specify how the transcoding service applies the denoise and deblock+ -- filters. You must also enable the filters separately, with Denoise+ -- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+ -- transcoding service determines whether to apply filtering, depending on+ -- input type and quality. * Disable - The input is not filtered. This is+ -- true even if you use the API to enable them in (InputDeblockFilter) and+ -- (InputDeblockFilter). * Force - The input is filtered regardless of+ -- input type.+ filterEnable :: Prelude.Maybe InputFilterEnable,+ -- | Use Filter strength (FilterStrength) to adjust the magnitude the input+ -- filter settings (Deblock and Denoise). The range is -5 to 5. Default is+ -- 0.+ filterStrength :: Prelude.Maybe Prelude.Int,+ -- | Enable the image inserter feature to include a graphic overlay on your+ -- video. Enable or disable this feature for each input individually. This+ -- setting is disabled by default.+ imageInserter :: Prelude.Maybe ImageInserter,+ -- | (InputClippings) contains sets of start and end times that together+ -- specify a portion of the input to be used in the outputs. If you provide+ -- only a start time, the clip will be the entire input from that point to+ -- the end. If you provide only an end time, it will be the entire input up+ -- to that point. When you specify more than one input clip, the+ -- transcoding service creates the job outputs by stringing the clips+ -- together in the order you specify them.+ inputClippings :: Prelude.Maybe [InputClipping],+ -- | When you have a progressive segmented frame (PsF) input, use this+ -- setting to flag the input as PsF. MediaConvert doesn\'t automatically+ -- detect PsF. Therefore, flagging your input as PsF results in better+ -- preservation of video quality when you do deinterlacing and frame rate+ -- conversion. If you don\'t specify, the default value is Auto (AUTO).+ -- Auto is the correct setting for all inputs that are not PsF. Don\'t set+ -- this value to PsF when your input is interlaced. Doing so creates+ -- horizontal interlacing artifacts.+ inputScanType :: Prelude.Maybe InputScanType,+ -- | Use Selection placement (position) to define the video area in your+ -- output frame. The area outside of the rectangle that you specify here is+ -- black. If you specify a value here, it will override any value that you+ -- specify in the output setting Selection placement (position). If you+ -- specify a value here, this will override any AFD values in your input,+ -- even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If+ -- you specify a value here, this will ignore anything that you specify for+ -- the setting Scaling Behavior (scalingBehavior).+ position :: Prelude.Maybe Rectangle,+ -- | Use Program (programNumber) to select a specific program from within a+ -- multi-program transport stream. Note that Quad 4K is not currently+ -- supported. Default is the first program within the transport stream. If+ -- the program you specify doesn\'t exist, the transcoding service will use+ -- this default.+ programNumber :: Prelude.Maybe Prelude.Natural,+ -- | Set PSI control (InputPsiControl) for transport stream inputs to specify+ -- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+ -- audio and video. * Use PSI - Scan only PSI data.+ psiControl :: Prelude.Maybe InputPsiControl,+ -- | Provide a list of any necessary supplemental IMPs. You need supplemental+ -- IMPs if the CPL that you\'re using for your input is in an incomplete+ -- IMP. Specify either the supplemental IMP directories with a trailing+ -- slash or the ASSETMAP.xml files. For example [\"s3:\/\/bucket\/ov\/\",+ -- \"s3:\/\/bucket\/vf2\/ASSETMAP.xml\"]. You don\'t need to specify the+ -- IMP that contains your input CPL, because the service automatically+ -- detects it.+ supplementalImps :: Prelude.Maybe [Prelude.Text],+ -- | Use this Timecode source setting, located under the input settings+ -- (InputTimecodeSource), to specify how the service counts input video+ -- frames. This input frame count affects only the behavior of features+ -- that apply to a single input at a time, such as input clipping and+ -- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+ -- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+ -- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+ -- to start the first frame at the timecode that you specify in the setting+ -- Start timecode (timecodeStart). If you don\'t specify a value for+ -- Timecode source, the service will use Embedded by default. For more+ -- information about timecodes, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+ timecodeSource :: Prelude.Maybe InputTimecodeSource,+ -- | Specify the timecode that you want the service to use for this input\'s+ -- initial frame. To use this setting, you must set the Timecode source+ -- setting, located under the input settings (InputTimecodeSource), to+ -- Specified start (SPECIFIEDSTART). For more information about timecodes,+ -- see https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+ timecodeStart :: Prelude.Maybe Prelude.Text,+ -- | When you include Video generator, MediaConvert creates a video input+ -- with black frames. Use this setting if you do not have a video input or+ -- if you want to add black video frames before, or after, other inputs.+ -- You can specify Video generator, or you can specify an Input file, but+ -- you cannot specify both. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/video-generator.html+ videoGenerator :: Prelude.Maybe InputVideoGenerator,+ -- | Input video selectors contain the video settings for the input. Each of+ -- your inputs can have up to one video selector.+ videoSelector :: Prelude.Maybe VideoSelector+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Input' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioSelectorGroups', 'input_audioSelectorGroups' - Use audio selector groups to combine multiple sidecar audio inputs so+-- that you can assign them to a single output audio tab+-- (AudioDescription). Note that, if you\'re working with embedded audio,+-- it\'s simpler to assign multiple input tracks into a single audio+-- selector rather than use an audio selector group.+--+-- 'audioSelectors', 'input_audioSelectors' - Use Audio selectors (AudioSelectors) to specify a track or set of tracks+-- from the input that you will use in your outputs. You can use multiple+-- Audio selectors per input.+--+-- 'captionSelectors', 'input_captionSelectors' - Use captions selectors to specify the captions data from your input that+-- you use in your outputs. You can use up to 20 captions selectors per+-- input.+--+-- 'crop', 'input_crop' - Use Cropping selection (crop) to specify the video area that the service+-- will include in the output video frame. If you specify a value here, it+-- will override any value that you specify in the output setting Cropping+-- selection (crop).+--+-- 'deblockFilter', 'input_deblockFilter' - Enable Deblock (InputDeblockFilter) to produce smoother motion in the+-- output. Default is disabled. Only manually controllable for MPEG2 and+-- uncompressed video inputs.+--+-- 'decryptionSettings', 'input_decryptionSettings' - Settings for decrypting any input files that you encrypt before you+-- upload them to Amazon S3. MediaConvert can decrypt files only when you+-- use AWS Key Management Service (KMS) to encrypt the data key that you+-- use to encrypt your content.+--+-- 'denoiseFilter', 'input_denoiseFilter' - Enable Denoise (InputDenoiseFilter) to filter noise from the input.+-- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+-- uncompressed video inputs.+--+-- 'dolbyVisionMetadataXml', 'input_dolbyVisionMetadataXml' - Use this setting only when your video source has Dolby Vision studio+-- mastering metadata that is carried in a separate XML file. Specify the+-- Amazon S3 location for the metadata XML file. MediaConvert uses this+-- file to provide global and frame-level metadata for Dolby Vision+-- preprocessing. When you specify a file here and your input also has+-- interleaved global and frame level metadata, MediaConvert ignores the+-- interleaved metadata and uses only the the metadata from this external+-- XML file. Note that your IAM service role must grant MediaConvert read+-- permissions to this file. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+--+-- 'fileInput', 'input_fileInput' - Specify the source file for your transcoding job. You can use multiple+-- inputs in a single job. The service concatenates these inputs, in the+-- order that you specify them in the job, to create the outputs. If your+-- input format is IMF, specify your input by providing the path to your+-- CPL. For example, \"s3:\/\/bucket\/vf\/cpl.xml\". If the CPL is in an+-- incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps)+-- to specify any supplemental IMPs that contain assets referenced by the+-- CPL.+--+-- 'filterEnable', 'input_filterEnable' - Specify how the transcoding service applies the denoise and deblock+-- filters. You must also enable the filters separately, with Denoise+-- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+-- transcoding service determines whether to apply filtering, depending on+-- input type and quality. * Disable - The input is not filtered. This is+-- true even if you use the API to enable them in (InputDeblockFilter) and+-- (InputDeblockFilter). * Force - The input is filtered regardless of+-- input type.+--+-- 'filterStrength', 'input_filterStrength' - Use Filter strength (FilterStrength) to adjust the magnitude the input+-- filter settings (Deblock and Denoise). The range is -5 to 5. Default is+-- 0.+--+-- 'imageInserter', 'input_imageInserter' - Enable the image inserter feature to include a graphic overlay on your+-- video. Enable or disable this feature for each input individually. This+-- setting is disabled by default.+--+-- 'inputClippings', 'input_inputClippings' - (InputClippings) contains sets of start and end times that together+-- specify a portion of the input to be used in the outputs. If you provide+-- only a start time, the clip will be the entire input from that point to+-- the end. If you provide only an end time, it will be the entire input up+-- to that point. When you specify more than one input clip, the+-- transcoding service creates the job outputs by stringing the clips+-- together in the order you specify them.+--+-- 'inputScanType', 'input_inputScanType' - When you have a progressive segmented frame (PsF) input, use this+-- setting to flag the input as PsF. MediaConvert doesn\'t automatically+-- detect PsF. Therefore, flagging your input as PsF results in better+-- preservation of video quality when you do deinterlacing and frame rate+-- conversion. If you don\'t specify, the default value is Auto (AUTO).+-- Auto is the correct setting for all inputs that are not PsF. Don\'t set+-- this value to PsF when your input is interlaced. Doing so creates+-- horizontal interlacing artifacts.+--+-- 'position', 'input_position' - Use Selection placement (position) to define the video area in your+-- output frame. The area outside of the rectangle that you specify here is+-- black. If you specify a value here, it will override any value that you+-- specify in the output setting Selection placement (position). If you+-- specify a value here, this will override any AFD values in your input,+-- even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If+-- you specify a value here, this will ignore anything that you specify for+-- the setting Scaling Behavior (scalingBehavior).+--+-- 'programNumber', 'input_programNumber' - Use Program (programNumber) to select a specific program from within a+-- multi-program transport stream. Note that Quad 4K is not currently+-- supported. Default is the first program within the transport stream. If+-- the program you specify doesn\'t exist, the transcoding service will use+-- this default.+--+-- 'psiControl', 'input_psiControl' - Set PSI control (InputPsiControl) for transport stream inputs to specify+-- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+-- audio and video. * Use PSI - Scan only PSI data.+--+-- 'supplementalImps', 'input_supplementalImps' - Provide a list of any necessary supplemental IMPs. You need supplemental+-- IMPs if the CPL that you\'re using for your input is in an incomplete+-- IMP. Specify either the supplemental IMP directories with a trailing+-- slash or the ASSETMAP.xml files. For example [\"s3:\/\/bucket\/ov\/\",+-- \"s3:\/\/bucket\/vf2\/ASSETMAP.xml\"]. You don\'t need to specify the+-- IMP that contains your input CPL, because the service automatically+-- detects it.+--+-- 'timecodeSource', 'input_timecodeSource' - Use this Timecode source setting, located under the input settings+-- (InputTimecodeSource), to specify how the service counts input video+-- frames. This input frame count affects only the behavior of features+-- that apply to a single input at a time, such as input clipping and+-- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+-- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+-- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+-- to start the first frame at the timecode that you specify in the setting+-- Start timecode (timecodeStart). If you don\'t specify a value for+-- Timecode source, the service will use Embedded by default. For more+-- information about timecodes, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+--+-- 'timecodeStart', 'input_timecodeStart' - Specify the timecode that you want the service to use for this input\'s+-- initial frame. To use this setting, you must set the Timecode source+-- setting, located under the input settings (InputTimecodeSource), to+-- Specified start (SPECIFIEDSTART). For more information about timecodes,+-- see https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+--+-- 'videoGenerator', 'input_videoGenerator' - When you include Video generator, MediaConvert creates a video input+-- with black frames. Use this setting if you do not have a video input or+-- if you want to add black video frames before, or after, other inputs.+-- You can specify Video generator, or you can specify an Input file, but+-- you cannot specify both. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/video-generator.html+--+-- 'videoSelector', 'input_videoSelector' - Input video selectors contain the video settings for the input. Each of+-- your inputs can have up to one video selector.+newInput ::+ Input+newInput =+ Input'+ { audioSelectorGroups = Prelude.Nothing,+ audioSelectors = Prelude.Nothing,+ captionSelectors = Prelude.Nothing,+ crop = Prelude.Nothing,+ deblockFilter = Prelude.Nothing,+ decryptionSettings = Prelude.Nothing,+ denoiseFilter = Prelude.Nothing,+ dolbyVisionMetadataXml = Prelude.Nothing,+ fileInput = Prelude.Nothing,+ filterEnable = Prelude.Nothing,+ filterStrength = Prelude.Nothing,+ imageInserter = Prelude.Nothing,+ inputClippings = Prelude.Nothing,+ inputScanType = Prelude.Nothing,+ position = Prelude.Nothing,+ programNumber = Prelude.Nothing,+ psiControl = Prelude.Nothing,+ supplementalImps = Prelude.Nothing,+ timecodeSource = Prelude.Nothing,+ timecodeStart = Prelude.Nothing,+ videoGenerator = Prelude.Nothing,+ videoSelector = Prelude.Nothing+ }++-- | Use audio selector groups to combine multiple sidecar audio inputs so+-- that you can assign them to a single output audio tab+-- (AudioDescription). Note that, if you\'re working with embedded audio,+-- it\'s simpler to assign multiple input tracks into a single audio+-- selector rather than use an audio selector group.+input_audioSelectorGroups :: Lens.Lens' Input (Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelectorGroup))+input_audioSelectorGroups = Lens.lens (\Input' {audioSelectorGroups} -> audioSelectorGroups) (\s@Input' {} a -> s {audioSelectorGroups = a} :: Input) Prelude.. Lens.mapping Lens.coerced++-- | Use Audio selectors (AudioSelectors) to specify a track or set of tracks+-- from the input that you will use in your outputs. You can use multiple+-- Audio selectors per input.+input_audioSelectors :: Lens.Lens' Input (Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelector))+input_audioSelectors = Lens.lens (\Input' {audioSelectors} -> audioSelectors) (\s@Input' {} a -> s {audioSelectors = a} :: Input) Prelude.. Lens.mapping Lens.coerced++-- | Use captions selectors to specify the captions data from your input that+-- you use in your outputs. You can use up to 20 captions selectors per+-- input.+input_captionSelectors :: Lens.Lens' Input (Prelude.Maybe (Prelude.HashMap Prelude.Text CaptionSelector))+input_captionSelectors = Lens.lens (\Input' {captionSelectors} -> captionSelectors) (\s@Input' {} a -> s {captionSelectors = a} :: Input) Prelude.. Lens.mapping Lens.coerced++-- | Use Cropping selection (crop) to specify the video area that the service+-- will include in the output video frame. If you specify a value here, it+-- will override any value that you specify in the output setting Cropping+-- selection (crop).+input_crop :: Lens.Lens' Input (Prelude.Maybe Rectangle)+input_crop = Lens.lens (\Input' {crop} -> crop) (\s@Input' {} a -> s {crop = a} :: Input)++-- | Enable Deblock (InputDeblockFilter) to produce smoother motion in the+-- output. Default is disabled. Only manually controllable for MPEG2 and+-- uncompressed video inputs.+input_deblockFilter :: Lens.Lens' Input (Prelude.Maybe InputDeblockFilter)+input_deblockFilter = Lens.lens (\Input' {deblockFilter} -> deblockFilter) (\s@Input' {} a -> s {deblockFilter = a} :: Input)++-- | Settings for decrypting any input files that you encrypt before you+-- upload them to Amazon S3. MediaConvert can decrypt files only when you+-- use AWS Key Management Service (KMS) to encrypt the data key that you+-- use to encrypt your content.+input_decryptionSettings :: Lens.Lens' Input (Prelude.Maybe InputDecryptionSettings)+input_decryptionSettings = Lens.lens (\Input' {decryptionSettings} -> decryptionSettings) (\s@Input' {} a -> s {decryptionSettings = a} :: Input)++-- | Enable Denoise (InputDenoiseFilter) to filter noise from the input.+-- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+-- uncompressed video inputs.+input_denoiseFilter :: Lens.Lens' Input (Prelude.Maybe InputDenoiseFilter)+input_denoiseFilter = Lens.lens (\Input' {denoiseFilter} -> denoiseFilter) (\s@Input' {} a -> s {denoiseFilter = a} :: Input)++-- | Use this setting only when your video source has Dolby Vision studio+-- mastering metadata that is carried in a separate XML file. Specify the+-- Amazon S3 location for the metadata XML file. MediaConvert uses this+-- file to provide global and frame-level metadata for Dolby Vision+-- preprocessing. When you specify a file here and your input also has+-- interleaved global and frame level metadata, MediaConvert ignores the+-- interleaved metadata and uses only the the metadata from this external+-- XML file. Note that your IAM service role must grant MediaConvert read+-- permissions to this file. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+input_dolbyVisionMetadataXml :: Lens.Lens' Input (Prelude.Maybe Prelude.Text)+input_dolbyVisionMetadataXml = Lens.lens (\Input' {dolbyVisionMetadataXml} -> dolbyVisionMetadataXml) (\s@Input' {} a -> s {dolbyVisionMetadataXml = a} :: Input)++-- | Specify the source file for your transcoding job. You can use multiple+-- inputs in a single job. The service concatenates these inputs, in the+-- order that you specify them in the job, to create the outputs. If your+-- input format is IMF, specify your input by providing the path to your+-- CPL. For example, \"s3:\/\/bucket\/vf\/cpl.xml\". If the CPL is in an+-- incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps)+-- to specify any supplemental IMPs that contain assets referenced by the+-- CPL.+input_fileInput :: Lens.Lens' Input (Prelude.Maybe Prelude.Text)+input_fileInput = Lens.lens (\Input' {fileInput} -> fileInput) (\s@Input' {} a -> s {fileInput = a} :: Input)++-- | Specify how the transcoding service applies the denoise and deblock+-- filters. You must also enable the filters separately, with Denoise+-- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+-- transcoding service determines whether to apply filtering, depending on+-- input type and quality. * Disable - The input is not filtered. This is+-- true even if you use the API to enable them in (InputDeblockFilter) and+-- (InputDeblockFilter). * Force - The input is filtered regardless of+-- input type.+input_filterEnable :: Lens.Lens' Input (Prelude.Maybe InputFilterEnable)+input_filterEnable = Lens.lens (\Input' {filterEnable} -> filterEnable) (\s@Input' {} a -> s {filterEnable = a} :: Input)++-- | Use Filter strength (FilterStrength) to adjust the magnitude the input+-- filter settings (Deblock and Denoise). The range is -5 to 5. Default is+-- 0.+input_filterStrength :: Lens.Lens' Input (Prelude.Maybe Prelude.Int)+input_filterStrength = Lens.lens (\Input' {filterStrength} -> filterStrength) (\s@Input' {} a -> s {filterStrength = a} :: Input)++-- | Enable the image inserter feature to include a graphic overlay on your+-- video. Enable or disable this feature for each input individually. This+-- setting is disabled by default.+input_imageInserter :: Lens.Lens' Input (Prelude.Maybe ImageInserter)+input_imageInserter = Lens.lens (\Input' {imageInserter} -> imageInserter) (\s@Input' {} a -> s {imageInserter = a} :: Input)++-- | (InputClippings) contains sets of start and end times that together+-- specify a portion of the input to be used in the outputs. If you provide+-- only a start time, the clip will be the entire input from that point to+-- the end. If you provide only an end time, it will be the entire input up+-- to that point. When you specify more than one input clip, the+-- transcoding service creates the job outputs by stringing the clips+-- together in the order you specify them.+input_inputClippings :: Lens.Lens' Input (Prelude.Maybe [InputClipping])+input_inputClippings = Lens.lens (\Input' {inputClippings} -> inputClippings) (\s@Input' {} a -> s {inputClippings = a} :: Input) Prelude.. Lens.mapping Lens.coerced++-- | When you have a progressive segmented frame (PsF) input, use this+-- setting to flag the input as PsF. MediaConvert doesn\'t automatically+-- detect PsF. Therefore, flagging your input as PsF results in better+-- preservation of video quality when you do deinterlacing and frame rate+-- conversion. If you don\'t specify, the default value is Auto (AUTO).+-- Auto is the correct setting for all inputs that are not PsF. Don\'t set+-- this value to PsF when your input is interlaced. Doing so creates+-- horizontal interlacing artifacts.+input_inputScanType :: Lens.Lens' Input (Prelude.Maybe InputScanType)+input_inputScanType = Lens.lens (\Input' {inputScanType} -> inputScanType) (\s@Input' {} a -> s {inputScanType = a} :: Input)++-- | Use Selection placement (position) to define the video area in your+-- output frame. The area outside of the rectangle that you specify here is+-- black. If you specify a value here, it will override any value that you+-- specify in the output setting Selection placement (position). If you+-- specify a value here, this will override any AFD values in your input,+-- even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If+-- you specify a value here, this will ignore anything that you specify for+-- the setting Scaling Behavior (scalingBehavior).+input_position :: Lens.Lens' Input (Prelude.Maybe Rectangle)+input_position = Lens.lens (\Input' {position} -> position) (\s@Input' {} a -> s {position = a} :: Input)++-- | Use Program (programNumber) to select a specific program from within a+-- multi-program transport stream. Note that Quad 4K is not currently+-- supported. Default is the first program within the transport stream. If+-- the program you specify doesn\'t exist, the transcoding service will use+-- this default.+input_programNumber :: Lens.Lens' Input (Prelude.Maybe Prelude.Natural)+input_programNumber = Lens.lens (\Input' {programNumber} -> programNumber) (\s@Input' {} a -> s {programNumber = a} :: Input)++-- | Set PSI control (InputPsiControl) for transport stream inputs to specify+-- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+-- audio and video. * Use PSI - Scan only PSI data.+input_psiControl :: Lens.Lens' Input (Prelude.Maybe InputPsiControl)+input_psiControl = Lens.lens (\Input' {psiControl} -> psiControl) (\s@Input' {} a -> s {psiControl = a} :: Input)++-- | Provide a list of any necessary supplemental IMPs. You need supplemental+-- IMPs if the CPL that you\'re using for your input is in an incomplete+-- IMP. Specify either the supplemental IMP directories with a trailing+-- slash or the ASSETMAP.xml files. For example [\"s3:\/\/bucket\/ov\/\",+-- \"s3:\/\/bucket\/vf2\/ASSETMAP.xml\"]. You don\'t need to specify the+-- IMP that contains your input CPL, because the service automatically+-- detects it.+input_supplementalImps :: Lens.Lens' Input (Prelude.Maybe [Prelude.Text])+input_supplementalImps = Lens.lens (\Input' {supplementalImps} -> supplementalImps) (\s@Input' {} a -> s {supplementalImps = a} :: Input) Prelude.. Lens.mapping Lens.coerced++-- | Use this Timecode source setting, located under the input settings+-- (InputTimecodeSource), to specify how the service counts input video+-- frames. This input frame count affects only the behavior of features+-- that apply to a single input at a time, such as input clipping and+-- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+-- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+-- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+-- to start the first frame at the timecode that you specify in the setting+-- Start timecode (timecodeStart). If you don\'t specify a value for+-- Timecode source, the service will use Embedded by default. For more+-- information about timecodes, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+input_timecodeSource :: Lens.Lens' Input (Prelude.Maybe InputTimecodeSource)+input_timecodeSource = Lens.lens (\Input' {timecodeSource} -> timecodeSource) (\s@Input' {} a -> s {timecodeSource = a} :: Input)++-- | Specify the timecode that you want the service to use for this input\'s+-- initial frame. To use this setting, you must set the Timecode source+-- setting, located under the input settings (InputTimecodeSource), to+-- Specified start (SPECIFIEDSTART). For more information about timecodes,+-- see https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+input_timecodeStart :: Lens.Lens' Input (Prelude.Maybe Prelude.Text)+input_timecodeStart = Lens.lens (\Input' {timecodeStart} -> timecodeStart) (\s@Input' {} a -> s {timecodeStart = a} :: Input)++-- | When you include Video generator, MediaConvert creates a video input+-- with black frames. Use this setting if you do not have a video input or+-- if you want to add black video frames before, or after, other inputs.+-- You can specify Video generator, or you can specify an Input file, but+-- you cannot specify both. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/video-generator.html+input_videoGenerator :: Lens.Lens' Input (Prelude.Maybe InputVideoGenerator)+input_videoGenerator = Lens.lens (\Input' {videoGenerator} -> videoGenerator) (\s@Input' {} a -> s {videoGenerator = a} :: Input)++-- | Input video selectors contain the video settings for the input. Each of+-- your inputs can have up to one video selector.+input_videoSelector :: Lens.Lens' Input (Prelude.Maybe VideoSelector)+input_videoSelector = Lens.lens (\Input' {videoSelector} -> videoSelector) (\s@Input' {} a -> s {videoSelector = a} :: Input)++instance Data.FromJSON Input where+ parseJSON =+ Data.withObject+ "Input"+ ( \x ->+ Input'+ Prelude.<$> ( x+ Data..:? "audioSelectorGroups"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "audioSelectors" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "captionSelectors"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "crop")+ Prelude.<*> (x Data..:? "deblockFilter")+ Prelude.<*> (x Data..:? "decryptionSettings")+ Prelude.<*> (x Data..:? "denoiseFilter")+ Prelude.<*> (x Data..:? "dolbyVisionMetadataXml")+ Prelude.<*> (x Data..:? "fileInput")+ Prelude.<*> (x Data..:? "filterEnable")+ Prelude.<*> (x Data..:? "filterStrength")+ Prelude.<*> (x Data..:? "imageInserter")+ Prelude.<*> (x Data..:? "inputClippings" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "inputScanType")+ Prelude.<*> (x Data..:? "position")+ Prelude.<*> (x Data..:? "programNumber")+ Prelude.<*> (x Data..:? "psiControl")+ Prelude.<*> ( x+ Data..:? "supplementalImps"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "timecodeSource")+ Prelude.<*> (x Data..:? "timecodeStart")+ Prelude.<*> (x Data..:? "videoGenerator")+ Prelude.<*> (x Data..:? "videoSelector")+ )++instance Prelude.Hashable Input where+ hashWithSalt _salt Input' {..} =+ _salt+ `Prelude.hashWithSalt` audioSelectorGroups+ `Prelude.hashWithSalt` audioSelectors+ `Prelude.hashWithSalt` captionSelectors+ `Prelude.hashWithSalt` crop+ `Prelude.hashWithSalt` deblockFilter+ `Prelude.hashWithSalt` decryptionSettings+ `Prelude.hashWithSalt` denoiseFilter+ `Prelude.hashWithSalt` dolbyVisionMetadataXml+ `Prelude.hashWithSalt` fileInput+ `Prelude.hashWithSalt` filterEnable+ `Prelude.hashWithSalt` filterStrength+ `Prelude.hashWithSalt` imageInserter+ `Prelude.hashWithSalt` inputClippings+ `Prelude.hashWithSalt` inputScanType+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` programNumber+ `Prelude.hashWithSalt` psiControl+ `Prelude.hashWithSalt` supplementalImps+ `Prelude.hashWithSalt` timecodeSource+ `Prelude.hashWithSalt` timecodeStart+ `Prelude.hashWithSalt` videoGenerator+ `Prelude.hashWithSalt` videoSelector++instance Prelude.NFData Input where+ rnf Input' {..} =+ Prelude.rnf audioSelectorGroups+ `Prelude.seq` Prelude.rnf audioSelectors+ `Prelude.seq` Prelude.rnf captionSelectors+ `Prelude.seq` Prelude.rnf crop+ `Prelude.seq` Prelude.rnf deblockFilter+ `Prelude.seq` Prelude.rnf decryptionSettings+ `Prelude.seq` Prelude.rnf denoiseFilter+ `Prelude.seq` Prelude.rnf dolbyVisionMetadataXml+ `Prelude.seq` Prelude.rnf fileInput+ `Prelude.seq` Prelude.rnf filterEnable+ `Prelude.seq` Prelude.rnf filterStrength+ `Prelude.seq` Prelude.rnf imageInserter+ `Prelude.seq` Prelude.rnf inputClippings+ `Prelude.seq` Prelude.rnf inputScanType+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf programNumber+ `Prelude.seq` Prelude.rnf psiControl+ `Prelude.seq` Prelude.rnf supplementalImps+ `Prelude.seq` Prelude.rnf timecodeSource+ `Prelude.seq` Prelude.rnf timecodeStart+ `Prelude.seq` Prelude.rnf videoGenerator+ `Prelude.seq` Prelude.rnf videoSelector++instance Data.ToJSON Input where+ toJSON Input' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioSelectorGroups" Data..=)+ Prelude.<$> audioSelectorGroups,+ ("audioSelectors" Data..=)+ Prelude.<$> audioSelectors,+ ("captionSelectors" Data..=)+ Prelude.<$> captionSelectors,+ ("crop" Data..=) Prelude.<$> crop,+ ("deblockFilter" Data..=) Prelude.<$> deblockFilter,+ ("decryptionSettings" Data..=)+ Prelude.<$> decryptionSettings,+ ("denoiseFilter" Data..=) Prelude.<$> denoiseFilter,+ ("dolbyVisionMetadataXml" Data..=)+ Prelude.<$> dolbyVisionMetadataXml,+ ("fileInput" Data..=) Prelude.<$> fileInput,+ ("filterEnable" Data..=) Prelude.<$> filterEnable,+ ("filterStrength" Data..=)+ Prelude.<$> filterStrength,+ ("imageInserter" Data..=) Prelude.<$> imageInserter,+ ("inputClippings" Data..=)+ Prelude.<$> inputClippings,+ ("inputScanType" Data..=) Prelude.<$> inputScanType,+ ("position" Data..=) Prelude.<$> position,+ ("programNumber" Data..=) Prelude.<$> programNumber,+ ("psiControl" Data..=) Prelude.<$> psiControl,+ ("supplementalImps" Data..=)+ Prelude.<$> supplementalImps,+ ("timecodeSource" Data..=)+ Prelude.<$> timecodeSource,+ ("timecodeStart" Data..=) Prelude.<$> timecodeStart,+ ("videoGenerator" Data..=)+ Prelude.<$> videoGenerator,+ ("videoSelector" Data..=) Prelude.<$> videoSelector+ ]+ )
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputClipping+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputClipping where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | To transcode only portions of your input, include one input clip for+-- each part of your input that you want in your output. All input clips+-- that you specify will be included in every output of the job. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/assembling-multiple-inputs-and-input-clips.html.+--+-- /See:/ 'newInputClipping' smart constructor.+data InputClipping = InputClipping'+ { -- | Set End timecode (EndTimecode) to the end of the portion of the input+ -- you are clipping. The frame corresponding to the End timecode value is+ -- included in the clip. Start timecode or End timecode may be left blank,+ -- but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the+ -- hour, MM is the minute, SS is the second, and FF is the frame number.+ -- When choosing this value, take into account your setting for timecode+ -- source under input settings (InputTimecodeSource). For example, if you+ -- have embedded timecodes that start at 01:00:00:00 and you want your clip+ -- to end six minutes into the video, use 01:06:00:00.+ endTimecode :: Prelude.Maybe Prelude.Text,+ -- | Set Start timecode (StartTimecode) to the beginning of the portion of+ -- the input you are clipping. The frame corresponding to the Start+ -- timecode value is included in the clip. Start timecode or End timecode+ -- may be left blank, but not both. Use the format HH:MM:SS:FF or+ -- HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second,+ -- and FF is the frame number. When choosing this value, take into account+ -- your setting for Input timecode source. For example, if you have+ -- embedded timecodes that start at 01:00:00:00 and you want your clip to+ -- begin five minutes into the video, use 01:05:00:00.+ startTimecode :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputClipping' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endTimecode', 'inputClipping_endTimecode' - Set End timecode (EndTimecode) to the end of the portion of the input+-- you are clipping. The frame corresponding to the End timecode value is+-- included in the clip. Start timecode or End timecode may be left blank,+-- but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the+-- hour, MM is the minute, SS is the second, and FF is the frame number.+-- When choosing this value, take into account your setting for timecode+-- source under input settings (InputTimecodeSource). For example, if you+-- have embedded timecodes that start at 01:00:00:00 and you want your clip+-- to end six minutes into the video, use 01:06:00:00.+--+-- 'startTimecode', 'inputClipping_startTimecode' - Set Start timecode (StartTimecode) to the beginning of the portion of+-- the input you are clipping. The frame corresponding to the Start+-- timecode value is included in the clip. Start timecode or End timecode+-- may be left blank, but not both. Use the format HH:MM:SS:FF or+-- HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second,+-- and FF is the frame number. When choosing this value, take into account+-- your setting for Input timecode source. For example, if you have+-- embedded timecodes that start at 01:00:00:00 and you want your clip to+-- begin five minutes into the video, use 01:05:00:00.+newInputClipping ::+ InputClipping+newInputClipping =+ InputClipping'+ { endTimecode = Prelude.Nothing,+ startTimecode = Prelude.Nothing+ }++-- | Set End timecode (EndTimecode) to the end of the portion of the input+-- you are clipping. The frame corresponding to the End timecode value is+-- included in the clip. Start timecode or End timecode may be left blank,+-- but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the+-- hour, MM is the minute, SS is the second, and FF is the frame number.+-- When choosing this value, take into account your setting for timecode+-- source under input settings (InputTimecodeSource). For example, if you+-- have embedded timecodes that start at 01:00:00:00 and you want your clip+-- to end six minutes into the video, use 01:06:00:00.+inputClipping_endTimecode :: Lens.Lens' InputClipping (Prelude.Maybe Prelude.Text)+inputClipping_endTimecode = Lens.lens (\InputClipping' {endTimecode} -> endTimecode) (\s@InputClipping' {} a -> s {endTimecode = a} :: InputClipping)++-- | Set Start timecode (StartTimecode) to the beginning of the portion of+-- the input you are clipping. The frame corresponding to the Start+-- timecode value is included in the clip. Start timecode or End timecode+-- may be left blank, but not both. Use the format HH:MM:SS:FF or+-- HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second,+-- and FF is the frame number. When choosing this value, take into account+-- your setting for Input timecode source. For example, if you have+-- embedded timecodes that start at 01:00:00:00 and you want your clip to+-- begin five minutes into the video, use 01:05:00:00.+inputClipping_startTimecode :: Lens.Lens' InputClipping (Prelude.Maybe Prelude.Text)+inputClipping_startTimecode = Lens.lens (\InputClipping' {startTimecode} -> startTimecode) (\s@InputClipping' {} a -> s {startTimecode = a} :: InputClipping)++instance Data.FromJSON InputClipping where+ parseJSON =+ Data.withObject+ "InputClipping"+ ( \x ->+ InputClipping'+ Prelude.<$> (x Data..:? "endTimecode")+ Prelude.<*> (x Data..:? "startTimecode")+ )++instance Prelude.Hashable InputClipping where+ hashWithSalt _salt InputClipping' {..} =+ _salt+ `Prelude.hashWithSalt` endTimecode+ `Prelude.hashWithSalt` startTimecode++instance Prelude.NFData InputClipping where+ rnf InputClipping' {..} =+ Prelude.rnf endTimecode+ `Prelude.seq` Prelude.rnf startTimecode++instance Data.ToJSON InputClipping where+ toJSON InputClipping' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("endTimecode" Data..=) Prelude.<$> endTimecode,+ ("startTimecode" Data..=) Prelude.<$> startTimecode+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputDeblockFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputDeblockFilter+ ( InputDeblockFilter+ ( ..,+ InputDeblockFilter_DISABLED,+ InputDeblockFilter_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable Deblock (InputDeblockFilter) to produce smoother motion in the+-- output. Default is disabled. Only manually controllable for MPEG2 and+-- uncompressed video inputs.+newtype InputDeblockFilter = InputDeblockFilter'+ { fromInputDeblockFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputDeblockFilter_DISABLED :: InputDeblockFilter+pattern InputDeblockFilter_DISABLED = InputDeblockFilter' "DISABLED"++pattern InputDeblockFilter_ENABLED :: InputDeblockFilter+pattern InputDeblockFilter_ENABLED = InputDeblockFilter' "ENABLED"++{-# COMPLETE+ InputDeblockFilter_DISABLED,+ InputDeblockFilter_ENABLED,+ InputDeblockFilter'+ #-}
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputDecryptionSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputDecryptionSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.DecryptionMode+import qualified Amazonka.Prelude as Prelude++-- | Settings for decrypting any input files that you encrypt before you+-- upload them to Amazon S3. MediaConvert can decrypt files only when you+-- use AWS Key Management Service (KMS) to encrypt the data key that you+-- use to encrypt your content.+--+-- /See:/ 'newInputDecryptionSettings' smart constructor.+data InputDecryptionSettings = InputDecryptionSettings'+ { -- | Specify the encryption mode that you used to encrypt your input files.+ decryptionMode :: Prelude.Maybe DecryptionMode,+ -- | Warning! Don\'t provide your encryption key in plaintext. Your job+ -- settings could be intercepted, making your encrypted content vulnerable.+ -- Specify the encrypted version of the data key that you used to encrypt+ -- your content. The data key must be encrypted by AWS Key Management+ -- Service (KMS). The key can be 128, 192, or 256 bits.+ encryptedDecryptionKey :: Prelude.Maybe Prelude.Text,+ -- | Specify the initialization vector that you used when you encrypted your+ -- content before uploading it to Amazon S3. You can use a 16-byte+ -- initialization vector with any encryption mode. Or, you can use a+ -- 12-byte initialization vector with GCM or CTR. MediaConvert accepts only+ -- initialization vectors that are base64-encoded.+ initializationVector :: Prelude.Maybe Prelude.Text,+ -- | Specify the AWS Region for AWS Key Management Service (KMS) that you+ -- used to encrypt your data key, if that Region is different from the one+ -- you are using for AWS Elemental MediaConvert.+ kmsKeyRegion :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputDecryptionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decryptionMode', 'inputDecryptionSettings_decryptionMode' - Specify the encryption mode that you used to encrypt your input files.+--+-- 'encryptedDecryptionKey', 'inputDecryptionSettings_encryptedDecryptionKey' - Warning! Don\'t provide your encryption key in plaintext. Your job+-- settings could be intercepted, making your encrypted content vulnerable.+-- Specify the encrypted version of the data key that you used to encrypt+-- your content. The data key must be encrypted by AWS Key Management+-- Service (KMS). The key can be 128, 192, or 256 bits.+--+-- 'initializationVector', 'inputDecryptionSettings_initializationVector' - Specify the initialization vector that you used when you encrypted your+-- content before uploading it to Amazon S3. You can use a 16-byte+-- initialization vector with any encryption mode. Or, you can use a+-- 12-byte initialization vector with GCM or CTR. MediaConvert accepts only+-- initialization vectors that are base64-encoded.+--+-- 'kmsKeyRegion', 'inputDecryptionSettings_kmsKeyRegion' - Specify the AWS Region for AWS Key Management Service (KMS) that you+-- used to encrypt your data key, if that Region is different from the one+-- you are using for AWS Elemental MediaConvert.+newInputDecryptionSettings ::+ InputDecryptionSettings+newInputDecryptionSettings =+ InputDecryptionSettings'+ { decryptionMode =+ Prelude.Nothing,+ encryptedDecryptionKey = Prelude.Nothing,+ initializationVector = Prelude.Nothing,+ kmsKeyRegion = Prelude.Nothing+ }++-- | Specify the encryption mode that you used to encrypt your input files.+inputDecryptionSettings_decryptionMode :: Lens.Lens' InputDecryptionSettings (Prelude.Maybe DecryptionMode)+inputDecryptionSettings_decryptionMode = Lens.lens (\InputDecryptionSettings' {decryptionMode} -> decryptionMode) (\s@InputDecryptionSettings' {} a -> s {decryptionMode = a} :: InputDecryptionSettings)++-- | Warning! Don\'t provide your encryption key in plaintext. Your job+-- settings could be intercepted, making your encrypted content vulnerable.+-- Specify the encrypted version of the data key that you used to encrypt+-- your content. The data key must be encrypted by AWS Key Management+-- Service (KMS). The key can be 128, 192, or 256 bits.+inputDecryptionSettings_encryptedDecryptionKey :: Lens.Lens' InputDecryptionSettings (Prelude.Maybe Prelude.Text)+inputDecryptionSettings_encryptedDecryptionKey = Lens.lens (\InputDecryptionSettings' {encryptedDecryptionKey} -> encryptedDecryptionKey) (\s@InputDecryptionSettings' {} a -> s {encryptedDecryptionKey = a} :: InputDecryptionSettings)++-- | Specify the initialization vector that you used when you encrypted your+-- content before uploading it to Amazon S3. You can use a 16-byte+-- initialization vector with any encryption mode. Or, you can use a+-- 12-byte initialization vector with GCM or CTR. MediaConvert accepts only+-- initialization vectors that are base64-encoded.+inputDecryptionSettings_initializationVector :: Lens.Lens' InputDecryptionSettings (Prelude.Maybe Prelude.Text)+inputDecryptionSettings_initializationVector = Lens.lens (\InputDecryptionSettings' {initializationVector} -> initializationVector) (\s@InputDecryptionSettings' {} a -> s {initializationVector = a} :: InputDecryptionSettings)++-- | Specify the AWS Region for AWS Key Management Service (KMS) that you+-- used to encrypt your data key, if that Region is different from the one+-- you are using for AWS Elemental MediaConvert.+inputDecryptionSettings_kmsKeyRegion :: Lens.Lens' InputDecryptionSettings (Prelude.Maybe Prelude.Text)+inputDecryptionSettings_kmsKeyRegion = Lens.lens (\InputDecryptionSettings' {kmsKeyRegion} -> kmsKeyRegion) (\s@InputDecryptionSettings' {} a -> s {kmsKeyRegion = a} :: InputDecryptionSettings)++instance Data.FromJSON InputDecryptionSettings where+ parseJSON =+ Data.withObject+ "InputDecryptionSettings"+ ( \x ->+ InputDecryptionSettings'+ Prelude.<$> (x Data..:? "decryptionMode")+ Prelude.<*> (x Data..:? "encryptedDecryptionKey")+ Prelude.<*> (x Data..:? "initializationVector")+ Prelude.<*> (x Data..:? "kmsKeyRegion")+ )++instance Prelude.Hashable InputDecryptionSettings where+ hashWithSalt _salt InputDecryptionSettings' {..} =+ _salt+ `Prelude.hashWithSalt` decryptionMode+ `Prelude.hashWithSalt` encryptedDecryptionKey+ `Prelude.hashWithSalt` initializationVector+ `Prelude.hashWithSalt` kmsKeyRegion++instance Prelude.NFData InputDecryptionSettings where+ rnf InputDecryptionSettings' {..} =+ Prelude.rnf decryptionMode+ `Prelude.seq` Prelude.rnf encryptedDecryptionKey+ `Prelude.seq` Prelude.rnf initializationVector+ `Prelude.seq` Prelude.rnf kmsKeyRegion++instance Data.ToJSON InputDecryptionSettings where+ toJSON InputDecryptionSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("decryptionMode" Data..=)+ Prelude.<$> decryptionMode,+ ("encryptedDecryptionKey" Data..=)+ Prelude.<$> encryptedDecryptionKey,+ ("initializationVector" Data..=)+ Prelude.<$> initializationVector,+ ("kmsKeyRegion" Data..=) Prelude.<$> kmsKeyRegion+ ]+ )
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputDenoiseFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputDenoiseFilter+ ( InputDenoiseFilter+ ( ..,+ InputDenoiseFilter_DISABLED,+ InputDenoiseFilter_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Enable Denoise (InputDenoiseFilter) to filter noise from the input.+-- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+-- uncompressed video inputs.+newtype InputDenoiseFilter = InputDenoiseFilter'+ { fromInputDenoiseFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputDenoiseFilter_DISABLED :: InputDenoiseFilter+pattern InputDenoiseFilter_DISABLED = InputDenoiseFilter' "DISABLED"++pattern InputDenoiseFilter_ENABLED :: InputDenoiseFilter+pattern InputDenoiseFilter_ENABLED = InputDenoiseFilter' "ENABLED"++{-# COMPLETE+ InputDenoiseFilter_DISABLED,+ InputDenoiseFilter_ENABLED,+ InputDenoiseFilter'+ #-}
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputFilterEnable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputFilterEnable+ ( InputFilterEnable+ ( ..,+ InputFilterEnable_AUTO,+ InputFilterEnable_DISABLE,+ InputFilterEnable_FORCE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify how the transcoding service applies the denoise and deblock+-- filters. You must also enable the filters separately, with Denoise+-- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+-- transcoding service determines whether to apply filtering, depending on+-- input type and quality. * Disable - The input is not filtered. This is+-- true even if you use the API to enable them in (InputDeblockFilter) and+-- (InputDeblockFilter). * Force - The input is filtered regardless of+-- input type.+newtype InputFilterEnable = InputFilterEnable'+ { fromInputFilterEnable ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputFilterEnable_AUTO :: InputFilterEnable+pattern InputFilterEnable_AUTO = InputFilterEnable' "AUTO"++pattern InputFilterEnable_DISABLE :: InputFilterEnable+pattern InputFilterEnable_DISABLE = InputFilterEnable' "DISABLE"++pattern InputFilterEnable_FORCE :: InputFilterEnable+pattern InputFilterEnable_FORCE = InputFilterEnable' "FORCE"++{-# COMPLETE+ InputFilterEnable_AUTO,+ InputFilterEnable_DISABLE,+ InputFilterEnable_FORCE,+ InputFilterEnable'+ #-}
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputPolicy+ ( InputPolicy+ ( ..,+ InputPolicy_ALLOWED,+ InputPolicy_DISALLOWED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An input policy allows or disallows a job you submit to run based on the+-- conditions that you specify.+newtype InputPolicy = InputPolicy'+ { fromInputPolicy ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputPolicy_ALLOWED :: InputPolicy+pattern InputPolicy_ALLOWED = InputPolicy' "ALLOWED"++pattern InputPolicy_DISALLOWED :: InputPolicy+pattern InputPolicy_DISALLOWED = InputPolicy' "DISALLOWED"++{-# COMPLETE+ InputPolicy_ALLOWED,+ InputPolicy_DISALLOWED,+ InputPolicy'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputPsiControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputPsiControl+ ( InputPsiControl+ ( ..,+ InputPsiControl_IGNORE_PSI,+ InputPsiControl_USE_PSI+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Set PSI control (InputPsiControl) for transport stream inputs to specify+-- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+-- audio and video. * Use PSI - Scan only PSI data.+newtype InputPsiControl = InputPsiControl'+ { fromInputPsiControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputPsiControl_IGNORE_PSI :: InputPsiControl+pattern InputPsiControl_IGNORE_PSI = InputPsiControl' "IGNORE_PSI"++pattern InputPsiControl_USE_PSI :: InputPsiControl+pattern InputPsiControl_USE_PSI = InputPsiControl' "USE_PSI"++{-# COMPLETE+ InputPsiControl_IGNORE_PSI,+ InputPsiControl_USE_PSI,+ InputPsiControl'+ #-}
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputRotate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputRotate+ ( InputRotate+ ( ..,+ InputRotate_AUTO,+ InputRotate_DEGREES_180,+ InputRotate_DEGREES_270,+ InputRotate_DEGREES_90,+ InputRotate_DEGREE_0+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use Rotate (InputRotate) to specify how the service rotates your video.+-- You can choose automatic rotation or specify a rotation. You can specify+-- a clockwise rotation of 0, 90, 180, or 270 degrees. If your input video+-- container is .mov or .mp4 and your input has rotation metadata, you can+-- choose Automatic to have the service rotate your video according to the+-- rotation specified in the metadata. The rotation must be within one+-- degree of 90, 180, or 270 degrees. If the rotation metadata specifies+-- any other rotation, the service will default to no rotation. By default,+-- the service does no rotation, even if your input video has rotation+-- metadata. The service doesn\'t pass through rotation metadata.+newtype InputRotate = InputRotate'+ { fromInputRotate ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputRotate_AUTO :: InputRotate+pattern InputRotate_AUTO = InputRotate' "AUTO"++pattern InputRotate_DEGREES_180 :: InputRotate+pattern InputRotate_DEGREES_180 = InputRotate' "DEGREES_180"++pattern InputRotate_DEGREES_270 :: InputRotate+pattern InputRotate_DEGREES_270 = InputRotate' "DEGREES_270"++pattern InputRotate_DEGREES_90 :: InputRotate+pattern InputRotate_DEGREES_90 = InputRotate' "DEGREES_90"++pattern InputRotate_DEGREE_0 :: InputRotate+pattern InputRotate_DEGREE_0 = InputRotate' "DEGREE_0"++{-# COMPLETE+ InputRotate_AUTO,+ InputRotate_DEGREES_180,+ InputRotate_DEGREES_270,+ InputRotate_DEGREES_90,+ InputRotate_DEGREE_0,+ InputRotate'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputSampleRange+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputSampleRange+ ( InputSampleRange+ ( ..,+ InputSampleRange_FOLLOW,+ InputSampleRange_FULL_RANGE,+ InputSampleRange_LIMITED_RANGE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If the sample range metadata in your input video is accurate, or if you+-- don\'t know about sample range, keep the default value, Follow (FOLLOW),+-- for this setting. When you do, the service automatically detects your+-- input sample range. If your input video has metadata indicating the+-- wrong sample range, specify the accurate sample range here. When you do,+-- MediaConvert ignores any sample range information in the input metadata.+-- Regardless of whether MediaConvert uses the input sample range or the+-- sample range that you specify, MediaConvert uses the sample range for+-- transcoding and also writes it to the output metadata.+newtype InputSampleRange = InputSampleRange'+ { fromInputSampleRange ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputSampleRange_FOLLOW :: InputSampleRange+pattern InputSampleRange_FOLLOW = InputSampleRange' "FOLLOW"++pattern InputSampleRange_FULL_RANGE :: InputSampleRange+pattern InputSampleRange_FULL_RANGE = InputSampleRange' "FULL_RANGE"++pattern InputSampleRange_LIMITED_RANGE :: InputSampleRange+pattern InputSampleRange_LIMITED_RANGE = InputSampleRange' "LIMITED_RANGE"++{-# COMPLETE+ InputSampleRange_FOLLOW,+ InputSampleRange_FULL_RANGE,+ InputSampleRange_LIMITED_RANGE,+ InputSampleRange'+ #-}
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputScanType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputScanType+ ( InputScanType+ ( ..,+ InputScanType_AUTO,+ InputScanType_PSF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you have a progressive segmented frame (PsF) input, use this+-- setting to flag the input as PsF. MediaConvert doesn\'t automatically+-- detect PsF. Therefore, flagging your input as PsF results in better+-- preservation of video quality when you do deinterlacing and frame rate+-- conversion. If you don\'t specify, the default value is Auto (AUTO).+-- Auto is the correct setting for all inputs that are not PsF. Don\'t set+-- this value to PsF when your input is interlaced. Doing so creates+-- horizontal interlacing artifacts.+newtype InputScanType = InputScanType'+ { fromInputScanType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputScanType_AUTO :: InputScanType+pattern InputScanType_AUTO = InputScanType' "AUTO"++pattern InputScanType_PSF :: InputScanType+pattern InputScanType_PSF = InputScanType' "PSF"++{-# COMPLETE+ InputScanType_AUTO,+ InputScanType_PSF,+ InputScanType'+ #-}
@@ -0,0 +1,559 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AudioSelector+import Amazonka.MediaConvert.Types.AudioSelectorGroup+import Amazonka.MediaConvert.Types.CaptionSelector+import Amazonka.MediaConvert.Types.ImageInserter+import Amazonka.MediaConvert.Types.InputClipping+import Amazonka.MediaConvert.Types.InputDeblockFilter+import Amazonka.MediaConvert.Types.InputDenoiseFilter+import Amazonka.MediaConvert.Types.InputFilterEnable+import Amazonka.MediaConvert.Types.InputPsiControl+import Amazonka.MediaConvert.Types.InputScanType+import Amazonka.MediaConvert.Types.InputTimecodeSource+import Amazonka.MediaConvert.Types.Rectangle+import Amazonka.MediaConvert.Types.VideoSelector+import qualified Amazonka.Prelude as Prelude++-- | Specified video input in a template.+--+-- /See:/ 'newInputTemplate' smart constructor.+data InputTemplate = InputTemplate'+ { -- | Use audio selector groups to combine multiple sidecar audio inputs so+ -- that you can assign them to a single output audio tab+ -- (AudioDescription). Note that, if you\'re working with embedded audio,+ -- it\'s simpler to assign multiple input tracks into a single audio+ -- selector rather than use an audio selector group.+ audioSelectorGroups :: Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelectorGroup),+ -- | Use Audio selectors (AudioSelectors) to specify a track or set of tracks+ -- from the input that you will use in your outputs. You can use multiple+ -- Audio selectors per input.+ audioSelectors :: Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelector),+ -- | Use captions selectors to specify the captions data from your input that+ -- you use in your outputs. You can use up to 20 captions selectors per+ -- input.+ captionSelectors :: Prelude.Maybe (Prelude.HashMap Prelude.Text CaptionSelector),+ -- | Use Cropping selection (crop) to specify the video area that the service+ -- will include in the output video frame. If you specify a value here, it+ -- will override any value that you specify in the output setting Cropping+ -- selection (crop).+ crop :: Prelude.Maybe Rectangle,+ -- | Enable Deblock (InputDeblockFilter) to produce smoother motion in the+ -- output. Default is disabled. Only manually controllable for MPEG2 and+ -- uncompressed video inputs.+ deblockFilter :: Prelude.Maybe InputDeblockFilter,+ -- | Enable Denoise (InputDenoiseFilter) to filter noise from the input.+ -- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+ -- uncompressed video inputs.+ denoiseFilter :: Prelude.Maybe InputDenoiseFilter,+ -- | Use this setting only when your video source has Dolby Vision studio+ -- mastering metadata that is carried in a separate XML file. Specify the+ -- Amazon S3 location for the metadata XML file. MediaConvert uses this+ -- file to provide global and frame-level metadata for Dolby Vision+ -- preprocessing. When you specify a file here and your input also has+ -- interleaved global and frame level metadata, MediaConvert ignores the+ -- interleaved metadata and uses only the the metadata from this external+ -- XML file. Note that your IAM service role must grant MediaConvert read+ -- permissions to this file. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+ dolbyVisionMetadataXml :: Prelude.Maybe Prelude.Text,+ -- | Specify how the transcoding service applies the denoise and deblock+ -- filters. You must also enable the filters separately, with Denoise+ -- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+ -- transcoding service determines whether to apply filtering, depending on+ -- input type and quality. * Disable - The input is not filtered. This is+ -- true even if you use the API to enable them in (InputDeblockFilter) and+ -- (InputDeblockFilter). * Force - The input is filtered regardless of+ -- input type.+ filterEnable :: Prelude.Maybe InputFilterEnable,+ -- | Use Filter strength (FilterStrength) to adjust the magnitude the input+ -- filter settings (Deblock and Denoise). The range is -5 to 5. Default is+ -- 0.+ filterStrength :: Prelude.Maybe Prelude.Int,+ -- | Enable the image inserter feature to include a graphic overlay on your+ -- video. Enable or disable this feature for each input individually. This+ -- setting is disabled by default.+ imageInserter :: Prelude.Maybe ImageInserter,+ -- | (InputClippings) contains sets of start and end times that together+ -- specify a portion of the input to be used in the outputs. If you provide+ -- only a start time, the clip will be the entire input from that point to+ -- the end. If you provide only an end time, it will be the entire input up+ -- to that point. When you specify more than one input clip, the+ -- transcoding service creates the job outputs by stringing the clips+ -- together in the order you specify them.+ inputClippings :: Prelude.Maybe [InputClipping],+ -- | When you have a progressive segmented frame (PsF) input, use this+ -- setting to flag the input as PsF. MediaConvert doesn\'t automatically+ -- detect PsF. Therefore, flagging your input as PsF results in better+ -- preservation of video quality when you do deinterlacing and frame rate+ -- conversion. If you don\'t specify, the default value is Auto (AUTO).+ -- Auto is the correct setting for all inputs that are not PsF. Don\'t set+ -- this value to PsF when your input is interlaced. Doing so creates+ -- horizontal interlacing artifacts.+ inputScanType :: Prelude.Maybe InputScanType,+ -- | Use Selection placement (position) to define the video area in your+ -- output frame. The area outside of the rectangle that you specify here is+ -- black. If you specify a value here, it will override any value that you+ -- specify in the output setting Selection placement (position). If you+ -- specify a value here, this will override any AFD values in your input,+ -- even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If+ -- you specify a value here, this will ignore anything that you specify for+ -- the setting Scaling Behavior (scalingBehavior).+ position :: Prelude.Maybe Rectangle,+ -- | Use Program (programNumber) to select a specific program from within a+ -- multi-program transport stream. Note that Quad 4K is not currently+ -- supported. Default is the first program within the transport stream. If+ -- the program you specify doesn\'t exist, the transcoding service will use+ -- this default.+ programNumber :: Prelude.Maybe Prelude.Natural,+ -- | Set PSI control (InputPsiControl) for transport stream inputs to specify+ -- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+ -- audio and video. * Use PSI - Scan only PSI data.+ psiControl :: Prelude.Maybe InputPsiControl,+ -- | Use this Timecode source setting, located under the input settings+ -- (InputTimecodeSource), to specify how the service counts input video+ -- frames. This input frame count affects only the behavior of features+ -- that apply to a single input at a time, such as input clipping and+ -- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+ -- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+ -- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+ -- to start the first frame at the timecode that you specify in the setting+ -- Start timecode (timecodeStart). If you don\'t specify a value for+ -- Timecode source, the service will use Embedded by default. For more+ -- information about timecodes, see+ -- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+ timecodeSource :: Prelude.Maybe InputTimecodeSource,+ -- | Specify the timecode that you want the service to use for this input\'s+ -- initial frame. To use this setting, you must set the Timecode source+ -- setting, located under the input settings (InputTimecodeSource), to+ -- Specified start (SPECIFIEDSTART). For more information about timecodes,+ -- see https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+ timecodeStart :: Prelude.Maybe Prelude.Text,+ -- | Input video selectors contain the video settings for the input. Each of+ -- your inputs can have up to one video selector.+ videoSelector :: Prelude.Maybe VideoSelector+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioSelectorGroups', 'inputTemplate_audioSelectorGroups' - Use audio selector groups to combine multiple sidecar audio inputs so+-- that you can assign them to a single output audio tab+-- (AudioDescription). Note that, if you\'re working with embedded audio,+-- it\'s simpler to assign multiple input tracks into a single audio+-- selector rather than use an audio selector group.+--+-- 'audioSelectors', 'inputTemplate_audioSelectors' - Use Audio selectors (AudioSelectors) to specify a track or set of tracks+-- from the input that you will use in your outputs. You can use multiple+-- Audio selectors per input.+--+-- 'captionSelectors', 'inputTemplate_captionSelectors' - Use captions selectors to specify the captions data from your input that+-- you use in your outputs. You can use up to 20 captions selectors per+-- input.+--+-- 'crop', 'inputTemplate_crop' - Use Cropping selection (crop) to specify the video area that the service+-- will include in the output video frame. If you specify a value here, it+-- will override any value that you specify in the output setting Cropping+-- selection (crop).+--+-- 'deblockFilter', 'inputTemplate_deblockFilter' - Enable Deblock (InputDeblockFilter) to produce smoother motion in the+-- output. Default is disabled. Only manually controllable for MPEG2 and+-- uncompressed video inputs.+--+-- 'denoiseFilter', 'inputTemplate_denoiseFilter' - Enable Denoise (InputDenoiseFilter) to filter noise from the input.+-- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+-- uncompressed video inputs.+--+-- 'dolbyVisionMetadataXml', 'inputTemplate_dolbyVisionMetadataXml' - Use this setting only when your video source has Dolby Vision studio+-- mastering metadata that is carried in a separate XML file. Specify the+-- Amazon S3 location for the metadata XML file. MediaConvert uses this+-- file to provide global and frame-level metadata for Dolby Vision+-- preprocessing. When you specify a file here and your input also has+-- interleaved global and frame level metadata, MediaConvert ignores the+-- interleaved metadata and uses only the the metadata from this external+-- XML file. Note that your IAM service role must grant MediaConvert read+-- permissions to this file. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+--+-- 'filterEnable', 'inputTemplate_filterEnable' - Specify how the transcoding service applies the denoise and deblock+-- filters. You must also enable the filters separately, with Denoise+-- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+-- transcoding service determines whether to apply filtering, depending on+-- input type and quality. * Disable - The input is not filtered. This is+-- true even if you use the API to enable them in (InputDeblockFilter) and+-- (InputDeblockFilter). * Force - The input is filtered regardless of+-- input type.+--+-- 'filterStrength', 'inputTemplate_filterStrength' - Use Filter strength (FilterStrength) to adjust the magnitude the input+-- filter settings (Deblock and Denoise). The range is -5 to 5. Default is+-- 0.+--+-- 'imageInserter', 'inputTemplate_imageInserter' - Enable the image inserter feature to include a graphic overlay on your+-- video. Enable or disable this feature for each input individually. This+-- setting is disabled by default.+--+-- 'inputClippings', 'inputTemplate_inputClippings' - (InputClippings) contains sets of start and end times that together+-- specify a portion of the input to be used in the outputs. If you provide+-- only a start time, the clip will be the entire input from that point to+-- the end. If you provide only an end time, it will be the entire input up+-- to that point. When you specify more than one input clip, the+-- transcoding service creates the job outputs by stringing the clips+-- together in the order you specify them.+--+-- 'inputScanType', 'inputTemplate_inputScanType' - When you have a progressive segmented frame (PsF) input, use this+-- setting to flag the input as PsF. MediaConvert doesn\'t automatically+-- detect PsF. Therefore, flagging your input as PsF results in better+-- preservation of video quality when you do deinterlacing and frame rate+-- conversion. If you don\'t specify, the default value is Auto (AUTO).+-- Auto is the correct setting for all inputs that are not PsF. Don\'t set+-- this value to PsF when your input is interlaced. Doing so creates+-- horizontal interlacing artifacts.+--+-- 'position', 'inputTemplate_position' - Use Selection placement (position) to define the video area in your+-- output frame. The area outside of the rectangle that you specify here is+-- black. If you specify a value here, it will override any value that you+-- specify in the output setting Selection placement (position). If you+-- specify a value here, this will override any AFD values in your input,+-- even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If+-- you specify a value here, this will ignore anything that you specify for+-- the setting Scaling Behavior (scalingBehavior).+--+-- 'programNumber', 'inputTemplate_programNumber' - Use Program (programNumber) to select a specific program from within a+-- multi-program transport stream. Note that Quad 4K is not currently+-- supported. Default is the first program within the transport stream. If+-- the program you specify doesn\'t exist, the transcoding service will use+-- this default.+--+-- 'psiControl', 'inputTemplate_psiControl' - Set PSI control (InputPsiControl) for transport stream inputs to specify+-- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+-- audio and video. * Use PSI - Scan only PSI data.+--+-- 'timecodeSource', 'inputTemplate_timecodeSource' - Use this Timecode source setting, located under the input settings+-- (InputTimecodeSource), to specify how the service counts input video+-- frames. This input frame count affects only the behavior of features+-- that apply to a single input at a time, such as input clipping and+-- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+-- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+-- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+-- to start the first frame at the timecode that you specify in the setting+-- Start timecode (timecodeStart). If you don\'t specify a value for+-- Timecode source, the service will use Embedded by default. For more+-- information about timecodes, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+--+-- 'timecodeStart', 'inputTemplate_timecodeStart' - Specify the timecode that you want the service to use for this input\'s+-- initial frame. To use this setting, you must set the Timecode source+-- setting, located under the input settings (InputTimecodeSource), to+-- Specified start (SPECIFIEDSTART). For more information about timecodes,+-- see https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+--+-- 'videoSelector', 'inputTemplate_videoSelector' - Input video selectors contain the video settings for the input. Each of+-- your inputs can have up to one video selector.+newInputTemplate ::+ InputTemplate+newInputTemplate =+ InputTemplate'+ { audioSelectorGroups =+ Prelude.Nothing,+ audioSelectors = Prelude.Nothing,+ captionSelectors = Prelude.Nothing,+ crop = Prelude.Nothing,+ deblockFilter = Prelude.Nothing,+ denoiseFilter = Prelude.Nothing,+ dolbyVisionMetadataXml = Prelude.Nothing,+ filterEnable = Prelude.Nothing,+ filterStrength = Prelude.Nothing,+ imageInserter = Prelude.Nothing,+ inputClippings = Prelude.Nothing,+ inputScanType = Prelude.Nothing,+ position = Prelude.Nothing,+ programNumber = Prelude.Nothing,+ psiControl = Prelude.Nothing,+ timecodeSource = Prelude.Nothing,+ timecodeStart = Prelude.Nothing,+ videoSelector = Prelude.Nothing+ }++-- | Use audio selector groups to combine multiple sidecar audio inputs so+-- that you can assign them to a single output audio tab+-- (AudioDescription). Note that, if you\'re working with embedded audio,+-- it\'s simpler to assign multiple input tracks into a single audio+-- selector rather than use an audio selector group.+inputTemplate_audioSelectorGroups :: Lens.Lens' InputTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelectorGroup))+inputTemplate_audioSelectorGroups = Lens.lens (\InputTemplate' {audioSelectorGroups} -> audioSelectorGroups) (\s@InputTemplate' {} a -> s {audioSelectorGroups = a} :: InputTemplate) Prelude.. Lens.mapping Lens.coerced++-- | Use Audio selectors (AudioSelectors) to specify a track or set of tracks+-- from the input that you will use in your outputs. You can use multiple+-- Audio selectors per input.+inputTemplate_audioSelectors :: Lens.Lens' InputTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text AudioSelector))+inputTemplate_audioSelectors = Lens.lens (\InputTemplate' {audioSelectors} -> audioSelectors) (\s@InputTemplate' {} a -> s {audioSelectors = a} :: InputTemplate) Prelude.. Lens.mapping Lens.coerced++-- | Use captions selectors to specify the captions data from your input that+-- you use in your outputs. You can use up to 20 captions selectors per+-- input.+inputTemplate_captionSelectors :: Lens.Lens' InputTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text CaptionSelector))+inputTemplate_captionSelectors = Lens.lens (\InputTemplate' {captionSelectors} -> captionSelectors) (\s@InputTemplate' {} a -> s {captionSelectors = a} :: InputTemplate) Prelude.. Lens.mapping Lens.coerced++-- | Use Cropping selection (crop) to specify the video area that the service+-- will include in the output video frame. If you specify a value here, it+-- will override any value that you specify in the output setting Cropping+-- selection (crop).+inputTemplate_crop :: Lens.Lens' InputTemplate (Prelude.Maybe Rectangle)+inputTemplate_crop = Lens.lens (\InputTemplate' {crop} -> crop) (\s@InputTemplate' {} a -> s {crop = a} :: InputTemplate)++-- | Enable Deblock (InputDeblockFilter) to produce smoother motion in the+-- output. Default is disabled. Only manually controllable for MPEG2 and+-- uncompressed video inputs.+inputTemplate_deblockFilter :: Lens.Lens' InputTemplate (Prelude.Maybe InputDeblockFilter)+inputTemplate_deblockFilter = Lens.lens (\InputTemplate' {deblockFilter} -> deblockFilter) (\s@InputTemplate' {} a -> s {deblockFilter = a} :: InputTemplate)++-- | Enable Denoise (InputDenoiseFilter) to filter noise from the input.+-- Default is disabled. Only applicable to MPEG2, H.264, H.265, and+-- uncompressed video inputs.+inputTemplate_denoiseFilter :: Lens.Lens' InputTemplate (Prelude.Maybe InputDenoiseFilter)+inputTemplate_denoiseFilter = Lens.lens (\InputTemplate' {denoiseFilter} -> denoiseFilter) (\s@InputTemplate' {} a -> s {denoiseFilter = a} :: InputTemplate)++-- | Use this setting only when your video source has Dolby Vision studio+-- mastering metadata that is carried in a separate XML file. Specify the+-- Amazon S3 location for the metadata XML file. MediaConvert uses this+-- file to provide global and frame-level metadata for Dolby Vision+-- preprocessing. When you specify a file here and your input also has+-- interleaved global and frame level metadata, MediaConvert ignores the+-- interleaved metadata and uses only the the metadata from this external+-- XML file. Note that your IAM service role must grant MediaConvert read+-- permissions to this file. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html.+inputTemplate_dolbyVisionMetadataXml :: Lens.Lens' InputTemplate (Prelude.Maybe Prelude.Text)+inputTemplate_dolbyVisionMetadataXml = Lens.lens (\InputTemplate' {dolbyVisionMetadataXml} -> dolbyVisionMetadataXml) (\s@InputTemplate' {} a -> s {dolbyVisionMetadataXml = a} :: InputTemplate)++-- | Specify how the transcoding service applies the denoise and deblock+-- filters. You must also enable the filters separately, with Denoise+-- (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The+-- transcoding service determines whether to apply filtering, depending on+-- input type and quality. * Disable - The input is not filtered. This is+-- true even if you use the API to enable them in (InputDeblockFilter) and+-- (InputDeblockFilter). * Force - The input is filtered regardless of+-- input type.+inputTemplate_filterEnable :: Lens.Lens' InputTemplate (Prelude.Maybe InputFilterEnable)+inputTemplate_filterEnable = Lens.lens (\InputTemplate' {filterEnable} -> filterEnable) (\s@InputTemplate' {} a -> s {filterEnable = a} :: InputTemplate)++-- | Use Filter strength (FilterStrength) to adjust the magnitude the input+-- filter settings (Deblock and Denoise). The range is -5 to 5. Default is+-- 0.+inputTemplate_filterStrength :: Lens.Lens' InputTemplate (Prelude.Maybe Prelude.Int)+inputTemplate_filterStrength = Lens.lens (\InputTemplate' {filterStrength} -> filterStrength) (\s@InputTemplate' {} a -> s {filterStrength = a} :: InputTemplate)++-- | Enable the image inserter feature to include a graphic overlay on your+-- video. Enable or disable this feature for each input individually. This+-- setting is disabled by default.+inputTemplate_imageInserter :: Lens.Lens' InputTemplate (Prelude.Maybe ImageInserter)+inputTemplate_imageInserter = Lens.lens (\InputTemplate' {imageInserter} -> imageInserter) (\s@InputTemplate' {} a -> s {imageInserter = a} :: InputTemplate)++-- | (InputClippings) contains sets of start and end times that together+-- specify a portion of the input to be used in the outputs. If you provide+-- only a start time, the clip will be the entire input from that point to+-- the end. If you provide only an end time, it will be the entire input up+-- to that point. When you specify more than one input clip, the+-- transcoding service creates the job outputs by stringing the clips+-- together in the order you specify them.+inputTemplate_inputClippings :: Lens.Lens' InputTemplate (Prelude.Maybe [InputClipping])+inputTemplate_inputClippings = Lens.lens (\InputTemplate' {inputClippings} -> inputClippings) (\s@InputTemplate' {} a -> s {inputClippings = a} :: InputTemplate) Prelude.. Lens.mapping Lens.coerced++-- | When you have a progressive segmented frame (PsF) input, use this+-- setting to flag the input as PsF. MediaConvert doesn\'t automatically+-- detect PsF. Therefore, flagging your input as PsF results in better+-- preservation of video quality when you do deinterlacing and frame rate+-- conversion. If you don\'t specify, the default value is Auto (AUTO).+-- Auto is the correct setting for all inputs that are not PsF. Don\'t set+-- this value to PsF when your input is interlaced. Doing so creates+-- horizontal interlacing artifacts.+inputTemplate_inputScanType :: Lens.Lens' InputTemplate (Prelude.Maybe InputScanType)+inputTemplate_inputScanType = Lens.lens (\InputTemplate' {inputScanType} -> inputScanType) (\s@InputTemplate' {} a -> s {inputScanType = a} :: InputTemplate)++-- | Use Selection placement (position) to define the video area in your+-- output frame. The area outside of the rectangle that you specify here is+-- black. If you specify a value here, it will override any value that you+-- specify in the output setting Selection placement (position). If you+-- specify a value here, this will override any AFD values in your input,+-- even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If+-- you specify a value here, this will ignore anything that you specify for+-- the setting Scaling Behavior (scalingBehavior).+inputTemplate_position :: Lens.Lens' InputTemplate (Prelude.Maybe Rectangle)+inputTemplate_position = Lens.lens (\InputTemplate' {position} -> position) (\s@InputTemplate' {} a -> s {position = a} :: InputTemplate)++-- | Use Program (programNumber) to select a specific program from within a+-- multi-program transport stream. Note that Quad 4K is not currently+-- supported. Default is the first program within the transport stream. If+-- the program you specify doesn\'t exist, the transcoding service will use+-- this default.+inputTemplate_programNumber :: Lens.Lens' InputTemplate (Prelude.Maybe Prelude.Natural)+inputTemplate_programNumber = Lens.lens (\InputTemplate' {programNumber} -> programNumber) (\s@InputTemplate' {} a -> s {programNumber = a} :: InputTemplate)++-- | Set PSI control (InputPsiControl) for transport stream inputs to specify+-- which data the demux process to scans. * Ignore PSI - Scan all PIDs for+-- audio and video. * Use PSI - Scan only PSI data.+inputTemplate_psiControl :: Lens.Lens' InputTemplate (Prelude.Maybe InputPsiControl)+inputTemplate_psiControl = Lens.lens (\InputTemplate' {psiControl} -> psiControl) (\s@InputTemplate' {} a -> s {psiControl = a} :: InputTemplate)++-- | Use this Timecode source setting, located under the input settings+-- (InputTimecodeSource), to specify how the service counts input video+-- frames. This input frame count affects only the behavior of features+-- that apply to a single input at a time, such as input clipping and+-- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+-- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+-- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+-- to start the first frame at the timecode that you specify in the setting+-- Start timecode (timecodeStart). If you don\'t specify a value for+-- Timecode source, the service will use Embedded by default. For more+-- information about timecodes, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+inputTemplate_timecodeSource :: Lens.Lens' InputTemplate (Prelude.Maybe InputTimecodeSource)+inputTemplate_timecodeSource = Lens.lens (\InputTemplate' {timecodeSource} -> timecodeSource) (\s@InputTemplate' {} a -> s {timecodeSource = a} :: InputTemplate)++-- | Specify the timecode that you want the service to use for this input\'s+-- initial frame. To use this setting, you must set the Timecode source+-- setting, located under the input settings (InputTimecodeSource), to+-- Specified start (SPECIFIEDSTART). For more information about timecodes,+-- see https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+inputTemplate_timecodeStart :: Lens.Lens' InputTemplate (Prelude.Maybe Prelude.Text)+inputTemplate_timecodeStart = Lens.lens (\InputTemplate' {timecodeStart} -> timecodeStart) (\s@InputTemplate' {} a -> s {timecodeStart = a} :: InputTemplate)++-- | Input video selectors contain the video settings for the input. Each of+-- your inputs can have up to one video selector.+inputTemplate_videoSelector :: Lens.Lens' InputTemplate (Prelude.Maybe VideoSelector)+inputTemplate_videoSelector = Lens.lens (\InputTemplate' {videoSelector} -> videoSelector) (\s@InputTemplate' {} a -> s {videoSelector = a} :: InputTemplate)++instance Data.FromJSON InputTemplate where+ parseJSON =+ Data.withObject+ "InputTemplate"+ ( \x ->+ InputTemplate'+ Prelude.<$> ( x+ Data..:? "audioSelectorGroups"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "audioSelectors" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "captionSelectors"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "crop")+ Prelude.<*> (x Data..:? "deblockFilter")+ Prelude.<*> (x Data..:? "denoiseFilter")+ Prelude.<*> (x Data..:? "dolbyVisionMetadataXml")+ Prelude.<*> (x Data..:? "filterEnable")+ Prelude.<*> (x Data..:? "filterStrength")+ Prelude.<*> (x Data..:? "imageInserter")+ Prelude.<*> (x Data..:? "inputClippings" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "inputScanType")+ Prelude.<*> (x Data..:? "position")+ Prelude.<*> (x Data..:? "programNumber")+ Prelude.<*> (x Data..:? "psiControl")+ Prelude.<*> (x Data..:? "timecodeSource")+ Prelude.<*> (x Data..:? "timecodeStart")+ Prelude.<*> (x Data..:? "videoSelector")+ )++instance Prelude.Hashable InputTemplate where+ hashWithSalt _salt InputTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` audioSelectorGroups+ `Prelude.hashWithSalt` audioSelectors+ `Prelude.hashWithSalt` captionSelectors+ `Prelude.hashWithSalt` crop+ `Prelude.hashWithSalt` deblockFilter+ `Prelude.hashWithSalt` denoiseFilter+ `Prelude.hashWithSalt` dolbyVisionMetadataXml+ `Prelude.hashWithSalt` filterEnable+ `Prelude.hashWithSalt` filterStrength+ `Prelude.hashWithSalt` imageInserter+ `Prelude.hashWithSalt` inputClippings+ `Prelude.hashWithSalt` inputScanType+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` programNumber+ `Prelude.hashWithSalt` psiControl+ `Prelude.hashWithSalt` timecodeSource+ `Prelude.hashWithSalt` timecodeStart+ `Prelude.hashWithSalt` videoSelector++instance Prelude.NFData InputTemplate where+ rnf InputTemplate' {..} =+ Prelude.rnf audioSelectorGroups+ `Prelude.seq` Prelude.rnf audioSelectors+ `Prelude.seq` Prelude.rnf captionSelectors+ `Prelude.seq` Prelude.rnf crop+ `Prelude.seq` Prelude.rnf deblockFilter+ `Prelude.seq` Prelude.rnf denoiseFilter+ `Prelude.seq` Prelude.rnf dolbyVisionMetadataXml+ `Prelude.seq` Prelude.rnf filterEnable+ `Prelude.seq` Prelude.rnf filterStrength+ `Prelude.seq` Prelude.rnf imageInserter+ `Prelude.seq` Prelude.rnf inputClippings+ `Prelude.seq` Prelude.rnf inputScanType+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf programNumber+ `Prelude.seq` Prelude.rnf psiControl+ `Prelude.seq` Prelude.rnf timecodeSource+ `Prelude.seq` Prelude.rnf timecodeStart+ `Prelude.seq` Prelude.rnf videoSelector++instance Data.ToJSON InputTemplate where+ toJSON InputTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("audioSelectorGroups" Data..=)+ Prelude.<$> audioSelectorGroups,+ ("audioSelectors" Data..=)+ Prelude.<$> audioSelectors,+ ("captionSelectors" Data..=)+ Prelude.<$> captionSelectors,+ ("crop" Data..=) Prelude.<$> crop,+ ("deblockFilter" Data..=) Prelude.<$> deblockFilter,+ ("denoiseFilter" Data..=) Prelude.<$> denoiseFilter,+ ("dolbyVisionMetadataXml" Data..=)+ Prelude.<$> dolbyVisionMetadataXml,+ ("filterEnable" Data..=) Prelude.<$> filterEnable,+ ("filterStrength" Data..=)+ Prelude.<$> filterStrength,+ ("imageInserter" Data..=) Prelude.<$> imageInserter,+ ("inputClippings" Data..=)+ Prelude.<$> inputClippings,+ ("inputScanType" Data..=) Prelude.<$> inputScanType,+ ("position" Data..=) Prelude.<$> position,+ ("programNumber" Data..=) Prelude.<$> programNumber,+ ("psiControl" Data..=) Prelude.<$> psiControl,+ ("timecodeSource" Data..=)+ Prelude.<$> timecodeSource,+ ("timecodeStart" Data..=) Prelude.<$> timecodeStart,+ ("videoSelector" Data..=) Prelude.<$> videoSelector+ ]+ )
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputTimecodeSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputTimecodeSource+ ( InputTimecodeSource+ ( ..,+ InputTimecodeSource_EMBEDDED,+ InputTimecodeSource_SPECIFIEDSTART,+ InputTimecodeSource_ZEROBASED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use this Timecode source setting, located under the input settings+-- (InputTimecodeSource), to specify how the service counts input video+-- frames. This input frame count affects only the behavior of features+-- that apply to a single input at a time, such as input clipping and+-- synchronizing some captions formats. Choose Embedded (EMBEDDED) to use+-- the timecodes in your input video. Choose Start at zero (ZEROBASED) to+-- start the first frame at zero. Choose Specified start (SPECIFIEDSTART)+-- to start the first frame at the timecode that you specify in the setting+-- Start timecode (timecodeStart). If you don\'t specify a value for+-- Timecode source, the service will use Embedded by default. For more+-- information about timecodes, see+-- https:\/\/docs.aws.amazon.com\/console\/mediaconvert\/timecode.+newtype InputTimecodeSource = InputTimecodeSource'+ { fromInputTimecodeSource ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputTimecodeSource_EMBEDDED :: InputTimecodeSource+pattern InputTimecodeSource_EMBEDDED = InputTimecodeSource' "EMBEDDED"++pattern InputTimecodeSource_SPECIFIEDSTART :: InputTimecodeSource+pattern InputTimecodeSource_SPECIFIEDSTART = InputTimecodeSource' "SPECIFIEDSTART"++pattern InputTimecodeSource_ZEROBASED :: InputTimecodeSource+pattern InputTimecodeSource_ZEROBASED = InputTimecodeSource' "ZEROBASED"++{-# COMPLETE+ InputTimecodeSource_EMBEDDED,+ InputTimecodeSource_SPECIFIEDSTART,+ InputTimecodeSource_ZEROBASED,+ InputTimecodeSource'+ #-}
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InputVideoGenerator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InputVideoGenerator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When you include Video generator, MediaConvert creates a video input+-- with black frames. Use this setting if you do not have a video input or+-- if you want to add black video frames before, or after, other inputs.+-- You can specify Video generator, or you can specify an Input file, but+-- you cannot specify both. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/video-generator.html+--+-- /See:/ 'newInputVideoGenerator' smart constructor.+data InputVideoGenerator = InputVideoGenerator'+ { -- | Specify an integer value for Black video duration from 50 to 86400000 to+ -- generate a black video input for that many milliseconds. Required when+ -- you include Video generator.+ duration :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputVideoGenerator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'duration', 'inputVideoGenerator_duration' - Specify an integer value for Black video duration from 50 to 86400000 to+-- generate a black video input for that many milliseconds. Required when+-- you include Video generator.+newInputVideoGenerator ::+ InputVideoGenerator+newInputVideoGenerator =+ InputVideoGenerator' {duration = Prelude.Nothing}++-- | Specify an integer value for Black video duration from 50 to 86400000 to+-- generate a black video input for that many milliseconds. Required when+-- you include Video generator.+inputVideoGenerator_duration :: Lens.Lens' InputVideoGenerator (Prelude.Maybe Prelude.Natural)+inputVideoGenerator_duration = Lens.lens (\InputVideoGenerator' {duration} -> duration) (\s@InputVideoGenerator' {} a -> s {duration = a} :: InputVideoGenerator)++instance Data.FromJSON InputVideoGenerator where+ parseJSON =+ Data.withObject+ "InputVideoGenerator"+ ( \x ->+ InputVideoGenerator'+ Prelude.<$> (x Data..:? "duration")+ )++instance Prelude.Hashable InputVideoGenerator where+ hashWithSalt _salt InputVideoGenerator' {..} =+ _salt `Prelude.hashWithSalt` duration++instance Prelude.NFData InputVideoGenerator where+ rnf InputVideoGenerator' {..} = Prelude.rnf duration++instance Data.ToJSON InputVideoGenerator where+ toJSON InputVideoGenerator' {..} =+ Data.object+ ( Prelude.catMaybes+ [("duration" Data..=) Prelude.<$> duration]+ )
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.InsertableImage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.InsertableImage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | These settings apply to a specific graphic overlay. You can include+-- multiple overlays in your job.+--+-- /See:/ 'newInsertableImage' smart constructor.+data InsertableImage = InsertableImage'+ { -- | Specify the time, in milliseconds, for the image to remain on the output+ -- video. This duration includes fade-in time but not fade-out time.+ duration :: Prelude.Maybe Prelude.Natural,+ -- | Specify the length of time, in milliseconds, between the Start time that+ -- you specify for the image insertion and the time that the image appears+ -- at full opacity. Full opacity is the level that you specify for the+ -- opacity setting. If you don\'t specify a value for Fade-in, the image+ -- will appear abruptly at the overlay start time.+ fadeIn :: Prelude.Maybe Prelude.Natural,+ -- | Specify the length of time, in milliseconds, between the end of the time+ -- that you have specified for the image overlay Duration and when the+ -- overlaid image has faded to total transparency. If you don\'t specify a+ -- value for Fade-out, the image will disappear abruptly at the end of the+ -- inserted image duration.+ fadeOut :: Prelude.Maybe Prelude.Natural,+ -- | Specify the height of the inserted image in pixels. If you specify a+ -- value that\'s larger than the video resolution height, the service will+ -- crop your overlaid image to fit. To use the native height of the image,+ -- keep this setting blank.+ height :: Prelude.Maybe Prelude.Natural,+ -- | Specify the HTTP, HTTPS, or Amazon S3 location of the image that you+ -- want to overlay on the video. Use a PNG or TGA file.+ imageInserterInput :: Prelude.Maybe Prelude.Text,+ -- | Specify the distance, in pixels, between the inserted image and the left+ -- edge of the video frame. Required for any image overlay that you+ -- specify.+ imageX :: Prelude.Maybe Prelude.Natural,+ -- | Specify the distance, in pixels, between the overlaid image and the top+ -- edge of the video frame. Required for any image overlay that you+ -- specify.+ imageY :: Prelude.Maybe Prelude.Natural,+ -- | Specify how overlapping inserted images appear. Images with higher+ -- values for Layer appear on top of images with lower values for Layer.+ layer :: Prelude.Maybe Prelude.Natural,+ -- | Use Opacity (Opacity) to specify how much of the underlying video shows+ -- through the inserted image. 0 is transparent and 100 is fully opaque.+ -- Default is 50.+ opacity :: Prelude.Maybe Prelude.Natural,+ -- | Specify the timecode of the frame that you want the overlay to first+ -- appear on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format.+ -- Remember to take into account your timecode source settings.+ startTime :: Prelude.Maybe Prelude.Text,+ -- | Specify the width of the inserted image in pixels. If you specify a+ -- value that\'s larger than the video resolution width, the service will+ -- crop your overlaid image to fit. To use the native width of the image,+ -- keep this setting blank.+ width :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InsertableImage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'duration', 'insertableImage_duration' - Specify the time, in milliseconds, for the image to remain on the output+-- video. This duration includes fade-in time but not fade-out time.+--+-- 'fadeIn', 'insertableImage_fadeIn' - Specify the length of time, in milliseconds, between the Start time that+-- you specify for the image insertion and the time that the image appears+-- at full opacity. Full opacity is the level that you specify for the+-- opacity setting. If you don\'t specify a value for Fade-in, the image+-- will appear abruptly at the overlay start time.+--+-- 'fadeOut', 'insertableImage_fadeOut' - Specify the length of time, in milliseconds, between the end of the time+-- that you have specified for the image overlay Duration and when the+-- overlaid image has faded to total transparency. If you don\'t specify a+-- value for Fade-out, the image will disappear abruptly at the end of the+-- inserted image duration.+--+-- 'height', 'insertableImage_height' - Specify the height of the inserted image in pixels. If you specify a+-- value that\'s larger than the video resolution height, the service will+-- crop your overlaid image to fit. To use the native height of the image,+-- keep this setting blank.+--+-- 'imageInserterInput', 'insertableImage_imageInserterInput' - Specify the HTTP, HTTPS, or Amazon S3 location of the image that you+-- want to overlay on the video. Use a PNG or TGA file.+--+-- 'imageX', 'insertableImage_imageX' - Specify the distance, in pixels, between the inserted image and the left+-- edge of the video frame. Required for any image overlay that you+-- specify.+--+-- 'imageY', 'insertableImage_imageY' - Specify the distance, in pixels, between the overlaid image and the top+-- edge of the video frame. Required for any image overlay that you+-- specify.+--+-- 'layer', 'insertableImage_layer' - Specify how overlapping inserted images appear. Images with higher+-- values for Layer appear on top of images with lower values for Layer.+--+-- 'opacity', 'insertableImage_opacity' - Use Opacity (Opacity) to specify how much of the underlying video shows+-- through the inserted image. 0 is transparent and 100 is fully opaque.+-- Default is 50.+--+-- 'startTime', 'insertableImage_startTime' - Specify the timecode of the frame that you want the overlay to first+-- appear on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format.+-- Remember to take into account your timecode source settings.+--+-- 'width', 'insertableImage_width' - Specify the width of the inserted image in pixels. If you specify a+-- value that\'s larger than the video resolution width, the service will+-- crop your overlaid image to fit. To use the native width of the image,+-- keep this setting blank.+newInsertableImage ::+ InsertableImage+newInsertableImage =+ InsertableImage'+ { duration = Prelude.Nothing,+ fadeIn = Prelude.Nothing,+ fadeOut = Prelude.Nothing,+ height = Prelude.Nothing,+ imageInserterInput = Prelude.Nothing,+ imageX = Prelude.Nothing,+ imageY = Prelude.Nothing,+ layer = Prelude.Nothing,+ opacity = Prelude.Nothing,+ startTime = Prelude.Nothing,+ width = Prelude.Nothing+ }++-- | Specify the time, in milliseconds, for the image to remain on the output+-- video. This duration includes fade-in time but not fade-out time.+insertableImage_duration :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_duration = Lens.lens (\InsertableImage' {duration} -> duration) (\s@InsertableImage' {} a -> s {duration = a} :: InsertableImage)++-- | Specify the length of time, in milliseconds, between the Start time that+-- you specify for the image insertion and the time that the image appears+-- at full opacity. Full opacity is the level that you specify for the+-- opacity setting. If you don\'t specify a value for Fade-in, the image+-- will appear abruptly at the overlay start time.+insertableImage_fadeIn :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_fadeIn = Lens.lens (\InsertableImage' {fadeIn} -> fadeIn) (\s@InsertableImage' {} a -> s {fadeIn = a} :: InsertableImage)++-- | Specify the length of time, in milliseconds, between the end of the time+-- that you have specified for the image overlay Duration and when the+-- overlaid image has faded to total transparency. If you don\'t specify a+-- value for Fade-out, the image will disappear abruptly at the end of the+-- inserted image duration.+insertableImage_fadeOut :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_fadeOut = Lens.lens (\InsertableImage' {fadeOut} -> fadeOut) (\s@InsertableImage' {} a -> s {fadeOut = a} :: InsertableImage)++-- | Specify the height of the inserted image in pixels. If you specify a+-- value that\'s larger than the video resolution height, the service will+-- crop your overlaid image to fit. To use the native height of the image,+-- keep this setting blank.+insertableImage_height :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_height = Lens.lens (\InsertableImage' {height} -> height) (\s@InsertableImage' {} a -> s {height = a} :: InsertableImage)++-- | Specify the HTTP, HTTPS, or Amazon S3 location of the image that you+-- want to overlay on the video. Use a PNG or TGA file.+insertableImage_imageInserterInput :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Text)+insertableImage_imageInserterInput = Lens.lens (\InsertableImage' {imageInserterInput} -> imageInserterInput) (\s@InsertableImage' {} a -> s {imageInserterInput = a} :: InsertableImage)++-- | Specify the distance, in pixels, between the inserted image and the left+-- edge of the video frame. Required for any image overlay that you+-- specify.+insertableImage_imageX :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_imageX = Lens.lens (\InsertableImage' {imageX} -> imageX) (\s@InsertableImage' {} a -> s {imageX = a} :: InsertableImage)++-- | Specify the distance, in pixels, between the overlaid image and the top+-- edge of the video frame. Required for any image overlay that you+-- specify.+insertableImage_imageY :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_imageY = Lens.lens (\InsertableImage' {imageY} -> imageY) (\s@InsertableImage' {} a -> s {imageY = a} :: InsertableImage)++-- | Specify how overlapping inserted images appear. Images with higher+-- values for Layer appear on top of images with lower values for Layer.+insertableImage_layer :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_layer = Lens.lens (\InsertableImage' {layer} -> layer) (\s@InsertableImage' {} a -> s {layer = a} :: InsertableImage)++-- | Use Opacity (Opacity) to specify how much of the underlying video shows+-- through the inserted image. 0 is transparent and 100 is fully opaque.+-- Default is 50.+insertableImage_opacity :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_opacity = Lens.lens (\InsertableImage' {opacity} -> opacity) (\s@InsertableImage' {} a -> s {opacity = a} :: InsertableImage)++-- | Specify the timecode of the frame that you want the overlay to first+-- appear on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format.+-- Remember to take into account your timecode source settings.+insertableImage_startTime :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Text)+insertableImage_startTime = Lens.lens (\InsertableImage' {startTime} -> startTime) (\s@InsertableImage' {} a -> s {startTime = a} :: InsertableImage)++-- | Specify the width of the inserted image in pixels. If you specify a+-- value that\'s larger than the video resolution width, the service will+-- crop your overlaid image to fit. To use the native width of the image,+-- keep this setting blank.+insertableImage_width :: Lens.Lens' InsertableImage (Prelude.Maybe Prelude.Natural)+insertableImage_width = Lens.lens (\InsertableImage' {width} -> width) (\s@InsertableImage' {} a -> s {width = a} :: InsertableImage)++instance Data.FromJSON InsertableImage where+ parseJSON =+ Data.withObject+ "InsertableImage"+ ( \x ->+ InsertableImage'+ Prelude.<$> (x Data..:? "duration")+ Prelude.<*> (x Data..:? "fadeIn")+ Prelude.<*> (x Data..:? "fadeOut")+ Prelude.<*> (x Data..:? "height")+ Prelude.<*> (x Data..:? "imageInserterInput")+ Prelude.<*> (x Data..:? "imageX")+ Prelude.<*> (x Data..:? "imageY")+ Prelude.<*> (x Data..:? "layer")+ Prelude.<*> (x Data..:? "opacity")+ Prelude.<*> (x Data..:? "startTime")+ Prelude.<*> (x Data..:? "width")+ )++instance Prelude.Hashable InsertableImage where+ hashWithSalt _salt InsertableImage' {..} =+ _salt+ `Prelude.hashWithSalt` duration+ `Prelude.hashWithSalt` fadeIn+ `Prelude.hashWithSalt` fadeOut+ `Prelude.hashWithSalt` height+ `Prelude.hashWithSalt` imageInserterInput+ `Prelude.hashWithSalt` imageX+ `Prelude.hashWithSalt` imageY+ `Prelude.hashWithSalt` layer+ `Prelude.hashWithSalt` opacity+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` width++instance Prelude.NFData InsertableImage where+ rnf InsertableImage' {..} =+ Prelude.rnf duration+ `Prelude.seq` Prelude.rnf fadeIn+ `Prelude.seq` Prelude.rnf fadeOut+ `Prelude.seq` Prelude.rnf height+ `Prelude.seq` Prelude.rnf imageInserterInput+ `Prelude.seq` Prelude.rnf imageX+ `Prelude.seq` Prelude.rnf imageY+ `Prelude.seq` Prelude.rnf layer+ `Prelude.seq` Prelude.rnf opacity+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf width++instance Data.ToJSON InsertableImage where+ toJSON InsertableImage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("duration" Data..=) Prelude.<$> duration,+ ("fadeIn" Data..=) Prelude.<$> fadeIn,+ ("fadeOut" Data..=) Prelude.<$> fadeOut,+ ("height" Data..=) Prelude.<$> height,+ ("imageInserterInput" Data..=)+ Prelude.<$> imageInserterInput,+ ("imageX" Data..=) Prelude.<$> imageX,+ ("imageY" Data..=) Prelude.<$> imageY,+ ("layer" Data..=) Prelude.<$> layer,+ ("opacity" Data..=) Prelude.<$> opacity,+ ("startTime" Data..=) Prelude.<$> startTime,+ ("width" Data..=) Prelude.<$> width+ ]+ )
@@ -0,0 +1,516 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.Job+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.Job where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AccelerationSettings+import Amazonka.MediaConvert.Types.AccelerationStatus+import Amazonka.MediaConvert.Types.BillingTagsSource+import Amazonka.MediaConvert.Types.HopDestination+import Amazonka.MediaConvert.Types.JobMessages+import Amazonka.MediaConvert.Types.JobPhase+import Amazonka.MediaConvert.Types.JobSettings+import Amazonka.MediaConvert.Types.JobStatus+import Amazonka.MediaConvert.Types.OutputGroupDetail+import Amazonka.MediaConvert.Types.QueueTransition+import Amazonka.MediaConvert.Types.SimulateReservedQueue+import Amazonka.MediaConvert.Types.StatusUpdateInterval+import Amazonka.MediaConvert.Types.Timing+import qualified Amazonka.Prelude as Prelude++-- | Each job converts an input file into an output file or files. For more+-- information, see the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+--+-- /See:/ 'newJob' smart constructor.+data Job = Job'+ { -- | Accelerated transcoding can significantly speed up jobs with long,+ -- visually complex content.+ accelerationSettings :: Prelude.Maybe AccelerationSettings,+ -- | Describes whether the current job is running with accelerated+ -- transcoding. For jobs that have Acceleration (AccelerationMode) set to+ -- DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that+ -- have Acceleration (AccelerationMode) set to ENABLED or PREFERRED,+ -- AccelerationStatus is one of the other states. AccelerationStatus is+ -- IN_PROGRESS initially, while the service determines whether the input+ -- files and job settings are compatible with accelerated transcoding. If+ -- they are, AcclerationStatus is ACCELERATED. If your input files and job+ -- settings aren\'t compatible with accelerated transcoding, the service+ -- either fails your job or runs it without accelerated transcoding,+ -- depending on how you set Acceleration (AccelerationMode). When the+ -- service runs your job without accelerated transcoding,+ -- AccelerationStatus is NOT_ACCELERATED.+ accelerationStatus :: Prelude.Maybe AccelerationStatus,+ -- | An identifier for this resource that is unique within all of AWS.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The tag type that AWS Billing and Cost Management will use to sort your+ -- AWS Elemental MediaConvert costs on any billing report that you set up.+ billingTagsSource :: Prelude.Maybe BillingTagsSource,+ -- | The time, in Unix epoch format in seconds, when the job got created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | A job\'s phase can be PROBING, TRANSCODING OR UPLOADING+ currentPhase :: Prelude.Maybe JobPhase,+ -- | Error code for the job+ errorCode :: Prelude.Maybe Prelude.Int,+ -- | Error message of Job+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | Optional list of hop destinations.+ hopDestinations :: Prelude.Maybe [HopDestination],+ -- | A portion of the job\'s ARN, unique within your AWS Elemental+ -- MediaConvert resources+ id :: Prelude.Maybe Prelude.Text,+ -- | An estimate of how far your job has progressed. This estimate is shown+ -- as a percentage of the total time from when your job leaves its queue to+ -- when your output files appear in your output Amazon S3 bucket. AWS+ -- Elemental MediaConvert provides jobPercentComplete in CloudWatch+ -- STATUS_UPDATE events and in the response to GetJob and ListJobs+ -- requests. The jobPercentComplete estimate is reliable for the following+ -- input containers: Quicktime, Transport Stream, MP4, and MXF. For some+ -- jobs, the service can\'t provide information about job progress. In+ -- those cases, jobPercentComplete returns a null value.+ jobPercentComplete :: Prelude.Maybe Prelude.Int,+ -- | The job template that the job is created from, if it is created from a+ -- job template.+ jobTemplate :: Prelude.Maybe Prelude.Text,+ -- | Provides messages from the service about jobs that you have already+ -- successfully submitted.+ messages :: Prelude.Maybe JobMessages,+ -- | List of output group details+ outputGroupDetails :: Prelude.Maybe [OutputGroupDetail],+ -- | Relative priority on the job.+ priority :: Prelude.Maybe Prelude.Int,+ -- | When you create a job, you can specify a queue to send it to. If you+ -- don\'t specify, the job will go to the default queue. For more about+ -- queues, see the User Guide topic at+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+ queue :: Prelude.Maybe Prelude.Text,+ -- | The job\'s queue hopping history.+ queueTransitions :: Prelude.Maybe [QueueTransition],+ -- | The number of times that the service automatically attempted to process+ -- your job after encountering an error.+ retryCount :: Prelude.Maybe Prelude.Int,+ -- | Enable this setting when you run a test job to estimate how many+ -- reserved transcoding slots (RTS) you need. When this is enabled,+ -- MediaConvert runs your job from an on-demand queue with similar+ -- performance to what you will see with one RTS in a reserved queue. This+ -- setting is disabled by default.+ simulateReservedQueue :: Prelude.Maybe SimulateReservedQueue,+ -- | A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or+ -- ERROR.+ status :: Prelude.Maybe JobStatus,+ -- | Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+ -- CloudWatch Events. Set the interval, in seconds, between status updates.+ -- MediaConvert sends an update at this interval from the time the service+ -- begins processing your job to the time it completes the transcode or+ -- encounters an error.+ statusUpdateInterval :: Prelude.Maybe StatusUpdateInterval,+ -- | Information about when jobs are submitted, started, and finished is+ -- specified in Unix epoch format in seconds.+ timing :: Prelude.Maybe Timing,+ -- | User-defined metadata that you want to associate with an MediaConvert+ -- job. You specify metadata in key\/value pairs.+ userMetadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The IAM role you use for creating this job. For details about+ -- permissions, see the User Guide topic at the User Guide at+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html+ role' :: Prelude.Text,+ -- | JobSettings contains all the transcode settings for a job.+ settings :: JobSettings+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Job' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accelerationSettings', 'job_accelerationSettings' - Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content.+--+-- 'accelerationStatus', 'job_accelerationStatus' - Describes whether the current job is running with accelerated+-- transcoding. For jobs that have Acceleration (AccelerationMode) set to+-- DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that+-- have Acceleration (AccelerationMode) set to ENABLED or PREFERRED,+-- AccelerationStatus is one of the other states. AccelerationStatus is+-- IN_PROGRESS initially, while the service determines whether the input+-- files and job settings are compatible with accelerated transcoding. If+-- they are, AcclerationStatus is ACCELERATED. If your input files and job+-- settings aren\'t compatible with accelerated transcoding, the service+-- either fails your job or runs it without accelerated transcoding,+-- depending on how you set Acceleration (AccelerationMode). When the+-- service runs your job without accelerated transcoding,+-- AccelerationStatus is NOT_ACCELERATED.+--+-- 'arn', 'job_arn' - An identifier for this resource that is unique within all of AWS.+--+-- 'billingTagsSource', 'job_billingTagsSource' - The tag type that AWS Billing and Cost Management will use to sort your+-- AWS Elemental MediaConvert costs on any billing report that you set up.+--+-- 'createdAt', 'job_createdAt' - The time, in Unix epoch format in seconds, when the job got created.+--+-- 'currentPhase', 'job_currentPhase' - A job\'s phase can be PROBING, TRANSCODING OR UPLOADING+--+-- 'errorCode', 'job_errorCode' - Error code for the job+--+-- 'errorMessage', 'job_errorMessage' - Error message of Job+--+-- 'hopDestinations', 'job_hopDestinations' - Optional list of hop destinations.+--+-- 'id', 'job_id' - A portion of the job\'s ARN, unique within your AWS Elemental+-- MediaConvert resources+--+-- 'jobPercentComplete', 'job_jobPercentComplete' - An estimate of how far your job has progressed. This estimate is shown+-- as a percentage of the total time from when your job leaves its queue to+-- when your output files appear in your output Amazon S3 bucket. AWS+-- Elemental MediaConvert provides jobPercentComplete in CloudWatch+-- STATUS_UPDATE events and in the response to GetJob and ListJobs+-- requests. The jobPercentComplete estimate is reliable for the following+-- input containers: Quicktime, Transport Stream, MP4, and MXF. For some+-- jobs, the service can\'t provide information about job progress. In+-- those cases, jobPercentComplete returns a null value.+--+-- 'jobTemplate', 'job_jobTemplate' - The job template that the job is created from, if it is created from a+-- job template.+--+-- 'messages', 'job_messages' - Provides messages from the service about jobs that you have already+-- successfully submitted.+--+-- 'outputGroupDetails', 'job_outputGroupDetails' - List of output group details+--+-- 'priority', 'job_priority' - Relative priority on the job.+--+-- 'queue', 'job_queue' - When you create a job, you can specify a queue to send it to. If you+-- don\'t specify, the job will go to the default queue. For more about+-- queues, see the User Guide topic at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+--+-- 'queueTransitions', 'job_queueTransitions' - The job\'s queue hopping history.+--+-- 'retryCount', 'job_retryCount' - The number of times that the service automatically attempted to process+-- your job after encountering an error.+--+-- 'simulateReservedQueue', 'job_simulateReservedQueue' - Enable this setting when you run a test job to estimate how many+-- reserved transcoding slots (RTS) you need. When this is enabled,+-- MediaConvert runs your job from an on-demand queue with similar+-- performance to what you will see with one RTS in a reserved queue. This+-- setting is disabled by default.+--+-- 'status', 'job_status' - A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or+-- ERROR.+--+-- 'statusUpdateInterval', 'job_statusUpdateInterval' - Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+-- CloudWatch Events. Set the interval, in seconds, between status updates.+-- MediaConvert sends an update at this interval from the time the service+-- begins processing your job to the time it completes the transcode or+-- encounters an error.+--+-- 'timing', 'job_timing' - Information about when jobs are submitted, started, and finished is+-- specified in Unix epoch format in seconds.+--+-- 'userMetadata', 'job_userMetadata' - User-defined metadata that you want to associate with an MediaConvert+-- job. You specify metadata in key\/value pairs.+--+-- 'role'', 'job_role' - The IAM role you use for creating this job. For details about+-- permissions, see the User Guide topic at the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html+--+-- 'settings', 'job_settings' - JobSettings contains all the transcode settings for a job.+newJob ::+ -- | 'role''+ Prelude.Text ->+ -- | 'settings'+ JobSettings ->+ Job+newJob pRole_ pSettings_ =+ Job'+ { accelerationSettings = Prelude.Nothing,+ accelerationStatus = Prelude.Nothing,+ arn = Prelude.Nothing,+ billingTagsSource = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ currentPhase = Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ hopDestinations = Prelude.Nothing,+ id = Prelude.Nothing,+ jobPercentComplete = Prelude.Nothing,+ jobTemplate = Prelude.Nothing,+ messages = Prelude.Nothing,+ outputGroupDetails = Prelude.Nothing,+ priority = Prelude.Nothing,+ queue = Prelude.Nothing,+ queueTransitions = Prelude.Nothing,+ retryCount = Prelude.Nothing,+ simulateReservedQueue = Prelude.Nothing,+ status = Prelude.Nothing,+ statusUpdateInterval = Prelude.Nothing,+ timing = Prelude.Nothing,+ userMetadata = Prelude.Nothing,+ role' = pRole_,+ settings = pSettings_+ }++-- | Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content.+job_accelerationSettings :: Lens.Lens' Job (Prelude.Maybe AccelerationSettings)+job_accelerationSettings = Lens.lens (\Job' {accelerationSettings} -> accelerationSettings) (\s@Job' {} a -> s {accelerationSettings = a} :: Job)++-- | Describes whether the current job is running with accelerated+-- transcoding. For jobs that have Acceleration (AccelerationMode) set to+-- DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that+-- have Acceleration (AccelerationMode) set to ENABLED or PREFERRED,+-- AccelerationStatus is one of the other states. AccelerationStatus is+-- IN_PROGRESS initially, while the service determines whether the input+-- files and job settings are compatible with accelerated transcoding. If+-- they are, AcclerationStatus is ACCELERATED. If your input files and job+-- settings aren\'t compatible with accelerated transcoding, the service+-- either fails your job or runs it without accelerated transcoding,+-- depending on how you set Acceleration (AccelerationMode). When the+-- service runs your job without accelerated transcoding,+-- AccelerationStatus is NOT_ACCELERATED.+job_accelerationStatus :: Lens.Lens' Job (Prelude.Maybe AccelerationStatus)+job_accelerationStatus = Lens.lens (\Job' {accelerationStatus} -> accelerationStatus) (\s@Job' {} a -> s {accelerationStatus = a} :: Job)++-- | An identifier for this resource that is unique within all of AWS.+job_arn :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_arn = Lens.lens (\Job' {arn} -> arn) (\s@Job' {} a -> s {arn = a} :: Job)++-- | The tag type that AWS Billing and Cost Management will use to sort your+-- AWS Elemental MediaConvert costs on any billing report that you set up.+job_billingTagsSource :: Lens.Lens' Job (Prelude.Maybe BillingTagsSource)+job_billingTagsSource = Lens.lens (\Job' {billingTagsSource} -> billingTagsSource) (\s@Job' {} a -> s {billingTagsSource = a} :: Job)++-- | The time, in Unix epoch format in seconds, when the job got created.+job_createdAt :: Lens.Lens' Job (Prelude.Maybe Prelude.UTCTime)+job_createdAt = Lens.lens (\Job' {createdAt} -> createdAt) (\s@Job' {} a -> s {createdAt = a} :: Job) Prelude.. Lens.mapping Data._Time++-- | A job\'s phase can be PROBING, TRANSCODING OR UPLOADING+job_currentPhase :: Lens.Lens' Job (Prelude.Maybe JobPhase)+job_currentPhase = Lens.lens (\Job' {currentPhase} -> currentPhase) (\s@Job' {} a -> s {currentPhase = a} :: Job)++-- | Error code for the job+job_errorCode :: Lens.Lens' Job (Prelude.Maybe Prelude.Int)+job_errorCode = Lens.lens (\Job' {errorCode} -> errorCode) (\s@Job' {} a -> s {errorCode = a} :: Job)++-- | Error message of Job+job_errorMessage :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_errorMessage = Lens.lens (\Job' {errorMessage} -> errorMessage) (\s@Job' {} a -> s {errorMessage = a} :: Job)++-- | Optional list of hop destinations.+job_hopDestinations :: Lens.Lens' Job (Prelude.Maybe [HopDestination])+job_hopDestinations = Lens.lens (\Job' {hopDestinations} -> hopDestinations) (\s@Job' {} a -> s {hopDestinations = a} :: Job) Prelude.. Lens.mapping Lens.coerced++-- | A portion of the job\'s ARN, unique within your AWS Elemental+-- MediaConvert resources+job_id :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_id = Lens.lens (\Job' {id} -> id) (\s@Job' {} a -> s {id = a} :: Job)++-- | An estimate of how far your job has progressed. This estimate is shown+-- as a percentage of the total time from when your job leaves its queue to+-- when your output files appear in your output Amazon S3 bucket. AWS+-- Elemental MediaConvert provides jobPercentComplete in CloudWatch+-- STATUS_UPDATE events and in the response to GetJob and ListJobs+-- requests. The jobPercentComplete estimate is reliable for the following+-- input containers: Quicktime, Transport Stream, MP4, and MXF. For some+-- jobs, the service can\'t provide information about job progress. In+-- those cases, jobPercentComplete returns a null value.+job_jobPercentComplete :: Lens.Lens' Job (Prelude.Maybe Prelude.Int)+job_jobPercentComplete = Lens.lens (\Job' {jobPercentComplete} -> jobPercentComplete) (\s@Job' {} a -> s {jobPercentComplete = a} :: Job)++-- | The job template that the job is created from, if it is created from a+-- job template.+job_jobTemplate :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_jobTemplate = Lens.lens (\Job' {jobTemplate} -> jobTemplate) (\s@Job' {} a -> s {jobTemplate = a} :: Job)++-- | Provides messages from the service about jobs that you have already+-- successfully submitted.+job_messages :: Lens.Lens' Job (Prelude.Maybe JobMessages)+job_messages = Lens.lens (\Job' {messages} -> messages) (\s@Job' {} a -> s {messages = a} :: Job)++-- | List of output group details+job_outputGroupDetails :: Lens.Lens' Job (Prelude.Maybe [OutputGroupDetail])+job_outputGroupDetails = Lens.lens (\Job' {outputGroupDetails} -> outputGroupDetails) (\s@Job' {} a -> s {outputGroupDetails = a} :: Job) Prelude.. Lens.mapping Lens.coerced++-- | Relative priority on the job.+job_priority :: Lens.Lens' Job (Prelude.Maybe Prelude.Int)+job_priority = Lens.lens (\Job' {priority} -> priority) (\s@Job' {} a -> s {priority = a} :: Job)++-- | When you create a job, you can specify a queue to send it to. If you+-- don\'t specify, the job will go to the default queue. For more about+-- queues, see the User Guide topic at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/what-is.html+job_queue :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_queue = Lens.lens (\Job' {queue} -> queue) (\s@Job' {} a -> s {queue = a} :: Job)++-- | The job\'s queue hopping history.+job_queueTransitions :: Lens.Lens' Job (Prelude.Maybe [QueueTransition])+job_queueTransitions = Lens.lens (\Job' {queueTransitions} -> queueTransitions) (\s@Job' {} a -> s {queueTransitions = a} :: Job) Prelude.. Lens.mapping Lens.coerced++-- | The number of times that the service automatically attempted to process+-- your job after encountering an error.+job_retryCount :: Lens.Lens' Job (Prelude.Maybe Prelude.Int)+job_retryCount = Lens.lens (\Job' {retryCount} -> retryCount) (\s@Job' {} a -> s {retryCount = a} :: Job)++-- | Enable this setting when you run a test job to estimate how many+-- reserved transcoding slots (RTS) you need. When this is enabled,+-- MediaConvert runs your job from an on-demand queue with similar+-- performance to what you will see with one RTS in a reserved queue. This+-- setting is disabled by default.+job_simulateReservedQueue :: Lens.Lens' Job (Prelude.Maybe SimulateReservedQueue)+job_simulateReservedQueue = Lens.lens (\Job' {simulateReservedQueue} -> simulateReservedQueue) (\s@Job' {} a -> s {simulateReservedQueue = a} :: Job)++-- | A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or+-- ERROR.+job_status :: Lens.Lens' Job (Prelude.Maybe JobStatus)+job_status = Lens.lens (\Job' {status} -> status) (\s@Job' {} a -> s {status = a} :: Job)++-- | Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+-- CloudWatch Events. Set the interval, in seconds, between status updates.+-- MediaConvert sends an update at this interval from the time the service+-- begins processing your job to the time it completes the transcode or+-- encounters an error.+job_statusUpdateInterval :: Lens.Lens' Job (Prelude.Maybe StatusUpdateInterval)+job_statusUpdateInterval = Lens.lens (\Job' {statusUpdateInterval} -> statusUpdateInterval) (\s@Job' {} a -> s {statusUpdateInterval = a} :: Job)++-- | Information about when jobs are submitted, started, and finished is+-- specified in Unix epoch format in seconds.+job_timing :: Lens.Lens' Job (Prelude.Maybe Timing)+job_timing = Lens.lens (\Job' {timing} -> timing) (\s@Job' {} a -> s {timing = a} :: Job)++-- | User-defined metadata that you want to associate with an MediaConvert+-- job. You specify metadata in key\/value pairs.+job_userMetadata :: Lens.Lens' Job (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+job_userMetadata = Lens.lens (\Job' {userMetadata} -> userMetadata) (\s@Job' {} a -> s {userMetadata = a} :: Job) Prelude.. Lens.mapping Lens.coerced++-- | The IAM role you use for creating this job. For details about+-- permissions, see the User Guide topic at the User Guide at+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html+job_role :: Lens.Lens' Job Prelude.Text+job_role = Lens.lens (\Job' {role'} -> role') (\s@Job' {} a -> s {role' = a} :: Job)++-- | JobSettings contains all the transcode settings for a job.+job_settings :: Lens.Lens' Job JobSettings+job_settings = Lens.lens (\Job' {settings} -> settings) (\s@Job' {} a -> s {settings = a} :: Job)++instance Data.FromJSON Job where+ parseJSON =+ Data.withObject+ "Job"+ ( \x ->+ Job'+ Prelude.<$> (x Data..:? "accelerationSettings")+ Prelude.<*> (x Data..:? "accelerationStatus")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "billingTagsSource")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "currentPhase")+ Prelude.<*> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> ( x+ Data..:? "hopDestinations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "jobPercentComplete")+ Prelude.<*> (x Data..:? "jobTemplate")+ Prelude.<*> (x Data..:? "messages")+ Prelude.<*> ( x+ Data..:? "outputGroupDetails"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "priority")+ Prelude.<*> (x Data..:? "queue")+ Prelude.<*> ( x+ Data..:? "queueTransitions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "retryCount")+ Prelude.<*> (x Data..:? "simulateReservedQueue")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "statusUpdateInterval")+ Prelude.<*> (x Data..:? "timing")+ Prelude.<*> (x Data..:? "userMetadata" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "role")+ Prelude.<*> (x Data..: "settings")+ )++instance Prelude.Hashable Job where+ hashWithSalt _salt Job' {..} =+ _salt+ `Prelude.hashWithSalt` accelerationSettings+ `Prelude.hashWithSalt` accelerationStatus+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` billingTagsSource+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` currentPhase+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` hopDestinations+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` jobPercentComplete+ `Prelude.hashWithSalt` jobTemplate+ `Prelude.hashWithSalt` messages+ `Prelude.hashWithSalt` outputGroupDetails+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` queue+ `Prelude.hashWithSalt` queueTransitions+ `Prelude.hashWithSalt` retryCount+ `Prelude.hashWithSalt` simulateReservedQueue+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusUpdateInterval+ `Prelude.hashWithSalt` timing+ `Prelude.hashWithSalt` userMetadata+ `Prelude.hashWithSalt` role'+ `Prelude.hashWithSalt` settings++instance Prelude.NFData Job where+ rnf Job' {..} =+ Prelude.rnf accelerationSettings+ `Prelude.seq` Prelude.rnf accelerationStatus+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf billingTagsSource+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf currentPhase+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf hopDestinations+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf jobPercentComplete+ `Prelude.seq` Prelude.rnf jobTemplate+ `Prelude.seq` Prelude.rnf messages+ `Prelude.seq` Prelude.rnf outputGroupDetails+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf queue+ `Prelude.seq` Prelude.rnf queueTransitions+ `Prelude.seq` Prelude.rnf retryCount+ `Prelude.seq` Prelude.rnf+ simulateReservedQueue+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf+ statusUpdateInterval+ `Prelude.seq` Prelude.rnf timing+ `Prelude.seq` Prelude.rnf userMetadata+ `Prelude.seq` Prelude.rnf role'+ `Prelude.seq` Prelude.rnf settings
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobMessages+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobMessages where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides messages from the service about jobs that you have already+-- successfully submitted.+--+-- /See:/ 'newJobMessages' smart constructor.+data JobMessages = JobMessages'+ { -- | List of messages that are informational only and don\'t indicate a+ -- problem with your job.+ info :: Prelude.Maybe [Prelude.Text],+ -- | List of messages that warn about conditions that might cause your job+ -- not to run or to fail.+ warning :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobMessages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'info', 'jobMessages_info' - List of messages that are informational only and don\'t indicate a+-- problem with your job.+--+-- 'warning', 'jobMessages_warning' - List of messages that warn about conditions that might cause your job+-- not to run or to fail.+newJobMessages ::+ JobMessages+newJobMessages =+ JobMessages'+ { info = Prelude.Nothing,+ warning = Prelude.Nothing+ }++-- | List of messages that are informational only and don\'t indicate a+-- problem with your job.+jobMessages_info :: Lens.Lens' JobMessages (Prelude.Maybe [Prelude.Text])+jobMessages_info = Lens.lens (\JobMessages' {info} -> info) (\s@JobMessages' {} a -> s {info = a} :: JobMessages) Prelude.. Lens.mapping Lens.coerced++-- | List of messages that warn about conditions that might cause your job+-- not to run or to fail.+jobMessages_warning :: Lens.Lens' JobMessages (Prelude.Maybe [Prelude.Text])+jobMessages_warning = Lens.lens (\JobMessages' {warning} -> warning) (\s@JobMessages' {} a -> s {warning = a} :: JobMessages) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON JobMessages where+ parseJSON =+ Data.withObject+ "JobMessages"+ ( \x ->+ JobMessages'+ Prelude.<$> (x Data..:? "info" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "warning" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable JobMessages where+ hashWithSalt _salt JobMessages' {..} =+ _salt+ `Prelude.hashWithSalt` info+ `Prelude.hashWithSalt` warning++instance Prelude.NFData JobMessages where+ rnf JobMessages' {..} =+ Prelude.rnf info `Prelude.seq` Prelude.rnf warning
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobPhase+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobPhase+ ( JobPhase+ ( ..,+ JobPhase_PROBING,+ JobPhase_TRANSCODING,+ JobPhase_UPLOADING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A job\'s phase can be PROBING, TRANSCODING OR UPLOADING+newtype JobPhase = JobPhase'+ { fromJobPhase ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobPhase_PROBING :: JobPhase+pattern JobPhase_PROBING = JobPhase' "PROBING"++pattern JobPhase_TRANSCODING :: JobPhase+pattern JobPhase_TRANSCODING = JobPhase' "TRANSCODING"++pattern JobPhase_UPLOADING :: JobPhase+pattern JobPhase_UPLOADING = JobPhase' "UPLOADING"++{-# COMPLETE+ JobPhase_PROBING,+ JobPhase_TRANSCODING,+ JobPhase_UPLOADING,+ JobPhase'+ #-}
@@ -0,0 +1,373 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AvailBlanking+import Amazonka.MediaConvert.Types.EsamSettings+import Amazonka.MediaConvert.Types.ExtendedDataServices+import Amazonka.MediaConvert.Types.Input+import Amazonka.MediaConvert.Types.KantarWatermarkSettings+import Amazonka.MediaConvert.Types.MotionImageInserter+import Amazonka.MediaConvert.Types.NielsenConfiguration+import Amazonka.MediaConvert.Types.NielsenNonLinearWatermarkSettings+import Amazonka.MediaConvert.Types.OutputGroup+import Amazonka.MediaConvert.Types.TimecodeConfig+import Amazonka.MediaConvert.Types.TimedMetadataInsertion+import qualified Amazonka.Prelude as Prelude++-- | JobSettings contains all the transcode settings for a job.+--+-- /See:/ 'newJobSettings' smart constructor.+data JobSettings = JobSettings'+ { -- | When specified, this offset (in milliseconds) is added to the input Ad+ -- Avail PTS time.+ adAvailOffset :: Prelude.Maybe Prelude.Int,+ -- | Settings for ad avail blanking. Video can be blanked or overlaid with an+ -- image, and audio muted during SCTE-35 triggered ad avails.+ availBlanking :: Prelude.Maybe AvailBlanking,+ -- | Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+ -- insertion, you can ignore these settings.+ esam :: Prelude.Maybe EsamSettings,+ -- | If your source content has EIA-608 Line 21 Data Services, enable this+ -- feature to specify what MediaConvert does with the Extended Data+ -- Services (XDS) packets. You can choose to pass through XDS packets, or+ -- remove them from the output. For more information about XDS, see EIA-608+ -- Line Data Services, section 9.5.1.5 05h Content Advisory.+ extendedDataServices :: Prelude.Maybe ExtendedDataServices,+ -- | Use Inputs (inputs) to define source file used in the transcode job.+ -- There can be multiple inputs add in a job. These inputs will be+ -- concantenated together to create the output.+ inputs :: Prelude.Maybe [Input],+ -- | Use these settings only when you use Kantar watermarking. Specify the+ -- values that MediaConvert uses to generate and place Kantar watermarks in+ -- your output audio. These settings apply to every output in your job. In+ -- addition to specifying these values, you also need to store your Kantar+ -- credentials in AWS Secrets Manager. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+ kantarWatermark :: Prelude.Maybe KantarWatermarkSettings,+ -- | Overlay motion graphics on top of your video. The motion graphics that+ -- you specify here appear on all outputs in all output groups. For more+ -- information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/motion-graphic-overlay.html.+ motionImageInserter :: Prelude.Maybe MotionImageInserter,+ -- | Settings for your Nielsen configuration. If you don\'t do Nielsen+ -- measurement and analytics, ignore these settings. When you enable+ -- Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM+ -- to ID3 tagging for all outputs in the job. To enable Nielsen+ -- configuration programmatically, include an instance of+ -- nielsenConfiguration in your JSON job specification. Even if you don\'t+ -- include any children of nielsenConfiguration, you still enable the+ -- setting.+ nielsenConfiguration :: Prelude.Maybe NielsenConfiguration,+ -- | Ignore these settings unless you are using Nielsen non-linear+ -- watermarking. Specify the values that MediaConvert uses to generate and+ -- place Nielsen watermarks in your output audio. In addition to specifying+ -- these values, you also need to set up your cloud TIC server. These+ -- settings apply to every output in your job. The MediaConvert+ -- implementation is currently with the following Nielsen versions: Nielsen+ -- Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7+ -- Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]+ nielsenNonLinearWatermark :: Prelude.Maybe NielsenNonLinearWatermarkSettings,+ -- | (OutputGroups) contains one group of settings for each set of outputs+ -- that share a common package type. All unpackaged files (MPEG-4, MPEG-2+ -- TS, Quicktime, MXF, and no container) are grouped in a single output+ -- group as well. Required in (OutputGroups) is a group of settings that+ -- apply to the whole group. This required object depends on the value you+ -- set for (Type) under (OutputGroups)>(OutputGroupSettings). Type,+ -- settings object pairs are as follows. * FILE_GROUP_SETTINGS,+ -- FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings *+ -- DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings *+ -- MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,+ -- CmafGroupSettings+ outputGroups :: Prelude.Maybe [OutputGroup],+ -- | These settings control how the service handles timecodes throughout the+ -- job. These settings don\'t affect input clipping.+ timecodeConfig :: Prelude.Maybe TimecodeConfig,+ -- | Insert user-defined custom ID3 metadata (id3) at timecodes (timecode)+ -- that you specify. In each output that you want to include this metadata,+ -- you must set ID3 metadata (timedMetadata) to Passthrough (PASSTHROUGH).+ timedMetadataInsertion :: Prelude.Maybe TimedMetadataInsertion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adAvailOffset', 'jobSettings_adAvailOffset' - When specified, this offset (in milliseconds) is added to the input Ad+-- Avail PTS time.+--+-- 'availBlanking', 'jobSettings_availBlanking' - Settings for ad avail blanking. Video can be blanked or overlaid with an+-- image, and audio muted during SCTE-35 triggered ad avails.+--+-- 'esam', 'jobSettings_esam' - Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+-- insertion, you can ignore these settings.+--+-- 'extendedDataServices', 'jobSettings_extendedDataServices' - If your source content has EIA-608 Line 21 Data Services, enable this+-- feature to specify what MediaConvert does with the Extended Data+-- Services (XDS) packets. You can choose to pass through XDS packets, or+-- remove them from the output. For more information about XDS, see EIA-608+-- Line Data Services, section 9.5.1.5 05h Content Advisory.+--+-- 'inputs', 'jobSettings_inputs' - Use Inputs (inputs) to define source file used in the transcode job.+-- There can be multiple inputs add in a job. These inputs will be+-- concantenated together to create the output.+--+-- 'kantarWatermark', 'jobSettings_kantarWatermark' - Use these settings only when you use Kantar watermarking. Specify the+-- values that MediaConvert uses to generate and place Kantar watermarks in+-- your output audio. These settings apply to every output in your job. In+-- addition to specifying these values, you also need to store your Kantar+-- credentials in AWS Secrets Manager. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+--+-- 'motionImageInserter', 'jobSettings_motionImageInserter' - Overlay motion graphics on top of your video. The motion graphics that+-- you specify here appear on all outputs in all output groups. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/motion-graphic-overlay.html.+--+-- 'nielsenConfiguration', 'jobSettings_nielsenConfiguration' - Settings for your Nielsen configuration. If you don\'t do Nielsen+-- measurement and analytics, ignore these settings. When you enable+-- Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM+-- to ID3 tagging for all outputs in the job. To enable Nielsen+-- configuration programmatically, include an instance of+-- nielsenConfiguration in your JSON job specification. Even if you don\'t+-- include any children of nielsenConfiguration, you still enable the+-- setting.+--+-- 'nielsenNonLinearWatermark', 'jobSettings_nielsenNonLinearWatermark' - Ignore these settings unless you are using Nielsen non-linear+-- watermarking. Specify the values that MediaConvert uses to generate and+-- place Nielsen watermarks in your output audio. In addition to specifying+-- these values, you also need to set up your cloud TIC server. These+-- settings apply to every output in your job. The MediaConvert+-- implementation is currently with the following Nielsen versions: Nielsen+-- Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7+-- Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]+--+-- 'outputGroups', 'jobSettings_outputGroups' - (OutputGroups) contains one group of settings for each set of outputs+-- that share a common package type. All unpackaged files (MPEG-4, MPEG-2+-- TS, Quicktime, MXF, and no container) are grouped in a single output+-- group as well. Required in (OutputGroups) is a group of settings that+-- apply to the whole group. This required object depends on the value you+-- set for (Type) under (OutputGroups)>(OutputGroupSettings). Type,+-- settings object pairs are as follows. * FILE_GROUP_SETTINGS,+-- FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings *+-- DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings *+-- MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,+-- CmafGroupSettings+--+-- 'timecodeConfig', 'jobSettings_timecodeConfig' - These settings control how the service handles timecodes throughout the+-- job. These settings don\'t affect input clipping.+--+-- 'timedMetadataInsertion', 'jobSettings_timedMetadataInsertion' - Insert user-defined custom ID3 metadata (id3) at timecodes (timecode)+-- that you specify. In each output that you want to include this metadata,+-- you must set ID3 metadata (timedMetadata) to Passthrough (PASSTHROUGH).+newJobSettings ::+ JobSettings+newJobSettings =+ JobSettings'+ { adAvailOffset = Prelude.Nothing,+ availBlanking = Prelude.Nothing,+ esam = Prelude.Nothing,+ extendedDataServices = Prelude.Nothing,+ inputs = Prelude.Nothing,+ kantarWatermark = Prelude.Nothing,+ motionImageInserter = Prelude.Nothing,+ nielsenConfiguration = Prelude.Nothing,+ nielsenNonLinearWatermark = Prelude.Nothing,+ outputGroups = Prelude.Nothing,+ timecodeConfig = Prelude.Nothing,+ timedMetadataInsertion = Prelude.Nothing+ }++-- | When specified, this offset (in milliseconds) is added to the input Ad+-- Avail PTS time.+jobSettings_adAvailOffset :: Lens.Lens' JobSettings (Prelude.Maybe Prelude.Int)+jobSettings_adAvailOffset = Lens.lens (\JobSettings' {adAvailOffset} -> adAvailOffset) (\s@JobSettings' {} a -> s {adAvailOffset = a} :: JobSettings)++-- | Settings for ad avail blanking. Video can be blanked or overlaid with an+-- image, and audio muted during SCTE-35 triggered ad avails.+jobSettings_availBlanking :: Lens.Lens' JobSettings (Prelude.Maybe AvailBlanking)+jobSettings_availBlanking = Lens.lens (\JobSettings' {availBlanking} -> availBlanking) (\s@JobSettings' {} a -> s {availBlanking = a} :: JobSettings)++-- | Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+-- insertion, you can ignore these settings.+jobSettings_esam :: Lens.Lens' JobSettings (Prelude.Maybe EsamSettings)+jobSettings_esam = Lens.lens (\JobSettings' {esam} -> esam) (\s@JobSettings' {} a -> s {esam = a} :: JobSettings)++-- | If your source content has EIA-608 Line 21 Data Services, enable this+-- feature to specify what MediaConvert does with the Extended Data+-- Services (XDS) packets. You can choose to pass through XDS packets, or+-- remove them from the output. For more information about XDS, see EIA-608+-- Line Data Services, section 9.5.1.5 05h Content Advisory.+jobSettings_extendedDataServices :: Lens.Lens' JobSettings (Prelude.Maybe ExtendedDataServices)+jobSettings_extendedDataServices = Lens.lens (\JobSettings' {extendedDataServices} -> extendedDataServices) (\s@JobSettings' {} a -> s {extendedDataServices = a} :: JobSettings)++-- | Use Inputs (inputs) to define source file used in the transcode job.+-- There can be multiple inputs add in a job. These inputs will be+-- concantenated together to create the output.+jobSettings_inputs :: Lens.Lens' JobSettings (Prelude.Maybe [Input])+jobSettings_inputs = Lens.lens (\JobSettings' {inputs} -> inputs) (\s@JobSettings' {} a -> s {inputs = a} :: JobSettings) Prelude.. Lens.mapping Lens.coerced++-- | Use these settings only when you use Kantar watermarking. Specify the+-- values that MediaConvert uses to generate and place Kantar watermarks in+-- your output audio. These settings apply to every output in your job. In+-- addition to specifying these values, you also need to store your Kantar+-- credentials in AWS Secrets Manager. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+jobSettings_kantarWatermark :: Lens.Lens' JobSettings (Prelude.Maybe KantarWatermarkSettings)+jobSettings_kantarWatermark = Lens.lens (\JobSettings' {kantarWatermark} -> kantarWatermark) (\s@JobSettings' {} a -> s {kantarWatermark = a} :: JobSettings)++-- | Overlay motion graphics on top of your video. The motion graphics that+-- you specify here appear on all outputs in all output groups. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/motion-graphic-overlay.html.+jobSettings_motionImageInserter :: Lens.Lens' JobSettings (Prelude.Maybe MotionImageInserter)+jobSettings_motionImageInserter = Lens.lens (\JobSettings' {motionImageInserter} -> motionImageInserter) (\s@JobSettings' {} a -> s {motionImageInserter = a} :: JobSettings)++-- | Settings for your Nielsen configuration. If you don\'t do Nielsen+-- measurement and analytics, ignore these settings. When you enable+-- Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM+-- to ID3 tagging for all outputs in the job. To enable Nielsen+-- configuration programmatically, include an instance of+-- nielsenConfiguration in your JSON job specification. Even if you don\'t+-- include any children of nielsenConfiguration, you still enable the+-- setting.+jobSettings_nielsenConfiguration :: Lens.Lens' JobSettings (Prelude.Maybe NielsenConfiguration)+jobSettings_nielsenConfiguration = Lens.lens (\JobSettings' {nielsenConfiguration} -> nielsenConfiguration) (\s@JobSettings' {} a -> s {nielsenConfiguration = a} :: JobSettings)++-- | Ignore these settings unless you are using Nielsen non-linear+-- watermarking. Specify the values that MediaConvert uses to generate and+-- place Nielsen watermarks in your output audio. In addition to specifying+-- these values, you also need to set up your cloud TIC server. These+-- settings apply to every output in your job. The MediaConvert+-- implementation is currently with the following Nielsen versions: Nielsen+-- Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7+-- Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]+jobSettings_nielsenNonLinearWatermark :: Lens.Lens' JobSettings (Prelude.Maybe NielsenNonLinearWatermarkSettings)+jobSettings_nielsenNonLinearWatermark = Lens.lens (\JobSettings' {nielsenNonLinearWatermark} -> nielsenNonLinearWatermark) (\s@JobSettings' {} a -> s {nielsenNonLinearWatermark = a} :: JobSettings)++-- | (OutputGroups) contains one group of settings for each set of outputs+-- that share a common package type. All unpackaged files (MPEG-4, MPEG-2+-- TS, Quicktime, MXF, and no container) are grouped in a single output+-- group as well. Required in (OutputGroups) is a group of settings that+-- apply to the whole group. This required object depends on the value you+-- set for (Type) under (OutputGroups)>(OutputGroupSettings). Type,+-- settings object pairs are as follows. * FILE_GROUP_SETTINGS,+-- FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings *+-- DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings *+-- MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,+-- CmafGroupSettings+jobSettings_outputGroups :: Lens.Lens' JobSettings (Prelude.Maybe [OutputGroup])+jobSettings_outputGroups = Lens.lens (\JobSettings' {outputGroups} -> outputGroups) (\s@JobSettings' {} a -> s {outputGroups = a} :: JobSettings) Prelude.. Lens.mapping Lens.coerced++-- | These settings control how the service handles timecodes throughout the+-- job. These settings don\'t affect input clipping.+jobSettings_timecodeConfig :: Lens.Lens' JobSettings (Prelude.Maybe TimecodeConfig)+jobSettings_timecodeConfig = Lens.lens (\JobSettings' {timecodeConfig} -> timecodeConfig) (\s@JobSettings' {} a -> s {timecodeConfig = a} :: JobSettings)++-- | Insert user-defined custom ID3 metadata (id3) at timecodes (timecode)+-- that you specify. In each output that you want to include this metadata,+-- you must set ID3 metadata (timedMetadata) to Passthrough (PASSTHROUGH).+jobSettings_timedMetadataInsertion :: Lens.Lens' JobSettings (Prelude.Maybe TimedMetadataInsertion)+jobSettings_timedMetadataInsertion = Lens.lens (\JobSettings' {timedMetadataInsertion} -> timedMetadataInsertion) (\s@JobSettings' {} a -> s {timedMetadataInsertion = a} :: JobSettings)++instance Data.FromJSON JobSettings where+ parseJSON =+ Data.withObject+ "JobSettings"+ ( \x ->+ JobSettings'+ Prelude.<$> (x Data..:? "adAvailOffset")+ Prelude.<*> (x Data..:? "availBlanking")+ Prelude.<*> (x Data..:? "esam")+ Prelude.<*> (x Data..:? "extendedDataServices")+ Prelude.<*> (x Data..:? "inputs" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "kantarWatermark")+ Prelude.<*> (x Data..:? "motionImageInserter")+ Prelude.<*> (x Data..:? "nielsenConfiguration")+ Prelude.<*> (x Data..:? "nielsenNonLinearWatermark")+ Prelude.<*> (x Data..:? "outputGroups" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "timecodeConfig")+ Prelude.<*> (x Data..:? "timedMetadataInsertion")+ )++instance Prelude.Hashable JobSettings where+ hashWithSalt _salt JobSettings' {..} =+ _salt+ `Prelude.hashWithSalt` adAvailOffset+ `Prelude.hashWithSalt` availBlanking+ `Prelude.hashWithSalt` esam+ `Prelude.hashWithSalt` extendedDataServices+ `Prelude.hashWithSalt` inputs+ `Prelude.hashWithSalt` kantarWatermark+ `Prelude.hashWithSalt` motionImageInserter+ `Prelude.hashWithSalt` nielsenConfiguration+ `Prelude.hashWithSalt` nielsenNonLinearWatermark+ `Prelude.hashWithSalt` outputGroups+ `Prelude.hashWithSalt` timecodeConfig+ `Prelude.hashWithSalt` timedMetadataInsertion++instance Prelude.NFData JobSettings where+ rnf JobSettings' {..} =+ Prelude.rnf adAvailOffset+ `Prelude.seq` Prelude.rnf availBlanking+ `Prelude.seq` Prelude.rnf esam+ `Prelude.seq` Prelude.rnf extendedDataServices+ `Prelude.seq` Prelude.rnf inputs+ `Prelude.seq` Prelude.rnf kantarWatermark+ `Prelude.seq` Prelude.rnf motionImageInserter+ `Prelude.seq` Prelude.rnf nielsenConfiguration+ `Prelude.seq` Prelude.rnf nielsenNonLinearWatermark+ `Prelude.seq` Prelude.rnf outputGroups+ `Prelude.seq` Prelude.rnf timecodeConfig+ `Prelude.seq` Prelude.rnf timedMetadataInsertion++instance Data.ToJSON JobSettings where+ toJSON JobSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adAvailOffset" Data..=) Prelude.<$> adAvailOffset,+ ("availBlanking" Data..=) Prelude.<$> availBlanking,+ ("esam" Data..=) Prelude.<$> esam,+ ("extendedDataServices" Data..=)+ Prelude.<$> extendedDataServices,+ ("inputs" Data..=) Prelude.<$> inputs,+ ("kantarWatermark" Data..=)+ Prelude.<$> kantarWatermark,+ ("motionImageInserter" Data..=)+ Prelude.<$> motionImageInserter,+ ("nielsenConfiguration" Data..=)+ Prelude.<$> nielsenConfiguration,+ ("nielsenNonLinearWatermark" Data..=)+ Prelude.<$> nielsenNonLinearWatermark,+ ("outputGroups" Data..=) Prelude.<$> outputGroups,+ ("timecodeConfig" Data..=)+ Prelude.<$> timecodeConfig,+ ("timedMetadataInsertion" Data..=)+ Prelude.<$> timedMetadataInsertion+ ]+ )
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobStatus+ ( JobStatus+ ( ..,+ JobStatus_CANCELED,+ JobStatus_COMPLETE,+ JobStatus_ERROR,+ JobStatus_PROGRESSING,+ JobStatus_SUBMITTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A job\'s status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or+-- ERROR.+newtype JobStatus = JobStatus'+ { fromJobStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobStatus_CANCELED :: JobStatus+pattern JobStatus_CANCELED = JobStatus' "CANCELED"++pattern JobStatus_COMPLETE :: JobStatus+pattern JobStatus_COMPLETE = JobStatus' "COMPLETE"++pattern JobStatus_ERROR :: JobStatus+pattern JobStatus_ERROR = JobStatus' "ERROR"++pattern JobStatus_PROGRESSING :: JobStatus+pattern JobStatus_PROGRESSING = JobStatus' "PROGRESSING"++pattern JobStatus_SUBMITTED :: JobStatus+pattern JobStatus_SUBMITTED = JobStatus' "SUBMITTED"++{-# COMPLETE+ JobStatus_CANCELED,+ JobStatus_COMPLETE,+ JobStatus_ERROR,+ JobStatus_PROGRESSING,+ JobStatus_SUBMITTED,+ JobStatus'+ #-}
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AccelerationSettings+import Amazonka.MediaConvert.Types.HopDestination+import Amazonka.MediaConvert.Types.JobTemplateSettings+import Amazonka.MediaConvert.Types.StatusUpdateInterval+import Amazonka.MediaConvert.Types.Type+import qualified Amazonka.Prelude as Prelude++-- | A job template is a pre-made set of encoding instructions that you can+-- use to quickly create a job.+--+-- /See:/ 'newJobTemplate' smart constructor.+data JobTemplate = JobTemplate'+ { -- | Accelerated transcoding can significantly speed up jobs with long,+ -- visually complex content.+ accelerationSettings :: Prelude.Maybe AccelerationSettings,+ -- | An identifier for this resource that is unique within all of AWS.+ arn :: Prelude.Maybe Prelude.Text,+ -- | An optional category you create to organize your job templates.+ category :: Prelude.Maybe Prelude.Text,+ -- | The timestamp in epoch seconds for Job template creation.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | An optional description you create for each job template.+ description :: Prelude.Maybe Prelude.Text,+ -- | Optional list of hop destinations.+ hopDestinations :: Prelude.Maybe [HopDestination],+ -- | The timestamp in epoch seconds when the Job template was last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | Relative priority on the job.+ priority :: Prelude.Maybe Prelude.Int,+ -- | Optional. The queue that jobs created from this template are assigned+ -- to. If you don\'t specify this, jobs will go to the default queue.+ queue :: Prelude.Maybe Prelude.Text,+ -- | Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+ -- CloudWatch Events. Set the interval, in seconds, between status updates.+ -- MediaConvert sends an update at this interval from the time the service+ -- begins processing your job to the time it completes the transcode or+ -- encounters an error.+ statusUpdateInterval :: Prelude.Maybe StatusUpdateInterval,+ -- | A job template can be of two types: system or custom. System or built-in+ -- job templates can\'t be modified or deleted by the user.+ type' :: Prelude.Maybe Type,+ -- | JobTemplateSettings contains all the transcode settings saved in the+ -- template that will be applied to jobs created from it.+ settings :: JobTemplateSettings,+ -- | A name you create for each job template. Each name must be unique within+ -- your account.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accelerationSettings', 'jobTemplate_accelerationSettings' - Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content.+--+-- 'arn', 'jobTemplate_arn' - An identifier for this resource that is unique within all of AWS.+--+-- 'category', 'jobTemplate_category' - An optional category you create to organize your job templates.+--+-- 'createdAt', 'jobTemplate_createdAt' - The timestamp in epoch seconds for Job template creation.+--+-- 'description', 'jobTemplate_description' - An optional description you create for each job template.+--+-- 'hopDestinations', 'jobTemplate_hopDestinations' - Optional list of hop destinations.+--+-- 'lastUpdated', 'jobTemplate_lastUpdated' - The timestamp in epoch seconds when the Job template was last updated.+--+-- 'priority', 'jobTemplate_priority' - Relative priority on the job.+--+-- 'queue', 'jobTemplate_queue' - Optional. The queue that jobs created from this template are assigned+-- to. If you don\'t specify this, jobs will go to the default queue.+--+-- 'statusUpdateInterval', 'jobTemplate_statusUpdateInterval' - Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+-- CloudWatch Events. Set the interval, in seconds, between status updates.+-- MediaConvert sends an update at this interval from the time the service+-- begins processing your job to the time it completes the transcode or+-- encounters an error.+--+-- 'type'', 'jobTemplate_type' - A job template can be of two types: system or custom. System or built-in+-- job templates can\'t be modified or deleted by the user.+--+-- 'settings', 'jobTemplate_settings' - JobTemplateSettings contains all the transcode settings saved in the+-- template that will be applied to jobs created from it.+--+-- 'name', 'jobTemplate_name' - A name you create for each job template. Each name must be unique within+-- your account.+newJobTemplate ::+ -- | 'settings'+ JobTemplateSettings ->+ -- | 'name'+ Prelude.Text ->+ JobTemplate+newJobTemplate pSettings_ pName_ =+ JobTemplate'+ { accelerationSettings =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ category = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ hopDestinations = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ priority = Prelude.Nothing,+ queue = Prelude.Nothing,+ statusUpdateInterval = Prelude.Nothing,+ type' = Prelude.Nothing,+ settings = pSettings_,+ name = pName_+ }++-- | Accelerated transcoding can significantly speed up jobs with long,+-- visually complex content.+jobTemplate_accelerationSettings :: Lens.Lens' JobTemplate (Prelude.Maybe AccelerationSettings)+jobTemplate_accelerationSettings = Lens.lens (\JobTemplate' {accelerationSettings} -> accelerationSettings) (\s@JobTemplate' {} a -> s {accelerationSettings = a} :: JobTemplate)++-- | An identifier for this resource that is unique within all of AWS.+jobTemplate_arn :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_arn = Lens.lens (\JobTemplate' {arn} -> arn) (\s@JobTemplate' {} a -> s {arn = a} :: JobTemplate)++-- | An optional category you create to organize your job templates.+jobTemplate_category :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_category = Lens.lens (\JobTemplate' {category} -> category) (\s@JobTemplate' {} a -> s {category = a} :: JobTemplate)++-- | The timestamp in epoch seconds for Job template creation.+jobTemplate_createdAt :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.UTCTime)+jobTemplate_createdAt = Lens.lens (\JobTemplate' {createdAt} -> createdAt) (\s@JobTemplate' {} a -> s {createdAt = a} :: JobTemplate) Prelude.. Lens.mapping Data._Time++-- | An optional description you create for each job template.+jobTemplate_description :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_description = Lens.lens (\JobTemplate' {description} -> description) (\s@JobTemplate' {} a -> s {description = a} :: JobTemplate)++-- | Optional list of hop destinations.+jobTemplate_hopDestinations :: Lens.Lens' JobTemplate (Prelude.Maybe [HopDestination])+jobTemplate_hopDestinations = Lens.lens (\JobTemplate' {hopDestinations} -> hopDestinations) (\s@JobTemplate' {} a -> s {hopDestinations = a} :: JobTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp in epoch seconds when the Job template was last updated.+jobTemplate_lastUpdated :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.UTCTime)+jobTemplate_lastUpdated = Lens.lens (\JobTemplate' {lastUpdated} -> lastUpdated) (\s@JobTemplate' {} a -> s {lastUpdated = a} :: JobTemplate) Prelude.. Lens.mapping Data._Time++-- | Relative priority on the job.+jobTemplate_priority :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Int)+jobTemplate_priority = Lens.lens (\JobTemplate' {priority} -> priority) (\s@JobTemplate' {} a -> s {priority = a} :: JobTemplate)++-- | Optional. The queue that jobs created from this template are assigned+-- to. If you don\'t specify this, jobs will go to the default queue.+jobTemplate_queue :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_queue = Lens.lens (\JobTemplate' {queue} -> queue) (\s@JobTemplate' {} a -> s {queue = a} :: JobTemplate)++-- | Specify how often MediaConvert sends STATUS_UPDATE events to Amazon+-- CloudWatch Events. Set the interval, in seconds, between status updates.+-- MediaConvert sends an update at this interval from the time the service+-- begins processing your job to the time it completes the transcode or+-- encounters an error.+jobTemplate_statusUpdateInterval :: Lens.Lens' JobTemplate (Prelude.Maybe StatusUpdateInterval)+jobTemplate_statusUpdateInterval = Lens.lens (\JobTemplate' {statusUpdateInterval} -> statusUpdateInterval) (\s@JobTemplate' {} a -> s {statusUpdateInterval = a} :: JobTemplate)++-- | A job template can be of two types: system or custom. System or built-in+-- job templates can\'t be modified or deleted by the user.+jobTemplate_type :: Lens.Lens' JobTemplate (Prelude.Maybe Type)+jobTemplate_type = Lens.lens (\JobTemplate' {type'} -> type') (\s@JobTemplate' {} a -> s {type' = a} :: JobTemplate)++-- | JobTemplateSettings contains all the transcode settings saved in the+-- template that will be applied to jobs created from it.+jobTemplate_settings :: Lens.Lens' JobTemplate JobTemplateSettings+jobTemplate_settings = Lens.lens (\JobTemplate' {settings} -> settings) (\s@JobTemplate' {} a -> s {settings = a} :: JobTemplate)++-- | A name you create for each job template. Each name must be unique within+-- your account.+jobTemplate_name :: Lens.Lens' JobTemplate Prelude.Text+jobTemplate_name = Lens.lens (\JobTemplate' {name} -> name) (\s@JobTemplate' {} a -> s {name = a} :: JobTemplate)++instance Data.FromJSON JobTemplate where+ parseJSON =+ Data.withObject+ "JobTemplate"+ ( \x ->+ JobTemplate'+ Prelude.<$> (x Data..:? "accelerationSettings")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "category")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> ( x+ Data..:? "hopDestinations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "priority")+ Prelude.<*> (x Data..:? "queue")+ Prelude.<*> (x Data..:? "statusUpdateInterval")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..: "settings")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable JobTemplate where+ hashWithSalt _salt JobTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` accelerationSettings+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` hopDestinations+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` queue+ `Prelude.hashWithSalt` statusUpdateInterval+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` settings+ `Prelude.hashWithSalt` name++instance Prelude.NFData JobTemplate where+ rnf JobTemplate' {..} =+ Prelude.rnf accelerationSettings+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf category+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf hopDestinations+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf queue+ `Prelude.seq` Prelude.rnf statusUpdateInterval+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf settings+ `Prelude.seq` Prelude.rnf name
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobTemplateListBy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobTemplateListBy+ ( JobTemplateListBy+ ( ..,+ JobTemplateListBy_CREATION_DATE,+ JobTemplateListBy_NAME,+ JobTemplateListBy_SYSTEM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Optional. When you request a list of job templates, you can choose to+-- list them alphabetically by NAME or chronologically by CREATION_DATE. If+-- you don\'t specify, the service will list them by name.+newtype JobTemplateListBy = JobTemplateListBy'+ { fromJobTemplateListBy ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobTemplateListBy_CREATION_DATE :: JobTemplateListBy+pattern JobTemplateListBy_CREATION_DATE = JobTemplateListBy' "CREATION_DATE"++pattern JobTemplateListBy_NAME :: JobTemplateListBy+pattern JobTemplateListBy_NAME = JobTemplateListBy' "NAME"++pattern JobTemplateListBy_SYSTEM :: JobTemplateListBy+pattern JobTemplateListBy_SYSTEM = JobTemplateListBy' "SYSTEM"++{-# COMPLETE+ JobTemplateListBy_CREATION_DATE,+ JobTemplateListBy_NAME,+ JobTemplateListBy_SYSTEM,+ JobTemplateListBy'+ #-}
@@ -0,0 +1,375 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.JobTemplateSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.JobTemplateSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConvert.Types.AvailBlanking+import Amazonka.MediaConvert.Types.EsamSettings+import Amazonka.MediaConvert.Types.ExtendedDataServices+import Amazonka.MediaConvert.Types.InputTemplate+import Amazonka.MediaConvert.Types.KantarWatermarkSettings+import Amazonka.MediaConvert.Types.MotionImageInserter+import Amazonka.MediaConvert.Types.NielsenConfiguration+import Amazonka.MediaConvert.Types.NielsenNonLinearWatermarkSettings+import Amazonka.MediaConvert.Types.OutputGroup+import Amazonka.MediaConvert.Types.TimecodeConfig+import Amazonka.MediaConvert.Types.TimedMetadataInsertion+import qualified Amazonka.Prelude as Prelude++-- | JobTemplateSettings contains all the transcode settings saved in the+-- template that will be applied to jobs created from it.+--+-- /See:/ 'newJobTemplateSettings' smart constructor.+data JobTemplateSettings = JobTemplateSettings'+ { -- | When specified, this offset (in milliseconds) is added to the input Ad+ -- Avail PTS time.+ adAvailOffset :: Prelude.Maybe Prelude.Int,+ -- | Settings for ad avail blanking. Video can be blanked or overlaid with an+ -- image, and audio muted during SCTE-35 triggered ad avails.+ availBlanking :: Prelude.Maybe AvailBlanking,+ -- | Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+ -- insertion, you can ignore these settings.+ esam :: Prelude.Maybe EsamSettings,+ -- | If your source content has EIA-608 Line 21 Data Services, enable this+ -- feature to specify what MediaConvert does with the Extended Data+ -- Services (XDS) packets. You can choose to pass through XDS packets, or+ -- remove them from the output. For more information about XDS, see EIA-608+ -- Line Data Services, section 9.5.1.5 05h Content Advisory.+ extendedDataServices :: Prelude.Maybe ExtendedDataServices,+ -- | Use Inputs (inputs) to define the source file used in the transcode job.+ -- There can only be one input in a job template. Using the API, you can+ -- include multiple inputs when referencing a job template.+ inputs :: Prelude.Maybe [InputTemplate],+ -- | Use these settings only when you use Kantar watermarking. Specify the+ -- values that MediaConvert uses to generate and place Kantar watermarks in+ -- your output audio. These settings apply to every output in your job. In+ -- addition to specifying these values, you also need to store your Kantar+ -- credentials in AWS Secrets Manager. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+ kantarWatermark :: Prelude.Maybe KantarWatermarkSettings,+ -- | Overlay motion graphics on top of your video. The motion graphics that+ -- you specify here appear on all outputs in all output groups. For more+ -- information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/motion-graphic-overlay.html.+ motionImageInserter :: Prelude.Maybe MotionImageInserter,+ -- | Settings for your Nielsen configuration. If you don\'t do Nielsen+ -- measurement and analytics, ignore these settings. When you enable+ -- Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM+ -- to ID3 tagging for all outputs in the job. To enable Nielsen+ -- configuration programmatically, include an instance of+ -- nielsenConfiguration in your JSON job specification. Even if you don\'t+ -- include any children of nielsenConfiguration, you still enable the+ -- setting.+ nielsenConfiguration :: Prelude.Maybe NielsenConfiguration,+ -- | Ignore these settings unless you are using Nielsen non-linear+ -- watermarking. Specify the values that MediaConvert uses to generate and+ -- place Nielsen watermarks in your output audio. In addition to specifying+ -- these values, you also need to set up your cloud TIC server. These+ -- settings apply to every output in your job. The MediaConvert+ -- implementation is currently with the following Nielsen versions: Nielsen+ -- Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7+ -- Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]+ nielsenNonLinearWatermark :: Prelude.Maybe NielsenNonLinearWatermarkSettings,+ -- | (OutputGroups) contains one group of settings for each set of outputs+ -- that share a common package type. All unpackaged files (MPEG-4, MPEG-2+ -- TS, Quicktime, MXF, and no container) are grouped in a single output+ -- group as well. Required in (OutputGroups) is a group of settings that+ -- apply to the whole group. This required object depends on the value you+ -- set for (Type) under (OutputGroups)>(OutputGroupSettings). Type,+ -- settings object pairs are as follows. * FILE_GROUP_SETTINGS,+ -- FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings *+ -- DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings *+ -- MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,+ -- CmafGroupSettings+ outputGroups :: Prelude.Maybe [OutputGroup],+ -- | These settings control how the service handles timecodes throughout the+ -- job. These settings don\'t affect input clipping.+ timecodeConfig :: Prelude.Maybe TimecodeConfig,+ -- | Insert user-defined custom ID3 metadata (id3) at timecodes (timecode)+ -- that you specify. In each output that you want to include this metadata,+ -- you must set ID3 metadata (timedMetadata) to Passthrough (PASSTHROUGH).+ timedMetadataInsertion :: Prelude.Maybe TimedMetadataInsertion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobTemplateSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adAvailOffset', 'jobTemplateSettings_adAvailOffset' - When specified, this offset (in milliseconds) is added to the input Ad+-- Avail PTS time.+--+-- 'availBlanking', 'jobTemplateSettings_availBlanking' - Settings for ad avail blanking. Video can be blanked or overlaid with an+-- image, and audio muted during SCTE-35 triggered ad avails.+--+-- 'esam', 'jobTemplateSettings_esam' - Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+-- insertion, you can ignore these settings.+--+-- 'extendedDataServices', 'jobTemplateSettings_extendedDataServices' - If your source content has EIA-608 Line 21 Data Services, enable this+-- feature to specify what MediaConvert does with the Extended Data+-- Services (XDS) packets. You can choose to pass through XDS packets, or+-- remove them from the output. For more information about XDS, see EIA-608+-- Line Data Services, section 9.5.1.5 05h Content Advisory.+--+-- 'inputs', 'jobTemplateSettings_inputs' - Use Inputs (inputs) to define the source file used in the transcode job.+-- There can only be one input in a job template. Using the API, you can+-- include multiple inputs when referencing a job template.+--+-- 'kantarWatermark', 'jobTemplateSettings_kantarWatermark' - Use these settings only when you use Kantar watermarking. Specify the+-- values that MediaConvert uses to generate and place Kantar watermarks in+-- your output audio. These settings apply to every output in your job. In+-- addition to specifying these values, you also need to store your Kantar+-- credentials in AWS Secrets Manager. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+--+-- 'motionImageInserter', 'jobTemplateSettings_motionImageInserter' - Overlay motion graphics on top of your video. The motion graphics that+-- you specify here appear on all outputs in all output groups. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/motion-graphic-overlay.html.+--+-- 'nielsenConfiguration', 'jobTemplateSettings_nielsenConfiguration' - Settings for your Nielsen configuration. If you don\'t do Nielsen+-- measurement and analytics, ignore these settings. When you enable+-- Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM+-- to ID3 tagging for all outputs in the job. To enable Nielsen+-- configuration programmatically, include an instance of+-- nielsenConfiguration in your JSON job specification. Even if you don\'t+-- include any children of nielsenConfiguration, you still enable the+-- setting.+--+-- 'nielsenNonLinearWatermark', 'jobTemplateSettings_nielsenNonLinearWatermark' - Ignore these settings unless you are using Nielsen non-linear+-- watermarking. Specify the values that MediaConvert uses to generate and+-- place Nielsen watermarks in your output audio. In addition to specifying+-- these values, you also need to set up your cloud TIC server. These+-- settings apply to every output in your job. The MediaConvert+-- implementation is currently with the following Nielsen versions: Nielsen+-- Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7+-- Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]+--+-- 'outputGroups', 'jobTemplateSettings_outputGroups' - (OutputGroups) contains one group of settings for each set of outputs+-- that share a common package type. All unpackaged files (MPEG-4, MPEG-2+-- TS, Quicktime, MXF, and no container) are grouped in a single output+-- group as well. Required in (OutputGroups) is a group of settings that+-- apply to the whole group. This required object depends on the value you+-- set for (Type) under (OutputGroups)>(OutputGroupSettings). Type,+-- settings object pairs are as follows. * FILE_GROUP_SETTINGS,+-- FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings *+-- DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings *+-- MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,+-- CmafGroupSettings+--+-- 'timecodeConfig', 'jobTemplateSettings_timecodeConfig' - These settings control how the service handles timecodes throughout the+-- job. These settings don\'t affect input clipping.+--+-- 'timedMetadataInsertion', 'jobTemplateSettings_timedMetadataInsertion' - Insert user-defined custom ID3 metadata (id3) at timecodes (timecode)+-- that you specify. In each output that you want to include this metadata,+-- you must set ID3 metadata (timedMetadata) to Passthrough (PASSTHROUGH).+newJobTemplateSettings ::+ JobTemplateSettings+newJobTemplateSettings =+ JobTemplateSettings'+ { adAvailOffset =+ Prelude.Nothing,+ availBlanking = Prelude.Nothing,+ esam = Prelude.Nothing,+ extendedDataServices = Prelude.Nothing,+ inputs = Prelude.Nothing,+ kantarWatermark = Prelude.Nothing,+ motionImageInserter = Prelude.Nothing,+ nielsenConfiguration = Prelude.Nothing,+ nielsenNonLinearWatermark = Prelude.Nothing,+ outputGroups = Prelude.Nothing,+ timecodeConfig = Prelude.Nothing,+ timedMetadataInsertion = Prelude.Nothing+ }++-- | When specified, this offset (in milliseconds) is added to the input Ad+-- Avail PTS time.+jobTemplateSettings_adAvailOffset :: Lens.Lens' JobTemplateSettings (Prelude.Maybe Prelude.Int)+jobTemplateSettings_adAvailOffset = Lens.lens (\JobTemplateSettings' {adAvailOffset} -> adAvailOffset) (\s@JobTemplateSettings' {} a -> s {adAvailOffset = a} :: JobTemplateSettings)++-- | Settings for ad avail blanking. Video can be blanked or overlaid with an+-- image, and audio muted during SCTE-35 triggered ad avails.+jobTemplateSettings_availBlanking :: Lens.Lens' JobTemplateSettings (Prelude.Maybe AvailBlanking)+jobTemplateSettings_availBlanking = Lens.lens (\JobTemplateSettings' {availBlanking} -> availBlanking) (\s@JobTemplateSettings' {} a -> s {availBlanking = a} :: JobTemplateSettings)++-- | Settings for Event Signaling And Messaging (ESAM). If you don\'t do ad+-- insertion, you can ignore these settings.+jobTemplateSettings_esam :: Lens.Lens' JobTemplateSettings (Prelude.Maybe EsamSettings)+jobTemplateSettings_esam = Lens.lens (\JobTemplateSettings' {esam} -> esam) (\s@JobTemplateSettings' {} a -> s {esam = a} :: JobTemplateSettings)++-- | If your source content has EIA-608 Line 21 Data Services, enable this+-- feature to specify what MediaConvert does with the Extended Data+-- Services (XDS) packets. You can choose to pass through XDS packets, or+-- remove them from the output. For more information about XDS, see EIA-608+-- Line Data Services, section 9.5.1.5 05h Content Advisory.+jobTemplateSettings_extendedDataServices :: Lens.Lens' JobTemplateSettings (Prelude.Maybe ExtendedDataServices)+jobTemplateSettings_extendedDataServices = Lens.lens (\JobTemplateSettings' {extendedDataServices} -> extendedDataServices) (\s@JobTemplateSettings' {} a -> s {extendedDataServices = a} :: JobTemplateSettings)++-- | Use Inputs (inputs) to define the source file used in the transcode job.+-- There can only be one input in a job template. Using the API, you can+-- include multiple inputs when referencing a job template.+jobTemplateSettings_inputs :: Lens.Lens' JobTemplateSettings (Prelude.Maybe [InputTemplate])+jobTemplateSettings_inputs = Lens.lens (\JobTemplateSettings' {inputs} -> inputs) (\s@JobTemplateSettings' {} a -> s {inputs = a} :: JobTemplateSettings) Prelude.. Lens.mapping Lens.coerced++-- | Use these settings only when you use Kantar watermarking. Specify the+-- values that MediaConvert uses to generate and place Kantar watermarks in+-- your output audio. These settings apply to every output in your job. In+-- addition to specifying these values, you also need to store your Kantar+-- credentials in AWS Secrets Manager. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+jobTemplateSettings_kantarWatermark :: Lens.Lens' JobTemplateSettings (Prelude.Maybe KantarWatermarkSettings)+jobTemplateSettings_kantarWatermark = Lens.lens (\JobTemplateSettings' {kantarWatermark} -> kantarWatermark) (\s@JobTemplateSettings' {} a -> s {kantarWatermark = a} :: JobTemplateSettings)++-- | Overlay motion graphics on top of your video. The motion graphics that+-- you specify here appear on all outputs in all output groups. For more+-- information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/motion-graphic-overlay.html.+jobTemplateSettings_motionImageInserter :: Lens.Lens' JobTemplateSettings (Prelude.Maybe MotionImageInserter)+jobTemplateSettings_motionImageInserter = Lens.lens (\JobTemplateSettings' {motionImageInserter} -> motionImageInserter) (\s@JobTemplateSettings' {} a -> s {motionImageInserter = a} :: JobTemplateSettings)++-- | Settings for your Nielsen configuration. If you don\'t do Nielsen+-- measurement and analytics, ignore these settings. When you enable+-- Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM+-- to ID3 tagging for all outputs in the job. To enable Nielsen+-- configuration programmatically, include an instance of+-- nielsenConfiguration in your JSON job specification. Even if you don\'t+-- include any children of nielsenConfiguration, you still enable the+-- setting.+jobTemplateSettings_nielsenConfiguration :: Lens.Lens' JobTemplateSettings (Prelude.Maybe NielsenConfiguration)+jobTemplateSettings_nielsenConfiguration = Lens.lens (\JobTemplateSettings' {nielsenConfiguration} -> nielsenConfiguration) (\s@JobTemplateSettings' {} a -> s {nielsenConfiguration = a} :: JobTemplateSettings)++-- | Ignore these settings unless you are using Nielsen non-linear+-- watermarking. Specify the values that MediaConvert uses to generate and+-- place Nielsen watermarks in your output audio. In addition to specifying+-- these values, you also need to set up your cloud TIC server. These+-- settings apply to every output in your job. The MediaConvert+-- implementation is currently with the following Nielsen versions: Nielsen+-- Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7+-- Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]+jobTemplateSettings_nielsenNonLinearWatermark :: Lens.Lens' JobTemplateSettings (Prelude.Maybe NielsenNonLinearWatermarkSettings)+jobTemplateSettings_nielsenNonLinearWatermark = Lens.lens (\JobTemplateSettings' {nielsenNonLinearWatermark} -> nielsenNonLinearWatermark) (\s@JobTemplateSettings' {} a -> s {nielsenNonLinearWatermark = a} :: JobTemplateSettings)++-- | (OutputGroups) contains one group of settings for each set of outputs+-- that share a common package type. All unpackaged files (MPEG-4, MPEG-2+-- TS, Quicktime, MXF, and no container) are grouped in a single output+-- group as well. Required in (OutputGroups) is a group of settings that+-- apply to the whole group. This required object depends on the value you+-- set for (Type) under (OutputGroups)>(OutputGroupSettings). Type,+-- settings object pairs are as follows. * FILE_GROUP_SETTINGS,+-- FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings *+-- DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings *+-- MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,+-- CmafGroupSettings+jobTemplateSettings_outputGroups :: Lens.Lens' JobTemplateSettings (Prelude.Maybe [OutputGroup])+jobTemplateSettings_outputGroups = Lens.lens (\JobTemplateSettings' {outputGroups} -> outputGroups) (\s@JobTemplateSettings' {} a -> s {outputGroups = a} :: JobTemplateSettings) Prelude.. Lens.mapping Lens.coerced++-- | These settings control how the service handles timecodes throughout the+-- job. These settings don\'t affect input clipping.+jobTemplateSettings_timecodeConfig :: Lens.Lens' JobTemplateSettings (Prelude.Maybe TimecodeConfig)+jobTemplateSettings_timecodeConfig = Lens.lens (\JobTemplateSettings' {timecodeConfig} -> timecodeConfig) (\s@JobTemplateSettings' {} a -> s {timecodeConfig = a} :: JobTemplateSettings)++-- | Insert user-defined custom ID3 metadata (id3) at timecodes (timecode)+-- that you specify. In each output that you want to include this metadata,+-- you must set ID3 metadata (timedMetadata) to Passthrough (PASSTHROUGH).+jobTemplateSettings_timedMetadataInsertion :: Lens.Lens' JobTemplateSettings (Prelude.Maybe TimedMetadataInsertion)+jobTemplateSettings_timedMetadataInsertion = Lens.lens (\JobTemplateSettings' {timedMetadataInsertion} -> timedMetadataInsertion) (\s@JobTemplateSettings' {} a -> s {timedMetadataInsertion = a} :: JobTemplateSettings)++instance Data.FromJSON JobTemplateSettings where+ parseJSON =+ Data.withObject+ "JobTemplateSettings"+ ( \x ->+ JobTemplateSettings'+ Prelude.<$> (x Data..:? "adAvailOffset")+ Prelude.<*> (x Data..:? "availBlanking")+ Prelude.<*> (x Data..:? "esam")+ Prelude.<*> (x Data..:? "extendedDataServices")+ Prelude.<*> (x Data..:? "inputs" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "kantarWatermark")+ Prelude.<*> (x Data..:? "motionImageInserter")+ Prelude.<*> (x Data..:? "nielsenConfiguration")+ Prelude.<*> (x Data..:? "nielsenNonLinearWatermark")+ Prelude.<*> (x Data..:? "outputGroups" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "timecodeConfig")+ Prelude.<*> (x Data..:? "timedMetadataInsertion")+ )++instance Prelude.Hashable JobTemplateSettings where+ hashWithSalt _salt JobTemplateSettings' {..} =+ _salt+ `Prelude.hashWithSalt` adAvailOffset+ `Prelude.hashWithSalt` availBlanking+ `Prelude.hashWithSalt` esam+ `Prelude.hashWithSalt` extendedDataServices+ `Prelude.hashWithSalt` inputs+ `Prelude.hashWithSalt` kantarWatermark+ `Prelude.hashWithSalt` motionImageInserter+ `Prelude.hashWithSalt` nielsenConfiguration+ `Prelude.hashWithSalt` nielsenNonLinearWatermark+ `Prelude.hashWithSalt` outputGroups+ `Prelude.hashWithSalt` timecodeConfig+ `Prelude.hashWithSalt` timedMetadataInsertion++instance Prelude.NFData JobTemplateSettings where+ rnf JobTemplateSettings' {..} =+ Prelude.rnf adAvailOffset+ `Prelude.seq` Prelude.rnf availBlanking+ `Prelude.seq` Prelude.rnf esam+ `Prelude.seq` Prelude.rnf extendedDataServices+ `Prelude.seq` Prelude.rnf inputs+ `Prelude.seq` Prelude.rnf kantarWatermark+ `Prelude.seq` Prelude.rnf motionImageInserter+ `Prelude.seq` Prelude.rnf nielsenConfiguration+ `Prelude.seq` Prelude.rnf nielsenNonLinearWatermark+ `Prelude.seq` Prelude.rnf outputGroups+ `Prelude.seq` Prelude.rnf timecodeConfig+ `Prelude.seq` Prelude.rnf timedMetadataInsertion++instance Data.ToJSON JobTemplateSettings where+ toJSON JobTemplateSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adAvailOffset" Data..=) Prelude.<$> adAvailOffset,+ ("availBlanking" Data..=) Prelude.<$> availBlanking,+ ("esam" Data..=) Prelude.<$> esam,+ ("extendedDataServices" Data..=)+ Prelude.<$> extendedDataServices,+ ("inputs" Data..=) Prelude.<$> inputs,+ ("kantarWatermark" Data..=)+ Prelude.<$> kantarWatermark,+ ("motionImageInserter" Data..=)+ Prelude.<$> motionImageInserter,+ ("nielsenConfiguration" Data..=)+ Prelude.<$> nielsenConfiguration,+ ("nielsenNonLinearWatermark" Data..=)+ Prelude.<$> nielsenNonLinearWatermark,+ ("outputGroups" Data..=) Prelude.<$> outputGroups,+ ("timecodeConfig" Data..=)+ Prelude.<$> timecodeConfig,+ ("timedMetadataInsertion" Data..=)+ Prelude.<$> timedMetadataInsertion+ ]+ )
@@ -0,0 +1,322 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.KantarWatermarkSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.KantarWatermarkSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use these settings only when you use Kantar watermarking. Specify the+-- values that MediaConvert uses to generate and place Kantar watermarks in+-- your output audio. These settings apply to every output in your job. In+-- addition to specifying these values, you also need to store your Kantar+-- credentials in AWS Secrets Manager. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.+--+-- /See:/ 'newKantarWatermarkSettings' smart constructor.+data KantarWatermarkSettings = KantarWatermarkSettings'+ { -- | Provide an audio channel name from your Kantar audio license.+ channelName :: Prelude.Maybe Prelude.Text,+ -- | Specify a unique identifier for Kantar to use for this piece of content.+ contentReference :: Prelude.Maybe Prelude.Text,+ -- | Provide the name of the AWS Secrets Manager secret where your Kantar+ -- credentials are stored. Note that your MediaConvert service role must+ -- provide access to this secret. For more information, see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.+ -- For instructions on creating a secret, see+ -- https:\/\/docs.aws.amazon.com\/secretsmanager\/latest\/userguide\/tutorials_basic.html,+ -- in the AWS Secrets Manager User Guide.+ credentialsSecretName :: Prelude.Maybe Prelude.Text,+ -- | Optional. Specify an offset, in whole seconds, from the start of your+ -- output and the beginning of the watermarking. When you don\'t specify an+ -- offset, Kantar defaults to zero.+ fileOffset :: Prelude.Maybe Prelude.Double,+ -- | Provide your Kantar license ID number. You should get this number from+ -- Kantar.+ kantarLicenseId :: Prelude.Maybe Prelude.Natural,+ -- | Provide the HTTPS endpoint to the Kantar server. You should get this+ -- endpoint from Kantar.+ kantarServerUrl :: Prelude.Maybe Prelude.Text,+ -- | Optional. Specify the Amazon S3 bucket where you want MediaConvert to+ -- store your Kantar watermark XML logs. When you don\'t specify a bucket,+ -- MediaConvert doesn\'t save these logs. Note that your MediaConvert+ -- service role must provide access to this location. For more information,+ -- see+ -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html+ logDestination :: Prelude.Maybe Prelude.Text,+ -- | You can optionally use this field to specify the first timestamp that+ -- Kantar embeds during watermarking. Kantar suggests that you be very+ -- cautious when using this Kantar feature, and that you use it only on+ -- channels that are managed specifically for use with this feature by your+ -- Audience Measurement Operator. For more information about this feature,+ -- contact Kantar technical support.+ metadata3 :: Prelude.Maybe Prelude.Text,+ -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+ -- 50 characters.+ metadata4 :: Prelude.Maybe Prelude.Text,+ -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+ -- 50 characters.+ metadata5 :: Prelude.Maybe Prelude.Text,+ -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+ -- 50 characters.+ metadata6 :: Prelude.Maybe Prelude.Text,+ -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+ -- 50 characters.+ metadata7 :: Prelude.Maybe Prelude.Text,+ -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+ -- 50 characters.+ metadata8 :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KantarWatermarkSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'kantarWatermarkSettings_channelName' - Provide an audio channel name from your Kantar audio license.+--+-- 'contentReference', 'kantarWatermarkSettings_contentReference' - Specify a unique identifier for Kantar to use for this piece of content.+--+-- 'credentialsSecretName', 'kantarWatermarkSettings_credentialsSecretName' - Provide the name of the AWS Secrets Manager secret where your Kantar+-- credentials are stored. Note that your MediaConvert service role must+-- provide access to this secret. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.+-- For instructions on creating a secret, see+-- https:\/\/docs.aws.amazon.com\/secretsmanager\/latest\/userguide\/tutorials_basic.html,+-- in the AWS Secrets Manager User Guide.+--+-- 'fileOffset', 'kantarWatermarkSettings_fileOffset' - Optional. Specify an offset, in whole seconds, from the start of your+-- output and the beginning of the watermarking. When you don\'t specify an+-- offset, Kantar defaults to zero.+--+-- 'kantarLicenseId', 'kantarWatermarkSettings_kantarLicenseId' - Provide your Kantar license ID number. You should get this number from+-- Kantar.+--+-- 'kantarServerUrl', 'kantarWatermarkSettings_kantarServerUrl' - Provide the HTTPS endpoint to the Kantar server. You should get this+-- endpoint from Kantar.+--+-- 'logDestination', 'kantarWatermarkSettings_logDestination' - Optional. Specify the Amazon S3 bucket where you want MediaConvert to+-- store your Kantar watermark XML logs. When you don\'t specify a bucket,+-- MediaConvert doesn\'t save these logs. Note that your MediaConvert+-- service role must provide access to this location. For more information,+-- see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html+--+-- 'metadata3', 'kantarWatermarkSettings_metadata3' - You can optionally use this field to specify the first timestamp that+-- Kantar embeds during watermarking. Kantar suggests that you be very+-- cautious when using this Kantar feature, and that you use it only on+-- channels that are managed specifically for use with this feature by your+-- Audience Measurement Operator. For more information about this feature,+-- contact Kantar technical support.+--+-- 'metadata4', 'kantarWatermarkSettings_metadata4' - Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+--+-- 'metadata5', 'kantarWatermarkSettings_metadata5' - Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+--+-- 'metadata6', 'kantarWatermarkSettings_metadata6' - Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+--+-- 'metadata7', 'kantarWatermarkSettings_metadata7' - Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+--+-- 'metadata8', 'kantarWatermarkSettings_metadata8' - Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+newKantarWatermarkSettings ::+ KantarWatermarkSettings+newKantarWatermarkSettings =+ KantarWatermarkSettings'+ { channelName =+ Prelude.Nothing,+ contentReference = Prelude.Nothing,+ credentialsSecretName = Prelude.Nothing,+ fileOffset = Prelude.Nothing,+ kantarLicenseId = Prelude.Nothing,+ kantarServerUrl = Prelude.Nothing,+ logDestination = Prelude.Nothing,+ metadata3 = Prelude.Nothing,+ metadata4 = Prelude.Nothing,+ metadata5 = Prelude.Nothing,+ metadata6 = Prelude.Nothing,+ metadata7 = Prelude.Nothing,+ metadata8 = Prelude.Nothing+ }++-- | Provide an audio channel name from your Kantar audio license.+kantarWatermarkSettings_channelName :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_channelName = Lens.lens (\KantarWatermarkSettings' {channelName} -> channelName) (\s@KantarWatermarkSettings' {} a -> s {channelName = a} :: KantarWatermarkSettings)++-- | Specify a unique identifier for Kantar to use for this piece of content.+kantarWatermarkSettings_contentReference :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_contentReference = Lens.lens (\KantarWatermarkSettings' {contentReference} -> contentReference) (\s@KantarWatermarkSettings' {} a -> s {contentReference = a} :: KantarWatermarkSettings)++-- | Provide the name of the AWS Secrets Manager secret where your Kantar+-- credentials are stored. Note that your MediaConvert service role must+-- provide access to this secret. For more information, see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.+-- For instructions on creating a secret, see+-- https:\/\/docs.aws.amazon.com\/secretsmanager\/latest\/userguide\/tutorials_basic.html,+-- in the AWS Secrets Manager User Guide.+kantarWatermarkSettings_credentialsSecretName :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_credentialsSecretName = Lens.lens (\KantarWatermarkSettings' {credentialsSecretName} -> credentialsSecretName) (\s@KantarWatermarkSettings' {} a -> s {credentialsSecretName = a} :: KantarWatermarkSettings)++-- | Optional. Specify an offset, in whole seconds, from the start of your+-- output and the beginning of the watermarking. When you don\'t specify an+-- offset, Kantar defaults to zero.+kantarWatermarkSettings_fileOffset :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Double)+kantarWatermarkSettings_fileOffset = Lens.lens (\KantarWatermarkSettings' {fileOffset} -> fileOffset) (\s@KantarWatermarkSettings' {} a -> s {fileOffset = a} :: KantarWatermarkSettings)++-- | Provide your Kantar license ID number. You should get this number from+-- Kantar.+kantarWatermarkSettings_kantarLicenseId :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Natural)+kantarWatermarkSettings_kantarLicenseId = Lens.lens (\KantarWatermarkSettings' {kantarLicenseId} -> kantarLicenseId) (\s@KantarWatermarkSettings' {} a -> s {kantarLicenseId = a} :: KantarWatermarkSettings)++-- | Provide the HTTPS endpoint to the Kantar server. You should get this+-- endpoint from Kantar.+kantarWatermarkSettings_kantarServerUrl :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_kantarServerUrl = Lens.lens (\KantarWatermarkSettings' {kantarServerUrl} -> kantarServerUrl) (\s@KantarWatermarkSettings' {} a -> s {kantarServerUrl = a} :: KantarWatermarkSettings)++-- | Optional. Specify the Amazon S3 bucket where you want MediaConvert to+-- store your Kantar watermark XML logs. When you don\'t specify a bucket,+-- MediaConvert doesn\'t save these logs. Note that your MediaConvert+-- service role must provide access to this location. For more information,+-- see+-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html+kantarWatermarkSettings_logDestination :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_logDestination = Lens.lens (\KantarWatermarkSettings' {logDestination} -> logDestination) (\s@KantarWatermarkSettings' {} a -> s {logDestination = a} :: KantarWatermarkSettings)++-- | You can optionally use this field to specify the first timestamp that+-- Kantar embeds during watermarking. Kantar suggests that you be very+-- cautious when using this Kantar feature, and that you use it only on+-- channels that are managed specifically for use with this feature by your+-- Audience Measurement Operator. For more information about this feature,+-- contact Kantar technical support.+kantarWatermarkSettings_metadata3 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_metadata3 = Lens.lens (\KantarWatermarkSettings' {metadata3} -> metadata3) (\s@KantarWatermarkSettings' {} a -> s {metadata3 = a} :: KantarWatermarkSettings)++-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+kantarWatermarkSettings_metadata4 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_metadata4 = Lens.lens (\KantarWatermarkSettings' {metadata4} -> metadata4) (\s@KantarWatermarkSettings' {} a -> s {metadata4 = a} :: KantarWatermarkSettings)++-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+kantarWatermarkSettings_metadata5 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_metadata5 = Lens.lens (\KantarWatermarkSettings' {metadata5} -> metadata5) (\s@KantarWatermarkSettings' {} a -> s {metadata5 = a} :: KantarWatermarkSettings)++-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+kantarWatermarkSettings_metadata6 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_metadata6 = Lens.lens (\KantarWatermarkSettings' {metadata6} -> metadata6) (\s@KantarWatermarkSettings' {} a -> s {metadata6 = a} :: KantarWatermarkSettings)++-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+kantarWatermarkSettings_metadata7 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_metadata7 = Lens.lens (\KantarWatermarkSettings' {metadata7} -> metadata7) (\s@KantarWatermarkSettings' {} a -> s {metadata7 = a} :: KantarWatermarkSettings)++-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is+-- 50 characters.+kantarWatermarkSettings_metadata8 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)+kantarWatermarkSettings_metadata8 = Lens.lens (\KantarWatermarkSettings' {metadata8} -> metadata8) (\s@KantarWatermarkSettings' {} a -> s {metadata8 = a} :: KantarWatermarkSettings)++instance Data.FromJSON KantarWatermarkSettings where+ parseJSON =+ Data.withObject+ "KantarWatermarkSettings"+ ( \x ->+ KantarWatermarkSettings'+ Prelude.<$> (x Data..:? "channelName")+ Prelude.<*> (x Data..:? "contentReference")+ Prelude.<*> (x Data..:? "credentialsSecretName")+ Prelude.<*> (x Data..:? "fileOffset")+ Prelude.<*> (x Data..:? "kantarLicenseId")+ Prelude.<*> (x Data..:? "kantarServerUrl")+ Prelude.<*> (x Data..:? "logDestination")+ Prelude.<*> (x Data..:? "metadata3")+ Prelude.<*> (x Data..:? "metadata4")+ Prelude.<*> (x Data..:? "metadata5")+ Prelude.<*> (x Data..:? "metadata6")+ Prelude.<*> (x Data..:? "metadata7")+ Prelude.<*> (x Data..:? "metadata8")+ )++instance Prelude.Hashable KantarWatermarkSettings where+ hashWithSalt _salt KantarWatermarkSettings' {..} =+ _salt+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` contentReference+ `Prelude.hashWithSalt` credentialsSecretName+ `Prelude.hashWithSalt` fileOffset+ `Prelude.hashWithSalt` kantarLicenseId+ `Prelude.hashWithSalt` kantarServerUrl+ `Prelude.hashWithSalt` logDestination+ `Prelude.hashWithSalt` metadata3+ `Prelude.hashWithSalt` metadata4+ `Prelude.hashWithSalt` metadata5+ `Prelude.hashWithSalt` metadata6+ `Prelude.hashWithSalt` metadata7+ `Prelude.hashWithSalt` metadata8++instance Prelude.NFData KantarWatermarkSettings where+ rnf KantarWatermarkSettings' {..} =+ Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf contentReference+ `Prelude.seq` Prelude.rnf credentialsSecretName+ `Prelude.seq` Prelude.rnf fileOffset+ `Prelude.seq` Prelude.rnf kantarLicenseId+ `Prelude.seq` Prelude.rnf kantarServerUrl+ `Prelude.seq` Prelude.rnf logDestination+ `Prelude.seq` Prelude.rnf metadata3+ `Prelude.seq` Prelude.rnf metadata4+ `Prelude.seq` Prelude.rnf metadata5+ `Prelude.seq` Prelude.rnf metadata6+ `Prelude.seq` Prelude.rnf metadata7+ `Prelude.seq` Prelude.rnf metadata8++instance Data.ToJSON KantarWatermarkSettings where+ toJSON KantarWatermarkSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("channelName" Data..=) Prelude.<$> channelName,+ ("contentReference" Data..=)+ Prelude.<$> contentReference,+ ("credentialsSecretName" Data..=)+ Prelude.<$> credentialsSecretName,+ ("fileOffset" Data..=) Prelude.<$> fileOffset,+ ("kantarLicenseId" Data..=)+ Prelude.<$> kantarLicenseId,+ ("kantarServerUrl" Data..=)+ Prelude.<$> kantarServerUrl,+ ("logDestination" Data..=)+ Prelude.<$> logDestination,+ ("metadata3" Data..=) Prelude.<$> metadata3,+ ("metadata4" Data..=) Prelude.<$> metadata4,+ ("metadata5" Data..=) Prelude.<$> metadata5,+ ("metadata6" Data..=) Prelude.<$> metadata6,+ ("metadata7" Data..=) Prelude.<$> metadata7,+ ("metadata8" Data..=) Prelude.<$> metadata8+ ]+ )
@@ -0,0 +1,1023 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.LanguageCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.LanguageCode+ ( LanguageCode+ ( ..,+ LanguageCode_AAR,+ LanguageCode_ABK,+ LanguageCode_AFR,+ LanguageCode_AKA,+ LanguageCode_AMH,+ LanguageCode_ARA,+ LanguageCode_ARG,+ LanguageCode_ASM,+ LanguageCode_AVA,+ LanguageCode_AVE,+ LanguageCode_AYM,+ LanguageCode_AZE,+ LanguageCode_BAK,+ LanguageCode_BAM,+ LanguageCode_BEL,+ LanguageCode_BEN,+ LanguageCode_BIH,+ LanguageCode_BIS,+ LanguageCode_BOD,+ LanguageCode_BOS,+ LanguageCode_BRE,+ LanguageCode_BUL,+ LanguageCode_CAT,+ LanguageCode_CES,+ LanguageCode_CHA,+ LanguageCode_CHE,+ LanguageCode_CHU,+ LanguageCode_CHV,+ LanguageCode_COR,+ LanguageCode_COS,+ LanguageCode_CRE,+ LanguageCode_CYM,+ LanguageCode_DAN,+ LanguageCode_DEU,+ LanguageCode_DIV,+ LanguageCode_DZO,+ LanguageCode_ELL,+ LanguageCode_ENG,+ LanguageCode_ENM,+ LanguageCode_EPO,+ LanguageCode_EST,+ LanguageCode_EUS,+ LanguageCode_EWE,+ LanguageCode_FAO,+ LanguageCode_FAS,+ LanguageCode_FIJ,+ LanguageCode_FIN,+ LanguageCode_FRA,+ LanguageCode_FRM,+ LanguageCode_FRY,+ LanguageCode_FUL,+ LanguageCode_GER,+ LanguageCode_GLA,+ LanguageCode_GLE,+ LanguageCode_GLG,+ LanguageCode_GLV,+ LanguageCode_GRN,+ LanguageCode_GUJ,+ LanguageCode_HAT,+ LanguageCode_HAU,+ LanguageCode_HEB,+ LanguageCode_HER,+ LanguageCode_HIN,+ LanguageCode_HMO,+ LanguageCode_HRV,+ LanguageCode_HUN,+ LanguageCode_HYE,+ LanguageCode_IBO,+ LanguageCode_IDO,+ LanguageCode_III,+ LanguageCode_IKU,+ LanguageCode_ILE,+ LanguageCode_INA,+ LanguageCode_IND,+ LanguageCode_IPK,+ LanguageCode_ISL,+ LanguageCode_ITA,+ LanguageCode_JAV,+ LanguageCode_JPN,+ LanguageCode_KAL,+ LanguageCode_KAN,+ LanguageCode_KAS,+ LanguageCode_KAT,+ LanguageCode_KAU,+ LanguageCode_KAZ,+ LanguageCode_KHM,+ LanguageCode_KIK,+ LanguageCode_KIN,+ LanguageCode_KIR,+ LanguageCode_KOM,+ LanguageCode_KON,+ LanguageCode_KOR,+ LanguageCode_KUA,+ LanguageCode_KUR,+ LanguageCode_LAO,+ LanguageCode_LAT,+ LanguageCode_LAV,+ LanguageCode_LIM,+ LanguageCode_LIN,+ LanguageCode_LIT,+ LanguageCode_LTZ,+ LanguageCode_LUB,+ LanguageCode_LUG,+ LanguageCode_MAH,+ LanguageCode_MAL,+ LanguageCode_MAR,+ LanguageCode_MKD,+ LanguageCode_MLG,+ LanguageCode_MLT,+ LanguageCode_MON,+ LanguageCode_MRI,+ LanguageCode_MSA,+ LanguageCode_MYA,+ LanguageCode_NAU,+ LanguageCode_NAV,+ LanguageCode_NBL,+ LanguageCode_NDE,+ LanguageCode_NDO,+ LanguageCode_NEP,+ LanguageCode_NLD,+ LanguageCode_NNO,+ LanguageCode_NOB,+ LanguageCode_NOR,+ LanguageCode_NYA,+ LanguageCode_OCI,+ LanguageCode_OJI,+ LanguageCode_ORI,+ LanguageCode_ORJ,+ LanguageCode_ORM,+ LanguageCode_OSS,+ LanguageCode_PAN,+ LanguageCode_PLI,+ LanguageCode_POL,+ LanguageCode_POR,+ LanguageCode_PUS,+ LanguageCode_QAA,+ LanguageCode_QPC,+ LanguageCode_QUE,+ LanguageCode_ROH,+ LanguageCode_RON,+ LanguageCode_RUN,+ LanguageCode_RUS,+ LanguageCode_SAG,+ LanguageCode_SAN,+ LanguageCode_SIN,+ LanguageCode_SLK,+ LanguageCode_SLV,+ LanguageCode_SME,+ LanguageCode_SMO,+ LanguageCode_SNA,+ LanguageCode_SND,+ LanguageCode_SOM,+ LanguageCode_SOT,+ LanguageCode_SPA,+ LanguageCode_SQI,+ LanguageCode_SRB,+ LanguageCode_SRD,+ LanguageCode_SRP,+ LanguageCode_SSW,+ LanguageCode_SUN,+ LanguageCode_SWA,+ LanguageCode_SWE,+ LanguageCode_TAH,+ LanguageCode_TAM,+ LanguageCode_TAT,+ LanguageCode_TEL,+ LanguageCode_TGK,+ LanguageCode_TGL,+ LanguageCode_THA,+ LanguageCode_TIR,+ LanguageCode_TNG,+ LanguageCode_TON,+ LanguageCode_TSN,+ LanguageCode_TSO,+ LanguageCode_TUK,+ LanguageCode_TUR,+ LanguageCode_TWI,+ LanguageCode_UIG,+ LanguageCode_UKR,+ LanguageCode_URD,+ LanguageCode_UZB,+ LanguageCode_VEN,+ LanguageCode_VIE,+ LanguageCode_VOL,+ LanguageCode_WLN,+ LanguageCode_WOL,+ LanguageCode_XHO,+ LanguageCode_YID,+ LanguageCode_YOR,+ LanguageCode_ZHA,+ LanguageCode_ZHO,+ LanguageCode_ZUL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify the language, using the ISO 639-2 three-letter code listed at+-- https:\/\/www.loc.gov\/standards\/iso639-2\/php\/code_list.php.+newtype LanguageCode = LanguageCode'+ { fromLanguageCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LanguageCode_AAR :: LanguageCode+pattern LanguageCode_AAR = LanguageCode' "AAR"++pattern LanguageCode_ABK :: LanguageCode+pattern LanguageCode_ABK = LanguageCode' "ABK"++pattern LanguageCode_AFR :: LanguageCode+pattern LanguageCode_AFR = LanguageCode' "AFR"++pattern LanguageCode_AKA :: LanguageCode+pattern LanguageCode_AKA = LanguageCode' "AKA"++pattern LanguageCode_AMH :: LanguageCode+pattern LanguageCode_AMH = LanguageCode' "AMH"++pattern LanguageCode_ARA :: LanguageCode+pattern LanguageCode_ARA = LanguageCode' "ARA"++pattern LanguageCode_ARG :: LanguageCode+pattern LanguageCode_ARG = LanguageCode' "ARG"++pattern LanguageCode_ASM :: LanguageCode+pattern LanguageCode_ASM = LanguageCode' "ASM"++pattern LanguageCode_AVA :: LanguageCode+pattern LanguageCode_AVA = LanguageCode' "AVA"++pattern LanguageCode_AVE :: LanguageCode+pattern LanguageCode_AVE = LanguageCode' "AVE"++pattern LanguageCode_AYM :: LanguageCode+pattern LanguageCode_AYM = LanguageCode' "AYM"++pattern LanguageCode_AZE :: LanguageCode+pattern LanguageCode_AZE = LanguageCode' "AZE"++pattern LanguageCode_BAK :: LanguageCode+pattern LanguageCode_BAK = LanguageCode' "BAK"++pattern LanguageCode_BAM :: LanguageCode+pattern LanguageCode_BAM = LanguageCode' "BAM"++pattern LanguageCode_BEL :: LanguageCode+pattern LanguageCode_BEL = LanguageCode' "BEL"++pattern LanguageCode_BEN :: LanguageCode+pattern LanguageCode_BEN = LanguageCode' "BEN"++pattern LanguageCode_BIH :: LanguageCode+pattern LanguageCode_BIH = LanguageCode' "BIH"++pattern LanguageCode_BIS :: LanguageCode+pattern LanguageCode_BIS = LanguageCode' "BIS"++pattern LanguageCode_BOD :: LanguageCode+pattern LanguageCode_BOD = LanguageCode' "BOD"++pattern LanguageCode_BOS :: LanguageCode+pattern LanguageCode_BOS = LanguageCode' "BOS"++pattern LanguageCode_BRE :: LanguageCode+pattern LanguageCode_BRE = LanguageCode' "BRE"++pattern LanguageCode_BUL :: LanguageCode+pattern LanguageCode_BUL = LanguageCode' "BUL"++pattern LanguageCode_CAT :: LanguageCode+pattern LanguageCode_CAT = LanguageCode' "CAT"++pattern LanguageCode_CES :: LanguageCode+pattern LanguageCode_CES = LanguageCode' "CES"++pattern LanguageCode_CHA :: LanguageCode+pattern LanguageCode_CHA = LanguageCode' "CHA"++pattern LanguageCode_CHE :: LanguageCode+pattern LanguageCode_CHE = LanguageCode' "CHE"++pattern LanguageCode_CHU :: LanguageCode+pattern LanguageCode_CHU = LanguageCode' "CHU"++pattern LanguageCode_CHV :: LanguageCode+pattern LanguageCode_CHV = LanguageCode' "CHV"++pattern LanguageCode_COR :: LanguageCode+pattern LanguageCode_COR = LanguageCode' "COR"++pattern LanguageCode_COS :: LanguageCode+pattern LanguageCode_COS = LanguageCode' "COS"++pattern LanguageCode_CRE :: LanguageCode+pattern LanguageCode_CRE = LanguageCode' "CRE"++pattern LanguageCode_CYM :: LanguageCode+pattern LanguageCode_CYM = LanguageCode' "CYM"++pattern LanguageCode_DAN :: LanguageCode+pattern LanguageCode_DAN = LanguageCode' "DAN"++pattern LanguageCode_DEU :: LanguageCode+pattern LanguageCode_DEU = LanguageCode' "DEU"++pattern LanguageCode_DIV :: LanguageCode+pattern LanguageCode_DIV = LanguageCode' "DIV"++pattern LanguageCode_DZO :: LanguageCode+pattern LanguageCode_DZO = LanguageCode' "DZO"++pattern LanguageCode_ELL :: LanguageCode+pattern LanguageCode_ELL = LanguageCode' "ELL"++pattern LanguageCode_ENG :: LanguageCode+pattern LanguageCode_ENG = LanguageCode' "ENG"++pattern LanguageCode_ENM :: LanguageCode+pattern LanguageCode_ENM = LanguageCode' "ENM"++pattern LanguageCode_EPO :: LanguageCode+pattern LanguageCode_EPO = LanguageCode' "EPO"++pattern LanguageCode_EST :: LanguageCode+pattern LanguageCode_EST = LanguageCode' "EST"++pattern LanguageCode_EUS :: LanguageCode+pattern LanguageCode_EUS = LanguageCode' "EUS"++pattern LanguageCode_EWE :: LanguageCode+pattern LanguageCode_EWE = LanguageCode' "EWE"++pattern LanguageCode_FAO :: LanguageCode+pattern LanguageCode_FAO = LanguageCode' "FAO"++pattern LanguageCode_FAS :: LanguageCode+pattern LanguageCode_FAS = LanguageCode' "FAS"++pattern LanguageCode_FIJ :: LanguageCode+pattern LanguageCode_FIJ = LanguageCode' "FIJ"++pattern LanguageCode_FIN :: LanguageCode+pattern LanguageCode_FIN = LanguageCode' "FIN"++pattern LanguageCode_FRA :: LanguageCode+pattern LanguageCode_FRA = LanguageCode' "FRA"++pattern LanguageCode_FRM :: LanguageCode+pattern LanguageCode_FRM = LanguageCode' "FRM"++pattern LanguageCode_FRY :: LanguageCode+pattern LanguageCode_FRY = LanguageCode' "FRY"++pattern LanguageCode_FUL :: LanguageCode+pattern LanguageCode_FUL = LanguageCode' "FUL"++pattern LanguageCode_GER :: LanguageCode+pattern LanguageCode_GER = LanguageCode' "GER"++pattern LanguageCode_GLA :: LanguageCode+pattern LanguageCode_GLA = LanguageCode' "GLA"++pattern LanguageCode_GLE :: LanguageCode+pattern LanguageCode_GLE = LanguageCode' "GLE"++pattern LanguageCode_GLG :: LanguageCode+pattern LanguageCode_GLG = LanguageCode' "GLG"++pattern LanguageCode_GLV :: LanguageCode+pattern LanguageCode_GLV = LanguageCode' "GLV"++pattern LanguageCode_GRN :: LanguageCode+pattern LanguageCode_GRN = LanguageCode' "GRN"++pattern LanguageCode_GUJ :: LanguageCode+pattern LanguageCode_GUJ = LanguageCode' "GUJ"++pattern LanguageCode_HAT :: LanguageCode+pattern LanguageCode_HAT = LanguageCode' "HAT"++pattern LanguageCode_HAU :: LanguageCode+pattern LanguageCode_HAU = LanguageCode' "HAU"++pattern LanguageCode_HEB :: LanguageCode+pattern LanguageCode_HEB = LanguageCode' "HEB"++pattern LanguageCode_HER :: LanguageCode+pattern LanguageCode_HER = LanguageCode' "HER"++pattern LanguageCode_HIN :: LanguageCode+pattern LanguageCode_HIN = LanguageCode' "HIN"++pattern LanguageCode_HMO :: LanguageCode+pattern LanguageCode_HMO = LanguageCode' "HMO"++pattern LanguageCode_HRV :: LanguageCode+pattern LanguageCode_HRV = LanguageCode' "HRV"++pattern LanguageCode_HUN :: LanguageCode+pattern LanguageCode_HUN = LanguageCode' "HUN"++pattern LanguageCode_HYE :: LanguageCode+pattern LanguageCode_HYE = LanguageCode' "HYE"++pattern LanguageCode_IBO :: LanguageCode+pattern LanguageCode_IBO = LanguageCode' "IBO"++pattern LanguageCode_IDO :: LanguageCode+pattern LanguageCode_IDO = LanguageCode' "IDO"++pattern LanguageCode_III :: LanguageCode+pattern LanguageCode_III = LanguageCode' "III"++pattern LanguageCode_IKU :: LanguageCode+pattern LanguageCode_IKU = LanguageCode' "IKU"++pattern LanguageCode_ILE :: LanguageCode+pattern LanguageCode_ILE = LanguageCode' "ILE"++pattern LanguageCode_INA :: LanguageCode+pattern LanguageCode_INA = LanguageCode' "INA"++pattern LanguageCode_IND :: LanguageCode+pattern LanguageCode_IND = LanguageCode' "IND"++pattern LanguageCode_IPK :: LanguageCode+pattern LanguageCode_IPK = LanguageCode' "IPK"++pattern LanguageCode_ISL :: LanguageCode+pattern LanguageCode_ISL = LanguageCode' "ISL"++pattern LanguageCode_ITA :: LanguageCode+pattern LanguageCode_ITA = LanguageCode' "ITA"++pattern LanguageCode_JAV :: LanguageCode+pattern LanguageCode_JAV = LanguageCode' "JAV"++pattern LanguageCode_JPN :: LanguageCode+pattern LanguageCode_JPN = LanguageCode' "JPN"++pattern LanguageCode_KAL :: LanguageCode+pattern LanguageCode_KAL = LanguageCode' "KAL"++pattern LanguageCode_KAN :: LanguageCode+pattern LanguageCode_KAN = LanguageCode' "KAN"++pattern LanguageCode_KAS :: LanguageCode+pattern LanguageCode_KAS = LanguageCode' "KAS"++pattern LanguageCode_KAT :: LanguageCode+pattern LanguageCode_KAT = LanguageCode' "KAT"++pattern LanguageCode_KAU :: LanguageCode+pattern LanguageCode_KAU = LanguageCode' "KAU"++pattern LanguageCode_KAZ :: LanguageCode+pattern LanguageCode_KAZ = LanguageCode' "KAZ"++pattern LanguageCode_KHM :: LanguageCode+pattern LanguageCode_KHM = LanguageCode' "KHM"++pattern LanguageCode_KIK :: LanguageCode+pattern LanguageCode_KIK = LanguageCode' "KIK"++pattern LanguageCode_KIN :: LanguageCode+pattern LanguageCode_KIN = LanguageCode' "KIN"++pattern LanguageCode_KIR :: LanguageCode+pattern LanguageCode_KIR = LanguageCode' "KIR"++pattern LanguageCode_KOM :: LanguageCode+pattern LanguageCode_KOM = LanguageCode' "KOM"++pattern LanguageCode_KON :: LanguageCode+pattern LanguageCode_KON = LanguageCode' "KON"++pattern LanguageCode_KOR :: LanguageCode+pattern LanguageCode_KOR = LanguageCode' "KOR"++pattern LanguageCode_KUA :: LanguageCode+pattern LanguageCode_KUA = LanguageCode' "KUA"++pattern LanguageCode_KUR :: LanguageCode+pattern LanguageCode_KUR = LanguageCode' "KUR"++pattern LanguageCode_LAO :: LanguageCode+pattern LanguageCode_LAO = LanguageCode' "LAO"++pattern LanguageCode_LAT :: LanguageCode+pattern LanguageCode_LAT = LanguageCode' "LAT"++pattern LanguageCode_LAV :: LanguageCode+pattern LanguageCode_LAV = LanguageCode' "LAV"++pattern LanguageCode_LIM :: LanguageCode+pattern LanguageCode_LIM = LanguageCode' "LIM"++pattern LanguageCode_LIN :: LanguageCode+pattern LanguageCode_LIN = LanguageCode' "LIN"++pattern LanguageCode_LIT :: LanguageCode+pattern LanguageCode_LIT = LanguageCode' "LIT"++pattern LanguageCode_LTZ :: LanguageCode+pattern LanguageCode_LTZ = LanguageCode' "LTZ"++pattern LanguageCode_LUB :: LanguageCode+pattern LanguageCode_LUB = LanguageCode' "LUB"++pattern LanguageCode_LUG :: LanguageCode+pattern LanguageCode_LUG = LanguageCode' "LUG"++pattern LanguageCode_MAH :: LanguageCode+pattern LanguageCode_MAH = LanguageCode' "MAH"++pattern LanguageCode_MAL :: LanguageCode+pattern LanguageCode_MAL = LanguageCode' "MAL"++pattern LanguageCode_MAR :: LanguageCode+pattern LanguageCode_MAR = LanguageCode' "MAR"++pattern LanguageCode_MKD :: LanguageCode+pattern LanguageCode_MKD = LanguageCode' "MKD"++pattern LanguageCode_MLG :: LanguageCode+pattern LanguageCode_MLG = LanguageCode' "MLG"++pattern LanguageCode_MLT :: LanguageCode+pattern LanguageCode_MLT = LanguageCode' "MLT"++pattern LanguageCode_MON :: LanguageCode+pattern LanguageCode_MON = LanguageCode' "MON"++pattern LanguageCode_MRI :: LanguageCode+pattern LanguageCode_MRI = LanguageCode' "MRI"++pattern LanguageCode_MSA :: LanguageCode+pattern LanguageCode_MSA = LanguageCode' "MSA"++pattern LanguageCode_MYA :: LanguageCode+pattern LanguageCode_MYA = LanguageCode' "MYA"++pattern LanguageCode_NAU :: LanguageCode+pattern LanguageCode_NAU = LanguageCode' "NAU"++pattern LanguageCode_NAV :: LanguageCode+pattern LanguageCode_NAV = LanguageCode' "NAV"++pattern LanguageCode_NBL :: LanguageCode+pattern LanguageCode_NBL = LanguageCode' "NBL"++pattern LanguageCode_NDE :: LanguageCode+pattern LanguageCode_NDE = LanguageCode' "NDE"++pattern LanguageCode_NDO :: LanguageCode+pattern LanguageCode_NDO = LanguageCode' "NDO"++pattern LanguageCode_NEP :: LanguageCode+pattern LanguageCode_NEP = LanguageCode' "NEP"++pattern LanguageCode_NLD :: LanguageCode+pattern LanguageCode_NLD = LanguageCode' "NLD"++pattern LanguageCode_NNO :: LanguageCode+pattern LanguageCode_NNO = LanguageCode' "NNO"++pattern LanguageCode_NOB :: LanguageCode+pattern LanguageCode_NOB = LanguageCode' "NOB"++pattern LanguageCode_NOR :: LanguageCode+pattern LanguageCode_NOR = LanguageCode' "NOR"++pattern LanguageCode_NYA :: LanguageCode+pattern LanguageCode_NYA = LanguageCode' "NYA"++pattern LanguageCode_OCI :: LanguageCode+pattern LanguageCode_OCI = LanguageCode' "OCI"++pattern LanguageCode_OJI :: LanguageCode+pattern LanguageCode_OJI = LanguageCode' "OJI"++pattern LanguageCode_ORI :: LanguageCode+pattern LanguageCode_ORI = LanguageCode' "ORI"++pattern LanguageCode_ORJ :: LanguageCode+pattern LanguageCode_ORJ = LanguageCode' "ORJ"++pattern LanguageCode_ORM :: LanguageCode+pattern LanguageCode_ORM = LanguageCode' "ORM"++pattern LanguageCode_OSS :: LanguageCode+pattern LanguageCode_OSS = LanguageCode' "OSS"++pattern LanguageCode_PAN :: LanguageCode+pattern LanguageCode_PAN = LanguageCode' "PAN"++pattern LanguageCode_PLI :: LanguageCode+pattern LanguageCode_PLI = LanguageCode' "PLI"++pattern LanguageCode_POL :: LanguageCode+pattern LanguageCode_POL = LanguageCode' "POL"++pattern LanguageCode_POR :: LanguageCode+pattern LanguageCode_POR = LanguageCode' "POR"++pattern LanguageCode_PUS :: LanguageCode+pattern LanguageCode_PUS = LanguageCode' "PUS"++pattern LanguageCode_QAA :: LanguageCode+pattern LanguageCode_QAA = LanguageCode' "QAA"++pattern LanguageCode_QPC :: LanguageCode+pattern LanguageCode_QPC = LanguageCode' "QPC"++pattern LanguageCode_QUE :: LanguageCode+pattern LanguageCode_QUE = LanguageCode' "QUE"++pattern LanguageCode_ROH :: LanguageCode+pattern LanguageCode_ROH = LanguageCode' "ROH"++pattern LanguageCode_RON :: LanguageCode+pattern LanguageCode_RON = LanguageCode' "RON"++pattern LanguageCode_RUN :: LanguageCode+pattern LanguageCode_RUN = LanguageCode' "RUN"++pattern LanguageCode_RUS :: LanguageCode+pattern LanguageCode_RUS = LanguageCode' "RUS"++pattern LanguageCode_SAG :: LanguageCode+pattern LanguageCode_SAG = LanguageCode' "SAG"++pattern LanguageCode_SAN :: LanguageCode+pattern LanguageCode_SAN = LanguageCode' "SAN"++pattern LanguageCode_SIN :: LanguageCode+pattern LanguageCode_SIN = LanguageCode' "SIN"++pattern LanguageCode_SLK :: LanguageCode+pattern LanguageCode_SLK = LanguageCode' "SLK"++pattern LanguageCode_SLV :: LanguageCode+pattern LanguageCode_SLV = LanguageCode' "SLV"++pattern LanguageCode_SME :: LanguageCode+pattern LanguageCode_SME = LanguageCode' "SME"++pattern LanguageCode_SMO :: LanguageCode+pattern LanguageCode_SMO = LanguageCode' "SMO"++pattern LanguageCode_SNA :: LanguageCode+pattern LanguageCode_SNA = LanguageCode' "SNA"++pattern LanguageCode_SND :: LanguageCode+pattern LanguageCode_SND = LanguageCode' "SND"++pattern LanguageCode_SOM :: LanguageCode+pattern LanguageCode_SOM = LanguageCode' "SOM"++pattern LanguageCode_SOT :: LanguageCode+pattern LanguageCode_SOT = LanguageCode' "SOT"++pattern LanguageCode_SPA :: LanguageCode+pattern LanguageCode_SPA = LanguageCode' "SPA"++pattern LanguageCode_SQI :: LanguageCode+pattern LanguageCode_SQI = LanguageCode' "SQI"++pattern LanguageCode_SRB :: LanguageCode+pattern LanguageCode_SRB = LanguageCode' "SRB"++pattern LanguageCode_SRD :: LanguageCode+pattern LanguageCode_SRD = LanguageCode' "SRD"++pattern LanguageCode_SRP :: LanguageCode+pattern LanguageCode_SRP = LanguageCode' "SRP"++pattern LanguageCode_SSW :: LanguageCode+pattern LanguageCode_SSW = LanguageCode' "SSW"++pattern LanguageCode_SUN :: LanguageCode+pattern LanguageCode_SUN = LanguageCode' "SUN"++pattern LanguageCode_SWA :: LanguageCode+pattern LanguageCode_SWA = LanguageCode' "SWA"++pattern LanguageCode_SWE :: LanguageCode+pattern LanguageCode_SWE = LanguageCode' "SWE"++pattern LanguageCode_TAH :: LanguageCode+pattern LanguageCode_TAH = LanguageCode' "TAH"++pattern LanguageCode_TAM :: LanguageCode+pattern LanguageCode_TAM = LanguageCode' "TAM"++pattern LanguageCode_TAT :: LanguageCode+pattern LanguageCode_TAT = LanguageCode' "TAT"++pattern LanguageCode_TEL :: LanguageCode+pattern LanguageCode_TEL = LanguageCode' "TEL"++pattern LanguageCode_TGK :: LanguageCode+pattern LanguageCode_TGK = LanguageCode' "TGK"++pattern LanguageCode_TGL :: LanguageCode+pattern LanguageCode_TGL = LanguageCode' "TGL"++pattern LanguageCode_THA :: LanguageCode+pattern LanguageCode_THA = LanguageCode' "THA"++pattern LanguageCode_TIR :: LanguageCode+pattern LanguageCode_TIR = LanguageCode' "TIR"++pattern LanguageCode_TNG :: LanguageCode+pattern LanguageCode_TNG = LanguageCode' "TNG"++pattern LanguageCode_TON :: LanguageCode+pattern LanguageCode_TON = LanguageCode' "TON"++pattern LanguageCode_TSN :: LanguageCode+pattern LanguageCode_TSN = LanguageCode' "TSN"++pattern LanguageCode_TSO :: LanguageCode+pattern LanguageCode_TSO = LanguageCode' "TSO"++pattern LanguageCode_TUK :: LanguageCode+pattern LanguageCode_TUK = LanguageCode' "TUK"++pattern LanguageCode_TUR :: LanguageCode+pattern LanguageCode_TUR = LanguageCode' "TUR"++pattern LanguageCode_TWI :: LanguageCode+pattern LanguageCode_TWI = LanguageCode' "TWI"++pattern LanguageCode_UIG :: LanguageCode+pattern LanguageCode_UIG = LanguageCode' "UIG"++pattern LanguageCode_UKR :: LanguageCode+pattern LanguageCode_UKR = LanguageCode' "UKR"++pattern LanguageCode_URD :: LanguageCode+pattern LanguageCode_URD = LanguageCode' "URD"++pattern LanguageCode_UZB :: LanguageCode+pattern LanguageCode_UZB = LanguageCode' "UZB"++pattern LanguageCode_VEN :: LanguageCode+pattern LanguageCode_VEN = LanguageCode' "VEN"++pattern LanguageCode_VIE :: LanguageCode+pattern LanguageCode_VIE = LanguageCode' "VIE"++pattern LanguageCode_VOL :: LanguageCode+pattern LanguageCode_VOL = LanguageCode' "VOL"++pattern LanguageCode_WLN :: LanguageCode+pattern LanguageCode_WLN = LanguageCode' "WLN"++pattern LanguageCode_WOL :: LanguageCode+pattern LanguageCode_WOL = LanguageCode' "WOL"++pattern LanguageCode_XHO :: LanguageCode+pattern LanguageCode_XHO = LanguageCode' "XHO"++pattern LanguageCode_YID :: LanguageCode+pattern LanguageCode_YID = LanguageCode' "YID"++pattern LanguageCode_YOR :: LanguageCode+pattern LanguageCode_YOR = LanguageCode' "YOR"++pattern LanguageCode_ZHA :: LanguageCode+pattern LanguageCode_ZHA = LanguageCode' "ZHA"++pattern LanguageCode_ZHO :: LanguageCode+pattern LanguageCode_ZHO = LanguageCode' "ZHO"++pattern LanguageCode_ZUL :: LanguageCode+pattern LanguageCode_ZUL = LanguageCode' "ZUL"++{-# COMPLETE+ LanguageCode_AAR,+ LanguageCode_ABK,+ LanguageCode_AFR,+ LanguageCode_AKA,+ LanguageCode_AMH,+ LanguageCode_ARA,+ LanguageCode_ARG,+ LanguageCode_ASM,+ LanguageCode_AVA,+ LanguageCode_AVE,+ LanguageCode_AYM,+ LanguageCode_AZE,+ LanguageCode_BAK,+ LanguageCode_BAM,+ LanguageCode_BEL,+ LanguageCode_BEN,+ LanguageCode_BIH,+ LanguageCode_BIS,+ LanguageCode_BOD,+ LanguageCode_BOS,+ LanguageCode_BRE,+ LanguageCode_BUL,+ LanguageCode_CAT,+ LanguageCode_CES,+ LanguageCode_CHA,+ LanguageCode_CHE,+ LanguageCode_CHU,+ LanguageCode_CHV,+ LanguageCode_COR,+ LanguageCode_COS,+ LanguageCode_CRE,+ LanguageCode_CYM,+ LanguageCode_DAN,+ LanguageCode_DEU,+ LanguageCode_DIV,+ LanguageCode_DZO,+ LanguageCode_ELL,+ LanguageCode_ENG,+ LanguageCode_ENM,+ LanguageCode_EPO,+ LanguageCode_EST,+ LanguageCode_EUS,+ LanguageCode_EWE,+ LanguageCode_FAO,+ LanguageCode_FAS,+ LanguageCode_FIJ,+ LanguageCode_FIN,+ LanguageCode_FRA,+ LanguageCode_FRM,+ LanguageCode_FRY,+ LanguageCode_FUL,+ LanguageCode_GER,+ LanguageCode_GLA,+ LanguageCode_GLE,+ LanguageCode_GLG,+ LanguageCode_GLV,+ LanguageCode_GRN,+ LanguageCode_GUJ,+ LanguageCode_HAT,+ LanguageCode_HAU,+ LanguageCode_HEB,+ LanguageCode_HER,+ LanguageCode_HIN,+ LanguageCode_HMO,+ LanguageCode_HRV,+ LanguageCode_HUN,+ LanguageCode_HYE,+ LanguageCode_IBO,+ LanguageCode_IDO,+ LanguageCode_III,+ LanguageCode_IKU,+ LanguageCode_ILE,+ LanguageCode_INA,+ LanguageCode_IND,+ LanguageCode_IPK,+ LanguageCode_ISL,+ LanguageCode_ITA,+ LanguageCode_JAV,+ LanguageCode_JPN,+ LanguageCode_KAL,+ LanguageCode_KAN,+ LanguageCode_KAS,+ LanguageCode_KAT,+ LanguageCode_KAU,+ LanguageCode_KAZ,+ LanguageCode_KHM,+ LanguageCode_KIK,+ LanguageCode_KIN,+ LanguageCode_KIR,+ LanguageCode_KOM,+ LanguageCode_KON,+ LanguageCode_KOR,+ LanguageCode_KUA,+ LanguageCode_KUR,+ LanguageCode_LAO,+ LanguageCode_LAT,+ LanguageCode_LAV,+ LanguageCode_LIM,+ LanguageCode_LIN,+ LanguageCode_LIT,+ LanguageCode_LTZ,+ LanguageCode_LUB,+ LanguageCode_LUG,+ LanguageCode_MAH,+ LanguageCode_MAL,+ LanguageCode_MAR,+ LanguageCode_MKD,+ LanguageCode_MLG,+ LanguageCode_MLT,+ LanguageCode_MON,+ LanguageCode_MRI,+ LanguageCode_MSA,+ LanguageCode_MYA,+ LanguageCode_NAU,+ LanguageCode_NAV,+ LanguageCode_NBL,+ LanguageCode_NDE,+ LanguageCode_NDO,+ LanguageCode_NEP,+ LanguageCode_NLD,+ LanguageCode_NNO,+ LanguageCode_NOB,+ LanguageCode_NOR,+ LanguageCode_NYA,+ LanguageCode_OCI,+ LanguageCode_OJI,+ LanguageCode_ORI,+ LanguageCode_ORJ,+ LanguageCode_ORM,+ LanguageCode_OSS,+ LanguageCode_PAN,+ LanguageCode_PLI,+ LanguageCode_POL,+ LanguageCode_POR,+ LanguageCode_PUS,+ LanguageCode_QAA,+ LanguageCode_QPC,+ LanguageCode_QUE,+ LanguageCode_ROH,+ LanguageCode_RON,+ LanguageCode_RUN,+ LanguageCode_RUS,+ LanguageCode_SAG,+ LanguageCode_SAN,+ LanguageCode_SIN,+ LanguageCode_SLK,+ LanguageCode_SLV,+ LanguageCode_SME,+ LanguageCode_SMO,+ LanguageCode_SNA,+ LanguageCode_SND,+ LanguageCode_SOM,+ LanguageCode_SOT,+ LanguageCode_SPA,+ LanguageCode_SQI,+ LanguageCode_SRB,+ LanguageCode_SRD,+ LanguageCode_SRP,+ LanguageCode_SSW,+ LanguageCode_SUN,+ LanguageCode_SWA,+ LanguageCode_SWE,+ LanguageCode_TAH,+ LanguageCode_TAM,+ LanguageCode_TAT,+ LanguageCode_TEL,+ LanguageCode_TGK,+ LanguageCode_TGL,+ LanguageCode_THA,+ LanguageCode_TIR,+ LanguageCode_TNG,+ LanguageCode_TON,+ LanguageCode_TSN,+ LanguageCode_TSO,+ LanguageCode_TUK,+ LanguageCode_TUR,+ LanguageCode_TWI,+ LanguageCode_UIG,+ LanguageCode_UKR,+ LanguageCode_URD,+ LanguageCode_UZB,+ LanguageCode_VEN,+ LanguageCode_VIE,+ LanguageCode_VOL,+ LanguageCode_WLN,+ LanguageCode_WOL,+ LanguageCode_XHO,+ LanguageCode_YID,+ LanguageCode_YOR,+ LanguageCode_ZHA,+ LanguageCode_ZHO,+ LanguageCode_ZUL,+ LanguageCode'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsAudioBufferModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsAudioBufferModel+ ( M2tsAudioBufferModel+ ( ..,+ M2tsAudioBufferModel_ATSC,+ M2tsAudioBufferModel_DVB+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Selects between the DVB and ATSC buffer models for Dolby Digital audio.+newtype M2tsAudioBufferModel = M2tsAudioBufferModel'+ { fromM2tsAudioBufferModel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsAudioBufferModel_ATSC :: M2tsAudioBufferModel+pattern M2tsAudioBufferModel_ATSC = M2tsAudioBufferModel' "ATSC"++pattern M2tsAudioBufferModel_DVB :: M2tsAudioBufferModel+pattern M2tsAudioBufferModel_DVB = M2tsAudioBufferModel' "DVB"++{-# COMPLETE+ M2tsAudioBufferModel_ATSC,+ M2tsAudioBufferModel_DVB,+ M2tsAudioBufferModel'+ #-}
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsAudioDuration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsAudioDuration+ ( M2tsAudioDuration+ ( ..,+ M2tsAudioDuration_DEFAULT_CODEC_DURATION,+ M2tsAudioDuration_MATCH_VIDEO_DURATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specify this setting only when your output will be consumed by a+-- downstream repackaging workflow that is sensitive to very small duration+-- differences between video and audio. For this situation, choose Match+-- video duration (MATCH_VIDEO_DURATION). In all other cases, keep the+-- default value, Default codec duration (DEFAULT_CODEC_DURATION). When you+-- choose Match video duration, MediaConvert pads the output audio streams+-- with silence or trims them to ensure that the total duration of each+-- audio stream is at least as long as the total duration of the video+-- stream. After padding or trimming, the audio stream duration is no more+-- than one frame longer than the video stream. MediaConvert applies audio+-- padding or trimming only to the end of the last segment of the output.+-- For unsegmented outputs, MediaConvert adds padding only to the end of+-- the file. When you keep the default value, any minor discrepancies+-- between audio and video duration will depend on your output audio codec.+newtype M2tsAudioDuration = M2tsAudioDuration'+ { fromM2tsAudioDuration ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsAudioDuration_DEFAULT_CODEC_DURATION :: M2tsAudioDuration+pattern M2tsAudioDuration_DEFAULT_CODEC_DURATION = M2tsAudioDuration' "DEFAULT_CODEC_DURATION"++pattern M2tsAudioDuration_MATCH_VIDEO_DURATION :: M2tsAudioDuration+pattern M2tsAudioDuration_MATCH_VIDEO_DURATION = M2tsAudioDuration' "MATCH_VIDEO_DURATION"++{-# COMPLETE+ M2tsAudioDuration_DEFAULT_CODEC_DURATION,+ M2tsAudioDuration_MATCH_VIDEO_DURATION,+ M2tsAudioDuration'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsBufferModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsBufferModel+ ( M2tsBufferModel+ ( ..,+ M2tsBufferModel_MULTIPLEX,+ M2tsBufferModel_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Controls what buffer model to use for accurate interleaving. If set to+-- MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to+-- lower latency, but low-memory devices may not be able to play back the+-- stream without interruptions.+newtype M2tsBufferModel = M2tsBufferModel'+ { fromM2tsBufferModel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsBufferModel_MULTIPLEX :: M2tsBufferModel+pattern M2tsBufferModel_MULTIPLEX = M2tsBufferModel' "MULTIPLEX"++pattern M2tsBufferModel_NONE :: M2tsBufferModel+pattern M2tsBufferModel_NONE = M2tsBufferModel' "NONE"++{-# COMPLETE+ M2tsBufferModel_MULTIPLEX,+ M2tsBufferModel_NONE,+ M2tsBufferModel'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsDataPtsControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsDataPtsControl+ ( M2tsDataPtsControl+ ( ..,+ M2tsDataPtsControl_ALIGN_TO_VIDEO,+ M2tsDataPtsControl_AUTO+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data+-- packets with Presentation Timestamp (PTS) values greater than or equal+-- to the first video packet PTS (MediaConvert drops captions and data+-- packets with lesser PTS values). Keep the default value (AUTO) to allow+-- all PTS values.+newtype M2tsDataPtsControl = M2tsDataPtsControl'+ { fromM2tsDataPtsControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsDataPtsControl_ALIGN_TO_VIDEO :: M2tsDataPtsControl+pattern M2tsDataPtsControl_ALIGN_TO_VIDEO = M2tsDataPtsControl' "ALIGN_TO_VIDEO"++pattern M2tsDataPtsControl_AUTO :: M2tsDataPtsControl+pattern M2tsDataPtsControl_AUTO = M2tsDataPtsControl' "AUTO"++{-# COMPLETE+ M2tsDataPtsControl_ALIGN_TO_VIDEO,+ M2tsDataPtsControl_AUTO,+ M2tsDataPtsControl'+ #-}
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsEbpAudioInterval+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsEbpAudioInterval+ ( M2tsEbpAudioInterval+ ( ..,+ M2tsEbpAudioInterval_VIDEO_AND_FIXED_INTERVALS,+ M2tsEbpAudioInterval_VIDEO_INTERVAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added+-- to partitions 3 and 4. The interval between these additional markers+-- will be fixed, and will be slightly shorter than the video EBP marker+-- interval. When set to VIDEO_INTERVAL, these additional markers will not+-- be inserted. Only applicable when EBP segmentation markers are is+-- selected (segmentationMarkers is EBP or EBP_LEGACY).+newtype M2tsEbpAudioInterval = M2tsEbpAudioInterval'+ { fromM2tsEbpAudioInterval ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsEbpAudioInterval_VIDEO_AND_FIXED_INTERVALS :: M2tsEbpAudioInterval+pattern M2tsEbpAudioInterval_VIDEO_AND_FIXED_INTERVALS = M2tsEbpAudioInterval' "VIDEO_AND_FIXED_INTERVALS"++pattern M2tsEbpAudioInterval_VIDEO_INTERVAL :: M2tsEbpAudioInterval+pattern M2tsEbpAudioInterval_VIDEO_INTERVAL = M2tsEbpAudioInterval' "VIDEO_INTERVAL"++{-# COMPLETE+ M2tsEbpAudioInterval_VIDEO_AND_FIXED_INTERVALS,+ M2tsEbpAudioInterval_VIDEO_INTERVAL,+ M2tsEbpAudioInterval'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsEbpPlacement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsEbpPlacement+ ( M2tsEbpPlacement+ ( ..,+ M2tsEbpPlacement_VIDEO_AND_AUDIO_PIDS,+ M2tsEbpPlacement_VIDEO_PID+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Selects which PIDs to place EBP markers on. They can either be placed+-- only on the video PID, or on both the video PID and all audio PIDs. Only+-- applicable when EBP segmentation markers are is selected+-- (segmentationMarkers is EBP or EBP_LEGACY).+newtype M2tsEbpPlacement = M2tsEbpPlacement'+ { fromM2tsEbpPlacement ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsEbpPlacement_VIDEO_AND_AUDIO_PIDS :: M2tsEbpPlacement+pattern M2tsEbpPlacement_VIDEO_AND_AUDIO_PIDS = M2tsEbpPlacement' "VIDEO_AND_AUDIO_PIDS"++pattern M2tsEbpPlacement_VIDEO_PID :: M2tsEbpPlacement+pattern M2tsEbpPlacement_VIDEO_PID = M2tsEbpPlacement' "VIDEO_PID"++{-# COMPLETE+ M2tsEbpPlacement_VIDEO_AND_AUDIO_PIDS,+ M2tsEbpPlacement_VIDEO_PID,+ M2tsEbpPlacement'+ #-}
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsEsRateInPes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsEsRateInPes+ ( M2tsEsRateInPes+ ( ..,+ M2tsEsRateInPes_EXCLUDE,+ M2tsEsRateInPes_INCLUDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Controls whether to include the ES Rate field in the PES header.+newtype M2tsEsRateInPes = M2tsEsRateInPes'+ { fromM2tsEsRateInPes ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsEsRateInPes_EXCLUDE :: M2tsEsRateInPes+pattern M2tsEsRateInPes_EXCLUDE = M2tsEsRateInPes' "EXCLUDE"++pattern M2tsEsRateInPes_INCLUDE :: M2tsEsRateInPes+pattern M2tsEsRateInPes_INCLUDE = M2tsEsRateInPes' "INCLUDE"++{-# COMPLETE+ M2tsEsRateInPes_EXCLUDE,+ M2tsEsRateInPes_INCLUDE,+ M2tsEsRateInPes'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsForceTsVideoEbpOrder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsForceTsVideoEbpOrder+ ( M2tsForceTsVideoEbpOrder+ ( ..,+ M2tsForceTsVideoEbpOrder_DEFAULT,+ M2tsForceTsVideoEbpOrder_FORCE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Keep the default value (DEFAULT) unless you know that your audio EBP+-- markers are incorrectly appearing before your video EBP markers. To+-- correct this problem, set this value to Force (FORCE).+newtype M2tsForceTsVideoEbpOrder = M2tsForceTsVideoEbpOrder'+ { fromM2tsForceTsVideoEbpOrder ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsForceTsVideoEbpOrder_DEFAULT :: M2tsForceTsVideoEbpOrder+pattern M2tsForceTsVideoEbpOrder_DEFAULT = M2tsForceTsVideoEbpOrder' "DEFAULT"++pattern M2tsForceTsVideoEbpOrder_FORCE :: M2tsForceTsVideoEbpOrder+pattern M2tsForceTsVideoEbpOrder_FORCE = M2tsForceTsVideoEbpOrder' "FORCE"++{-# COMPLETE+ M2tsForceTsVideoEbpOrder_DEFAULT,+ M2tsForceTsVideoEbpOrder_FORCE,+ M2tsForceTsVideoEbpOrder'+ #-}
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsKlvMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsKlvMetadata+ ( M2tsKlvMetadata+ ( ..,+ M2tsKlvMetadata_NONE,+ M2tsKlvMetadata_PASSTHROUGH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | To include key-length-value metadata in this output: Set KLV metadata+-- insertion to Passthrough. MediaConvert reads KLV metadata present in+-- your input and passes it through to the output transport stream. To+-- exclude this KLV metadata: Set KLV metadata insertion to None or leave+-- blank.+newtype M2tsKlvMetadata = M2tsKlvMetadata'+ { fromM2tsKlvMetadata ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsKlvMetadata_NONE :: M2tsKlvMetadata+pattern M2tsKlvMetadata_NONE = M2tsKlvMetadata' "NONE"++pattern M2tsKlvMetadata_PASSTHROUGH :: M2tsKlvMetadata+pattern M2tsKlvMetadata_PASSTHROUGH = M2tsKlvMetadata' "PASSTHROUGH"++{-# COMPLETE+ M2tsKlvMetadata_NONE,+ M2tsKlvMetadata_PASSTHROUGH,+ M2tsKlvMetadata'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsNielsenId3+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsNielsenId3+ ( M2tsNielsenId3+ ( ..,+ M2tsNielsenId3_INSERT,+ M2tsNielsenId3_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | If INSERT, Nielsen inaudible tones for media tracking will be detected+-- in the input audio and an equivalent ID3 tag will be inserted in the+-- output.+newtype M2tsNielsenId3 = M2tsNielsenId3'+ { fromM2tsNielsenId3 ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsNielsenId3_INSERT :: M2tsNielsenId3+pattern M2tsNielsenId3_INSERT = M2tsNielsenId3' "INSERT"++pattern M2tsNielsenId3_NONE :: M2tsNielsenId3+pattern M2tsNielsenId3_NONE = M2tsNielsenId3' "NONE"++{-# COMPLETE+ M2tsNielsenId3_INSERT,+ M2tsNielsenId3_NONE,+ M2tsNielsenId3'+ #-}
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsPcrControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsPcrControl+ ( M2tsPcrControl+ ( ..,+ M2tsPcrControl_CONFIGURED_PCR_PERIOD,+ M2tsPcrControl_PCR_EVERY_PES_PACKET+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is+-- inserted for every Packetized Elementary Stream (PES) header. This is+-- effective only when the PCR PID is the same as the video or audio+-- elementary stream.+newtype M2tsPcrControl = M2tsPcrControl'+ { fromM2tsPcrControl ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsPcrControl_CONFIGURED_PCR_PERIOD :: M2tsPcrControl+pattern M2tsPcrControl_CONFIGURED_PCR_PERIOD = M2tsPcrControl' "CONFIGURED_PCR_PERIOD"++pattern M2tsPcrControl_PCR_EVERY_PES_PACKET :: M2tsPcrControl+pattern M2tsPcrControl_PCR_EVERY_PES_PACKET = M2tsPcrControl' "PCR_EVERY_PES_PACKET"++{-# COMPLETE+ M2tsPcrControl_CONFIGURED_PCR_PERIOD,+ M2tsPcrControl_PCR_EVERY_PES_PACKET,+ M2tsPcrControl'+ #-}
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsRateMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsRateMode+ ( M2tsRateMode+ ( ..,+ M2tsRateMode_CBR,+ M2tsRateMode_VBR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | When set to CBR, inserts null packets into transport stream to fill+-- specified bitrate. When set to VBR, the bitrate setting acts as the+-- maximum bitrate, but the output will not be padded up to that bitrate.+newtype M2tsRateMode = M2tsRateMode'+ { fromM2tsRateMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsRateMode_CBR :: M2tsRateMode+pattern M2tsRateMode_CBR = M2tsRateMode' "CBR"++pattern M2tsRateMode_VBR :: M2tsRateMode+pattern M2tsRateMode_VBR = M2tsRateMode' "VBR"++{-# COMPLETE+ M2tsRateMode_CBR,+ M2tsRateMode_VBR,+ M2tsRateMode'+ #-}
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsScte35Esam+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsScte35Esam where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Settings for SCTE-35 signals from ESAM. Include this in your job+-- settings to put SCTE-35 markers in your HLS and transport stream outputs+-- at the insertion points that you specify in an ESAM XML document.+-- Provide the document in the setting SCC XML (sccXml).+--+-- /See:/ 'newM2tsScte35Esam' smart constructor.+data M2tsScte35Esam = M2tsScte35Esam'+ { -- | Packet Identifier (PID) of the SCTE-35 stream in the transport stream+ -- generated by ESAM.+ scte35EsamPid :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'M2tsScte35Esam' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'scte35EsamPid', 'm2tsScte35Esam_scte35EsamPid' - Packet Identifier (PID) of the SCTE-35 stream in the transport stream+-- generated by ESAM.+newM2tsScte35Esam ::+ M2tsScte35Esam+newM2tsScte35Esam =+ M2tsScte35Esam' {scte35EsamPid = Prelude.Nothing}++-- | Packet Identifier (PID) of the SCTE-35 stream in the transport stream+-- generated by ESAM.+m2tsScte35Esam_scte35EsamPid :: Lens.Lens' M2tsScte35Esam (Prelude.Maybe Prelude.Natural)+m2tsScte35Esam_scte35EsamPid = Lens.lens (\M2tsScte35Esam' {scte35EsamPid} -> scte35EsamPid) (\s@M2tsScte35Esam' {} a -> s {scte35EsamPid = a} :: M2tsScte35Esam)++instance Data.FromJSON M2tsScte35Esam where+ parseJSON =+ Data.withObject+ "M2tsScte35Esam"+ ( \x ->+ M2tsScte35Esam'+ Prelude.<$> (x Data..:? "scte35EsamPid")+ )++instance Prelude.Hashable M2tsScte35Esam where+ hashWithSalt _salt M2tsScte35Esam' {..} =+ _salt `Prelude.hashWithSalt` scte35EsamPid++instance Prelude.NFData M2tsScte35Esam where+ rnf M2tsScte35Esam' {..} = Prelude.rnf scte35EsamPid++instance Data.ToJSON M2tsScte35Esam where+ toJSON M2tsScte35Esam' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("scte35EsamPid" Data..=)+ Prelude.<$> scte35EsamPid+ ]+ )
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsScte35Source+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsScte35Source+ ( M2tsScte35Source+ ( ..,+ M2tsScte35Source_NONE,+ M2tsScte35Source_PASSTHROUGH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH)+-- if you want SCTE-35 markers that appear in your input to also appear in+-- this output. Choose None (NONE) if you don\'t want SCTE-35 markers in+-- this output. For SCTE-35 markers from an ESAM XML document-- Choose None+-- (NONE). Also provide the ESAM XML as a string in the setting Signal+-- processing notification XML (sccXml). Also enable ESAM SCTE-35 (include+-- the property scte35Esam).+newtype M2tsScte35Source = M2tsScte35Source'+ { fromM2tsScte35Source ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsScte35Source_NONE :: M2tsScte35Source+pattern M2tsScte35Source_NONE = M2tsScte35Source' "NONE"++pattern M2tsScte35Source_PASSTHROUGH :: M2tsScte35Source+pattern M2tsScte35Source_PASSTHROUGH = M2tsScte35Source' "PASSTHROUGH"++{-# COMPLETE+ M2tsScte35Source_NONE,+ M2tsScte35Source_PASSTHROUGH,+ M2tsScte35Source'+ #-}
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConvert.Types.M2tsSegmentationMarkers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaConvert.Types.M2tsSegmentationMarkers+ ( M2tsSegmentationMarkers+ ( ..,+ M2tsSegmentationMarkers_EBP,+ M2tsSegmentationMarkers_EBP_LEGACY,+ M2tsSegmentationMarkers_NONE,+ M2tsSegmentationMarkers_PSI_SEGSTART,+ M2tsSegmentationMarkers_RAI_ADAPT,+ M2tsSegmentationMarkers_RAI_SEGSTART+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Inserts segmentation markers at each segmentation_time period.+-- rai_segstart sets the Random Access Indicator bit in the adaptation+-- field. rai_adapt sets the RAI bit and adds the current timecode in the+-- private data bytes. psi_segstart inserts PAT and PMT tables at the start+-- of segments. ebp adds Encoder Boundary Point information to the+-- adaptation field as per OpenCable specification OC-SP-EBP-I01-130118.+-- ebp_legacy adds Encoder Boundary Point information to the adaptation+-- field using a legacy proprietary format.+newtype M2tsSegmentationMarkers = M2tsSegmentationMarkers'+ { fromM2tsSegmentationMarkers ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern M2tsSegmentationMarkers_EBP :: M2tsSegmentationMarkers+pattern M2tsSegmentationMarkers_EBP = M2tsSegmentationMarkers' "EBP"++pattern M2tsSegmentationMarkers_EBP_LEGACY :: M2tsSegmentationMarkers+pattern M2tsSegmentationMarkers_EBP_LEGACY = M2tsSegmentationMarkers' "EBP_LEGACY"++pattern M2tsSegmentationMarkers_NONE :: M2tsSegmentationMarkers+pattern M2tsSegmentationMarkers_NONE = M2tsSegmentationMarkers' "NONE"++pattern M2tsSegmentationMarkers_PSI_SEGSTART :: M2tsSegmentationMarkers+pattern M2tsSegmentationMarkers_PSI_SEGSTART = M2tsSegmentationMarkers' "PSI_SEGSTART"++pattern M2tsSegmentationMarkers_RAI_ADAPT :: M2tsSegmentationMarkers+pattern M2tsSegmentationMarkers_RAI_ADAPT = M2tsSegmentationMarkers' "RAI_ADAPT"++pattern M2tsSegmentationMarkers_RAI_SEGSTART :: M2tsSegmentationMarkers+pattern M2tsSegmentationMarkers_RAI_SEGSTART = M2tsSegmentationMarkers' "RAI_SEGSTART"++{-# COMPLETE+ M2tsSegmentationMarkers_EBP,+ M2tsSegmentationMarkers_EBP_LEGACY,+ M2tsSegmentationMarkers_NONE,+ M2tsSegmentationMarkers_PSI_SEGSTART,+ M2tsSegmentationMarkers_RAI_ADAPT,+ M2tsSegmentationMarkers_RAI_SEGSTART,+ M2tsSegmentationMarkers'+ #-}
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff