JM8.6中enc_frame_picture, enc_pictures的理解

JM8.6中enc_frame_picture, enc_pictures的理解

在frame_picture函数中有这么一句:

同样在field_picture中有这么一句:

从上面我们似乎可以看出一点东西, enc_picture就是指的图像, 这个图像的含义比较广, 包括了frame_picture, top_picture和bottom_picture. 所以我们看到在代码中有将enc_frame_picture, enc_top_picture和enc_bottom_picture分别赋值给enc_picture. 我们猜想, 因为在frame_picture() 和field_picture() 两个函数中最终都是调用的code_a_picture()函数, 不管是帧图像, 顶场, 还是底场, 都是利用这个函数来进行编码的, 所以我们猜想其实enc_picture在以后的编码过程中一定会经常用到, 并且对于enc_frame_picture, enc_top_picture和enc_bottom_picture这三个函数只是在frame_picture() 和field_picture()两个函数中出现, 其他函数中应该不多了

  1. enc_frame_picture的出场

通过上面的图我们可以发现, 虽然enc_frame_picture在其他函数也有出现, 但是在其他函数中有时是进行内存分配或释放,有时是作为一个判断的依据(enc_picture!= enc_frame_picture),这些都不是理解enc_frame_picture 的关键, 关键在于对enc_frame_picture的赋值操作基本全部出现在frame_picture()函数中, 从上面的红框中可以看出来, 这也印证了我们的猜想.

  1. enc_top_picture的出场

可以发现enc_top_pictureenc_frame_picture类似,

  1. enc_bottom_picture的出场

    这个更不用说了,enc_top_picture是一样的,

    通过上面的分析, 可以发现我们的猜想是正确的.真正有用,担任中坚力量的是enc_picture函数啦

    20114119:56:11

    JM8.6中函数frame_picture()和函数field_picture()的对比分析

从上图中的标注我们可以看出frame_picture()和field_picture()是基本上对应的, 并且对enc_frame_picture, enc_top_picture和enc_bottom_picture三个变量的操作也是类似的,

 

2011年4月11日10:50:10

JM8.6中init_frame()函数和init_field()函数对比分析

通过对比我们可以发现这两个函数是类似的

 

原文地址:https://www.cnblogs.com/xkfz007/p/2612120.html