packages feed

ffmpeg-light 0.7 → 0.7.1

raw patch · 5 files changed

+34/−7 lines, 5 filesdep ~mtldep ~transformers

Dependency ranges changed: mtl, transformers

Files

CHANGELOG.md view
@@ -1,3 +1,21 @@+0.7.1+---++* Bumped transformers dependency++  Note: The use of mtl still triggers deprecation warnings from+  transformers.++* Fixed bug with changing source pixel format from RGB during+  encoding.++* Added BGRA pixel format++0.7+---++* Simplified top-level API to focus on JuicyPixels-based interface+ 0.6 --- 
ffmpeg-light.cabal view
@@ -1,5 +1,5 @@ name:                ffmpeg-light-version:             0.7+version:             0.7.1 synopsis:            Minimal bindings to the FFmpeg library.  description:         Stream frames from an encoded video, or stream frames to@@ -35,10 +35,12 @@ flag BuildDemo   description: Build demo executable   default:     False+  manual:      True  flag BuildRasterDemo   description: Build Rasterific demo executable   default:     False+  manual:      True  library   exposed-modules:     Codec.FFmpeg,@@ -54,8 +56,8 @@   build-tools:         hsc2hs   build-depends:       base >=4.6 && < 5,                        vector >= 0.10.9 && < 0.11,-                       transformers >= 0.3 && < 0.4,-                       mtl >= 2.1.3 && < 2.2,+                       transformers >= 0.3 && < 0.5,+                       mtl >= 2.1.3 && < 2.3,                        JuicyPixels >= 3.1 && < 3.2   pkgconfig-depends:   libavutil, libavformat, libavcodec, libswscale   hs-source-dirs:      src
src/Codec/FFmpeg/Encode.hs view
@@ -16,6 +16,7 @@ import Control.Monad (when, void) import Control.Monad.Error.Class import Data.Bits+import Data.IORef import Data.Maybe (fromMaybe) import Data.Ord (comparing) import Data.Traversable (for)@@ -315,9 +316,9 @@   -- Initialize the scaler that we use to convert RGB -> dstFmt   -- Note that libswscaler does not support Pal8 as an output format.   sws <- if dstFmt /= avPixFmtPal8 && dstFmt /= avPixFmtRgb8-         then Just <$> -              swsInit (ImageInfo (epWidth ep) (epHeight ep) avPixFmtRgb24)+         then swsInit (ImageInfo (epWidth ep) (epHeight ep) avPixFmtRgb24)                       dstInfo swsBilinear+              >>= fmap Just . newIORef          else return Nothing    pkt <- AVPacket <$> av_malloc (fromIntegral packetSize)@@ -380,8 +381,12 @@                 (error $ "Palettized output requires source images to be the \                          \same resolution as the output video")            let pixels' = maybe pixels ($ V.unsafeCast pixels) palettizer-           sws' <- for sws $ \s ->-                     swsReset s (ImageInfo srcW srcH srcFmt) dstInfo swsBilinear+           sws' <- for sws $ \sPtr -> do+                     s <- readIORef sPtr+                     s' <- swsReset s (ImageInfo srcW srcH srcFmt) dstInfo+                                    swsBilinear+                     writeIORef sPtr s'+                     return s'            fillDst sws' (srcFmt, V2 srcW srcH, pixels')            getPts dstFrame >>= setPts dstFrame . (+ frameTime)            encode_video_check ctx pkt (Just dstFrame) >>= flip when writePacket
src/Codec/FFmpeg/Enums.hsc view
@@ -33,6 +33,7 @@  , AV_PIX_FMT_NONE\  , AV_PIX_FMT_RGB24\  , AV_PIX_FMT_RGBA\+ , AV_PIX_FMT_BGRA\  , AV_PIX_FMT_Y400A\  , AV_PIX_FMT_RGB32\  , AV_PIX_FMT_RGB32_1\
src/nameCompat.h view
@@ -6,6 +6,7 @@ #define AV_PIX_FMT_NONE PIX_FMT_NONE #define AV_PIX_FMT_RGB24 PIX_FMT_RGB24 #define AV_PIX_FMT_RGBA PIX_FMT_RGBA+#define AV_PIX_FMT_BGRA PIX_FMT_BGRA #define AV_PIX_FMT_Y400A PIX_FMT_Y400A #define AV_PIX_FMT_RGB32 PIX_FMT_RGB32 #define AV_PIX_FMT_RGB32_1 PIX_FMT_RGB32_1