Android三星Galaxy S2 / S3设备位图渲染到ImageView问题

时间:2013-09-04 11:40:36

标签: android ffmpeg android-imageview android-ndk-r5

我遇到了与 Samsung Android设备的非常奇怪的Bitmap渲染问题。让我简单地讨论一下我所做的事情。

我从视频中获取帧并使用ffmpeg在ImageView中呈现它。下面的代码为我提供了一个位图对象,作为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在除三星S2 / S3之外的最大设备中呈现得非常好。

A>运作良好在: - 屏幕截图1

  1. Nexus 4
  2. HTC One / HTC One x
  3. LG Optimus
  4. Sony Experia
  5. 三星Galaxy S Plus /三星展(Android 2.3)
  6. 问题: - B>三星Galaxy S2& S3:第二个屏幕截图。

    对于案例B,如果您注意到,视频的一部分将在右侧呈现。

    我已尝试将Bitmap我从JNI保存为SD卡中的jpg并再次阅读以设置ImageView并且它有效。我不明白我从JNI回调获得的原始Bitmap出了什么问题,是不是有三星S2硬件?请有人帮我这个。

    With Nexus 4/HTC/XOLO/Sony/Samsung S plus

    With Samsung S3/S3

0 个答案:

没有答案