MPEG2代码分析Part1 初始化过程与外部框架

时间:2022-05-28 19:28:19

所使用的Mpeg2分析的代码:Mpeg2Peter.代码编写时间:1996年。

程序主入口 mpeg2enc.c Line 43 main()

mpeg2encode 可执行程序的使用方法为:mpeg2encode in.par out.m2v,如果console参数数目不为3的话,即不申明par文件跟输出文件的时候,mpeg2encode不接受。

in.par文件是编码参数文件,里面包含了编码时用到的参数值大小。

在接受到两个输入之后,程序用readparmfile()来读取par文件中设置的参数大小。结束之后利用readquantmat()来取得量化矩阵中设置的量化表信息。

参数化部分结束之后,调用init()来进行编码器的初始化工作。包括图像大小,luma参数大小,chroma参数大小,缓冲区的分配,mb信息的地址分配,block的分配以及统计信息输出文件的打开。

接下来进入编码过程,用putseq()来触发这一过程。这一过程的祥细内容在后续的代码分析里我们会继续进行。它也是整个程序的核心部分的接入点。

结束之后,关闭打开的输出文件和统计信息文件。

正常返回退出。