当前位置:首页 » 安卓系统 » android硬解码软解码

android硬解码软解码

发布时间: 2022-06-06 03:45:23

⑴ 在android 平台实现硬解的大侠们,你们是怎么实现硬解码的

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);
}
}

安卓手机硬解和软解哪个更省电

硬件省电,软解流畅,硬解的时候是专门的核在工作,就像转化成mp4模式一样,软解就是软件渲染,当你没有硬件来解码播放的时候,软件自己调用处理器通过程序来解码,所以,你觉得玩mp省电还是手机省电呢?

⑶ 软解码和硬解码有什么区别呢

XUNWEI硬解码就是由显卡核心GPU来对视频进行解码,CPU占用率很低,画质比软解码略差,它的优点就是播放流畅,功耗低,但是也存在着受视频格式限制、功耗大、画质没有软解码好的缺点;
软解码就是由CPU负责解码进行播放,它的优点是不受视频格式限制、画质略好于硬解,但也存在会占用过高的资源、对于高清视频可能没有硬解码流畅的缺点,最后一点也取决于CPU的能力。

⑷ 手机的软解和硬解有什么区别

硬解就是硬件解码,指利用GPU来部分代替CPU进行解码,软解就是软件解码,指利用软件让CPU来进行解码。两者的具体区别如下所示:

硬件解码:是将原来全部交由CPU来处理的视频数据的一部分交由GPU来做,而GPU的并行运算能力要远远高于CPU,这样可以大大的降低对CPU的负载,CPU的占用率较低了之后就可以同时运行一些其他的程序。

软解码:即通过软件让CPU来对视频进行解码处理,而硬解码:指不借助于CPU,而通过专用的子卡设备来独立完成视频解码任务。曾经的VCD/DVD解压卡、视频压缩卡等都隶属于硬解码这个范畴。而现如今,要完成高清解码已经不再需要额外的子卡,因为硬解码的模块已经被整合到显卡GPU的内部,所以目前的主流显卡(集显)都能够支持硬解码技术。

⑸ 安卓上为什么视频软解比硬解画质更好为什么硬解画面的连贯性又更好些

因为硬解是靠gpu,软解靠CPU,硬解受硬件限制有很多视频是不能硬解的,因为硬件支持不了。而软件就是靠软件解码的,可以播放更多格式的视频,但软解受性能限制,CPU不强悍就会不流畅了

⑹ 什么是手机的硬解码和软解码是不是两部手机拥有相同的CPU,硬解码的格式范围就一样请高手仔细讲讲。

软解码是用软件的解码,而不是系统自带的解码方式,软解需要CPU全程参运算,但也因为如此软解码会更耗电。
硬解码使用系统的解码,相对而言省电些也更稳定,不需要第三方解码参与,但是适用范围会少(比如如果系统硬件不支持解rmvb,mkv的话就捉急了...有的第三方播放软解会智能调配)。
两者不可兼得。

非要比优势的话,软解更好,因为支持的格式多,能播放耗电量大但总比播放不了强~
相同硬件硬解码当然也一致`

⑺ Android 怎么知道一个视频播放的APK,用的是软解还是硬解

点量 Android视频直播点播系统APK端是软解硬解自适应的,也可以手动选择软解或者硬解。

⑻ 关于安卓手机就,音乐软硬件解码的问题请教高手,1,什么软解,什么是硬解,它们的原理以及流程是什么

我是来回答问题额

热点内容
安卓手机如何找到iccid码 发布:2025-05-19 14:46:51 浏览:226
编译的内核为什么那么大 发布:2025-05-19 14:45:21 浏览:177
什么控制压缩 发布:2025-05-19 14:28:13 浏览:930
网络服务器忙指什么 发布:2025-05-19 14:28:10 浏览:188
服务器有外网ip 发布:2025-05-19 14:02:02 浏览:833
电脑上c语言编程软件 发布:2025-05-19 13:55:17 浏览:125
php56windows 发布:2025-05-19 13:54:23 浏览:717
如何查看攻击过服务器的ip地址 发布:2025-05-19 13:45:44 浏览:942
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:380