Samsung Android デバイスの非常に奇妙なBitmap
レンダリングの問題で立ち往生しています。私が行ったことを簡単に説明しましょう。
ビデオからフレームを取得し、ImageView
ffmpeg を使用してレンダリングしています。次のコードは、コールバックから返されるビットマップ オブジェクトを提供しJNI
ます。
img_convert_ctx = sws_getContext(pCodecCtx->width,
pCodecCtx->height, pCodecCtx->pix_fmt, target_width,
target_height, PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL,NULL);
sws_scale(img_convert_ctx,(const uint8_t* const *)
pFrame->data,pFrame->linesize, 0, pCodecCtx->height,pFrameRGB->data,
pFrameRGB->linesize);
次に、 を に設定するだけBitmap
ですImageView
。問題は、Bitmap
Samsung S2/S3 以外の最大デバイスで非常にうまくレンダリングされることです。
A>うまく機能しています:- スクリーンショット 1
- ネクサス4
- HTC One / HTC One x
- LGオプティマス
- ソニーエクスペリア
- Samsung Galaxy S Plus / Samsung Exhibit (Android 2.3)
問題:- B>Samsung Galaxy S2 & S3: 2 番目のスクリーン ショット。
ケース B の場合、気が付くとビデオの一部が右側にレンダリングされています。
Bitmap
から取得したJNI
ものを jpg として SD カードに保存し、それを再度読み取って設定してみましたがImageView
、動作します。コールバックから取得した生のビットマップの何が問題なのかわかりません。Samsung JNI
S2 ハードウェアの問題ですか? 誰かがこれについて私を助けてください。