úÎ!îJÈÚÿ¢      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž   ‘ ’ “ ” • – — ˜ ™ š › œ  ž Ÿ   ¡ NoneK"ˆÂ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ !"#$%&'()*+,-./012=3>4?5@6A7B8C9DH:EI;FJ<KGLMN OSPTQURVWXYZ[\]^_`abcdefghijklmnop ‹qŒrsŽt u‘v’w“x”y•z{|}~€‚ƒ„…–†—‡˜ˆ™‰šŠ›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°¶±·²³¸´¹µº»¼½¾¿ÀÁSafeV+Zß ffmpeg-lightA four-component vectorá ffmpeg-lightA three-component vectorã ffmpeg-lightA two-component vectorå ffmpeg-light Quadrance between two 3D points.ßàáâãäåãäáâåßàNone;=K1Xî ffmpeg-light8The input source can be a file or a camera. When using ð, frequently in the form  Camera "0:0" defaultCameraConfigF, the first input video device enumerated by libavdevice is selected.¤ ffmpeg-lightsizeof the  structure in bytes.¦ ffmpeg-light Convert an ñ to a ¢§ ffmpeg-light1Rescale an integer from one time base to another.¿êëìíîðïñòôóõø÷öùüûúýÿþ      !$#"%('&),+*-./0143258769<;:=>?BA@CFEDGJIHKLMPONQTSRUXWVY\[Z]`_^adcbehgfilkjmponqrsvutwzyx{~}|‚€ƒ†…„‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨¿‰Š‡ˆƒ†…„‚€{~}|wzyxsvutŽŒqrmponilkjehgfadcb]`_^Y\[ZUXWVQTSRMPONKLGJIHCFED?BA@=>9<;:58761432/0-.),+*%('&!$#"    ‘  ’“”•–—˜ýÿþ™ùüûúõø÷öš›œž¤Ÿ¥ ¡¢ñòô󣋦§îðïêëìí¨None;¡ü ffmpeg-light&FFmpeg's built-in format debug utlity.ý ffmpeg-light3Print the short name, long name, and ID of a codec.þ ffmpeg-lightPrint various codec settings. ffmpeg-light-Print all pixel formats supported by a given =. ffmpeg-lightGet the name of a codec.úûüýþÿüýþûÿúNone<IÉ  ffmpeg-lightXCatch an IOException from an IO action and re-throw it in a wrapping monad transformer. ffmpeg-light Allocate an -& and set its fields to default values. ffmpeg-lightsAllocate new buffer(s) for audio or video data with the required alignment. Note, for video frames, pixel format, width, and heightE must be set before calling this function. For audio frames, sample format,  nb_samples, and channel_layout must be set. ffmpeg-lightBytes-per-pixel for an  ffmpeg-lightReturn line size alignment. ffmpeg-lightRetun - s line size. ffmpeg-lightTransformer version of . ffmpeg-lightReturn size of buffer for -s image. ffmpeg-lightTransformer version of . ffmpeg-lightCopy -Gs image to buffer. It is assumed that size of buffer is equal to .bufSize <- fromJust <$> frameBufferSize frame. ffmpeg-lightTransformer version of .          None;<=VW/ ffmpeg-light,A common interface required of arguments to *" (a higher level wrapper for the  function from  libswscale).' ffmpeg-lightswsInit srcInfo dstInfo alg initializations an  to scale and convert from srcInfo to dstInfo using the algorithm alg when scaling.( ffmpeg-lightòObtain a context for converting the source to destination format. If the given context is already configured for the required conversion, it is returned. Otherwise, the given context is freed and a new, configured context is returned. See '% for a description of the arguments.) ffmpeg-light=Supplies a continuation with all components provided by the  class.* ffmpeg-lightswsScale ctx src dst scales the entire src image to dst# using the previously initialized ctx. ! "#&%$'()* "#&%$'(! )*None‹Z. ffmpeg-light7Minimal parameters describing the desired video output.3 ffmpeg-lightIf £<, then the codec is inferred from the output file name. If ¤&, then this codec is manually chosen.4 ffmpeg-lightIf £D, automatically chose a pixel format based on the output codec. If ¤#, force the selected pixel format.5 ffmpeg-light9Encoder-specific hints. For h264, the default preset is "medium" (other options are "fast", "slow"-, etc.). For the GIF codec, setting this to "dither"y will enable dithering during the palettization process. This will improve image quality, but result in a larger file.6 ffmpeg-lightFFmpeg muxer format name. If £0, tries to infer from the output file name. If ¤3, the string value should be the one available in ffmpeg -formats.I ffmpeg-lightjUse default parameters for a video of the given width and height, forcing the choice of the h264 encoder.J ffmpeg-light{Use default parameters for a video of the given width and height. The output format is determined by the output file name.K ffmpeg-light@Determine if the bitwise intersection of two values is non-zero.L ffmpeg-light[Find and initialize the requested encoder, and add a video stream to the output container.M ffmpeg-light³Initialize a temporary YUV frame of the same resolution as the output video stream. We well convert RGB frames using this frame as a destination before encoding the video frame.N ffmpeg-lightIAllocate an output context inferring the codec from the given file name.O ffmpeg-light Open the given file for writing.P ffmpeg-lightClose an open IO context.Q ffmpeg-lightReturns ¥ if the $ was updated with new output data; ¦ otherwise.R ffmpeg-lightVAllocate the stream private data and write the stream header to an output media file.S ffmpeg-light'Write a packet to an output media file.T ffmpeg-light|Write the stream trailer to an output media file and free the private data. May only be called after a successful call to R.U ffmpeg-lightƒQuantize RGB24 pixels to the systematic RGB8 color palette. The image data has space for a palette appended to be compliant with av_image_fill_arrays's expectations. This is slow.V ffmpeg-light0High quality dithered, median cut palette using §q. The result is packed such that the BGRA palette is laid out contiguously following the palettized image data.W ffmpeg-lightÄOpen a target file for writing a video stream. The function returned may be used to write image frames (specified by a pixel format, resolution, and pixel data). If this function is applied to £., then the output stream is closed. Note that £ must2 be provided to properly terminate video encoding.£Support for source images that are of a different size to the output resolution is limited to non-palettized destination formats (i.e. those that are handled by  libswscalers). Practically, this means that animated gif output only works if the source images are of the target resolution.X ffmpeg-lightOpen a target file for writing a video stream. The function returned may be used to write RGB images of the resolution given by the provided .Q (i.e. the same resolution as the output video). If this function is applied to £/, then the output stream is closed. Note that £ must3 be provided to properly terminate video encoding.+./6543210789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX+HGFEDCBA@?>=<;:987./6543210IJKLMNOPQRSTUVWXNone"#<¢3e ffmpeg-light7Open the first video input device enumerated by FFMPEG.g ffmpeg-lightOpen an input media file.h ffmpeg-lightAVFrame is a superset of  AVPicture, so we can upcast an - to an .i ffmpeg-lightFind a codec given by name.j ffmpeg-lightvRead packets of a media file to get stream information. This is useful for file formats with no headers such as MPEG.k ffmpeg-light"Searches for a video stream in an ‡Z. If one is found, returns the index of the stream in the container, and its associated q and =.l ffmpeg-lightLFind a registered decoder with a codec ID matching that found in the given q.m ffmpeg-lightInitialize the given q to use the given =-. **NOTE**: This function is not thread safe!n ffmpeg-light"Return the next frame of a stream.o ffmpeg-lightRead frames of the given  from a video stream.p ffmpeg-light'Read RGB frames with the result in the ¨ transformer. 0frameReaderT = fmap (first MaybeT) . frameReaderq ffmpeg-light&Read time stamped frames of the given N from a video stream. Time is given in seconds from the start of the stream.r ffmpeg-light4Read time stamped RGB frames with the result in the ¨ transformer. 0frameReaderT = fmap (first MaybeT) . frameReaders ffmpeg-light‚Construct an action that gets the next available frame, and an action to release all resources associated with this video stream.YZ[\]^_`abcdefghijklmnopqrscba`_^]\[ZYdefghijklmnopqrs NoneK¥€ ffmpeg-lightaGives the (width, height) of a video stream in pixels, not accounting for the pixel aspect ratio.tuvwxyz{|}~€‚uvwyxtz{~|}€‚ None;<V¼°  ffmpeg-light Mapping of  JuicyPixels% pixel types to FFmpeg pixel formats.‘ ffmpeg-lightConvert - to a Vector.’ ffmpeg-lightConvert - to a Vector with the result in the ¨ transformer.“ ffmpeg-light Convert an - to a © with the result in the ¨ transformer. toJuicyT = MaybeT . toJuicy” ffmpeg-light Convert an - to a ©.• ffmpeg-light Convert an - to an ª.– ffmpeg-lightSave an -C to a PNG file on disk assuming the frame could be converted to a © using ”.— ffmpeg-light"Bytes-per-pixel for a JuicyPixels « type.˜ ffmpeg-light Read frames from a video stream.™ ffmpeg-light7Read frames from a video stream. Errors are thrown as  IOExceptions.š ffmpeg-lighteRead time stamped frames from a video stream. Time is given in seconds from the start of the stream.› ffmpeg-light|Read time stamped frames from a video stream. Time is given in seconds from the start of the stream. Errors are thrown as  IOExceptions.œ ffmpeg-lightYOpen a target file for writing a video stream. When the returned function is applied to £*, the output stream is closed. Note that £ mustK be provided when finishing in order to properly terminate video encoding.£Support for source images that are of a different size to the output resolution is limited to non-palettized destination formats (i.e. those that are handled by  libswscalerz). Practically, this means that animated gif output is only supported if the source images are of the target resolution.‘’“”•–—˜™š›œ‘’“”•–—˜™š›œ None<ÂF  ffmpeg-lightLog output is sent to stderr.¡ ffmpeg-light8Initialize FFmpeg by registering all known codecs. This mustV be called before using other FFmpeg functions. The debug level is initially set to quiet;. If you would like the standard ffmpeg debug level, call setLogLevel avLogInfo after  initFFmpeg.ÿ’  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁêëíìîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨./0123456J˜™š›œ ¡¡ ™›˜š./0123456Jœ¬     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßààááââãäåæçèèéêëìíîîïðñòóôõö÷øùúûüýþÿ       !!""#$%&'()*+,-.//0123456789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aabcdefghijklmnopqrstuvvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHöIJKLMNOPQRSTUVWXYZ[\]^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ ŒŽ‘’‘“ޔޕ–—˜™š›–œ–œž–œŸ ffmpeg-light-0.12.2.2-inplaceCodec.FFmpeg.EnumsCodec.FFmpeg.Internal.LinearCodec.FFmpeg.TypesCodec.FFmpeg.Internal.DebugCodec.FFmpeg.CommonCodec.FFmpeg.ScalerCodec.FFmpeg.EncodeCodec.FFmpeg.DecodeCodec.FFmpeg.ProbeCodec.FFmpeg.Juicy Codec.FFmpegLogLevel PacketFlag FormatFlag CodecFlag AVRoundModeAVIOFlag FFProfile SwsAlgorithm AVCodecID AVPixelFormat AVMediaTypeavmediaTypeVideoavmediaTypeAudioavmediaTypeDataavmediaTypeSubtitleavmediaTypeAttachment avmediaTypeNb avPixFmtNone avPixFmtRgb24 avPixFmtRgba avPixFmtBgra avPixFmtY400a avPixFmtRgb32avPixFmtRgb321 avPixFmtBgr32avPixFmtBgr321 avPixFmtRgb8 avPixFmtBgr8avPixFmtRgb4ByteavPixFmtBgr4Byte avPixFmtGray8avPixFmtGray16avPixFmtGray8a avPixFmtPal8avPixFmtRgb565avPixFmtRgb555avPixFmtYuv420pavPixFmtYuv420p9avPixFmtYuv420p10avPixFmtYuv420p12avPixFmtYuv422p12avPixFmtYuv444p12avPixFmtYuv420p14avPixFmtYuv422p14avPixFmtYuv444p14avPixFmtYuv420p16avPixFmtYuv422p16avPixFmtYuv444p16avPixFmtRgba64avPixFmtBgra64 avCodecIdH264 avCodecIdHevcavCodecIdTheora avCodecIdVc1avCodecIdMpeg4avCodecIdMpeg2videoavCodecIdRawvideo avCodecIdGif avCodecIdAac avCodecIdMp3 avCodecIdDtsswsFastBilinear swsBilinear swsBicubicswsXswsPointswsArea swsBicublinswsGaussswsSinc swsLanczos swsSplineffProfileAacMainffProfileAacLowffProfileAacSsrffProfileAacLtpffProfileAacHeffProfileAacHeV2ffProfileAacLdffProfileAacEldffProfileMpeg2AacLowffProfileMpeg2AacHe ffProfileDtsffProfileDtsEsffProfileDts9624ffProfileDtsHdHraffProfileDtsHdMaffProfileMpeg2422ffProfileMpeg2HighffProfileMpeg2SsffProfileMpeg2SnrScalableffProfileMpeg2MainffProfileMpeg2SimpleffProfileH264ConstrainedffProfileH264IntraffProfileH264Baseline ffProfileH264ConstrainedBaselineffProfileH264MainffProfileH264ExtendedffProfileH264HighffProfileH264High10ffProfileH264High10IntraffProfileH264High422ffProfileH264High422IntraffProfileH264High444ffProfileH264High444PredictiveffProfileH264High444IntraffProfileH264Cavlc444ffProfileVc1SimpleffProfileVc1MainffProfileVc1ComplexffProfileVc1AdvancedffProfileMpeg4SimpleffProfileMpeg4SimpleScalableffProfileMpeg4CoreffProfileMpeg4MainffProfileMpeg4NBitffProfileMpeg4ScalableTexture!ffProfileMpeg4SimpleFaceAnimation"ffProfileMpeg4BasicAnimatedTextureffProfileMpeg4HybridffProfileMpeg4AdvancedRealTimeffProfileMpeg4CoreScalableffProfileMpeg4AdvancedCodingffProfileMpeg4AdvancedCore%ffProfileMpeg4AdvancedScalableTextureffProfileMpeg4SimpleStudioffProfileMpeg4AdvancedSimple avioFlagRead avioFlagWriteavioFlagReadWriteavioFlagNonblockavioFlagDirect avRoundZero avRoundInf avRoundDown avRoundUpavRoundNearInfavRoundPassMinmaxavCodecFlagUnalignedavCodecFlagQscaleavCodecFlag4mvavCodecFlagOutputCorruptavCodecFlagQpelavCodecFlagPass1avCodecFlagPass2avCodecFlagLoopFilteravCodecFlagGrayavCodecFlagPsnravCodecFlagTruncatedavCodecFlagInterlacedDctavCodecFlagLowDelayavCodecFlagGlobalHeaderavCodecFlagBitexactavCodecFlagAcPredavCodecFlagInterlacedMeavCodecFlagClosedGop avfmtNofileavfmtNeednumberavfmtGlobalheaderavfmtNotimestampsavfmtVariableFpsavfmtNodimensionsavfmtNostreamsavfmtNobinsearchavfmtNogensearchavfmtNoByteSeekavfmtAllowFlushavfmtTsNonstrictavfmtTsNegativeavfmtSeekToPts avPktFlagKeyavPktFlagCorrupt avLogQuiet avLogPanic avLogFatal avLogError avLogWarning avLogInfo avLogVerbose avLogDebug avLogTraceavLogMaxOffset$fShowAVPixelFormat$fEqAVMediaType$fStorableAVMediaType$fEqAVPixelFormat$fStorableAVPixelFormat $fEqAVCodecID$fShowAVCodecID$fStorableAVCodecID$fEqSwsAlgorithm$fShowSwsAlgorithm$fStorableSwsAlgorithm $fEqFFProfile$fStorableFFProfile $fEqAVIOFlag$fStorableAVIOFlag$fEqAVRoundMode$fStorableAVRoundMode $fEqCodecFlag$fBitsCodecFlag$fStorableCodecFlag$fEqFormatFlag$fBitsFormatFlag$fStorableFormatFlag$fEqPacketFlag$fBitsPacketFlag$fStorablePacketFlag $fEqLogLevel$fBitsLogLevel$fStorableLogLevelV4V3V2qd $fStorableV3 $fFunctorV3 $fStorableV4 $fFunctorV4 CameraConfig framerate resolution InputSourceFileCamera AVRational numerator denomenatorHasDtsgetDtssetDtshasDtsHasPacketFlagsgetPacketFlagssetPacketFlagshasPacketFlagsHasSizegetSizesetSizehasSizeHasDatagetDatasetDatahasDataAVPacket AVIOContextCategory HasAVClass getAVClass setAVClass hasAVClassAVClass AVInputFormatHasVideoCodecIDgetVideoCodecIDsetVideoCodecIDhasVideoCodecIDHasFormatFlagsgetFormatFlagssetFormatFlagshasFormatFlagsAVOutputFormat SwsContext AVPicture HasLineSize getLineSize setLineSize hasLineSize HasPktPts getPktPts setPktPts hasPktPtsHasPtsgetPtssetPtshasPtsAVFrame AVDictionaryHasPixelFormatsgetPixelFormatssetPixelFormatshasPixelFormatsHasNamegetNamesetNamehasName HasLongName getLongName setLongName hasLongNameAVCodecHasStreamIndexgetStreamIndexsetStreamIndexhasStreamIndexHasCodecContextgetCodecContextsetCodecContexthasCodecContextHasIdgetIdsetIdhasIdAVStream HasPrivData getPrivData setPrivData hasPrivData HasCodecID getCodecID setCodecID hasCodecID HasCodecFlags getCodecFlags setCodecFlags hasCodecFlagsHasPixelFormatgetPixelFormatsetPixelFormathasPixelFormat HasGopSize getGopSize setGopSize hasGopSize HasTimeBase getTimeBase setTimeBase hasTimeBase HasHeight getHeight setHeight hasHeightHasWidthgetWidthsetWidthhasWidth HasBitRate getBitRate setBitRate hasBitRateAVCodecContextHasInputFormatgetInputFormatsetInputFormathasInputFormat HasIOContext getIOContext setIOContext hasIOContextHasOutputFormatgetOutputFormatsetOutputFormathasOutputFormat HasStreams getStreams setStreams hasStreams HasNumStreams getNumStreams setNumStreams hasNumStreamsAVFormatContextHasPtrgetPtrav_rescale_rndavformat_alloc_contextav_input_video_device_next setFilename setCameramallocAVFormatContext getAVCategoryavClassCategoryNaavClassCategoryInputavClassCategoryOutputavClassCategoryMuxeravClassCategoryDemuxeravClassCategoryEncoderavClassCategoryDecoderavClassCategoryFilteravClassCategoryBitstreamFilteravClassCategorySwscaleravClassCategorySwresampler avClassCategoryDeviceVideoOutputavClassCategoryDeviceVideoInput avClassCategoryDeviceAudioOutputavClassCategoryDeviceAudioInputavClassCategoryDeviceOutputavClassCategoryDeviceInputavClassCategoryNb packetSize pictureSizeav_q2d av_rescale_qdefaultCameraConfig $fHasPtrPtr$fHasNumStreamsAVFormatContext$fHasBitRateAVCodecContext$fHasWidthAVCodecContext$fHasHeightAVCodecContext$fHasGopSizeAVCodecContext$fHasPixelFormatAVCodecContext$fHasCodecFlagsAVCodecContext$fHasCodecIDAVCodecContext$fHasPrivDataAVCodecContext$fHasStreamsAVFormatContext$fHasIdAVStream$fHasCodecContextAVStream$fHasStreamIndexAVStream$fHasCodecIDAVCodec$fHasLongNameAVCodec$fHasNameAVCodec$fHasPixelFormatsAVCodec$fHasHeightAVFrame$fHasWidthAVFrame$fHasPixelFormatAVFrame$fHasPtsAVFrame$fHasPktPtsAVFrame$fHasLineSizeAVFrame $fHasOutputFormatAVFormatContext$fHasFormatFlagsAVOutputFormat$fHasVideoCodecIDAVOutputFormat$fHasInputFormatAVFormatContext$fHasAVClassAVInputFormat$fHasIOContextAVFormatContext$fHasPtsAVPacket$fHasStreamIndexAVPacket$fHasDataAVPacket$fHasDataAVPicture$fHasDataAVFrame$fHasSizeAVPacket$fHasPacketFlagsAVPacket$fHasDtsAVPacket$fStorableAVRational$fHasTimeBaseAVStream$fHasTimeBaseAVCodecContext$fStorableAVFormatContext$fHasPtrAVFormatContext$fStorableAVCodecContext$fHasPtrAVCodecContext$fStorableAVStream$fHasPtrAVStream$fStorableAVCodec$fHasPtrAVCodec$fStorableAVDictionary$fHasPtrAVDictionary$fStorableAVFrame$fHasPtrAVFrame$fStorableAVPicture$fHasPtrAVPicture$fStorableSwsContext$fHasPtrSwsContext$fStorableAVOutputFormat$fHasPtrAVOutputFormat$fStorableAVInputFormat$fHasPtrAVInputFormat$fStorableAVClass$fHasPtrAVClass $fEqCategory $fOrdCategory$fShowCategory$fReadCategory$fEnumCategory$fStorableAVIOContext$fHasPtrAVIOContext$fStorableAVPacket$fHasPtrAVPacket$fShowAVRational$fEqCameraConfig$fOrdCameraConfig$fShowCameraConfig$fReadCameraConfig$fEqInputSource$fOrdInputSource$fShowInputSource$fReadInputSourceavcodec_get_nameav_get_pix_fmt_nameav_dump_format debugCodecdebugCodecContext pixFmtNamedebugPixelFormatsdebugCodecName av_strerrorav_image_copy_to_bufferav_image_get_buffer_size sws_scalesws_getCachedContextav_free av_malloc free_packet init_packet codec_close av_frame_freeav_frame_get_bufferav_frame_alloc open_codec wrapIOErrorframe_alloc_checkframe_get_buffer_check avPixelStride lineSizeAlign frameLineSizeframeLineSizeT frameAlign frameAlignTframeBufferSizeframeBufferSizeTframeCopyToBufferframeCopyToBufferT stringError SwsCompatible swsPlanes swsStrides sliceHeight ImageInfoimgWidth imgHeight imgFormatswsInitswsResetwithSwsswsScale$fSwsCompatible(,,)$fSwsCompatibleImage$fSwsCompatibleAVFrameEncodingParamsepWidthepHeightepFpsepCodec epPixelFormatepPreset epFormatNameav_image_fill_linesizesav_image_fill_arraysavformat_free_context avio_close avio_openav_write_traileravformat_write_headerav_interleaved_write_frameav_write_frameavformat_new_streamavformat_alloc_output_context2av_guess_formatav_freepav_image_allocavcodec_encode_video2 av_opt_setavcodec_find_encoder_by_nameavcodec_find_encoder defaultH264 defaultParams checkFlag initStream initTempFrameallocOutputContextavio_open_checkavio_close_checkencode_video_checkwrite_header_checkwrite_frame_checkwrite_trailer_check palettizeRGB8palettizeJuicy frameWriterframeWriterRgb av_dict_set close_input decode_video av_read_frameavpicture_get_sizeavcodec_find_decoder_by_nameavcodec_find_decoderav_find_best_streamavformat_find_stream_infoavformat_open_inputdictSet openCamera openInputopenFileframeAsPicture findDecoder checkStreamsfindVideoStream getDecoder openCodecread_frame_check frameReader frameReaderTframeReaderTimeframeReaderTimeT prepareReader AvStreamT withAvFile nbStreams formatNamedurationformatMetadata withStream codecContextcodecMediaTypeNamecodec codecName streamBitratestreamImageSizestreamMetadata dictFoldM_$fApplicativeAvFormat$fFunctorAvFormat$fMonadAvFormat$fMonadIOAvFormat$fMonadReaderAvFormat$fMonadTransAvFormat$fApplicativeAvStreamT$fFunctorAvStreamT$fMonadAvStreamT$fMonadIOAvStreamT$fMonadReaderAvStreamT$fMonadTransAvStreamTJuicyPixelFormatjuicyPixelFormat frameToVectorframeToVectorTtoJuicyTtoJuicy toJuicyImage saveJuicyjuicyPixelStride imageReaderT imageReaderimageReaderTimeTimageReaderTime imageWriter$fJuicyPixelFormatPixelRGBA8$fJuicyPixelFormatPixelRGB8$fJuicyPixelFormatWord8 setLogLevel initFFmpegghc-prim GHC.TypesDoublebaseGHC.BaseNothingJustTrueFalseJcyPxls-3.3.5-add847c2Codec.Picture.ColorQuant palettizetransformers-0.5.5.0Control.Monad.Trans.MaybeMaybeTCodec.Picture.Types DynamicImageImagePixel