	本软件中使用到 "以下" 开源库, 有关协议请参见相关网址! 在遵守协议的情况下您可以随意复制和传播本软件, 但不允许恶意修改和捆绑广告病毒等危害社会的东西!


--------------------[ FFmpeg ]--------------------------------------------------
http://ffmpeg.org/legal.html

--------------------[ Fontconfig ]----------------------------------------------
https://freedesktop.org/wiki/Software/fontconfig/

--------------------[ FreeType ]------------------------------------------------
http://www.freetype.org/license.html

--------------------[ libass ]--------------------------------------------------
https://github.com/libass/libass



================================================================================
当前 FFmpeg 版本源码下载地址: ( 编译参数: --enable-shared --disable-static --enable-memalign-hack --disable-encoders --disable-muxers )
http://www.chken.com/KenPlayer/FFmpeg-Sources/
https://ffmpeg.zeranoe.com/builds/source/ffmpeg/ffmpeg-20160330-git-be746ae.tar.xz

由于编译参数一直在调整, 每次编译可能都使用了不一样的参数, 具体可以在编译后的 FFmpeg DLL 中找到详细参数, 这里不再更新


关于编译成单个DLL

先正常编译成DLL后按以下操作
1.建个文件取名为 FFmpegAll.ver, 内容如下 (按照自己需求添加和删除导出名称):
FFMPEGALL_1 {
        global:
avcodec_open2;
avcodec_close;
avcodec_flush_buffers;
avcodec_find_decoder;
avcodec_decode_video2;
avcodec_decode_audio4;
avcodec_decode_subtitle2;
avsubtitle_free;
av_register_all;
av_init_packet;
av_packet_unref;
av_seek_frame;
av_read_frame;
av_log;
av_log_set_level;
av_pix_fmt_desc_get;
av_get_bytes_per_sample;
av_get_bits_per_pixel;
av_get_default_channel_layout;
av_malloc;
av_freep;
av_frame_alloc;
av_frame_free;
av_frame_unref;
av_dict_get;
av_dict_set;
av_dict_free;
av_reduce;
av_dump_format;
avformat_open_input;
avformat_close_input;
avformat_alloc_context;
avformat_find_stream_info;
avio_alloc_context;
swr_convert;
swr_free;
swr_init;
swr_alloc_set_opts;
sws_scale;
sws_getCachedContext;
sws_freeContext;
av_buffer_create;
av_frame_move_ref;
av_frame_get_buffer;
av_frame_copy_props;
av_hwaccel_next;
        local:
*;
};

2.删除重复的目标文件, 保留一个
	目前发现重复的有 golomb_tab.o log2_tab.o reverse.o
	*res.o 这样的我全删了

3.可以开始生成DLL了 (注意修改您的路径, 因为肯定和我的不一样)

gcc.exe -shared -Wl,--output-def,FFmpegAll.orig.def -Wl,--out-implib,FFmpegAll.dll.a -Wl,--enable-runtime-pseudo-reloc -Wl,-Bsymbolic -Wl,--version-script,您第一步生成FFmpegAll.ver的路径/FFmpegAll.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--gc-sections,--print-gc-sections,--strip-all -static-libgcc -Wl,--nxcompat,--dynamicbase -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o FFmpegAll.dll -L/mingw/lib libavcodec/*.o libavcodec/x86/*.o libavformat/*.o libavutil/*.o libavutil/x86/*.o libswresample/*.o libswresample/x86/*.o libswscale/*.o libswscale/x86/*.o -lws2_32 -lmingw32 -luser32 -lgdi32 -lwinmm -ldxguid -mconsole -lm -lz -lpsapi -ladvapi32 -lshell32 -lSecur32

4.光有DLL还是不够的, 还要生成 LIB 文件
dlltool.exe -m i386        -d FFmpegAll.orig.def -l FFmpegAll.x86.lib -D FFmpegAll.dll
dlltool.exe -m i386:x86-64 -d FFmpegAll.orig.def -l FFmpegAll.x64.lib -D FFmpegAll.dll
