AVFrame.linesize[]を理解するのを手伝ってくれる人はいますか? 質問する

AVFrame.linesize[]を理解するのを手伝ってくれる人はいますか? 質問する

それぞれのセルの意味を調べようとしましたAVFrame.linesize[]が、見つかりません。

私が理解した通りlinesize[0]、幅linesize[1]は高さです。

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

更新しました

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

ベストアンサー1

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

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

ピクセルデータ( )の場合、平面は1つだけ( )RGB24あり、 ()はdata[0]linesize[0] == width * channels640 * 3RGB24

おすすめ記事