问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何判断安卓系统支不支持硬件解码

发布网友 发布时间:2022-10-15 15:09

我来回答

3个回答

热心网友 时间:2023-10-09 13:33

只要有gpu就都支持硬件解码,目前的只能手机都支持。

热心网友 时间:2023-10-09 13:33

1、视频尺寸
一般都能支持176X144/352X288这种尺寸,但是大一些的,640X480就有很多机子不行了,至于为什么,我也不知道。当然,这个尺寸必须和摄像头预览的尺寸一致,预览的尺寸可以枚举一下。
2、颜色空间
根据ANdroid SDK文档,确保所有硬件平台都支持的颜色,在摄像头预览输出是YUV12,在编码器输入是COLOR_FormatYUV420Planar,也就是前面代码中设置的那样。 不过,文档终究是文档,否则安卓就不是安卓。
在有的平台上,这两个颜色格式是一样的,摄像头的输出可以直接作为编码器的输入。也有的平台,两个是不一样的,前者就是YUV12,后者等于I420,需要把前者的UV分量颠倒一下。
byte[] i420bytes = null;
private byte[] swapYV12toI420(byte[] yv12bytes, int width, int height) {
if (i420bytes == null)
i420bytes = new byte[yv12bytes.length];
for (int i = 0; i < width*height; i++)
i420bytes[i] = yv12bytes[i];
for (int i = width*height; i < width*height + (width/2*height/2); i++)
i420bytes[i] = yv12bytes[i + (width/2*height/2)];
for (int i = width*height + (width/2*height/2); i < width*height + 2*(width/2*height/2); i++)
i420bytes[i] = yv12bytes[i - (width/2*height/2)];
return i420bytes;
}
3、输入输出缓冲区的格式
SDK里并没有规定格式,但是,这种情况H264的格式基本上就是附录B。但是,也有比较有特色的,它就是不带那个StartCode,就是那个0x000001,搞得把他编码器编出来的东西送给他的解码器。
ByteBuffer outputBuffer = outputBuffers[outputBufferIndex];
byte[] outData = new byte[bufferInfo.size + 3];
outputBuffer.get(outData, 3, bufferInfo.size);
if (frameListener != null) {
if ((outData[3]==0 && outData[4]==0 && outData[5]==1)
|| (outData[3]==0 && outData[4]==0 && outData[5]==0 && outData[6]==1))
{
frameListener.onFrame(outData, 3, outData.length-3, bufferInfo.flags);
}
else
{
outData[0] = 0;
outData[1] = 0;
outData[2] = 1;
frameListener.onFrame(outData, 0, outData.length, bufferInfo.flags);
}
}

热心网友 时间:2023-10-09 13:34

视频播放哪个都不省电,关键看你手机配置达到什么程度
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
iPhone XR电量百分比怎么设置 Django如何使用网页嵌套网页(2023年最新解答) 社保之前工作缴了 后面工作不缴。自己要怎么续上?自己缴要缴多少?每... 壁挂炉数字不亮了怎么回事了解壁挂炉数字不亮的原因及解决方法_百度知 ... 单反长镜头和短镜头什么区别 ai的剪切蒙版快捷键是什么 自学当程序员需要哪些基础 程序员,需要学什么课程 想当一名出色的程序员数学必须要很好吗 华为路由器192.168.1.1怎样设置? 让身体变白的小妙招 怎么才能身体变白 我要昆明到上海的折扣机票6月25号的 昆明到上海4月10号有些什么航班 吉祥航空HO1122航班到达上海虹桥哪个航站楼? 航班H01122停哪个航站楼 9月29日7:50至22:50吉祥航空ho1122航班从昆明飞往上海是什么情况_百度问一问 oppo游戏中心新版本如何签到 职高的美术生是从小学的美术么 如何将照片传到网上共享给别人 公安部提示不存在国际红绿灯标志 新版红绿灯会取消吗 “括弧笑”是什么意思? 为什么我绑定QQ的连接点击不了呢? 大班保育员个人计划 提高和效率,水平,产量,质量都可以搭配 搭配()质量 以前的手机号成了空号,有,但密码忘记了怎么找回 红米2A会出现卡顿。为何??。 红米2a玩游戏超级卡,给个准确的解决方法 工业生产中常见的微生物有哪些 吃什么补睾丸最好 睾丸怎么补才能提高性功能用什么药 睾丸怎么补提高性功能 我姓李·想为未来的儿子取个名字·叫李x然··大家帮忙想想··顺口一点的·也比较大气的··越多越好·· 冰箱创意广告词_冰箱的经典广告词 李小龙功夫高,性格暴力吗,为什么 听说哥哥你功夫高是什么歌? 武松的功夫到底有多高,梁山上能打败他的人有多少呢? 正确跑步应牢记的注意事项 跑步注意事项 跑步注意事项有哪些 跑步注意事项是什么 安阳附近一日游去那里好?带孩子去玩,价格多少? 安阳周边适合孩子玩儿的地方 暑假想和孩子一家三口3--5天自助游,去哪儿合适?我在河南安阳 高中生物采用假说演绎法的实验 高中生物中哪些科学家使用假说演绎法哪些 永川哪里有玻璃划痕修复店 什么叫成轴对称 爱的方式不一样,结果也不一样,爱情好麻烦。