x265 エンコーダー ( https://x265.readthedocs.org/en/default/api.html ) を使用したエンコード処理中に、新しい画像がエンコードされた後に、画像のピクセル値 (具体的には Y チャネルの値) を .txt ファイルに書き込みたい(理由は重要ではありません)。そのために、クラス x265_picture の「planes」変数を使用しています。
x265_picture* pic_out; # variable where encoded image is to be stored
... # encoding process
uint8_t *plane = (uint8_t*)pic_out->planes[0];
uint32_t pixelCount = x265_picturePlaneSize(pic_out->colorSpace, m_param->sourceWidth, m_param->sourceHeight, 0);
ofstream out_file("out_file.txt");
for (uint32_t j = 0; j < pixelCount; j++) # loop for all pixels
{
int pix_val = plane[j];
out << pix_val;
}
ofstream.close()
しかし、出力データを画像に再構築すると、
それ以外の
または別の例:
それ以外の
(色は重要ではありません。「縞模様」が問題です)
出力ファイルには、(明らかに) 正しい順序 (89、90、102、98 など) のデータの間隔があり、その後に常に等しい数の長いシーケンス (235、235、235、235、または 65、65 など) が続くように見えます。 65,65...)、ストライプを「作成」します。誰かが私に欠けているものを教えてもらえますか?