0

Samsung Android デバイスの非常に奇妙なBitmapレンダリングの問題で立ち往生しています。私が行ったことを簡単に説明しましょう。

ビデオからフレームを取得し、ImageViewffmpeg を使用してレンダリングしています。次のコードは、コールバックから返されるビットマップ オブジェクトを提供し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。問題は、BitmapSamsung S2/S3 以外の最大デバイスで非常にうまくレンダリングされることです。

A>うまく機能しています:- スクリーンショット 1

  1. ネクサス4
  2. HTC One / HTC One x
  3. LGオプティマス
  4. ソニーエクスペリア
  5. Samsung Galaxy S Plus / Samsung Exhibit (Android 2.3)

問題:- B>Samsung Galaxy S2 & S3: 2 番目のスクリーン ショット。

ケース B の場合、気が付くとビデオの一部が右側にレンダリングされています。

Bitmapから取得したJNIものを jpg として SD カードに保存し、それを再度読み取って設定してみましたがImageView、動作します。コールバックから取得した生のビットマップの何が問題なのかわかりません。Samsung JNIS2 ハードウェアの問題ですか? 誰かがこれについて私を助けてください。

Nexus 4/HTC/XOLO/Sony/Samsung S plus 搭載

サムスン S3/S3 の場合

4

0 に答える 0