ffmpeg-light-0.1.0.0: src/Codec/FFmpeg/Enums.hsc
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Codec.FFmpeg.Enums where
import Data.Bits (Bits)
import Foreign.C.Types
import Foreign.Storable (Storable)
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavutil/avutil.h>
#include <libswscale/swscale.h>
newtype AVMediaType = AVMediaType CInt deriving (Eq, Storable)
#enum AVMediaType,AVMediaType \
, AVMEDIA_TYPE_VIDEO\
, AVMEDIA_TYPE_AUDIO\
, AVMEDIA_TYPE_DATA\
, AVMEDIA_TYPE_SUBTITLE\
, AVMEDIA_TYPE_ATTACHMENT\
, AVMEDIA_TYPE_NB
newtype AVPixelFormat = AVPixelFormat CInt deriving (Eq, Storable)
#enum AVPixelFormat,AVPixelFormat \
, AV_PIX_FMT_RGB24\
, AV_PIX_FMT_Y400A\
, AV_PIX_FMT_RGB32\
, AV_PIX_FMT_RGB32_1\
, AV_PIX_FMT_BGR32\
, AV_PIX_FMT_BGR32_1\
, AV_PIX_FMT_GRAY8\
, AV_PIX_FMT_GRAY16\
, AV_PIX_FMT_GRAY8A\
, AV_PIX_FMT_RGB565\
, AV_PIX_FMT_RGB555\
, AV_PIX_FMT_YUV420P\
, AV_PIX_FMT_YUV420P9\
, AV_PIX_FMT_YUV420P10\
, AV_PIX_FMT_YUV420P12\
, AV_PIX_FMT_YUV422P12\
, AV_PIX_FMT_YUV444P12\
, AV_PIX_FMT_YUV420P14\
, AV_PIX_FMT_YUV422P14\
, AV_PIX_FMT_YUV444P14\
, AV_PIX_FMT_YUV420P16\
, AV_PIX_FMT_YUV422P16\
, AV_PIX_FMT_YUV444P16\
, AV_PIX_FMT_RGBA64\
, AV_PIX_FMT_BGRA64
instance Show AVPixelFormat where
show x
| x == avPixFmtRgb24 = "AV_PIX_FMT_RGB24"
| x == avPixFmtYuv420p = "AV_PIX_FMT_Y420P"
| x == avPixFmtYuv422p12 = "AV_PIX_FMTYUV422P12"
| x == avPixFmtYuv420p14 = "AV_PIX_FMTYUV422P12"
| otherwise = let AVPixelFormat y = x
in "Other pixel format: "++show y
newtype AVCodecID = AVCodecID CInt deriving (Eq, Show, Storable)
#enum AVCodecID,AVCodecID \
, AV_CODEC_ID_H264\
, AV_CODEC_ID_THEORA\
, AV_CODEC_ID_MPEG4\
, AV_CODEC_ID_MPEG2VIDEO\
, AV_CODEC_ID_GIF\
, AV_CODEC_ID_AAC\
, AV_CODEC_ID_MP3\
, AV_CODEC_ID_DTS
newtype SwsAlgorithm = SwsAlgorithm CUInt deriving (Eq, Show, Storable)
#enum SwsAlgorithm,SwsAlgorithm \
, SWS_FAST_BILINEAR\
, SWS_BILINEAR\
, SWS_BICUBIC\
, SWS_X\
, SWS_POINT\
, SWS_AREA\
, SWS_BICUBLIN\
, SWS_GAUSS\
, SWS_SINC\
, SWS_LANCZOS\
, SWS_SPLINE
newtype FFProfile = FFProfile CInt deriving (Eq, Storable)
#enum FFProfile, FFProfile \
, FF_PROFILE_AAC_MAIN\
, FF_PROFILE_AAC_LOW\
, FF_PROFILE_AAC_SSR\
, FF_PROFILE_AAC_LTP\
, FF_PROFILE_AAC_HE\
, FF_PROFILE_AAC_HE_V2\
, FF_PROFILE_AAC_LD\
, FF_PROFILE_AAC_ELD\
, FF_PROFILE_MPEG2_AAC_LOW\
, FF_PROFILE_MPEG2_AAC_HE\
, FF_PROFILE_DTS\
, FF_PROFILE_DTS_ES\
, FF_PROFILE_DTS_96_24\
, FF_PROFILE_DTS_HD_HRA\
, FF_PROFILE_DTS_HD_MA\
, FF_PROFILE_MPEG2_422\
, FF_PROFILE_MPEG2_HIGH\
, FF_PROFILE_MPEG2_SS\
, FF_PROFILE_MPEG2_SNR_SCALABLE\
, FF_PROFILE_MPEG2_MAIN\
, FF_PROFILE_MPEG2_SIMPLE\
, FF_PROFILE_H264_CONSTRAINED\
, FF_PROFILE_H264_INTRA\
, FF_PROFILE_H264_BASELINE\
, FF_PROFILE_H264_CONSTRAINED_BASELINE\
, FF_PROFILE_H264_MAIN\
, FF_PROFILE_H264_EXTENDED\
, FF_PROFILE_H264_HIGH\
, FF_PROFILE_H264_HIGH_10\
, FF_PROFILE_H264_HIGH_10_INTRA\
, FF_PROFILE_H264_HIGH_422\
, FF_PROFILE_H264_HIGH_422_INTRA\
, FF_PROFILE_H264_HIGH_444\
, FF_PROFILE_H264_HIGH_444_PREDICTIVE\
, FF_PROFILE_H264_HIGH_444_INTRA\
, FF_PROFILE_H264_CAVLC_444\
, FF_PROFILE_VC1_SIMPLE\
, FF_PROFILE_VC1_MAIN\
, FF_PROFILE_VC1_COMPLEX\
, FF_PROFILE_VC1_ADVANCED\
, FF_PROFILE_MPEG4_SIMPLE\
, FF_PROFILE_MPEG4_SIMPLE_SCALABLE\
, FF_PROFILE_MPEG4_CORE\
, FF_PROFILE_MPEG4_MAIN\
, FF_PROFILE_MPEG4_N_BIT\
, FF_PROFILE_MPEG4_SCALABLE_TEXTURE\
, FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION\
, FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE\
, FF_PROFILE_MPEG4_HYBRID\
, FF_PROFILE_MPEG4_ADVANCED_REAL_TIME\
, FF_PROFILE_MPEG4_CORE_SCALABLE\
, FF_PROFILE_MPEG4_ADVANCED_CODING\
, FF_PROFILE_MPEG4_ADVANCED_CORE\
, FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE\
, FF_PROFILE_MPEG4_SIMPLE_STUDIO\
, FF_PROFILE_MPEG4_ADVANCED_SIMPLE
newtype AVIOFlag = AVIOFlag CInt deriving (Eq, Storable)
#enum AVIOFlag, AVIOFlag \
, AVIO_FLAG_READ\
, AVIO_FLAG_WRITE\
, AVIO_FLAG_READ_WRITE\
, AVIO_FLAG_NONBLOCK\
, AVIO_FLAG_DIRECT
newtype AVRoundMode = AVRoundMode CInt deriving (Eq, Storable)
#enum AVRoundMode, AVRoundMode \
, AV_ROUND_NEAR_INF\
, AV_ROUND_PASS_MINMAX
newtype CodecFlag = CodecFlag CInt deriving (Eq, Bits, Storable)
#enum CodecFlag, CodecFlag \
, CODEC_FLAG_UNALIGNED\
, CODEC_FLAG_QSCALE\
, CODEC_FLAG_4MV\
, CODEC_FLAG_OUTPUT_CORRUPT\
, CODEC_FLAG_QPEL\
, CODEC_FLAG_GMC\
, CODEC_FLAG_MV0\
, CODEC_FLAG_INPUT_PRESERVED\
, CODEC_FLAG_PASS1\
, CODEC_FLAG_PASS2\
, CODEC_FLAG_GRAY\
, CODEC_FLAG_EMU_EDGE\
, CODEC_FLAG_PSNR\
, CODEC_FLAG_TRUNCATED\
, CODEC_FLAG_NORMALIZE_AQP\
, CODEC_FLAG_INTERLACED_DCT\
, CODEC_FLAG_LOW_DELAY\
, CODEC_FLAG_GLOBAL_HEADER\
, CODEC_FLAG_BITEXACT\
, CODEC_FLAG_AC_PRED\
, CODEC_FLAG_LOOP_FILTER\
, CODEC_FLAG_INTERLACED_ME\
, CODEC_FLAG_CLOSED_GOP
newtype FormatFlag = FormatFlag CInt deriving (Eq, Bits, Storable)
#enum FormatFlag, FormatFlag \
, AVFMT_NOFILE\
, AVFMT_NEEDNUMBER\
, AVFMT_RAWPICTURE\
, AVFMT_GLOBALHEADER\
, AVFMT_NOTIMESTAMPS\
, AVFMT_VARIABLE_FPS\
, AVFMT_NODIMENSIONS\
, AVFMT_NOSTREAMS\
, AVFMT_ALLOW_FLUSH\
, AVFMT_TS_NONSTRICT