作者回复: 1、一般芯片读取效率在16字节对齐时最高,芯片能一次性读取16字节的数据,16字节对齐之后可以充分利用芯片的性能,速度更快。当然并不是stride一定是16字节对齐的,有的也32字节对齐,甚至64字节对齐。 2、图像存储在内存中一般是个一维数组,一般我们需要一行一行像素读取,不太会一列一列读取。因此高度方向上一般不对齐。 3、不会花屏,但是会有多余的不是图像的部分,一般不会留着这个padding部分。
作者回复: 是的。回答的很对。一般来说除非要求绝对固定,不然不会填充数据。毕竟浪费带宽。你的回答考虑地很全面。
作者回复: 会详细介绍。
作者回复: 看起来是在没有IDR之前就出了非IDR帧,导致第一帧解码不了。
作者回复: 一般来说: 1、对清晰度要求高,可以选择变化的码率。 2、RTC场景,一般使用固定码率。
作者回复: 2、位深是一个像素点中某一个通道(比如R通道、G通道、B通道)的像素值的二进制位的数量。
作者回复: 对于播放器来说,实时码率一般是一秒钟多少帧,从编码好的码流中读取这个多帧数据,就知道总共多少字节大小了,码率就是总字节数除以一秒。对于实时发送的视频流一般你可以知道你一秒钟发送了多少字节的,那码率也就知道了。对于编码器来说它一秒钟输出多少肯定也知道,很容易算码率。对于普通人看一个视频文件的码率。可以直接用文件总大小除以总时长,但是一般视频文件里面还有音频数据,所以得到的是视频和音频的总码率,通常音频的码率相比视频小很多,可以近似认为是视频的码率。
作者回复: 这个思路有点像webrtc中的paced_sender的思路。但是一般来说我们还是会使用提高QP和降低QP的方式来实现码率基本恒定。提高QP画面会变模糊一些,会有可能出现马赛克,但是码率会降低。降低QP画面会变清晰。码率也会提高。
作者回复: 是的
作者回复: 是的,没错