26

の各セルが何を意味するのかを見つけようとしAVFrame.linesize[]ましたが、見つかりませんでした。

私が理解したようlinesize[0]に、幅linesize[1]は高さです。

  1. 私が正しければ、他のセルとはどういう意味ですか?
  2. linesize avcodec_decode_video2(codecCtxDecode, frameDecoded, &frameFinished, &packet);[0] だけが値を持ち、他のセルが常に 0 になるのはなぜですか?

更新しました

AVFrame.data[i] と AVFrame.linesize[i] は、行の特定の色と行の長さのデータだと思いますが、正しいですか?

4

2 に答える 2

36

などの平面データの場合、YUV420には- 番目の平面linesize[i]のストライドが含まれます。i

たとえば、フレームにはコンポーネントへの640x480 data[0]ポインターが含まれ、平面へのポインターが含まれます。この場合、、(および平面が平面の半分より小さいため)Ydata[1]data[2]UVlinesize[0] == 640linesize[1] == linesize[2] == 320UVY

ピクセルデータ ( RGB24) の場合、プレーン ( data[0]) とlinesize[0] == width * channels( 640 * 3for RGB24)は 1 つだけです。

于 2012-11-09T08:03:36.640 に答える