{-# LANGUAGE ForeignFunctionInterface, FlexibleContexts #-}
module Codec.FFmpeg (
initFFmpeg, setLogLevel,
imageReader, imageReaderTime,
imageReaderT, imageReaderTimeT,
EncodingParams(..), defaultParams, imageWriter,
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
import Foreign.C.Types (CInt(..))
foreign import ccall "av_register_all" av_register_all :: IO ()
foreign import ccall "avdevice_register_all" avdevice_register_all :: IO ()
foreign import ccall "av_log_set_level" av_log_set_level :: CInt -> IO ()
setLogLevel :: LogLevel -> IO ()
setLogLevel (LogLevel l) = av_log_set_level l
initFFmpeg :: IO ()
initFFmpeg = av_register_all >> avdevice_register_all >> setLogLevel avLogQuiet