問題タブ [grafika]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - SurfaceTexture の AttachToGLContext と Surface
SurfaceTexture から attachToGLContext メソッドを呼び出したい場合、Surface を再作成する必要があるかどうかを調べようとしています。Androidのドキュメントを調べてみましたが、言及がありません。
私が知る限り、Surface は OpenGL コンテキストの外部テクスチャとして機能する SurfaceTexture のバッファであるため、そうではないと推測しています。そのため、SurfaceTexture を別のコンテキストにアタッチしても、これには影響しません。
誰かが確かに知っていますか?
android - MediaCodec でエンコードされたビデオの下部に緑色のバーがあり、クロミナンスが台無しになっている
Grafikaからプロジェクトを開始し、それを変更しました。Camera
からプレビューをキャプチャし、同時に異なる解像度でビデオに連続的にエンコードするフレームワーク(オリジナルとあまり変わらない)を持っています。
MediaCodec
(エンコード用) は、 GLESCOLOR_FormatSurface
を使用して照会された Surface にレンダリングできるようにするために使用するように構成されています。getInputSurface()
メディア形式は MIME タイプに設定されていますvideo/avc
ほとんどの電話では、このセットアップは完全に機能します。
ただし、一部の携帯電話では、エンコードされたビデオのクロミナンス値がわずかに歪んでおり、下部に緑色のバーが表示されます。
現在、エンコーダー サーフェスの解像度は 640x360 です。サーフェスにレンダリングするように選択された EGLConfig は、32 ビット RGBA 形式をサポートします。
プレビューはすべての電話で完璧です。
したがって、アプリケーション側または OS フレームワーク側のいずれかで、エンコーダーのパラメーターに問題があると想定しています。
Android 4.4で発生しています。- 5.* で再現できるかどうかは不明です。
] 2
android - Texture2dProgram - sTexture の glUniform が定義されている場所
Texture2dProgram.java のコードを見ると、sTexture のユニフォームが定義されている場所が見つかりません。aPosition などの他のものは、コンストラクターで定義されます。
openglの初心者であるため、フラグメントシェーダーが現在のテクスチャユニットを使用しているように見え、テクスチャはそのテクスチャユニットにバインドされているため、sTextureはデフォルトの事前定義された名前です。
android - Surface からのエンコード時の Android MediaCodec SIGSEGV エラー
私は、Google/Andy McFadden の Grafika サンプル アプリケーションに大きく基づいたコードを使用しています。
断続的な低レベルのクラッシュが時々発生し、スタック トレースは次のようになります。
これは、5.1.1 を実行している Nexus 6 でした。
これは私の TextureMovieEncoder の handleFrameAvailable メソッド内で発生していると確信しています。これは次のようになります。
ここで、mVideoEncoder は MediaCodec インスタンスを入力サーフェスでカプセル化します。
このスタック トレースから手がかりを特定できる人はいますか?