本章附件是一个清华大学写的关于avs编解码器:
https://download.csdn.net/download/weixin_43360707/87793302
该编码器遵循了stuffing bit:
打开文件夹后,如下:
可以看出这个是个跨平台的工程,提供了windows vs2015的工程文件sln,以及linux的makefile,因为本次我们考虑的是avs encoder,所以进入到lencod:
看到里面有个makefile,这个就是我们的makefile文件。
我们执行
make
结果出现下面错误:
我们进入到文件fast_me.c中,删除PartCalMad前面的inline
重新编译,通过,在bin目录下看到如下:
lencod.exe就是我们要的编码器。
打开encoder.cfg文件,修改:
InputFile = "/workspace/encoder/libx264_640x360_baseline_5_frames-420.yuv" # Input sequence, YUV 4:2:0/4:2:2
SourceWidth = 640 # Image width in Pels
SourceHeight = 360 # Image height in Pels
TraceFile = "trace_enc.txt"
ReconFile = "test_rec.yuv"
OutputFile = "test-cai.avs"
然后执行:
lencod.exe -f encoder.cfg就可以正常编码了:
用mediainfo查看编码后的视频: