Android三星Galaxy S2/S3设备位图渲染到ImageView问题
三星安卓设备出现了一个非常奇怪的Android三星Galaxy S2/S3设备位图渲染到ImageView问题,android,ffmpeg,android-imageview,android-ndk-r5,Android,Ffmpeg,Android Imageview,Android Ndk R5,三星安卓设备出现了一个非常奇怪的位图渲染问题。让我简单地讨论一下我所做的事情 我从视频中提取帧,并使用ffmpeg在ImageView中进行渲染。下面的代码给了我一个位图对象,它是从JNI回调返回的 img_convert_ctx = sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, target_width, target_height
位图
渲染问题。让我简单地讨论一下我所做的事情
我从视频中提取帧,并使用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);
接下来,我只是将位图设置为ImageView
。现在的问题是,我得到的位图在除三星S2/S3之外的大多数设备上都能很好地渲染
A>在以下方面工作良好:-屏幕截图1
Nexus 4
HTC One/HTC One x
LG擎天柱
索尼Experia
三星Galaxy S Plus/三星展览(安卓2.3)
问题:
B>三星Galaxy S2和S3:第二个屏幕截图。
对于案例B,如果您注意到,视频的一部分正在右侧渲染
我已尝试将我从JNI
获得的位图保存为SD卡中的jpg,并再次读取该位图以设置ImageView
,结果它正常工作。我不明白我从JNI
回调中得到的原始位图出了什么问题,是三星S2硬件吗?请有人帮我做这件事
如果设备上本地有视频,为什么要使用ffmpeg?您只需使用ThumbnailUtils.CreateVideoThumnail(指向视频文件的路径,MediaStore.Images.Thumbnails.MINI\u-KIND);它需要从特定位置的视频中取出帧,这就是为什么ffmpeg