{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.GstVideo.Constants
    ( 
    pattern VIDEO_TILE_Y_TILES_SHIFT        ,
    pattern VIDEO_TILE_X_TILES_MASK         ,
    pattern VIDEO_TILE_TYPE_SHIFT           ,
    pattern VIDEO_TILE_TYPE_MASK            ,
    pattern VIDEO_SIZE_RANGE                ,
    pattern VIDEO_SCALER_OPT_DITHER_METHOD  ,
    pattern VIDEO_RESAMPLER_OPT_SHARPNESS   ,
    pattern VIDEO_RESAMPLER_OPT_SHARPEN     ,
    pattern VIDEO_RESAMPLER_OPT_MAX_TAPS    ,
    pattern VIDEO_RESAMPLER_OPT_ENVELOPE    ,
    pattern VIDEO_RESAMPLER_OPT_CUBIC_C     ,
    pattern VIDEO_RESAMPLER_OPT_CUBIC_B     ,
    pattern VIDEO_MAX_PLANES                ,
    pattern VIDEO_MAX_COMPONENTS            ,
    pattern VIDEO_FPS_RANGE                 ,
    pattern VIDEO_FORMATS_ALL               ,
    pattern VIDEO_ENCODER_SRC_NAME          ,
    pattern VIDEO_ENCODER_SINK_NAME         ,
    pattern VIDEO_DECODER_SRC_NAME          ,
    pattern VIDEO_DECODER_SINK_NAME         ,
    pattern VIDEO_DECODER_MAX_ERRORS        ,
    pattern VIDEO_CONVERTER_OPT_THREADS     ,
    pattern VIDEO_CONVERTER_OPT_SRC_Y       ,
    pattern VIDEO_CONVERTER_OPT_SRC_X       ,
    pattern VIDEO_CONVERTER_OPT_SRC_WIDTH   ,
    pattern VIDEO_CONVERTER_OPT_SRC_HEIGHT  ,
    pattern VIDEO_CONVERTER_OPT_RESAMPLER_TAPS,
    pattern VIDEO_CONVERTER_OPT_RESAMPLER_METHOD,
    pattern VIDEO_CONVERTER_OPT_PRIMARIES_MODE,
    pattern VIDEO_CONVERTER_OPT_MATRIX_MODE ,
    pattern VIDEO_CONVERTER_OPT_GAMMA_MODE  ,
    pattern VIDEO_CONVERTER_OPT_FILL_BORDER ,
    pattern VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION,
    pattern VIDEO_CONVERTER_OPT_DITHER_METHOD,
    pattern VIDEO_CONVERTER_OPT_DEST_Y      ,
    pattern VIDEO_CONVERTER_OPT_DEST_X      ,
    pattern VIDEO_CONVERTER_OPT_DEST_WIDTH  ,
    pattern VIDEO_CONVERTER_OPT_DEST_HEIGHT ,
    pattern VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD,
    pattern VIDEO_CONVERTER_OPT_CHROMA_MODE ,
    pattern VIDEO_CONVERTER_OPT_BORDER_ARGB ,
    pattern VIDEO_CONVERTER_OPT_ASYNC_TASKS ,
    pattern VIDEO_CONVERTER_OPT_ALPHA_VALUE ,
    pattern VIDEO_CONVERTER_OPT_ALPHA_MODE  ,
    pattern VIDEO_COMP_Y                    ,
    pattern VIDEO_COMP_V                    ,
    pattern VIDEO_COMP_U                    ,
    pattern VIDEO_COMP_R                    ,
    pattern VIDEO_COMP_PALETTE              ,
    pattern VIDEO_COMP_INDEX                ,
    pattern VIDEO_COMP_G                    ,
    pattern VIDEO_COMP_B                    ,
    pattern VIDEO_COMP_A                    ,
    pattern VIDEO_COLORIMETRY_SRGB          ,
    pattern VIDEO_COLORIMETRY_SMPTE240M     ,
    pattern VIDEO_COLORIMETRY_BT709         ,
    pattern VIDEO_COLORIMETRY_BT601         ,
    pattern VIDEO_COLORIMETRY_BT2100_PQ     ,
    pattern VIDEO_COLORIMETRY_BT2100_HLG    ,
    pattern VIDEO_COLORIMETRY_BT2020_10     ,
    pattern VIDEO_COLORIMETRY_BT2020        ,
    pattern META_TAG_VIDEO_STR              ,
    pattern META_TAG_VIDEO_SIZE_STR         ,
    pattern META_TAG_VIDEO_ORIENTATION_STR  ,
    pattern META_TAG_VIDEO_COLORSPACE_STR   ,
    pattern CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION,
    pattern CAPS_FEATURE_META_GST_VIDEO_META,
    pattern CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META,
    pattern CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META,
    pattern CAPS_FEATURE_FORMAT_INTERLACED  ,
    pattern BUFFER_POOL_OPTION_VIDEO_META   ,
    pattern BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META,
    pattern BUFFER_POOL_OPTION_VIDEO_ALIGNMENT,
    pattern BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META,

    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R


-- | /No description available in the introspection data./
pattern $mVIDEO_TILE_Y_TILES_SHIFT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_TILE_Y_TILES_SHIFT :: Int32
VIDEO_TILE_Y_TILES_SHIFT = 16 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_TILE_X_TILES_MASK :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_TILE_X_TILES_MASK :: Int32
VIDEO_TILE_X_TILES_MASK = 65535 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_TILE_TYPE_SHIFT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_TILE_TYPE_SHIFT :: Int32
VIDEO_TILE_TYPE_SHIFT = 16 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_TILE_TYPE_MASK :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_TILE_TYPE_MASK :: Int32
VIDEO_TILE_TYPE_MASK = 65535 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_SIZE_RANGE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_SIZE_RANGE :: Text
VIDEO_SIZE_RANGE = "(int) [ 1, max ]" :: T.Text

-- | t'GI.GstVideo.Enums.VideoDitherMethod', The dither method to use for propagating
-- quatization errors.
pattern $mVIDEO_SCALER_OPT_DITHER_METHOD :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_SCALER_OPT_DITHER_METHOD :: Text
VIDEO_SCALER_OPT_DITHER_METHOD = "GstVideoScaler.dither-method" :: T.Text

-- | G_TYPE_DOUBLE, specifies sharpness of the filter for
-- /@gSTVIDEORESAMPLERMETHODLANCZOS@/. values are clamped between
-- 0.5 and 1.5. 1.0 is the default.
pattern $mVIDEO_RESAMPLER_OPT_SHARPNESS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_RESAMPLER_OPT_SHARPNESS :: Text
VIDEO_RESAMPLER_OPT_SHARPNESS = "GstVideoResampler.sharpness" :: T.Text

-- | G_TYPE_DOUBLE, specifies sharpening of the filter for
-- /@gSTVIDEORESAMPLERMETHODLANCZOS@/. values are clamped between
-- 0.0 and 1.0. 0.0 is the default.
pattern $mVIDEO_RESAMPLER_OPT_SHARPEN :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_RESAMPLER_OPT_SHARPEN :: Text
VIDEO_RESAMPLER_OPT_SHARPEN = "GstVideoResampler.sharpen" :: T.Text

-- | G_TYPE_INT, limits the maximum number of taps to use.
-- 16 is the default.
pattern $mVIDEO_RESAMPLER_OPT_MAX_TAPS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_RESAMPLER_OPT_MAX_TAPS :: Text
VIDEO_RESAMPLER_OPT_MAX_TAPS = "GstVideoResampler.max-taps" :: T.Text

-- | G_TYPE_DOUBLE, specifies the size of filter envelope for
-- /@gSTVIDEORESAMPLERMETHODLANCZOS@/. values are clamped between
-- 1.0 and 5.0. 2.0 is the default.
pattern $mVIDEO_RESAMPLER_OPT_ENVELOPE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_RESAMPLER_OPT_ENVELOPE :: Text
VIDEO_RESAMPLER_OPT_ENVELOPE = "GstVideoResampler.envelope" :: T.Text

-- | G_TYPE_DOUBLE, C parameter of the cubic filter. The C
-- parameter controls the Keys alpha value. Values between 0.0 and
-- 2.0 are accepted. 1\/3 is the default.
-- 
-- See 'GI.GstVideo.Constants.VIDEO_RESAMPLER_OPT_CUBIC_B' for some more common values
pattern $mVIDEO_RESAMPLER_OPT_CUBIC_C :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_RESAMPLER_OPT_CUBIC_C :: Text
VIDEO_RESAMPLER_OPT_CUBIC_C = "GstVideoResampler.cubic-c" :: T.Text

-- | G_TYPE_DOUBLE, B parameter of the cubic filter. The B
-- parameter controls the bluriness. Values between 0.0 and
-- 2.0 are accepted. 1\/3 is the default.
-- 
-- Below are some values of popular filters:
--                    B       C
-- Hermite           0.0     0.0
-- Spline            1.0     0.0
-- Catmull-Rom       0.0     1\/2
-- Mitchell          1\/3     1\/3
-- Robidoux          0.3782  0.3109
-- Robidoux
--  Sharp            0.2620  0.3690
-- Robidoux
--  Soft             0.6796  0.1602
pattern $mVIDEO_RESAMPLER_OPT_CUBIC_B :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_RESAMPLER_OPT_CUBIC_B :: Text
VIDEO_RESAMPLER_OPT_CUBIC_B = "GstVideoResampler.cubic-b" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_MAX_PLANES :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_MAX_PLANES :: Int32
VIDEO_MAX_PLANES = 4 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_MAX_COMPONENTS :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_MAX_COMPONENTS :: Int32
VIDEO_MAX_COMPONENTS = 4 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_FPS_RANGE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_FPS_RANGE :: Text
VIDEO_FPS_RANGE = "(fraction) [ 0, max ]" :: T.Text

-- | List of all video formats, for use in template caps strings.
-- 
-- Formats are sorted by decreasing \"quality\", using these criteria by priority:
--   - number of components
--   - depth
--   - subsampling factor of the width
--   - subsampling factor of the height
--   - number of planes
--   - native endianness preferred
--   - pixel stride
--   - poffset
--   - prefer non-complex formats
--   - prefer YUV formats over RGB ones
--   - prefer I420 over YV12
--   - format name
pattern $mVIDEO_FORMATS_ALL :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_FORMATS_ALL :: Text
VIDEO_FORMATS_ALL = "{ ABGR64_BE, BGRA64_BE, AYUV64, ARGB64_BE, ARGB64, RGBA64_BE, ABGR64_LE, BGRA64_LE, ARGB64_LE, RGBA64_LE, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, AV12, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, NV12_10BE_8L128, Y444, RGBP, GBR, BGRP, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_8L128, NV12_64Z32, NV12_4L4, NV12_32L32, NV12_16L32S, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }" :: T.Text

-- | The name of the templates for the source pad.
pattern $mVIDEO_ENCODER_SRC_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_ENCODER_SRC_NAME :: Text
VIDEO_ENCODER_SRC_NAME = "src" :: T.Text

-- | The name of the templates for the sink pad.
pattern $mVIDEO_ENCODER_SINK_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_ENCODER_SINK_NAME :: Text
VIDEO_ENCODER_SINK_NAME = "sink" :: T.Text

-- | The name of the templates for the source pad.
pattern $mVIDEO_DECODER_SRC_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_DECODER_SRC_NAME :: Text
VIDEO_DECODER_SRC_NAME = "src" :: T.Text

-- | The name of the templates for the sink pad.
pattern $mVIDEO_DECODER_SINK_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_DECODER_SINK_NAME :: Text
VIDEO_DECODER_SINK_NAME = "sink" :: T.Text

-- | Default maximum number of errors tolerated before signaling error.
pattern $mVIDEO_DECODER_MAX_ERRORS :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_DECODER_MAX_ERRORS :: Int32
VIDEO_DECODER_MAX_ERRORS = -1 :: Int32

-- | @/G_TYPE_UINT/@, maximum number of threads to use. Default 1, 0 for the number
-- of cores.
pattern $mVIDEO_CONVERTER_OPT_THREADS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_THREADS :: Text
VIDEO_CONVERTER_OPT_THREADS = "GstVideoConverter.threads" :: T.Text

-- | @/G_TYPE_INT/@, source y position to start conversion, default 0
pattern $mVIDEO_CONVERTER_OPT_SRC_Y :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_SRC_Y :: Text
VIDEO_CONVERTER_OPT_SRC_Y = "GstVideoConverter.src-y" :: T.Text

-- | @/G_TYPE_INT/@, source x position to start conversion, default 0
pattern $mVIDEO_CONVERTER_OPT_SRC_X :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_SRC_X :: Text
VIDEO_CONVERTER_OPT_SRC_X = "GstVideoConverter.src-x" :: T.Text

-- | @/G_TYPE_INT/@, source width to convert, default source width
pattern $mVIDEO_CONVERTER_OPT_SRC_WIDTH :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_SRC_WIDTH :: Text
VIDEO_CONVERTER_OPT_SRC_WIDTH = "GstVideoConverter.src-width" :: T.Text

-- | @/G_TYPE_INT/@, source height to convert, default source height
pattern $mVIDEO_CONVERTER_OPT_SRC_HEIGHT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_SRC_HEIGHT :: Text
VIDEO_CONVERTER_OPT_SRC_HEIGHT = "GstVideoConverter.src-height" :: T.Text

-- | @/G_TYPE_UINT/@, The number of taps for the resampler.
-- Default is 0: let the resampler choose a good value.
pattern $mVIDEO_CONVERTER_OPT_RESAMPLER_TAPS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_RESAMPLER_TAPS :: Text
VIDEO_CONVERTER_OPT_RESAMPLER_TAPS = "GstVideoConverter.resampler-taps" :: T.Text

-- | t'GI.GstVideo.Enums.VideoResamplerMethod', The resampler method to use for
-- resampling. Other options for the resampler can be used, see
-- the t'GI.GstVideo.Structs.VideoResampler.VideoResampler'. Default is @/GST_VIDEO_RESAMPLER_METHOD_CUBIC/@
pattern $mVIDEO_CONVERTER_OPT_RESAMPLER_METHOD :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_RESAMPLER_METHOD :: Text
VIDEO_CONVERTER_OPT_RESAMPLER_METHOD = "GstVideoConverter.resampler-method" :: T.Text

-- | t'GI.GstVideo.Enums.VideoPrimariesMode', set the primaries conversion mode.
-- Default is @/GST_VIDEO_PRIMARIES_MODE_NONE/@.
pattern $mVIDEO_CONVERTER_OPT_PRIMARIES_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_PRIMARIES_MODE :: Text
VIDEO_CONVERTER_OPT_PRIMARIES_MODE = "GstVideoConverter.primaries-mode" :: T.Text

-- | t'GI.GstVideo.Enums.VideoMatrixMode', set the color matrix conversion mode for
-- converting between Y\'PbPr and non-linear RGB (R\'G\'B\').
-- Default is @/GST_VIDEO_MATRIX_MODE_FULL/@.
pattern $mVIDEO_CONVERTER_OPT_MATRIX_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_MATRIX_MODE :: Text
VIDEO_CONVERTER_OPT_MATRIX_MODE = "GstVideoConverter.matrix-mode" :: T.Text

-- | t'GI.GstVideo.Enums.VideoGammaMode', set the gamma mode.
-- Default is @/GST_VIDEO_GAMMA_MODE_NONE/@.
pattern $mVIDEO_CONVERTER_OPT_GAMMA_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_GAMMA_MODE :: Text
VIDEO_CONVERTER_OPT_GAMMA_MODE = "GstVideoConverter.gamma-mode" :: T.Text

-- | @/G_TYPE_BOOLEAN/@, if the destination rectangle does not fill the complete
-- destination image, render a border with
-- 'GI.GstVideo.Constants.VIDEO_CONVERTER_OPT_BORDER_ARGB'. Otherwise the unusded pixels in the
-- destination are untouched. Default 'P.True'.
pattern $mVIDEO_CONVERTER_OPT_FILL_BORDER :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_FILL_BORDER :: Text
VIDEO_CONVERTER_OPT_FILL_BORDER = "GstVideoConverter.fill-border" :: T.Text

-- | @/G_TYPE_UINT/@, The quantization amount to dither to. Components will be
-- quantized to multiples of this value.
-- Default is 1
pattern $mVIDEO_CONVERTER_OPT_DITHER_QUANTIZATION :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_DITHER_QUANTIZATION :: Text
VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION = "GstVideoConverter.dither-quantization" :: T.Text

-- | t'GI.GstVideo.Enums.VideoDitherMethod', The dither method to use when
-- changing bit depth.
-- Default is @/GST_VIDEO_DITHER_BAYER/@.
pattern $mVIDEO_CONVERTER_OPT_DITHER_METHOD :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_DITHER_METHOD :: Text
VIDEO_CONVERTER_OPT_DITHER_METHOD = "GstVideoConverter.dither-method" :: T.Text

-- | @/G_TYPE_INT/@, y position in the destination frame, default 0
pattern $mVIDEO_CONVERTER_OPT_DEST_Y :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_DEST_Y :: Text
VIDEO_CONVERTER_OPT_DEST_Y = "GstVideoConverter.dest-y" :: T.Text

-- | @/G_TYPE_INT/@, x position in the destination frame, default 0
pattern $mVIDEO_CONVERTER_OPT_DEST_X :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_DEST_X :: Text
VIDEO_CONVERTER_OPT_DEST_X = "GstVideoConverter.dest-x" :: T.Text

-- | @/G_TYPE_INT/@, width in the destination frame, default destination width
pattern $mVIDEO_CONVERTER_OPT_DEST_WIDTH :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_DEST_WIDTH :: Text
VIDEO_CONVERTER_OPT_DEST_WIDTH = "GstVideoConverter.dest-width" :: T.Text

-- | @/G_TYPE_INT/@, height in the destination frame, default destination height
pattern $mVIDEO_CONVERTER_OPT_DEST_HEIGHT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_DEST_HEIGHT :: Text
VIDEO_CONVERTER_OPT_DEST_HEIGHT = "GstVideoConverter.dest-height" :: T.Text

-- | t'GI.GstVideo.Enums.VideoChromaMethod', The resampler method to use for
-- chroma resampling. Other options for the resampler can be used, see
-- the t'GI.GstVideo.Structs.VideoResampler.VideoResampler'. Default is @/GST_VIDEO_RESAMPLER_METHOD_LINEAR/@
pattern $mVIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD :: Text
VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD = "GstVideoConverter.chroma-resampler-method" :: T.Text

-- | t'GI.GstVideo.Enums.VideoChromaMode', set the chroma resample mode subsampled
-- formats. Default is @/GST_VIDEO_CHROMA_MODE_FULL/@.
pattern $mVIDEO_CONVERTER_OPT_CHROMA_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_CHROMA_MODE :: Text
VIDEO_CONVERTER_OPT_CHROMA_MODE = "GstVideoConverter.chroma-mode" :: T.Text

-- | @/G_TYPE_UINT/@, the border color to use if 'GI.GstVideo.Constants.VIDEO_CONVERTER_OPT_FILL_BORDER'
-- is set to 'P.True'. The color is in ARGB format.
-- Default 0xff000000
pattern $mVIDEO_CONVERTER_OPT_BORDER_ARGB :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_BORDER_ARGB :: Text
VIDEO_CONVERTER_OPT_BORDER_ARGB = "GstVideoConverter.border-argb" :: T.Text

-- | @/G_TYPE_BOOLEAN/@, whether 'GI.GstVideo.Structs.VideoConverter.videoConverterFrame' will return immediately
-- without waiting for the conversion to complete.  A subsequent
-- 'GI.GstVideo.Structs.VideoConverter.videoConverterFrameFinish' must be performed to ensure completion of the
-- conversion before subsequent use.  Default 'P.False'
-- 
-- /Since: 1.20/
pattern $mVIDEO_CONVERTER_OPT_ASYNC_TASKS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_ASYNC_TASKS :: Text
VIDEO_CONVERTER_OPT_ASYNC_TASKS = "GstVideoConverter.async-tasks" :: T.Text

-- | @/G_TYPE_DOUBLE/@, the alpha color value to use.
-- Default to 1.0
pattern $mVIDEO_CONVERTER_OPT_ALPHA_VALUE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_ALPHA_VALUE :: Text
VIDEO_CONVERTER_OPT_ALPHA_VALUE = "GstVideoConverter.alpha-value" :: T.Text

-- | t'GI.GstVideo.Enums.VideoAlphaMode', the alpha mode to use.
-- Default is @/GST_VIDEO_ALPHA_MODE_COPY/@.
pattern $mVIDEO_CONVERTER_OPT_ALPHA_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_CONVERTER_OPT_ALPHA_MODE :: Text
VIDEO_CONVERTER_OPT_ALPHA_MODE = "GstVideoConverter.alpha-mode" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_Y :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_Y :: Int32
VIDEO_COMP_Y = 0 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_V :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_V :: Int32
VIDEO_COMP_V = 2 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_U :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_U :: Int32
VIDEO_COMP_U = 1 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_R :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_R :: Int32
VIDEO_COMP_R = 0 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_PALETTE :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_PALETTE :: Int32
VIDEO_COMP_PALETTE = 1 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_INDEX :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_INDEX :: Int32
VIDEO_COMP_INDEX = 0 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_G :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_G :: Int32
VIDEO_COMP_G = 1 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_B :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_B :: Int32
VIDEO_COMP_B = 2 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COMP_A :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COMP_A :: Int32
VIDEO_COMP_A = 3 :: Int32

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_SRGB :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_SRGB :: Text
VIDEO_COLORIMETRY_SRGB = "sRGB" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_SMPTE240M :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_SMPTE240M :: Text
VIDEO_COLORIMETRY_SMPTE240M = "smpte240m" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_BT709 :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_BT709 :: Text
VIDEO_COLORIMETRY_BT709 = "bt709" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_BT601 :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_BT601 :: Text
VIDEO_COLORIMETRY_BT601 = "bt601" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_BT2100_PQ :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_BT2100_PQ :: Text
VIDEO_COLORIMETRY_BT2100_PQ = "bt2100-pq" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_BT2100_HLG :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_BT2100_HLG :: Text
VIDEO_COLORIMETRY_BT2100_HLG = "bt2100-hlg" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_BT2020_10 :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_BT2020_10 :: Text
VIDEO_COLORIMETRY_BT2020_10 = "bt2020-10" :: T.Text

-- | /No description available in the introspection data./
pattern $mVIDEO_COLORIMETRY_BT2020 :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bVIDEO_COLORIMETRY_BT2020 :: Text
VIDEO_COLORIMETRY_BT2020 = "bt2020" :: T.Text

-- | This metadata is relevant for video streams.
-- 
-- /Since: 1.2/
pattern $mMETA_TAG_VIDEO_STR :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_TAG_VIDEO_STR :: Text
META_TAG_VIDEO_STR = "video" :: T.Text

-- | This metadata stays relevant as long as video size is unchanged.
-- 
-- /Since: 1.2/
pattern $mMETA_TAG_VIDEO_SIZE_STR :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_TAG_VIDEO_SIZE_STR :: Text
META_TAG_VIDEO_SIZE_STR = "size" :: T.Text

-- | This metadata stays relevant as long as video orientation is unchanged.
-- 
-- /Since: 1.2/
pattern $mMETA_TAG_VIDEO_ORIENTATION_STR :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_TAG_VIDEO_ORIENTATION_STR :: Text
META_TAG_VIDEO_ORIENTATION_STR = "orientation" :: T.Text

-- | This metadata stays relevant as long as video colorspace is unchanged.
-- 
-- /Since: 1.2/
pattern $mMETA_TAG_VIDEO_COLORSPACE_STR :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_TAG_VIDEO_COLORSPACE_STR :: Text
META_TAG_VIDEO_COLORSPACE_STR = "colorspace" :: T.Text

-- | /No description available in the introspection data./
pattern $mCAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bCAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION :: Text
CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION = "meta:GstVideoOverlayComposition" :: T.Text

-- | /No description available in the introspection data./
pattern $mCAPS_FEATURE_META_GST_VIDEO_META :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bCAPS_FEATURE_META_GST_VIDEO_META :: Text
CAPS_FEATURE_META_GST_VIDEO_META = "meta:GstVideoMeta" :: T.Text

-- | /No description available in the introspection data./
pattern $mCAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bCAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META :: Text
CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META = "meta:GstVideoGLTextureUploadMeta" :: T.Text

-- | /No description available in the introspection data./
pattern $mCAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bCAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META :: Text
CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META = "meta:GstVideoAffineTransformation" :: T.Text

-- | Name of the caps feature indicating that the stream is interlaced.
-- 
-- Currently it is only used for video with \'interlace-mode=alternate\'
-- to ensure backwards compatibility for this new mode.
-- In this mode each buffer carries a single field of interlaced video.
-- /@gSTVIDEOBUFFERFLAGTOPFIELD@/ and /@gSTVIDEOBUFFERFLAGBOTTOMFIELD@/
-- indicate whether the buffer carries a top or bottom field. The order of
-- buffers\/fields in the stream and the timestamps on the buffers indicate the
-- temporal order of the fields.
-- Top and bottom fields are expected to alternate in this mode.
-- The frame rate in the caps still signals the frame rate, so the notional field
-- rate will be twice the frame rate from the caps
-- (see /@gSTVIDEOINFOFIELDRATEN@/).
-- 
-- /Since: 1.16./
pattern $mCAPS_FEATURE_FORMAT_INTERLACED :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bCAPS_FEATURE_FORMAT_INTERLACED :: Text
CAPS_FEATURE_FORMAT_INTERLACED = "format:Interlaced" :: T.Text

-- | An option that can be activated on bufferpool to request video metadata
-- on buffers from the pool.
pattern $mBUFFER_POOL_OPTION_VIDEO_META :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bBUFFER_POOL_OPTION_VIDEO_META :: Text
BUFFER_POOL_OPTION_VIDEO_META = "GstBufferPoolOptionVideoMeta" :: T.Text

-- | An option that can be activated on a bufferpool to request gl texture upload
-- meta on buffers from the pool.
-- 
-- When this option is enabled on the bufferpool,
-- /@gSTBUFFERPOOLOPTIONVIDEOMETA@/ should also be enabled.
-- 
-- /Since: 1.2.2/
pattern $mBUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bBUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META :: Text
BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META = "GstBufferPoolOptionVideoGLTextureUploadMeta" :: T.Text

-- | A bufferpool option to enable extra padding. When a bufferpool supports this
-- option, 'GI.GstVideo.Functions.bufferPoolConfigSetVideoAlignment' can be called.
-- 
-- When this option is enabled on the bufferpool,
-- 'GI.GstVideo.Constants.BUFFER_POOL_OPTION_VIDEO_META' should also be enabled.
pattern $mBUFFER_POOL_OPTION_VIDEO_ALIGNMENT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bBUFFER_POOL_OPTION_VIDEO_ALIGNMENT :: Text
BUFFER_POOL_OPTION_VIDEO_ALIGNMENT = "GstBufferPoolOptionVideoAlignment" :: T.Text

-- | /No description available in the introspection data./
pattern $mBUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bBUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META :: Text
BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META = "GstBufferPoolOptionVideoAffineTransformation" :: T.Text