ffmpeg-light-0.9.0: src/Codec/FFmpeg.hs
{-# LANGUAGE ForeignFunctionInterface, FlexibleContexts #-}
-- | Interface to initialize FFmpeg, decode video files, encode video
-- files, and convert decoded image frames to JuicyPixels images.
module Codec.FFmpeg (-- * Initialization
initFFmpeg,
-- * Decoding
imageReader, imageReaderTime,
imageReaderT, imageReaderTimeT,
-- * Encoding
EncodingParams(..), defaultParams, imageWriter,
-- * Types and Enums
module Codec.FFmpeg.Types,
module Codec.FFmpeg.Enums
)where
import Codec.FFmpeg.Encode
import Codec.FFmpeg.Enums
import Codec.FFmpeg.Juicy
import Codec.FFmpeg.Types
foreign import ccall "av_register_all" av_register_all :: IO ()
foreign import ccall "avdevice_register_all" avdevice_register_all :: IO ()
-- foreign import ccall "avcodec_register_all" avcodec_register_all :: IO ()
-- | Initialize FFmpeg by registering all known codecs. This /must/
-- be called before using other FFmpeg functions.
initFFmpeg :: IO ()
initFFmpeg = av_register_all >> avdevice_register_all