0

BITMAPINFOHEADER構造によって報告され、RichFLV などの多くの FLV メタデータ エディターによって検証された400 x 171 ピクセルの特定の FLV (VP6/LAME) ファイルがあります。

ただし、ISampleGrabber結果のサンプル (ピクセルあたり 3 バイト) を使用してそこからサンプルを取得すると、予想どおり 205,200 バイト (400 x 171 x 3) ではなく、204,000 バイト (400 x 170 x 3) しかありません。

400 x 170 相当のデータのみを 400 x 171 オブジェクトのコンストラクターに押し込もうとしていると、Bitmapかなり動揺して A/V 例外が発生します。

これをハックして、「近いが期待どおりではない」サンプルサイズを検出できますが、その過程で垂直方向の高さの 1 ピクセルがどこに移動したかを知りたいです。私の推測では、幅/高さの奇数値をサポートせず、それを削除している危険なフィルターですが、これを確認する簡単な方法がわかりません。

何が起こっているのか、それを確認する方法を知っている人はいますか?

(PS: 私は C/C++ 開発者ではないので、過度の使用を伴う解決策は避けてください)

4

1 に答える 1

0

私の最善の推測は、危険/バグのある FLV フィルターです。別の FLV フィルターを試すとどうなりますか? 他の FLV ファイルで不適切なビデオ サイズが報告されますか?

于 2009-08-29T03:32:47.203 に答える