avif 0.1.2.0 → 0.1.2.1
raw patch · 3 files changed
+7/−4 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Codec.Avif: AvifResultCannotChangeSetting :: AvifResult
+ Codec.Avif: AvifResultIncompatibleImage :: AvifResult
+ Codec.Avif: AvifResultOutOfMemory :: AvifResult
+ Codec.Avif.FFI: AvifPixelFormatCount :: AvifPixelFormat
+ Codec.Avif.FFI: AvifResultCannotChangeSetting :: AvifResult
+ Codec.Avif.FFI: AvifResultIncompatibleImage :: AvifResult
+ Codec.Avif.FFI: AvifResultOutOfMemory :: AvifResult
Files
- CHANGELOG.md +4/−0
- avif.cabal +1/−1
- src/Codec/Avif.chs +2/−3
CHANGELOG.md view
@@ -1,5 +1,9 @@ # avif +# 0.1.2.1++ * Remove deprecated function under the hood+ # 0.1.2.0 * Add `decodeE` and `AvifResult`
avif.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: avif-version: 0.1.2.0+version: 0.1.2.1 license: AGPL-3 license-file: LICENSE copyright: Copyright: (c) 2021 Vanessa McHale
src/Codec/Avif.chs view
@@ -8,11 +8,10 @@ import Codec.Picture (Image (Image), PixelRGBA8) import Control.Exception (throw, throwIO) import qualified Data.ByteString as BS-import Data.ByteString.Internal (memcpy) import qualified Data.ByteString.Unsafe as BS import Foreign.Ptr (castPtr) import Foreign.ForeignPtr (castForeignPtr, newForeignPtr, mallocForeignPtrBytes, withForeignPtr)-import Foreign.Marshal (allocaBytes)+import Foreign.Marshal (allocaBytes, copyBytes) import qualified Data.Vector.Storable as VS import System.IO.Unsafe (unsafePerformIO) @@ -90,5 +89,5 @@ outBytes <- mallocForeignPtrBytes (fromIntegral sz') withForeignPtr outBytes $ \outPtr -> do- memcpy (castPtr outPtr) (castPtr pxPtr) (fromIntegral sz')+ copyBytes outPtr (castPtr pxPtr) (fromIntegral sz') Right (Image (fromIntegral w) (fromIntegral h) (VS.unsafeFromForeignPtr0 outBytes (fromIntegral sz'))) <$ (avifRGBImageFreePixels rgbImagePtr)