{-# 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.VideoCodecSettings where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaConvert.Types.Av1Settings
import Amazonka.MediaConvert.Types.AvcIntraSettings
import Amazonka.MediaConvert.Types.FrameCaptureSettings
import Amazonka.MediaConvert.Types.H264Settings
import Amazonka.MediaConvert.Types.H265Settings
import Amazonka.MediaConvert.Types.Mpeg2Settings
import Amazonka.MediaConvert.Types.ProresSettings
import Amazonka.MediaConvert.Types.Vc3Settings
import Amazonka.MediaConvert.Types.VideoCodec
import Amazonka.MediaConvert.Types.Vp8Settings
import Amazonka.MediaConvert.Types.Vp9Settings
import Amazonka.MediaConvert.Types.XavcSettings
import qualified Amazonka.Prelude as Prelude
data VideoCodecSettings = VideoCodecSettings'
{
VideoCodecSettings -> Maybe FrameCaptureSettings
frameCaptureSettings :: Prelude.Maybe FrameCaptureSettings,
VideoCodecSettings -> Maybe Av1Settings
av1Settings :: Prelude.Maybe Av1Settings,
VideoCodecSettings -> Maybe VideoCodec
codec :: Prelude.Maybe VideoCodec,
VideoCodecSettings -> Maybe XavcSettings
xavcSettings :: Prelude.Maybe XavcSettings,
VideoCodecSettings -> Maybe H265Settings
h265Settings :: Prelude.Maybe H265Settings,
VideoCodecSettings -> Maybe ProresSettings
proresSettings :: Prelude.Maybe ProresSettings,
VideoCodecSettings -> Maybe Vp9Settings
vp9Settings :: Prelude.Maybe Vp9Settings,
VideoCodecSettings -> Maybe H264Settings
h264Settings :: Prelude.Maybe H264Settings,
VideoCodecSettings -> Maybe Mpeg2Settings
mpeg2Settings :: Prelude.Maybe Mpeg2Settings,
VideoCodecSettings -> Maybe Vp8Settings
vp8Settings :: Prelude.Maybe Vp8Settings,
VideoCodecSettings -> Maybe Vc3Settings
vc3Settings :: Prelude.Maybe Vc3Settings,
VideoCodecSettings -> Maybe AvcIntraSettings
avcIntraSettings :: Prelude.Maybe AvcIntraSettings
}
deriving (VideoCodecSettings -> VideoCodecSettings -> Bool
(VideoCodecSettings -> VideoCodecSettings -> Bool)
-> (VideoCodecSettings -> VideoCodecSettings -> Bool)
-> Eq VideoCodecSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VideoCodecSettings -> VideoCodecSettings -> Bool
$c/= :: VideoCodecSettings -> VideoCodecSettings -> Bool
== :: VideoCodecSettings -> VideoCodecSettings -> Bool
$c== :: VideoCodecSettings -> VideoCodecSettings -> Bool
Prelude.Eq, ReadPrec [VideoCodecSettings]
ReadPrec VideoCodecSettings
Int -> ReadS VideoCodecSettings
ReadS [VideoCodecSettings]
(Int -> ReadS VideoCodecSettings)
-> ReadS [VideoCodecSettings]
-> ReadPrec VideoCodecSettings
-> ReadPrec [VideoCodecSettings]
-> Read VideoCodecSettings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VideoCodecSettings]
$creadListPrec :: ReadPrec [VideoCodecSettings]
readPrec :: ReadPrec VideoCodecSettings
$creadPrec :: ReadPrec VideoCodecSettings
readList :: ReadS [VideoCodecSettings]
$creadList :: ReadS [VideoCodecSettings]
readsPrec :: Int -> ReadS VideoCodecSettings
$creadsPrec :: Int -> ReadS VideoCodecSettings
Prelude.Read, Int -> VideoCodecSettings -> ShowS
[VideoCodecSettings] -> ShowS
VideoCodecSettings -> String
(Int -> VideoCodecSettings -> ShowS)
-> (VideoCodecSettings -> String)
-> ([VideoCodecSettings] -> ShowS)
-> Show VideoCodecSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VideoCodecSettings] -> ShowS
$cshowList :: [VideoCodecSettings] -> ShowS
show :: VideoCodecSettings -> String
$cshow :: VideoCodecSettings -> String
showsPrec :: Int -> VideoCodecSettings -> ShowS
$cshowsPrec :: Int -> VideoCodecSettings -> ShowS
Prelude.Show, (forall x. VideoCodecSettings -> Rep VideoCodecSettings x)
-> (forall x. Rep VideoCodecSettings x -> VideoCodecSettings)
-> Generic VideoCodecSettings
forall x. Rep VideoCodecSettings x -> VideoCodecSettings
forall x. VideoCodecSettings -> Rep VideoCodecSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VideoCodecSettings x -> VideoCodecSettings
$cfrom :: forall x. VideoCodecSettings -> Rep VideoCodecSettings x
Prelude.Generic)
newVideoCodecSettings ::
VideoCodecSettings
newVideoCodecSettings :: VideoCodecSettings
newVideoCodecSettings =
VideoCodecSettings' :: Maybe FrameCaptureSettings
-> Maybe Av1Settings
-> Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings
VideoCodecSettings'
{ $sel:frameCaptureSettings:VideoCodecSettings' :: Maybe FrameCaptureSettings
frameCaptureSettings =
Maybe FrameCaptureSettings
forall a. Maybe a
Prelude.Nothing,
$sel:av1Settings:VideoCodecSettings' :: Maybe Av1Settings
av1Settings = Maybe Av1Settings
forall a. Maybe a
Prelude.Nothing,
$sel:codec:VideoCodecSettings' :: Maybe VideoCodec
codec = Maybe VideoCodec
forall a. Maybe a
Prelude.Nothing,
$sel:xavcSettings:VideoCodecSettings' :: Maybe XavcSettings
xavcSettings = Maybe XavcSettings
forall a. Maybe a
Prelude.Nothing,
$sel:h265Settings:VideoCodecSettings' :: Maybe H265Settings
h265Settings = Maybe H265Settings
forall a. Maybe a
Prelude.Nothing,
$sel:proresSettings:VideoCodecSettings' :: Maybe ProresSettings
proresSettings = Maybe ProresSettings
forall a. Maybe a
Prelude.Nothing,
$sel:vp9Settings:VideoCodecSettings' :: Maybe Vp9Settings
vp9Settings = Maybe Vp9Settings
forall a. Maybe a
Prelude.Nothing,
$sel:h264Settings:VideoCodecSettings' :: Maybe H264Settings
h264Settings = Maybe H264Settings
forall a. Maybe a
Prelude.Nothing,
$sel:mpeg2Settings:VideoCodecSettings' :: Maybe Mpeg2Settings
mpeg2Settings = Maybe Mpeg2Settings
forall a. Maybe a
Prelude.Nothing,
$sel:vp8Settings:VideoCodecSettings' :: Maybe Vp8Settings
vp8Settings = Maybe Vp8Settings
forall a. Maybe a
Prelude.Nothing,
$sel:vc3Settings:VideoCodecSettings' :: Maybe Vc3Settings
vc3Settings = Maybe Vc3Settings
forall a. Maybe a
Prelude.Nothing,
$sel:avcIntraSettings:VideoCodecSettings' :: Maybe AvcIntraSettings
avcIntraSettings = Maybe AvcIntraSettings
forall a. Maybe a
Prelude.Nothing
}
videoCodecSettings_frameCaptureSettings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe FrameCaptureSettings)
videoCodecSettings_frameCaptureSettings :: (Maybe FrameCaptureSettings -> f (Maybe FrameCaptureSettings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_frameCaptureSettings = (VideoCodecSettings -> Maybe FrameCaptureSettings)
-> (VideoCodecSettings
-> Maybe FrameCaptureSettings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe FrameCaptureSettings)
(Maybe FrameCaptureSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe FrameCaptureSettings
frameCaptureSettings :: Maybe FrameCaptureSettings
$sel:frameCaptureSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe FrameCaptureSettings
frameCaptureSettings} -> Maybe FrameCaptureSettings
frameCaptureSettings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe FrameCaptureSettings
a -> VideoCodecSettings
s {$sel:frameCaptureSettings:VideoCodecSettings' :: Maybe FrameCaptureSettings
frameCaptureSettings = Maybe FrameCaptureSettings
a} :: VideoCodecSettings)
videoCodecSettings_av1Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe Av1Settings)
videoCodecSettings_av1Settings :: (Maybe Av1Settings -> f (Maybe Av1Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_av1Settings = (VideoCodecSettings -> Maybe Av1Settings)
-> (VideoCodecSettings -> Maybe Av1Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe Av1Settings)
(Maybe Av1Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe Av1Settings
av1Settings :: Maybe Av1Settings
$sel:av1Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Av1Settings
av1Settings} -> Maybe Av1Settings
av1Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe Av1Settings
a -> VideoCodecSettings
s {$sel:av1Settings:VideoCodecSettings' :: Maybe Av1Settings
av1Settings = Maybe Av1Settings
a} :: VideoCodecSettings)
videoCodecSettings_codec :: Lens.Lens' VideoCodecSettings (Prelude.Maybe VideoCodec)
videoCodecSettings_codec :: (Maybe VideoCodec -> f (Maybe VideoCodec))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_codec = (VideoCodecSettings -> Maybe VideoCodec)
-> (VideoCodecSettings -> Maybe VideoCodec -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe VideoCodec)
(Maybe VideoCodec)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe VideoCodec
codec :: Maybe VideoCodec
$sel:codec:VideoCodecSettings' :: VideoCodecSettings -> Maybe VideoCodec
codec} -> Maybe VideoCodec
codec) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe VideoCodec
a -> VideoCodecSettings
s {$sel:codec:VideoCodecSettings' :: Maybe VideoCodec
codec = Maybe VideoCodec
a} :: VideoCodecSettings)
videoCodecSettings_xavcSettings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe XavcSettings)
videoCodecSettings_xavcSettings :: (Maybe XavcSettings -> f (Maybe XavcSettings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_xavcSettings = (VideoCodecSettings -> Maybe XavcSettings)
-> (VideoCodecSettings -> Maybe XavcSettings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe XavcSettings)
(Maybe XavcSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe XavcSettings
xavcSettings :: Maybe XavcSettings
$sel:xavcSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe XavcSettings
xavcSettings} -> Maybe XavcSettings
xavcSettings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe XavcSettings
a -> VideoCodecSettings
s {$sel:xavcSettings:VideoCodecSettings' :: Maybe XavcSettings
xavcSettings = Maybe XavcSettings
a} :: VideoCodecSettings)
videoCodecSettings_h265Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe H265Settings)
videoCodecSettings_h265Settings :: (Maybe H265Settings -> f (Maybe H265Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_h265Settings = (VideoCodecSettings -> Maybe H265Settings)
-> (VideoCodecSettings -> Maybe H265Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe H265Settings)
(Maybe H265Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe H265Settings
h265Settings :: Maybe H265Settings
$sel:h265Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe H265Settings
h265Settings} -> Maybe H265Settings
h265Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe H265Settings
a -> VideoCodecSettings
s {$sel:h265Settings:VideoCodecSettings' :: Maybe H265Settings
h265Settings = Maybe H265Settings
a} :: VideoCodecSettings)
videoCodecSettings_proresSettings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe ProresSettings)
videoCodecSettings_proresSettings :: (Maybe ProresSettings -> f (Maybe ProresSettings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_proresSettings = (VideoCodecSettings -> Maybe ProresSettings)
-> (VideoCodecSettings
-> Maybe ProresSettings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe ProresSettings)
(Maybe ProresSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe ProresSettings
proresSettings :: Maybe ProresSettings
$sel:proresSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe ProresSettings
proresSettings} -> Maybe ProresSettings
proresSettings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe ProresSettings
a -> VideoCodecSettings
s {$sel:proresSettings:VideoCodecSettings' :: Maybe ProresSettings
proresSettings = Maybe ProresSettings
a} :: VideoCodecSettings)
videoCodecSettings_vp9Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe Vp9Settings)
videoCodecSettings_vp9Settings :: (Maybe Vp9Settings -> f (Maybe Vp9Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_vp9Settings = (VideoCodecSettings -> Maybe Vp9Settings)
-> (VideoCodecSettings -> Maybe Vp9Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe Vp9Settings)
(Maybe Vp9Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe Vp9Settings
vp9Settings :: Maybe Vp9Settings
$sel:vp9Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Vp9Settings
vp9Settings} -> Maybe Vp9Settings
vp9Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe Vp9Settings
a -> VideoCodecSettings
s {$sel:vp9Settings:VideoCodecSettings' :: Maybe Vp9Settings
vp9Settings = Maybe Vp9Settings
a} :: VideoCodecSettings)
videoCodecSettings_h264Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe H264Settings)
videoCodecSettings_h264Settings :: (Maybe H264Settings -> f (Maybe H264Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_h264Settings = (VideoCodecSettings -> Maybe H264Settings)
-> (VideoCodecSettings -> Maybe H264Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe H264Settings)
(Maybe H264Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe H264Settings
h264Settings :: Maybe H264Settings
$sel:h264Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe H264Settings
h264Settings} -> Maybe H264Settings
h264Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe H264Settings
a -> VideoCodecSettings
s {$sel:h264Settings:VideoCodecSettings' :: Maybe H264Settings
h264Settings = Maybe H264Settings
a} :: VideoCodecSettings)
videoCodecSettings_mpeg2Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe Mpeg2Settings)
videoCodecSettings_mpeg2Settings :: (Maybe Mpeg2Settings -> f (Maybe Mpeg2Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_mpeg2Settings = (VideoCodecSettings -> Maybe Mpeg2Settings)
-> (VideoCodecSettings
-> Maybe Mpeg2Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe Mpeg2Settings)
(Maybe Mpeg2Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe Mpeg2Settings
mpeg2Settings :: Maybe Mpeg2Settings
$sel:mpeg2Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Mpeg2Settings
mpeg2Settings} -> Maybe Mpeg2Settings
mpeg2Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe Mpeg2Settings
a -> VideoCodecSettings
s {$sel:mpeg2Settings:VideoCodecSettings' :: Maybe Mpeg2Settings
mpeg2Settings = Maybe Mpeg2Settings
a} :: VideoCodecSettings)
videoCodecSettings_vp8Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe Vp8Settings)
videoCodecSettings_vp8Settings :: (Maybe Vp8Settings -> f (Maybe Vp8Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_vp8Settings = (VideoCodecSettings -> Maybe Vp8Settings)
-> (VideoCodecSettings -> Maybe Vp8Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe Vp8Settings)
(Maybe Vp8Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe Vp8Settings
vp8Settings :: Maybe Vp8Settings
$sel:vp8Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Vp8Settings
vp8Settings} -> Maybe Vp8Settings
vp8Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe Vp8Settings
a -> VideoCodecSettings
s {$sel:vp8Settings:VideoCodecSettings' :: Maybe Vp8Settings
vp8Settings = Maybe Vp8Settings
a} :: VideoCodecSettings)
videoCodecSettings_vc3Settings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe Vc3Settings)
videoCodecSettings_vc3Settings :: (Maybe Vc3Settings -> f (Maybe Vc3Settings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_vc3Settings = (VideoCodecSettings -> Maybe Vc3Settings)
-> (VideoCodecSettings -> Maybe Vc3Settings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe Vc3Settings)
(Maybe Vc3Settings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe Vc3Settings
vc3Settings :: Maybe Vc3Settings
$sel:vc3Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Vc3Settings
vc3Settings} -> Maybe Vc3Settings
vc3Settings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe Vc3Settings
a -> VideoCodecSettings
s {$sel:vc3Settings:VideoCodecSettings' :: Maybe Vc3Settings
vc3Settings = Maybe Vc3Settings
a} :: VideoCodecSettings)
videoCodecSettings_avcIntraSettings :: Lens.Lens' VideoCodecSettings (Prelude.Maybe AvcIntraSettings)
videoCodecSettings_avcIntraSettings :: (Maybe AvcIntraSettings -> f (Maybe AvcIntraSettings))
-> VideoCodecSettings -> f VideoCodecSettings
videoCodecSettings_avcIntraSettings = (VideoCodecSettings -> Maybe AvcIntraSettings)
-> (VideoCodecSettings
-> Maybe AvcIntraSettings -> VideoCodecSettings)
-> Lens
VideoCodecSettings
VideoCodecSettings
(Maybe AvcIntraSettings)
(Maybe AvcIntraSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\VideoCodecSettings' {Maybe AvcIntraSettings
avcIntraSettings :: Maybe AvcIntraSettings
$sel:avcIntraSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe AvcIntraSettings
avcIntraSettings} -> Maybe AvcIntraSettings
avcIntraSettings) (\s :: VideoCodecSettings
s@VideoCodecSettings' {} Maybe AvcIntraSettings
a -> VideoCodecSettings
s {$sel:avcIntraSettings:VideoCodecSettings' :: Maybe AvcIntraSettings
avcIntraSettings = Maybe AvcIntraSettings
a} :: VideoCodecSettings)
instance Core.FromJSON VideoCodecSettings where
parseJSON :: Value -> Parser VideoCodecSettings
parseJSON =
String
-> (Object -> Parser VideoCodecSettings)
-> Value
-> Parser VideoCodecSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"VideoCodecSettings"
( \Object
x ->
Maybe FrameCaptureSettings
-> Maybe Av1Settings
-> Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings
VideoCodecSettings'
(Maybe FrameCaptureSettings
-> Maybe Av1Settings
-> Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe FrameCaptureSettings)
-> Parser
(Maybe Av1Settings
-> Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe FrameCaptureSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"frameCaptureSettings")
Parser
(Maybe Av1Settings
-> Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe Av1Settings)
-> Parser
(Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Av1Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"av1Settings")
Parser
(Maybe VideoCodec
-> Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe VideoCodec)
-> Parser
(Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe VideoCodec)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"codec")
Parser
(Maybe XavcSettings
-> Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe XavcSettings)
-> Parser
(Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe XavcSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"xavcSettings")
Parser
(Maybe H265Settings
-> Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe H265Settings)
-> Parser
(Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe H265Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"h265Settings")
Parser
(Maybe ProresSettings
-> Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe ProresSettings)
-> Parser
(Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ProresSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"proresSettings")
Parser
(Maybe Vp9Settings
-> Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe Vp9Settings)
-> Parser
(Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vp9Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"vp9Settings")
Parser
(Maybe H264Settings
-> Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe H264Settings)
-> Parser
(Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe H264Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"h264Settings")
Parser
(Maybe Mpeg2Settings
-> Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe Mpeg2Settings)
-> Parser
(Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Mpeg2Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"mpeg2Settings")
Parser
(Maybe Vp8Settings
-> Maybe Vc3Settings
-> Maybe AvcIntraSettings
-> VideoCodecSettings)
-> Parser (Maybe Vp8Settings)
-> Parser
(Maybe Vc3Settings -> Maybe AvcIntraSettings -> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vp8Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"vp8Settings")
Parser
(Maybe Vc3Settings -> Maybe AvcIntraSettings -> VideoCodecSettings)
-> Parser (Maybe Vc3Settings)
-> Parser (Maybe AvcIntraSettings -> VideoCodecSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3Settings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"vc3Settings")
Parser (Maybe AvcIntraSettings -> VideoCodecSettings)
-> Parser (Maybe AvcIntraSettings) -> Parser VideoCodecSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AvcIntraSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"avcIntraSettings")
)
instance Prelude.Hashable VideoCodecSettings
instance Prelude.NFData VideoCodecSettings
instance Core.ToJSON VideoCodecSettings where
toJSON :: VideoCodecSettings -> Value
toJSON VideoCodecSettings' {Maybe Av1Settings
Maybe AvcIntraSettings
Maybe FrameCaptureSettings
Maybe H264Settings
Maybe H265Settings
Maybe Mpeg2Settings
Maybe ProresSettings
Maybe Vc3Settings
Maybe VideoCodec
Maybe Vp8Settings
Maybe Vp9Settings
Maybe XavcSettings
avcIntraSettings :: Maybe AvcIntraSettings
vc3Settings :: Maybe Vc3Settings
vp8Settings :: Maybe Vp8Settings
mpeg2Settings :: Maybe Mpeg2Settings
h264Settings :: Maybe H264Settings
vp9Settings :: Maybe Vp9Settings
proresSettings :: Maybe ProresSettings
h265Settings :: Maybe H265Settings
xavcSettings :: Maybe XavcSettings
codec :: Maybe VideoCodec
av1Settings :: Maybe Av1Settings
frameCaptureSettings :: Maybe FrameCaptureSettings
$sel:avcIntraSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe AvcIntraSettings
$sel:vc3Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Vc3Settings
$sel:vp8Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Vp8Settings
$sel:mpeg2Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Mpeg2Settings
$sel:h264Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe H264Settings
$sel:vp9Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Vp9Settings
$sel:proresSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe ProresSettings
$sel:h265Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe H265Settings
$sel:xavcSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe XavcSettings
$sel:codec:VideoCodecSettings' :: VideoCodecSettings -> Maybe VideoCodec
$sel:av1Settings:VideoCodecSettings' :: VideoCodecSettings -> Maybe Av1Settings
$sel:frameCaptureSettings:VideoCodecSettings' :: VideoCodecSettings -> Maybe FrameCaptureSettings
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"frameCaptureSettings" Text -> FrameCaptureSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(FrameCaptureSettings -> Pair)
-> Maybe FrameCaptureSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FrameCaptureSettings
frameCaptureSettings,
(Text
"av1Settings" Text -> Av1Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Av1Settings -> Pair) -> Maybe Av1Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Av1Settings
av1Settings,
(Text
"codec" Text -> VideoCodec -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (VideoCodec -> Pair) -> Maybe VideoCodec -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VideoCodec
codec,
(Text
"xavcSettings" Text -> XavcSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (XavcSettings -> Pair) -> Maybe XavcSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe XavcSettings
xavcSettings,
(Text
"h265Settings" Text -> H265Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (H265Settings -> Pair) -> Maybe H265Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe H265Settings
h265Settings,
(Text
"proresSettings" Text -> ProresSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ProresSettings -> Pair) -> Maybe ProresSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProresSettings
proresSettings,
(Text
"vp9Settings" Text -> Vp9Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vp9Settings -> Pair) -> Maybe Vp9Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vp9Settings
vp9Settings,
(Text
"h264Settings" Text -> H264Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (H264Settings -> Pair) -> Maybe H264Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe H264Settings
h264Settings,
(Text
"mpeg2Settings" Text -> Mpeg2Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Mpeg2Settings -> Pair) -> Maybe Mpeg2Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Mpeg2Settings
mpeg2Settings,
(Text
"vp8Settings" Text -> Vp8Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vp8Settings -> Pair) -> Maybe Vp8Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vp8Settings
vp8Settings,
(Text
"vc3Settings" Text -> Vc3Settings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vc3Settings -> Pair) -> Maybe Vc3Settings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3Settings
vc3Settings,
(Text
"avcIntraSettings" Text -> AvcIntraSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(AvcIntraSettings -> Pair) -> Maybe AvcIntraSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AvcIntraSettings
avcIntraSettings
]
)