Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Information describing image properties. This information can be filled
in from GstCaps with videoInfoFromCaps
. The information is also used
to store the specific video info when mapping a video frame with
videoFrameMap
.
Use the provided macros to access the info in this structure.
- newtype VideoInfo = VideoInfo (ManagedPtr VideoInfo)
- newZeroVideoInfo :: MonadIO m => m VideoInfo
- noVideoInfo :: Maybe VideoInfo
- data VideoInfoAlignMethodInfo
- videoInfoAlign :: (HasCallStack, MonadIO m) => VideoInfo -> VideoAlignment -> m ()
- data VideoInfoConvertMethodInfo
- videoInfoConvert :: (HasCallStack, MonadIO m) => VideoInfo -> Format -> Int64 -> Format -> Int64 -> m Bool
- data VideoInfoCopyMethodInfo
- videoInfoCopy :: (HasCallStack, MonadIO m) => VideoInfo -> m VideoInfo
- data VideoInfoFreeMethodInfo
- videoInfoFree :: (HasCallStack, MonadIO m) => VideoInfo -> m ()
- data VideoInfoFromCapsMethodInfo
- videoInfoFromCaps :: (HasCallStack, MonadIO m) => VideoInfo -> Caps -> m Bool
- data VideoInfoInitMethodInfo
- videoInfoInit :: (HasCallStack, MonadIO m) => VideoInfo -> m ()
- data VideoInfoIsEqualMethodInfo
- videoInfoIsEqual :: (HasCallStack, MonadIO m) => VideoInfo -> VideoInfo -> m Bool
- videoInfoNew :: (HasCallStack, MonadIO m) => m VideoInfo
- data VideoInfoSetFormatMethodInfo
- videoInfoSetFormat :: (HasCallStack, MonadIO m) => VideoInfo -> VideoFormat -> Word32 -> Word32 -> m ()
- data VideoInfoToCapsMethodInfo
- videoInfoToCaps :: (HasCallStack, MonadIO m) => VideoInfo -> m Caps
- getVideoInfoChromaSite :: MonadIO m => VideoInfo -> m [VideoChromaSite]
- setVideoInfoChromaSite :: MonadIO m => VideoInfo -> [VideoChromaSite] -> m ()
- videoInfo_chromaSite :: AttrLabelProxy "chromaSite"
- getVideoInfoColorimetry :: MonadIO m => VideoInfo -> m VideoColorimetry
- videoInfo_colorimetry :: AttrLabelProxy "colorimetry"
- clearVideoInfoFinfo :: MonadIO m => VideoInfo -> m ()
- getVideoInfoFinfo :: MonadIO m => VideoInfo -> m (Maybe VideoFormatInfo)
- setVideoInfoFinfo :: MonadIO m => VideoInfo -> Ptr VideoFormatInfo -> m ()
- videoInfo_finfo :: AttrLabelProxy "finfo"
- getVideoInfoFlags :: MonadIO m => VideoInfo -> m [VideoFlags]
- setVideoInfoFlags :: MonadIO m => VideoInfo -> [VideoFlags] -> m ()
- videoInfo_flags :: AttrLabelProxy "flags"
- getVideoInfoFpsD :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoFpsD :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_fpsD :: AttrLabelProxy "fpsD"
- getVideoInfoFpsN :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoFpsN :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_fpsN :: AttrLabelProxy "fpsN"
- getVideoInfoHeight :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoHeight :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_height :: AttrLabelProxy "height"
- getVideoInfoInterlaceMode :: MonadIO m => VideoInfo -> m VideoInterlaceMode
- setVideoInfoInterlaceMode :: MonadIO m => VideoInfo -> VideoInterlaceMode -> m ()
- videoInfo_interlaceMode :: AttrLabelProxy "interlaceMode"
- getVideoInfoParD :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoParD :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_parD :: AttrLabelProxy "parD"
- getVideoInfoParN :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoParN :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_parN :: AttrLabelProxy "parN"
- getVideoInfoSize :: MonadIO m => VideoInfo -> m Word64
- setVideoInfoSize :: MonadIO m => VideoInfo -> Word64 -> m ()
- videoInfo_size :: AttrLabelProxy "size"
- getVideoInfoViews :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoViews :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_views :: AttrLabelProxy "views"
- getVideoInfoWidth :: MonadIO m => VideoInfo -> m Int32
- setVideoInfoWidth :: MonadIO m => VideoInfo -> Int32 -> m ()
- videoInfo_width :: AttrLabelProxy "width"
Exported types
newZeroVideoInfo :: MonadIO m => m VideoInfo Source #
Construct a VideoInfo
struct initialized to zero.
Methods
align
data VideoInfoAlignMethodInfo Source #
((~) * signature (VideoAlignment -> m ()), MonadIO m) => MethodInfo * VideoInfoAlignMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> VideoAlignment |
|
-> m () |
Adjust the offset and stride fields in info
so that the padding and
stride alignment in align
is respected.
Extra padding will be added to the right side when stride alignment padding
is required and align
will be updated with the new padding values.
convert
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> Format |
|
-> Int64 |
|
-> Format |
|
-> Int64 |
|
-> m Bool | Returns: TRUE if the conversion was successful. |
Converts among various Format
types. This function handles
GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
raw video, GST_FORMAT_DEFAULT corresponds to video frames. This
function can be used to handle pad queries of the type GST_QUERY_CONVERT.
copy
data VideoInfoCopyMethodInfo Source #
((~) * signature (m VideoInfo), MonadIO m) => MethodInfo * VideoInfoCopyMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> m VideoInfo | Returns: a new |
Copy a GstVideoInfo structure.
Since: 1.6
free
data VideoInfoFreeMethodInfo Source #
((~) * signature (m ()), MonadIO m) => MethodInfo * VideoInfoFreeMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> m () |
Free a GstVideoInfo structure previously allocated with videoInfoNew
or videoInfoCopy
.
Since: 1.6
fromCaps
data VideoInfoFromCapsMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * VideoInfoFromCapsMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> Caps |
|
-> m Bool | Returns: TRUE if |
Parse caps
and update info
.
init
data VideoInfoInitMethodInfo Source #
((~) * signature (m ()), MonadIO m) => MethodInfo * VideoInfoInitMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> m () |
Initialize info
with default values.
isEqual
data VideoInfoIsEqualMethodInfo Source #
((~) * signature (VideoInfo -> m Bool), MonadIO m) => MethodInfo * VideoInfoIsEqualMethodInfo VideoInfo signature Source # | |
Compares two VideoInfo
and returns whether they are equal or not
new
:: (HasCallStack, MonadIO m) | |
=> m VideoInfo | Returns: a new |
Allocate a new VideoInfo
that is also initialized with
videoInfoInit
.
Since: 1.6
setFormat
data VideoInfoSetFormatMethodInfo Source #
((~) * signature (VideoFormat -> Word32 -> Word32 -> m ()), MonadIO m) => MethodInfo * VideoInfoSetFormatMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> VideoFormat |
|
-> Word32 |
|
-> Word32 |
|
-> m () |
Set the default info for a video frame of format
and width
and height
.
Note: This initializes info
first, no values are preserved. This function
does not set the offsets correctly for interlaced vertically
subsampled formats.
toCaps
data VideoInfoToCapsMethodInfo Source #
((~) * signature (m Caps), MonadIO m) => MethodInfo * VideoInfoToCapsMethodInfo VideoInfo signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoInfo |
|
-> m Caps | Returns: a new |
Convert the values of info
into a Caps
.
Properties
chromaSite
getVideoInfoChromaSite :: MonadIO m => VideoInfo -> m [VideoChromaSite] Source #
setVideoInfoChromaSite :: MonadIO m => VideoInfo -> [VideoChromaSite] -> m () Source #
videoInfo_chromaSite :: AttrLabelProxy "chromaSite" Source #
colorimetry
getVideoInfoColorimetry :: MonadIO m => VideoInfo -> m VideoColorimetry Source #
videoInfo_colorimetry :: AttrLabelProxy "colorimetry" Source #
finfo
clearVideoInfoFinfo :: MonadIO m => VideoInfo -> m () Source #
getVideoInfoFinfo :: MonadIO m => VideoInfo -> m (Maybe VideoFormatInfo) Source #
setVideoInfoFinfo :: MonadIO m => VideoInfo -> Ptr VideoFormatInfo -> m () Source #
videoInfo_finfo :: AttrLabelProxy "finfo" Source #
flags
getVideoInfoFlags :: MonadIO m => VideoInfo -> m [VideoFlags] Source #
setVideoInfoFlags :: MonadIO m => VideoInfo -> [VideoFlags] -> m () Source #
videoInfo_flags :: AttrLabelProxy "flags" Source #
fpsD
videoInfo_fpsD :: AttrLabelProxy "fpsD" Source #
fpsN
videoInfo_fpsN :: AttrLabelProxy "fpsN" Source #
height
videoInfo_height :: AttrLabelProxy "height" Source #
interlaceMode
getVideoInfoInterlaceMode :: MonadIO m => VideoInfo -> m VideoInterlaceMode Source #
setVideoInfoInterlaceMode :: MonadIO m => VideoInfo -> VideoInterlaceMode -> m () Source #
videoInfo_interlaceMode :: AttrLabelProxy "interlaceMode" Source #
parD
videoInfo_parD :: AttrLabelProxy "parD" Source #
parN
videoInfo_parN :: AttrLabelProxy "parN" Source #
size
videoInfo_size :: AttrLabelProxy "size" Source #
views
videoInfo_views :: AttrLabelProxy "views" Source #
width
videoInfo_width :: AttrLabelProxy "width" Source #