4.qscale_table
QP表指向一块内存,里面存储的是每个宏块的QP值。宏块的标号是从左往右,一行一行的来的。每个宏块对应1个QP。
注:宏块大小【一般】是16x16的。
原文中是 :注:宏块大小是16x16的。【原文此处说得太绝对,感觉有问题】
子宏块的概念
宏块的QP值是什么意思?
总之:QP的值越小,图像质量越高,但是压缩率越低。
>>4的作用:
如果是对整数进行右移4位的操作,它意味着将这个整数的二进制表示向右移动4位。这相当于将这个数除以2的4次方(即16)并取整。
5.motion_subsample_log2
1个运动矢量所能代表的画面大小(用宽或者高表示,单位是像素),注意,这里取了log2。
即1个运动矢量代表16x16的画面的时候,该值取4;1个运动矢量代表8x8的画面的时候,该值取3…以此类推
所以:一个宏块中可能有多个运动矢量。
6.motion_val
运动矢量表存储了一帧视频中的所有运动矢量。
7.mb_type
宏块类型表存储了一帧视频中的所有宏块的类型。
每个宏块对应一个宏块类型变量。
AVFrame查看工具VideoEye使用说明:
https://blog.youkuaiyun.com/leixiaohua1020/article/details/34553607?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170383732516800213023422%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170383732516800213023422&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-34553607-null-null.nonecase&utm_term=VideoEye&spm=1018.2226.3001.4450