
commonMain.aws.sdk.kotlin.services.mediaconvert.serde.AV1SettingsDocumentDeserializer.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mediaconvert.serde
import aws.sdk.kotlin.services.mediaconvert.model.AV1AdaptiveQuantization
import aws.sdk.kotlin.services.mediaconvert.model.AV1BitDepth
import aws.sdk.kotlin.services.mediaconvert.model.AV1FilmGrainSynthesis
import aws.sdk.kotlin.services.mediaconvert.model.AV1FramerateControl
import aws.sdk.kotlin.services.mediaconvert.model.AV1FramerateConversionAlgorithm
import aws.sdk.kotlin.services.mediaconvert.model.AV1RateControlMode
import aws.sdk.kotlin.services.mediaconvert.model.AV1Settings
import aws.sdk.kotlin.services.mediaconvert.model.AV1SpatialAdaptiveQuantization
import aws.smithy.kotlin.runtime.serde.Deserializer
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.json.JsonDeserializer
import aws.smithy.kotlin.runtime.serde.json.JsonSerialName
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct
internal fun deserializeAV1SettingsDocument(deserializer: Deserializer): AV1Settings {
val builder = AV1Settings.Builder()
val ADAPTIVEQUANTIZATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("adaptiveQuantization"))
val BITDEPTH_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("bitDepth"))
val FILMGRAINSYNTHESIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("filmGrainSynthesis"))
val FRAMERATECONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("framerateControl"))
val FRAMERATECONVERSIONALGORITHM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("framerateConversionAlgorithm"))
val FRAMERATEDENOMINATOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("framerateDenominator"))
val FRAMERATENUMERATOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("framerateNumerator"))
val GOPSIZE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("gopSize"))
val MAXBITRATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("maxBitrate"))
val NUMBERBFRAMESBETWEENREFERENCEFRAMES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("numberBFramesBetweenReferenceFrames"))
val QVBRSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("qvbrSettings"))
val RATECONTROLMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("rateControlMode"))
val SLICES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("slices"))
val SPATIALADAPTIVEQUANTIZATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("spatialAdaptiveQuantization"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(ADAPTIVEQUANTIZATION_DESCRIPTOR)
field(BITDEPTH_DESCRIPTOR)
field(FILMGRAINSYNTHESIS_DESCRIPTOR)
field(FRAMERATECONTROL_DESCRIPTOR)
field(FRAMERATECONVERSIONALGORITHM_DESCRIPTOR)
field(FRAMERATEDENOMINATOR_DESCRIPTOR)
field(FRAMERATENUMERATOR_DESCRIPTOR)
field(GOPSIZE_DESCRIPTOR)
field(MAXBITRATE_DESCRIPTOR)
field(NUMBERBFRAMESBETWEENREFERENCEFRAMES_DESCRIPTOR)
field(QVBRSETTINGS_DESCRIPTOR)
field(RATECONTROLMODE_DESCRIPTOR)
field(SLICES_DESCRIPTOR)
field(SPATIALADAPTIVEQUANTIZATION_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
ADAPTIVEQUANTIZATION_DESCRIPTOR.index -> builder.adaptiveQuantization = deserializeString().let { AV1AdaptiveQuantization.fromValue(it) }
BITDEPTH_DESCRIPTOR.index -> builder.bitDepth = deserializeString().let { AV1BitDepth.fromValue(it) }
FILMGRAINSYNTHESIS_DESCRIPTOR.index -> builder.filmGrainSynthesis = deserializeString().let { AV1FilmGrainSynthesis.fromValue(it) }
FRAMERATECONTROL_DESCRIPTOR.index -> builder.framerateControl = deserializeString().let { AV1FramerateControl.fromValue(it) }
FRAMERATECONVERSIONALGORITHM_DESCRIPTOR.index -> builder.framerateConversionAlgorithm = deserializeString().let { AV1FramerateConversionAlgorithm.fromValue(it) }
FRAMERATEDENOMINATOR_DESCRIPTOR.index -> builder.framerateDenominator = deserializeInt()
FRAMERATENUMERATOR_DESCRIPTOR.index -> builder.framerateNumerator = deserializeInt()
GOPSIZE_DESCRIPTOR.index -> builder.gopSize = deserializeDouble()
MAXBITRATE_DESCRIPTOR.index -> builder.maxBitrate = deserializeInt()
NUMBERBFRAMESBETWEENREFERENCEFRAMES_DESCRIPTOR.index -> builder.numberBFramesBetweenReferenceFrames = deserializeInt()
QVBRSETTINGS_DESCRIPTOR.index -> builder.qvbrSettings = deserializeAV1QvbrSettingsDocument(deserializer)
RATECONTROLMODE_DESCRIPTOR.index -> builder.rateControlMode = deserializeString().let { AV1RateControlMode.fromValue(it) }
SLICES_DESCRIPTOR.index -> builder.slices = deserializeInt()
SPATIALADAPTIVEQUANTIZATION_DESCRIPTOR.index -> builder.spatialAdaptiveQuantization = deserializeString().let { AV1SpatialAdaptiveQuantization.fromValue(it) }
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy