|
RK3288 是否支持 1920 *1080 25fps 的硬解
发表于 2017-5-31 14:47:40
浏览:8911
|
回复:1
打印
只看该作者
[复制链接]
楼主
用的是firefly 的开发板 ,版本号是, RK3288_R-BOX_ANDROID4.4.2_SDK_V1.0.0_120613 ,谁知道这个版本的firefly 的开发板 是否支持 1920 *1080 25fps 的硬解 ,现在通过RTSP 接收网络摄像头的视频流,使用两种方式:
1、从网络过来的h264的数据,直接送 MediaCodec
//------------------------------ 初始化
mCodec = MediaCodec.createDecoderByType("video/avc");
MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc",1920, 1080);
mCodec.configure(mediaFormat,mSurfaceView.getHolder().getSurface(),null, 0);
mCodec.start();
// -----------送数据
int len = length;
byte[] yuv420 = data ;
ByteBuffer[] inputBuffers = mCodec.getInputBuffers();
ByteBuffer[] outputBuffers = mCodec.getOutputBuffers();
int inputBufferIndex = mCodec.dequeueInputBuffer(-1);
if (inputBufferIndex >= 0) {
ByteBuffer inputBuffer = inputBuffers[inputBufferIndex];
inputBuffer.clear();
inputBuffer.put(yuv420, 0, len);
mCodec.queueInputBuffer(inputBufferIndex, 0, len, 0, 0);
}
MediaCodec.BufferInfo bufferInfo = new MediaCodec.BufferInfo();
int outputBufferIndex = mCodec.dequeueOutputBuffer(bufferInfo,1000000l); // 1000000 us timeout , one second
if (outputBufferIndex >= 0) {
mCodec.releaseOutputBuffer(outputBufferIndex, false);
}
会报这样的错误 I/H264_DEBUG( 142): init done status 0, ts_en = 0
I/H264_DEBUG( 142): rockchip libstagefright verson xxxx!
E/H264_DEBUG( 142): ERROR: Param set activation
E/H264_DEBUG( 142): ERROR: Param set activation
E/H264_DEBUG( 142): ERROR: Param set activation
E/H264_DEBUG( 142): ERROR: Param set activation
I/H264_DEBUG( 142): found skipRedundantSlices
I/H264_DEBUG( 142): Width 1920 Height 1088
I/H264_DEBUG( 142): displaywidth 1920, dispalyheigt 1080
I/H264_DEBUG( 142): found skipRedundantSlices
第二种:是把数据加入一个对列,另开一个线程从对列中拿数据,放入解码器,就可以解码,但每三帧会有一帧卡顿。
谁知道这是怎么会事,忙烦给些指导,谢谢 |
|