java曾无法实现,需要使用C/C++来实现,可以参考opencore里面的方法

解决方案 »

  1.   

    你是源码开发还是sdk开发?
    SDK开发,估计yuv做不到, native使用surface也有限制的,push buffer模式根本不行,没权限使用的。
      

  2.   

    现在想用源码进行开发,但是不知道怎么在JNI层进行操作,我已经在JNI层获取到了YUV420格式的数据了,请问该怎么显示YUV数据呢?
      

  3.   

    2.1 还是2.2?
    2.2及之后,可以参考下源码中的stagefright的softwareRender, 方法不算太难。另外,你开发的是走et的,还是作为厂商自带软件<针对特定机型特定方案的>
    这很重要, 前者要考虑平台兼容性及版本问题,比较难, 后者实际很简单,源码中编译,可以拿到surface的接口的。
      

  4.   

    清搂住参考这个帖子:
    http://topic.csdn.net/u/20110113/12/2c143c1a-4930-4f8a-a6fd-9c5c3c19cabf.html
      

  5.   

    OExpress能否给个例子呢,我对opencore不熟悉,你给我发的地址我看了,但是还没有找到怎么将YUV数据copy到surface里面,谢谢大侠了!
      

  6.   

    就是个MEMCPY的过程很简单的,具体参考MEDIAOUTPUTNODE里面的代码
      

  7.   

    是pv_media_output_node.cpp文件吗?
      

  8.   

    我做过直接显示YV12。不过是在JNI里用OpenGL ES直接用Fragment Shader实时转换的。
      

  9.   

    大侠,你就告诉我在MediaoutputNode的具体地方吧,我找了好长时间都没有找到,我真的没有找到怎么将YUV数据拷贝到surface里的,谢谢大侠了!