| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GstVideo.Structs.VideoScaler
Description
VideoScaler is a utility object for rescaling and resampling
video frames using various interpolation / sampling methods.
Synopsis
- newtype VideoScaler = VideoScaler (ManagedPtr VideoScaler)
- noVideoScaler :: Maybe VideoScaler
- videoScaler2d :: (HasCallStack, MonadIO m) => VideoScaler -> VideoScaler -> VideoFormat -> Ptr () -> Int32 -> Ptr () -> Int32 -> Word32 -> Word32 -> Word32 -> Word32 -> m ()
- videoScalerFree :: (HasCallStack, MonadIO m) => VideoScaler -> m ()
- videoScalerGetCoeff :: (HasCallStack, MonadIO m) => VideoScaler -> Word32 -> Word32 -> Word32 -> m Double
- videoScalerGetMaxTaps :: (HasCallStack, MonadIO m) => VideoScaler -> m Word32
- videoScalerHorizontal :: (HasCallStack, MonadIO m) => VideoScaler -> VideoFormat -> Ptr () -> Ptr () -> Word32 -> Word32 -> m ()
- videoScalerVertical :: (HasCallStack, MonadIO m) => VideoScaler -> VideoFormat -> Ptr () -> Ptr () -> Word32 -> Word32 -> m ()
Exported types
newtype VideoScaler Source #
Memory-managed wrapper type.
Constructors
| VideoScaler (ManagedPtr VideoScaler) |
Instances
| WrappedPtr VideoScaler Source # | |
Defined in GI.GstVideo.Structs.VideoScaler | |
noVideoScaler :: Maybe VideoScaler Source #
A convenience alias for Nothing :: Maybe VideoScaler.
Methods
2d
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoScaler |
|
| -> VideoScaler |
|
| -> VideoFormat |
|
| -> Ptr () |
|
| -> Int32 |
|
| -> Ptr () |
|
| -> Int32 |
|
| -> Word32 |
|
| -> Word32 |
|
| -> Word32 |
|
| -> Word32 |
|
| -> m () |
Scale a rectangle of pixels in src with srcStride to dest with
destStride using the horizontal scaler hscaler and the vertical
scaler vscale.
One or both of hscale and vscale can be NULL to only perform scaling in
one dimension or do a copy without scaling.
x and y are the coordinates in the destination image to process.
free
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoScaler |
|
| -> m () |
Free a previously allocated VideoScaler scale.
getCoeff
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoScaler |
|
| -> Word32 |
|
| -> Word32 |
|
| -> Word32 |
|
| -> m Double | Returns: an array of |
For a given pixel at outOffset, get the first required input pixel at
inOffset and the nTaps filter coefficients.
Note that for interlaced content, inOffset needs to be incremented with
2 to get the next input line.
getMaxTaps
videoScalerGetMaxTaps Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoScaler |
|
| -> m Word32 | Returns: the maximum number of taps |
Get the maximum number of taps for scale.
horizontal
videoScalerHorizontal Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoScaler |
|
| -> VideoFormat |
|
| -> Ptr () |
|
| -> Ptr () |
|
| -> Word32 |
|
| -> Word32 |
|
| -> m () |
Horizontally scale the pixels in src to dest, starting from destOffset
for width samples.
vertical
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoScaler |
|
| -> VideoFormat |
|
| -> Ptr () |
|
| -> Ptr () |
|
| -> Word32 |
|
| -> Word32 |
|
| -> m () |
Vertically combine width pixels in the lines in srcLines to dest.
dest is the location of the target line at destOffset and
srcs are the input lines for destOffset, as obtained with
gst_video_scaler_get_info().