{-# 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.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
data ColorCorrector = ColorCorrector'
{
ColorCorrector -> Maybe Natural
brightness :: Prelude.Maybe Prelude.Natural,
ColorCorrector -> Maybe ColorSpaceConversion
colorSpaceConversion :: Prelude.Maybe ColorSpaceConversion,
ColorCorrector -> Maybe Natural
contrast :: Prelude.Maybe Prelude.Natural,
ColorCorrector -> Maybe Hdr10Metadata
hdr10Metadata :: Prelude.Maybe Hdr10Metadata,
ColorCorrector -> Maybe Int
hue :: Prelude.Maybe Prelude.Int,
ColorCorrector -> Maybe SampleRangeConversion
sampleRangeConversion :: Prelude.Maybe SampleRangeConversion,
ColorCorrector -> Maybe Natural
saturation :: Prelude.Maybe Prelude.Natural,
ColorCorrector -> Maybe Natural
sdrReferenceWhiteLevel :: Prelude.Maybe Prelude.Natural
}
deriving (ColorCorrector -> ColorCorrector -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColorCorrector -> ColorCorrector -> Bool
$c/= :: ColorCorrector -> ColorCorrector -> Bool
== :: ColorCorrector -> ColorCorrector -> Bool
$c== :: ColorCorrector -> ColorCorrector -> Bool
Prelude.Eq, ReadPrec [ColorCorrector]
ReadPrec ColorCorrector
Int -> ReadS ColorCorrector
ReadS [ColorCorrector]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ColorCorrector]
$creadListPrec :: ReadPrec [ColorCorrector]
readPrec :: ReadPrec ColorCorrector
$creadPrec :: ReadPrec ColorCorrector
readList :: ReadS [ColorCorrector]
$creadList :: ReadS [ColorCorrector]
readsPrec :: Int -> ReadS ColorCorrector
$creadsPrec :: Int -> ReadS ColorCorrector
Prelude.Read, Int -> ColorCorrector -> ShowS
[ColorCorrector] -> ShowS
ColorCorrector -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ColorCorrector] -> ShowS
$cshowList :: [ColorCorrector] -> ShowS
show :: ColorCorrector -> String
$cshow :: ColorCorrector -> String
showsPrec :: Int -> ColorCorrector -> ShowS
$cshowsPrec :: Int -> ColorCorrector -> ShowS
Prelude.Show, forall x. Rep ColorCorrector x -> ColorCorrector
forall x. ColorCorrector -> Rep ColorCorrector x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ColorCorrector x -> ColorCorrector
$cfrom :: forall x. ColorCorrector -> Rep ColorCorrector x
Prelude.Generic)
newColorCorrector ::
ColorCorrector
newColorCorrector :: ColorCorrector
newColorCorrector =
ColorCorrector'
{ $sel:brightness:ColorCorrector' :: Maybe Natural
brightness = forall a. Maybe a
Prelude.Nothing,
$sel:colorSpaceConversion:ColorCorrector' :: Maybe ColorSpaceConversion
colorSpaceConversion = forall a. Maybe a
Prelude.Nothing,
$sel:contrast:ColorCorrector' :: Maybe Natural
contrast = forall a. Maybe a
Prelude.Nothing,
$sel:hdr10Metadata:ColorCorrector' :: Maybe Hdr10Metadata
hdr10Metadata = forall a. Maybe a
Prelude.Nothing,
$sel:hue:ColorCorrector' :: Maybe Int
hue = forall a. Maybe a
Prelude.Nothing,
$sel:sampleRangeConversion:ColorCorrector' :: Maybe SampleRangeConversion
sampleRangeConversion = forall a. Maybe a
Prelude.Nothing,
$sel:saturation:ColorCorrector' :: Maybe Natural
saturation = forall a. Maybe a
Prelude.Nothing,
$sel:sdrReferenceWhiteLevel:ColorCorrector' :: Maybe Natural
sdrReferenceWhiteLevel = forall a. Maybe a
Prelude.Nothing
}
colorCorrector_brightness :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)
colorCorrector_brightness :: Lens' ColorCorrector (Maybe Natural)
colorCorrector_brightness = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe Natural
brightness :: Maybe Natural
$sel:brightness:ColorCorrector' :: ColorCorrector -> Maybe Natural
brightness} -> Maybe Natural
brightness) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe Natural
a -> ColorCorrector
s {$sel:brightness:ColorCorrector' :: Maybe Natural
brightness = Maybe Natural
a} :: ColorCorrector)
colorCorrector_colorSpaceConversion :: Lens.Lens' ColorCorrector (Prelude.Maybe ColorSpaceConversion)
colorCorrector_colorSpaceConversion :: Lens' ColorCorrector (Maybe ColorSpaceConversion)
colorCorrector_colorSpaceConversion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe ColorSpaceConversion
colorSpaceConversion :: Maybe ColorSpaceConversion
$sel:colorSpaceConversion:ColorCorrector' :: ColorCorrector -> Maybe ColorSpaceConversion
colorSpaceConversion} -> Maybe ColorSpaceConversion
colorSpaceConversion) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe ColorSpaceConversion
a -> ColorCorrector
s {$sel:colorSpaceConversion:ColorCorrector' :: Maybe ColorSpaceConversion
colorSpaceConversion = Maybe ColorSpaceConversion
a} :: ColorCorrector)
colorCorrector_contrast :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)
colorCorrector_contrast :: Lens' ColorCorrector (Maybe Natural)
colorCorrector_contrast = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe Natural
contrast :: Maybe Natural
$sel:contrast:ColorCorrector' :: ColorCorrector -> Maybe Natural
contrast} -> Maybe Natural
contrast) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe Natural
a -> ColorCorrector
s {$sel:contrast:ColorCorrector' :: Maybe Natural
contrast = Maybe Natural
a} :: ColorCorrector)
colorCorrector_hdr10Metadata :: Lens.Lens' ColorCorrector (Prelude.Maybe Hdr10Metadata)
colorCorrector_hdr10Metadata :: Lens' ColorCorrector (Maybe Hdr10Metadata)
colorCorrector_hdr10Metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe Hdr10Metadata
hdr10Metadata :: Maybe Hdr10Metadata
$sel:hdr10Metadata:ColorCorrector' :: ColorCorrector -> Maybe Hdr10Metadata
hdr10Metadata} -> Maybe Hdr10Metadata
hdr10Metadata) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe Hdr10Metadata
a -> ColorCorrector
s {$sel:hdr10Metadata:ColorCorrector' :: Maybe Hdr10Metadata
hdr10Metadata = Maybe Hdr10Metadata
a} :: ColorCorrector)
colorCorrector_hue :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Int)
colorCorrector_hue :: Lens' ColorCorrector (Maybe Int)
colorCorrector_hue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe Int
hue :: Maybe Int
$sel:hue:ColorCorrector' :: ColorCorrector -> Maybe Int
hue} -> Maybe Int
hue) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe Int
a -> ColorCorrector
s {$sel:hue:ColorCorrector' :: Maybe Int
hue = Maybe Int
a} :: ColorCorrector)
colorCorrector_sampleRangeConversion :: Lens.Lens' ColorCorrector (Prelude.Maybe SampleRangeConversion)
colorCorrector_sampleRangeConversion :: Lens' ColorCorrector (Maybe SampleRangeConversion)
colorCorrector_sampleRangeConversion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe SampleRangeConversion
sampleRangeConversion :: Maybe SampleRangeConversion
$sel:sampleRangeConversion:ColorCorrector' :: ColorCorrector -> Maybe SampleRangeConversion
sampleRangeConversion} -> Maybe SampleRangeConversion
sampleRangeConversion) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe SampleRangeConversion
a -> ColorCorrector
s {$sel:sampleRangeConversion:ColorCorrector' :: Maybe SampleRangeConversion
sampleRangeConversion = Maybe SampleRangeConversion
a} :: ColorCorrector)
colorCorrector_saturation :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)
colorCorrector_saturation :: Lens' ColorCorrector (Maybe Natural)
colorCorrector_saturation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe Natural
saturation :: Maybe Natural
$sel:saturation:ColorCorrector' :: ColorCorrector -> Maybe Natural
saturation} -> Maybe Natural
saturation) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe Natural
a -> ColorCorrector
s {$sel:saturation:ColorCorrector' :: Maybe Natural
saturation = Maybe Natural
a} :: ColorCorrector)
colorCorrector_sdrReferenceWhiteLevel :: Lens.Lens' ColorCorrector (Prelude.Maybe Prelude.Natural)
colorCorrector_sdrReferenceWhiteLevel :: Lens' ColorCorrector (Maybe Natural)
colorCorrector_sdrReferenceWhiteLevel = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ColorCorrector' {Maybe Natural
sdrReferenceWhiteLevel :: Maybe Natural
$sel:sdrReferenceWhiteLevel:ColorCorrector' :: ColorCorrector -> Maybe Natural
sdrReferenceWhiteLevel} -> Maybe Natural
sdrReferenceWhiteLevel) (\s :: ColorCorrector
s@ColorCorrector' {} Maybe Natural
a -> ColorCorrector
s {$sel:sdrReferenceWhiteLevel:ColorCorrector' :: Maybe Natural
sdrReferenceWhiteLevel = Maybe Natural
a} :: ColorCorrector)
instance Data.FromJSON ColorCorrector where
parseJSON :: Value -> Parser ColorCorrector
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ColorCorrector"
( \Object
x ->
Maybe Natural
-> Maybe ColorSpaceConversion
-> Maybe Natural
-> Maybe Hdr10Metadata
-> Maybe Int
-> Maybe SampleRangeConversion
-> Maybe Natural
-> Maybe Natural
-> ColorCorrector
ColorCorrector'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"brightness")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"colorSpaceConversion")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"contrast")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"hdr10Metadata")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"hue")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"sampleRangeConversion")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"saturation")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"sdrReferenceWhiteLevel")
)
instance Prelude.Hashable ColorCorrector where
hashWithSalt :: Int -> ColorCorrector -> Int
hashWithSalt Int
_salt ColorCorrector' {Maybe Int
Maybe Natural
Maybe ColorSpaceConversion
Maybe Hdr10Metadata
Maybe SampleRangeConversion
sdrReferenceWhiteLevel :: Maybe Natural
saturation :: Maybe Natural
sampleRangeConversion :: Maybe SampleRangeConversion
hue :: Maybe Int
hdr10Metadata :: Maybe Hdr10Metadata
contrast :: Maybe Natural
colorSpaceConversion :: Maybe ColorSpaceConversion
brightness :: Maybe Natural
$sel:sdrReferenceWhiteLevel:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:saturation:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:sampleRangeConversion:ColorCorrector' :: ColorCorrector -> Maybe SampleRangeConversion
$sel:hue:ColorCorrector' :: ColorCorrector -> Maybe Int
$sel:hdr10Metadata:ColorCorrector' :: ColorCorrector -> Maybe Hdr10Metadata
$sel:contrast:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:colorSpaceConversion:ColorCorrector' :: ColorCorrector -> Maybe ColorSpaceConversion
$sel:brightness:ColorCorrector' :: ColorCorrector -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
brightness
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ColorSpaceConversion
colorSpaceConversion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
contrast
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Hdr10Metadata
hdr10Metadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
hue
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SampleRangeConversion
sampleRangeConversion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
saturation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
sdrReferenceWhiteLevel
instance Prelude.NFData ColorCorrector where
rnf :: ColorCorrector -> ()
rnf ColorCorrector' {Maybe Int
Maybe Natural
Maybe ColorSpaceConversion
Maybe Hdr10Metadata
Maybe SampleRangeConversion
sdrReferenceWhiteLevel :: Maybe Natural
saturation :: Maybe Natural
sampleRangeConversion :: Maybe SampleRangeConversion
hue :: Maybe Int
hdr10Metadata :: Maybe Hdr10Metadata
contrast :: Maybe Natural
colorSpaceConversion :: Maybe ColorSpaceConversion
brightness :: Maybe Natural
$sel:sdrReferenceWhiteLevel:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:saturation:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:sampleRangeConversion:ColorCorrector' :: ColorCorrector -> Maybe SampleRangeConversion
$sel:hue:ColorCorrector' :: ColorCorrector -> Maybe Int
$sel:hdr10Metadata:ColorCorrector' :: ColorCorrector -> Maybe Hdr10Metadata
$sel:contrast:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:colorSpaceConversion:ColorCorrector' :: ColorCorrector -> Maybe ColorSpaceConversion
$sel:brightness:ColorCorrector' :: ColorCorrector -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
brightness
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ColorSpaceConversion
colorSpaceConversion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
contrast
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Hdr10Metadata
hdr10Metadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
hue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SampleRangeConversion
sampleRangeConversion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
saturation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
sdrReferenceWhiteLevel
instance Data.ToJSON ColorCorrector where
toJSON :: ColorCorrector -> Value
toJSON ColorCorrector' {Maybe Int
Maybe Natural
Maybe ColorSpaceConversion
Maybe Hdr10Metadata
Maybe SampleRangeConversion
sdrReferenceWhiteLevel :: Maybe Natural
saturation :: Maybe Natural
sampleRangeConversion :: Maybe SampleRangeConversion
hue :: Maybe Int
hdr10Metadata :: Maybe Hdr10Metadata
contrast :: Maybe Natural
colorSpaceConversion :: Maybe ColorSpaceConversion
brightness :: Maybe Natural
$sel:sdrReferenceWhiteLevel:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:saturation:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:sampleRangeConversion:ColorCorrector' :: ColorCorrector -> Maybe SampleRangeConversion
$sel:hue:ColorCorrector' :: ColorCorrector -> Maybe Int
$sel:hdr10Metadata:ColorCorrector' :: ColorCorrector -> Maybe Hdr10Metadata
$sel:contrast:ColorCorrector' :: ColorCorrector -> Maybe Natural
$sel:colorSpaceConversion:ColorCorrector' :: ColorCorrector -> Maybe ColorSpaceConversion
$sel:brightness:ColorCorrector' :: ColorCorrector -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"brightness" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
brightness,
(Key
"colorSpaceConversion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ColorSpaceConversion
colorSpaceConversion,
(Key
"contrast" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
contrast,
(Key
"hdr10Metadata" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Hdr10Metadata
hdr10Metadata,
(Key
"hue" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
hue,
(Key
"sampleRangeConversion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SampleRangeConversion
sampleRangeConversion,
(Key
"saturation" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
saturation,
(Key
"sdrReferenceWhiteLevel" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
sdrReferenceWhiteLevel
]
)