{-# 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 #-}
module Amazonka.MediaConvert.Types.AvcIntraSettings where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
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
data AvcIntraSettings = AvcIntraSettings'
{
AvcIntraSettings -> Maybe AvcIntraSlowPal
slowPal :: Prelude.Maybe AvcIntraSlowPal,
AvcIntraSettings -> Maybe AvcIntraUhdSettings
avcIntraUhdSettings :: Prelude.Maybe AvcIntraUhdSettings,
AvcIntraSettings -> Maybe AvcIntraTelecine
telecine :: Prelude.Maybe AvcIntraTelecine,
AvcIntraSettings -> Maybe AvcIntraInterlaceMode
interlaceMode :: Prelude.Maybe AvcIntraInterlaceMode,
AvcIntraSettings -> Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode :: Prelude.Maybe AvcIntraScanTypeConversionMode,
AvcIntraSettings -> Maybe AvcIntraClass
avcIntraClass :: Prelude.Maybe AvcIntraClass,
AvcIntraSettings -> Maybe Natural
framerateDenominator :: Prelude.Maybe Prelude.Natural,
AvcIntraSettings -> Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm :: Prelude.Maybe AvcIntraFramerateConversionAlgorithm,
AvcIntraSettings -> Maybe AvcIntraFramerateControl
framerateControl :: Prelude.Maybe AvcIntraFramerateControl,
AvcIntraSettings -> Maybe Natural
framerateNumerator :: Prelude.Maybe Prelude.Natural
}
deriving (AvcIntraSettings -> AvcIntraSettings -> Bool
(AvcIntraSettings -> AvcIntraSettings -> Bool)
-> (AvcIntraSettings -> AvcIntraSettings -> Bool)
-> Eq AvcIntraSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AvcIntraSettings -> AvcIntraSettings -> Bool
$c/= :: AvcIntraSettings -> AvcIntraSettings -> Bool
== :: AvcIntraSettings -> AvcIntraSettings -> Bool
$c== :: AvcIntraSettings -> AvcIntraSettings -> Bool
Prelude.Eq, ReadPrec [AvcIntraSettings]
ReadPrec AvcIntraSettings
Int -> ReadS AvcIntraSettings
ReadS [AvcIntraSettings]
(Int -> ReadS AvcIntraSettings)
-> ReadS [AvcIntraSettings]
-> ReadPrec AvcIntraSettings
-> ReadPrec [AvcIntraSettings]
-> Read AvcIntraSettings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AvcIntraSettings]
$creadListPrec :: ReadPrec [AvcIntraSettings]
readPrec :: ReadPrec AvcIntraSettings
$creadPrec :: ReadPrec AvcIntraSettings
readList :: ReadS [AvcIntraSettings]
$creadList :: ReadS [AvcIntraSettings]
readsPrec :: Int -> ReadS AvcIntraSettings
$creadsPrec :: Int -> ReadS AvcIntraSettings
Prelude.Read, Int -> AvcIntraSettings -> ShowS
[AvcIntraSettings] -> ShowS
AvcIntraSettings -> String
(Int -> AvcIntraSettings -> ShowS)
-> (AvcIntraSettings -> String)
-> ([AvcIntraSettings] -> ShowS)
-> Show AvcIntraSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AvcIntraSettings] -> ShowS
$cshowList :: [AvcIntraSettings] -> ShowS
show :: AvcIntraSettings -> String
$cshow :: AvcIntraSettings -> String
showsPrec :: Int -> AvcIntraSettings -> ShowS
$cshowsPrec :: Int -> AvcIntraSettings -> ShowS
Prelude.Show, (forall x. AvcIntraSettings -> Rep AvcIntraSettings x)
-> (forall x. Rep AvcIntraSettings x -> AvcIntraSettings)
-> Generic AvcIntraSettings
forall x. Rep AvcIntraSettings x -> AvcIntraSettings
forall x. AvcIntraSettings -> Rep AvcIntraSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AvcIntraSettings x -> AvcIntraSettings
$cfrom :: forall x. AvcIntraSettings -> Rep AvcIntraSettings x
Prelude.Generic)
newAvcIntraSettings ::
AvcIntraSettings
newAvcIntraSettings :: AvcIntraSettings
newAvcIntraSettings =
AvcIntraSettings' :: Maybe AvcIntraSlowPal
-> Maybe AvcIntraUhdSettings
-> Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings
AvcIntraSettings'
{ $sel:slowPal:AvcIntraSettings' :: Maybe AvcIntraSlowPal
slowPal = Maybe AvcIntraSlowPal
forall a. Maybe a
Prelude.Nothing,
$sel:avcIntraUhdSettings:AvcIntraSettings' :: Maybe AvcIntraUhdSettings
avcIntraUhdSettings = Maybe AvcIntraUhdSettings
forall a. Maybe a
Prelude.Nothing,
$sel:telecine:AvcIntraSettings' :: Maybe AvcIntraTelecine
telecine = Maybe AvcIntraTelecine
forall a. Maybe a
Prelude.Nothing,
$sel:interlaceMode:AvcIntraSettings' :: Maybe AvcIntraInterlaceMode
interlaceMode = Maybe AvcIntraInterlaceMode
forall a. Maybe a
Prelude.Nothing,
$sel:scanTypeConversionMode:AvcIntraSettings' :: Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode = Maybe AvcIntraScanTypeConversionMode
forall a. Maybe a
Prelude.Nothing,
$sel:avcIntraClass:AvcIntraSettings' :: Maybe AvcIntraClass
avcIntraClass = Maybe AvcIntraClass
forall a. Maybe a
Prelude.Nothing,
$sel:framerateDenominator:AvcIntraSettings' :: Maybe Natural
framerateDenominator = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:framerateConversionAlgorithm:AvcIntraSettings' :: Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm = Maybe AvcIntraFramerateConversionAlgorithm
forall a. Maybe a
Prelude.Nothing,
$sel:framerateControl:AvcIntraSettings' :: Maybe AvcIntraFramerateControl
framerateControl = Maybe AvcIntraFramerateControl
forall a. Maybe a
Prelude.Nothing,
$sel:framerateNumerator:AvcIntraSettings' :: Maybe Natural
framerateNumerator = Maybe Natural
forall a. Maybe a
Prelude.Nothing
}
avcIntraSettings_slowPal :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraSlowPal)
avcIntraSettings_slowPal :: (Maybe AvcIntraSlowPal -> f (Maybe AvcIntraSlowPal))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_slowPal = (AvcIntraSettings -> Maybe AvcIntraSlowPal)
-> (AvcIntraSettings -> Maybe AvcIntraSlowPal -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraSlowPal)
(Maybe AvcIntraSlowPal)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraSlowPal
slowPal :: Maybe AvcIntraSlowPal
$sel:slowPal:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraSlowPal
slowPal} -> Maybe AvcIntraSlowPal
slowPal) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraSlowPal
a -> AvcIntraSettings
s {$sel:slowPal:AvcIntraSettings' :: Maybe AvcIntraSlowPal
slowPal = Maybe AvcIntraSlowPal
a} :: AvcIntraSettings)
avcIntraSettings_avcIntraUhdSettings :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraUhdSettings)
avcIntraSettings_avcIntraUhdSettings :: (Maybe AvcIntraUhdSettings -> f (Maybe AvcIntraUhdSettings))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_avcIntraUhdSettings = (AvcIntraSettings -> Maybe AvcIntraUhdSettings)
-> (AvcIntraSettings
-> Maybe AvcIntraUhdSettings -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraUhdSettings)
(Maybe AvcIntraUhdSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraUhdSettings
avcIntraUhdSettings :: Maybe AvcIntraUhdSettings
$sel:avcIntraUhdSettings:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraUhdSettings
avcIntraUhdSettings} -> Maybe AvcIntraUhdSettings
avcIntraUhdSettings) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraUhdSettings
a -> AvcIntraSettings
s {$sel:avcIntraUhdSettings:AvcIntraSettings' :: Maybe AvcIntraUhdSettings
avcIntraUhdSettings = Maybe AvcIntraUhdSettings
a} :: AvcIntraSettings)
avcIntraSettings_telecine :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraTelecine)
avcIntraSettings_telecine :: (Maybe AvcIntraTelecine -> f (Maybe AvcIntraTelecine))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_telecine = (AvcIntraSettings -> Maybe AvcIntraTelecine)
-> (AvcIntraSettings -> Maybe AvcIntraTelecine -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraTelecine)
(Maybe AvcIntraTelecine)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraTelecine
telecine :: Maybe AvcIntraTelecine
$sel:telecine:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraTelecine
telecine} -> Maybe AvcIntraTelecine
telecine) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraTelecine
a -> AvcIntraSettings
s {$sel:telecine:AvcIntraSettings' :: Maybe AvcIntraTelecine
telecine = Maybe AvcIntraTelecine
a} :: AvcIntraSettings)
avcIntraSettings_interlaceMode :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraInterlaceMode)
avcIntraSettings_interlaceMode :: (Maybe AvcIntraInterlaceMode -> f (Maybe AvcIntraInterlaceMode))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_interlaceMode = (AvcIntraSettings -> Maybe AvcIntraInterlaceMode)
-> (AvcIntraSettings
-> Maybe AvcIntraInterlaceMode -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraInterlaceMode)
(Maybe AvcIntraInterlaceMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraInterlaceMode
interlaceMode :: Maybe AvcIntraInterlaceMode
$sel:interlaceMode:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraInterlaceMode
interlaceMode} -> Maybe AvcIntraInterlaceMode
interlaceMode) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraInterlaceMode
a -> AvcIntraSettings
s {$sel:interlaceMode:AvcIntraSettings' :: Maybe AvcIntraInterlaceMode
interlaceMode = Maybe AvcIntraInterlaceMode
a} :: AvcIntraSettings)
avcIntraSettings_scanTypeConversionMode :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraScanTypeConversionMode)
avcIntraSettings_scanTypeConversionMode :: (Maybe AvcIntraScanTypeConversionMode
-> f (Maybe AvcIntraScanTypeConversionMode))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_scanTypeConversionMode = (AvcIntraSettings -> Maybe AvcIntraScanTypeConversionMode)
-> (AvcIntraSettings
-> Maybe AvcIntraScanTypeConversionMode -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraScanTypeConversionMode)
(Maybe AvcIntraScanTypeConversionMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode :: Maybe AvcIntraScanTypeConversionMode
$sel:scanTypeConversionMode:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode} -> Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraScanTypeConversionMode
a -> AvcIntraSettings
s {$sel:scanTypeConversionMode:AvcIntraSettings' :: Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode = Maybe AvcIntraScanTypeConversionMode
a} :: AvcIntraSettings)
avcIntraSettings_avcIntraClass :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraClass)
avcIntraSettings_avcIntraClass :: (Maybe AvcIntraClass -> f (Maybe AvcIntraClass))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_avcIntraClass = (AvcIntraSettings -> Maybe AvcIntraClass)
-> (AvcIntraSettings -> Maybe AvcIntraClass -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraClass)
(Maybe AvcIntraClass)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraClass
avcIntraClass :: Maybe AvcIntraClass
$sel:avcIntraClass:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraClass
avcIntraClass} -> Maybe AvcIntraClass
avcIntraClass) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraClass
a -> AvcIntraSettings
s {$sel:avcIntraClass:AvcIntraSettings' :: Maybe AvcIntraClass
avcIntraClass = Maybe AvcIntraClass
a} :: AvcIntraSettings)
avcIntraSettings_framerateDenominator :: Lens.Lens' AvcIntraSettings (Prelude.Maybe Prelude.Natural)
avcIntraSettings_framerateDenominator :: (Maybe Natural -> f (Maybe Natural))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_framerateDenominator = (AvcIntraSettings -> Maybe Natural)
-> (AvcIntraSettings -> Maybe Natural -> AvcIntraSettings)
-> Lens
AvcIntraSettings AvcIntraSettings (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe Natural
framerateDenominator :: Maybe Natural
$sel:framerateDenominator:AvcIntraSettings' :: AvcIntraSettings -> Maybe Natural
framerateDenominator} -> Maybe Natural
framerateDenominator) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe Natural
a -> AvcIntraSettings
s {$sel:framerateDenominator:AvcIntraSettings' :: Maybe Natural
framerateDenominator = Maybe Natural
a} :: AvcIntraSettings)
avcIntraSettings_framerateConversionAlgorithm :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraFramerateConversionAlgorithm)
avcIntraSettings_framerateConversionAlgorithm :: (Maybe AvcIntraFramerateConversionAlgorithm
-> f (Maybe AvcIntraFramerateConversionAlgorithm))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_framerateConversionAlgorithm = (AvcIntraSettings -> Maybe AvcIntraFramerateConversionAlgorithm)
-> (AvcIntraSettings
-> Maybe AvcIntraFramerateConversionAlgorithm -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraFramerateConversionAlgorithm)
(Maybe AvcIntraFramerateConversionAlgorithm)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm :: Maybe AvcIntraFramerateConversionAlgorithm
$sel:framerateConversionAlgorithm:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm} -> Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraFramerateConversionAlgorithm
a -> AvcIntraSettings
s {$sel:framerateConversionAlgorithm:AvcIntraSettings' :: Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm = Maybe AvcIntraFramerateConversionAlgorithm
a} :: AvcIntraSettings)
avcIntraSettings_framerateControl :: Lens.Lens' AvcIntraSettings (Prelude.Maybe AvcIntraFramerateControl)
avcIntraSettings_framerateControl :: (Maybe AvcIntraFramerateControl
-> f (Maybe AvcIntraFramerateControl))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_framerateControl = (AvcIntraSettings -> Maybe AvcIntraFramerateControl)
-> (AvcIntraSettings
-> Maybe AvcIntraFramerateControl -> AvcIntraSettings)
-> Lens
AvcIntraSettings
AvcIntraSettings
(Maybe AvcIntraFramerateControl)
(Maybe AvcIntraFramerateControl)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe AvcIntraFramerateControl
framerateControl :: Maybe AvcIntraFramerateControl
$sel:framerateControl:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraFramerateControl
framerateControl} -> Maybe AvcIntraFramerateControl
framerateControl) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe AvcIntraFramerateControl
a -> AvcIntraSettings
s {$sel:framerateControl:AvcIntraSettings' :: Maybe AvcIntraFramerateControl
framerateControl = Maybe AvcIntraFramerateControl
a} :: AvcIntraSettings)
avcIntraSettings_framerateNumerator :: Lens.Lens' AvcIntraSettings (Prelude.Maybe Prelude.Natural)
avcIntraSettings_framerateNumerator :: (Maybe Natural -> f (Maybe Natural))
-> AvcIntraSettings -> f AvcIntraSettings
avcIntraSettings_framerateNumerator = (AvcIntraSettings -> Maybe Natural)
-> (AvcIntraSettings -> Maybe Natural -> AvcIntraSettings)
-> Lens
AvcIntraSettings AvcIntraSettings (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AvcIntraSettings' {Maybe Natural
framerateNumerator :: Maybe Natural
$sel:framerateNumerator:AvcIntraSettings' :: AvcIntraSettings -> Maybe Natural
framerateNumerator} -> Maybe Natural
framerateNumerator) (\s :: AvcIntraSettings
s@AvcIntraSettings' {} Maybe Natural
a -> AvcIntraSettings
s {$sel:framerateNumerator:AvcIntraSettings' :: Maybe Natural
framerateNumerator = Maybe Natural
a} :: AvcIntraSettings)
instance Core.FromJSON AvcIntraSettings where
parseJSON :: Value -> Parser AvcIntraSettings
parseJSON =
String
-> (Object -> Parser AvcIntraSettings)
-> Value
-> Parser AvcIntraSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"AvcIntraSettings"
( \Object
x ->
Maybe AvcIntraSlowPal
-> Maybe AvcIntraUhdSettings
-> Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings
AvcIntraSettings'
(Maybe AvcIntraSlowPal
-> Maybe AvcIntraUhdSettings
-> Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraSlowPal)
-> Parser
(Maybe AvcIntraUhdSettings
-> Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe AvcIntraSlowPal)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"slowPal")
Parser
(Maybe AvcIntraUhdSettings
-> Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraUhdSettings)
-> Parser
(Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraUhdSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"avcIntraUhdSettings")
Parser
(Maybe AvcIntraTelecine
-> Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraTelecine)
-> Parser
(Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraTelecine)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"telecine")
Parser
(Maybe AvcIntraInterlaceMode
-> Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraInterlaceMode)
-> Parser
(Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraInterlaceMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"interlaceMode")
Parser
(Maybe AvcIntraScanTypeConversionMode
-> Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraScanTypeConversionMode)
-> Parser
(Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraScanTypeConversionMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scanTypeConversionMode")
Parser
(Maybe AvcIntraClass
-> Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraClass)
-> Parser
(Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraClass)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"avcIntraClass")
Parser
(Maybe Natural
-> Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe Natural)
-> Parser
(Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateDenominator")
Parser
(Maybe AvcIntraFramerateConversionAlgorithm
-> Maybe AvcIntraFramerateControl
-> Maybe Natural
-> AvcIntraSettings)
-> Parser (Maybe AvcIntraFramerateConversionAlgorithm)
-> Parser
(Maybe AvcIntraFramerateControl
-> Maybe Natural -> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AvcIntraFramerateConversionAlgorithm)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateConversionAlgorithm")
Parser
(Maybe AvcIntraFramerateControl
-> Maybe Natural -> AvcIntraSettings)
-> Parser (Maybe AvcIntraFramerateControl)
-> Parser (Maybe Natural -> AvcIntraSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraFramerateControl)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateControl")
Parser (Maybe Natural -> AvcIntraSettings)
-> Parser (Maybe Natural) -> Parser AvcIntraSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateNumerator")
)
instance Prelude.Hashable AvcIntraSettings
instance Prelude.NFData AvcIntraSettings
instance Core.ToJSON AvcIntraSettings where
toJSON :: AvcIntraSettings -> Value
toJSON AvcIntraSettings' {Maybe Natural
Maybe AvcIntraClass
Maybe AvcIntraFramerateControl
Maybe AvcIntraFramerateConversionAlgorithm
Maybe AvcIntraInterlaceMode
Maybe AvcIntraScanTypeConversionMode
Maybe AvcIntraSlowPal
Maybe AvcIntraTelecine
Maybe AvcIntraUhdSettings
framerateNumerator :: Maybe Natural
framerateControl :: Maybe AvcIntraFramerateControl
framerateConversionAlgorithm :: Maybe AvcIntraFramerateConversionAlgorithm
framerateDenominator :: Maybe Natural
avcIntraClass :: Maybe AvcIntraClass
scanTypeConversionMode :: Maybe AvcIntraScanTypeConversionMode
interlaceMode :: Maybe AvcIntraInterlaceMode
telecine :: Maybe AvcIntraTelecine
avcIntraUhdSettings :: Maybe AvcIntraUhdSettings
slowPal :: Maybe AvcIntraSlowPal
$sel:framerateNumerator:AvcIntraSettings' :: AvcIntraSettings -> Maybe Natural
$sel:framerateControl:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraFramerateControl
$sel:framerateConversionAlgorithm:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraFramerateConversionAlgorithm
$sel:framerateDenominator:AvcIntraSettings' :: AvcIntraSettings -> Maybe Natural
$sel:avcIntraClass:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraClass
$sel:scanTypeConversionMode:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraScanTypeConversionMode
$sel:interlaceMode:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraInterlaceMode
$sel:telecine:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraTelecine
$sel:avcIntraUhdSettings:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraUhdSettings
$sel:slowPal:AvcIntraSettings' :: AvcIntraSettings -> Maybe AvcIntraSlowPal
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"slowPal" Text -> AvcIntraSlowPal -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AvcIntraSlowPal -> Pair) -> Maybe AvcIntraSlowPal -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraSlowPal
slowPal,
(Text
"avcIntraUhdSettings" Text -> AvcIntraUhdSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(AvcIntraUhdSettings -> Pair)
-> Maybe AvcIntraUhdSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraUhdSettings
avcIntraUhdSettings,
(Text
"telecine" Text -> AvcIntraTelecine -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AvcIntraTelecine -> Pair) -> Maybe AvcIntraTelecine -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraTelecine
telecine,
(Text
"interlaceMode" Text -> AvcIntraInterlaceMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AvcIntraInterlaceMode -> Pair)
-> Maybe AvcIntraInterlaceMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraInterlaceMode
interlaceMode,
(Text
"scanTypeConversionMode" Text -> AvcIntraScanTypeConversionMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(AvcIntraScanTypeConversionMode -> Pair)
-> Maybe AvcIntraScanTypeConversionMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraScanTypeConversionMode
scanTypeConversionMode,
(Text
"avcIntraClass" Text -> AvcIntraClass -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AvcIntraClass -> Pair) -> Maybe AvcIntraClass -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraClass
avcIntraClass,
(Text
"framerateDenominator" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
framerateDenominator,
(Text
"framerateConversionAlgorithm" Text -> AvcIntraFramerateConversionAlgorithm -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(AvcIntraFramerateConversionAlgorithm -> Pair)
-> Maybe AvcIntraFramerateConversionAlgorithm -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraFramerateConversionAlgorithm
framerateConversionAlgorithm,
(Text
"framerateControl" Text -> AvcIntraFramerateControl -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(AvcIntraFramerateControl -> Pair)
-> Maybe AvcIntraFramerateControl -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraFramerateControl
framerateControl,
(Text
"framerateNumerator" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
framerateNumerator
]
)