[FFmpeg-devel] [PATCH] avformat: avisynth demuxer rewrite

Ramiro Polla ramiro.polla at gmail.com
Sat Oct 20 18:53:32 CEST 2012


Hi,

On 09/22/2012 05:27 PM, d s wrote:
> Dear ffmpeg-devel,
>
> The current Avisynth demuxer is misnamed; rather, it would be more
> appropriately described as a VfW demuxer. This email contains a
> rewrite of the demuxer that uses the Avisynth library directly, with
> the following benefits:
>
> 1) useful error messages instead of video clips with error text
> 2) no dependency on VfW, and hence no requirement for the related SDKs/libraries
> 3) able to support AvxSynth (https://github.com/avxsynth/avxsynth/wiki) on Linux
>
> I have tested the demuxer on both Windows and Linux and verified that
> I was able to ffprobe YV12, YUY2, and RGB32 scripts as well as encode
> them to rawvideo.
>
> Review and comments would be appreciated.

Will there be any change in the way avisynth is used in ffmpeg's command 
line? This change could use some documentation.

> --- configure.orig	2012-06-07 17:01:19.000000000 -0400
> +++ configure	2012-09-10 02:07:56.300063208 -0400
> @@ -3204,7 +3204,9 @@
>  check_mathfunc truncf
>
>  # these are off by default, so fail if requested and not available
> -enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
> +enabled avisynth   && { { check_lib2 "windows.h" LoadLibrary && check_header "avisynth_c.h"; } ||
> +                        { check_lib2 "dlfcn.h" dlopen -ldl && check_header "avxsynth_c.h"; } ||
> +                        die "ERROR: avisynth and/or LoadLibrary/dlopen not found"; }

Why is avxsynth_c.h not installed with avxsynth? Where can users find 
instructions on how to properly install the library so it is 
detected/used by ffmpeg? This should be documented somewhere. Same thing 
goes to finding avisynth_c.h.

Using avxsynth_c.h provided with avxsynth I get some errors such as:
error: unknown type name ‘avs_create_script_environment_func’

I can try again once I can actually test.

>  enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
>  enabled frei0r     && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
>  enabled gnutls     && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init


More information about the ffmpeg-devel mailing list