問題タブ [libyuv]
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-studio - LibYUV を Android Studio プロジェクトに統合する
Android Studio プロジェクトに libyuv ライブラリを含めるにはどうすればよいかと考えていました。コンパイル済みのバイナリ ファイルである「libyuv_static.a」ファイルがありますが、プロジェクトに含めるためにあらゆることを行いました。jniLibs という名前の src/main 内にフォルダーを作成し、フォルダー内にバイナリ ファイルを配置しましたが、実行時にライブラリが読み込まれず、次のようになります。
原因: java.lang.UnsatisfiedLinkError: ローダー dalvik.system.PathClassLoader[dexPath=/data/app/com.example.myproject-1.apk,libraryPath=/data/app-lib/com から libyuv2rgb を読み込めませんでした。 example.myproject-1]: findLibrary が null を返しました
. 誰かが彼/彼女の経験を共有してもらえますか.
yuv - libyuv::NV21ToI420 は色を台無しにします
libyuv を使用して NV21 イメージ形式を I420 に変換しています。
入力のサイズは 640x480 です。
ImageMagick の表示を使用して、ダンプされたファイルを表示します。
ただし、表示された画像では色がめちゃくちゃです。画像の他の側面は問題ないように見えます。
コードを間違えているのではないかと思っています。おそらく私のストライド計算は正しくありません。
カスタム関数を使用して V1U1V2U2... を U1U2...V1V2... として再配置し、出力をダンプすると、正常に表示されることに注意してください。ただし、neon、SSE2などの最適化が行われているため、libyuvを使用することを好みます。よろしく。
android - YUV420Sp 画像を反時計回りに 90 度回転
YUV420SP 画像を反時計回りに 90 回転させたい。画像サイズは 640*480 なので、回転した画像サイズは 480*640 になりたくないので、480*480 データ (または他の正方形サイズ) を抽出してそのデータを回転させたいと思います。
しかし、この答えは時計回りに 90 回転します。
画像のサイズを変更せずに、YUV420Sp データを 90 度 (反時計回り) または 270 度 (時計回り) 回転させる機能を誰かが提案できますか?
android - NV21形式のAndroidカメラプレビューデータをlibyuvでi420に変換するには?
次の方法で NV21 形式のプレビュー データを受け取ります。
libyuv でI420data
形式に変換したい。それは私が必要としているようです。NV21ToI420
ConvertToI420
include/libyuv/convert.h
それを行う例はありますか?
c - Android フロントカメラ用に libyuv::I420Scale でミラーを実装する方法は?
ミラー - 水平方向の反転 画像を水平方向に反転するためのミラー機能。Web カメラの「セルフ ビュー」に役立ちます。
ミラー機能は、I420Scale および ARGBScale 関数で負の幅および/または高さを渡すことによって実現することもできます。
I420Scale
ただし、次のような実装を見ました。
もしdst_width <= 0 || dst_height <= 0
、その後return -1
;
それは冗談Mirror functionality can also be achieved with the I420Scale by passing negative width and/or height
ですか?
でミラー機能を実装する方法はI420Scale
?
video - FFMPEG YUV を使用したビデオ ファイルの連結の問題
3 つの動画を FFMPEG で連結しています。
連結の 1 番目と 3 番目のビデオは、FFMPEG を使用して AVI ファイルから取得され、MP4 に変換されました。
コーデック情報は以下のとおりです。
連結の 2 番目のビデオは、FFMPEG を使用してコンパイルされます。このビデオを作成するためにFFMPEGでフレームをコンパイルしています。
そのコーデック情報は以下のとおりです。
ご覧のとおり、ビデオは同じコーデック、解像度、フレーム レートを共有しています。
彼らが共有していない唯一のものは、デコードされた形式です。1 つは 4:4:4 で、もう 1 つは 4:2:2 です。
このリンクからYUVの意味を理解していると思います https://msdn.microsoft.com/en-us/library/windows/desktop/dd391027%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
concat demuxerを使用してこれら 3 つのビデオを連結すると動作しますが、最終ビデオを見ようとすると、最初のファイルが正しく再生され、最終ビデオの 2 番目のビデオが空白になり、3 番目のビデオが表示されます。も問題なく再生されます。
私の質問は、3 つの MP4 ファイルを連結する方法ですが、2 番目のビデオのデコードされた形式と思われるものを 4:2:2 に変更する方法です。フレームをコンパイルすると、YUV フォーマットを変更できると思いますが、まだ方法がわかりません。
android - ビットマップの透明ピクセルが白で表示される
C コードを使用frame
して gif ファイルから取得していますが、 ffmpeg
libraryを使用して正常に動作しています。次に、このメソッドを使用してav_read_frame
、返された画像をこの形式 format から変換します。BGRA to ARGB
libyuv::ABGRToARGB
Java部分bitmap
では、それを透明なピクセルに入れると、ImageView
白く描かれます。
返されたものをループしてbitmap pixels
各ピクセルをチェックしても、透明であることがわかります!
何も起こらず、まだ白いままです。次に、すべての透明ピクセルを TRANSPARENT に変換しました!! 何を推測しますか、それは働いています!
なぜそれが起こるのか理解できません。どんな助けでも大歓迎です。
編集1: ビットマップからすべてのピクセルを取得し、何もせずに再度設定しましたが、それも機能しました!?