我是靠谱客的博主 拉长大山,最近开发中收集的这篇文章主要介绍4412支持MFC硬编码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

手里项目需要通过网络实时传输图像信息,但是由于图像分辨率太高,所以在传输的时候,每一帧图像的传输都需要很长时间,再到客户端解析。拖泥带水的感觉真的非常不好。而使用的ARM芯片本身是能够支持H.264格式硬编码的,所以尝试一下,看看能不能解决点问题。

源代码是这个兄弟的:点击打开链接,但是因为Linux内核版本不同,导致使用的Android系统的版本也不一样,所以下载下来的东西并不能直接使用,需要把SsbSipMfcApi.h SsbSipMfcEncApi.c mfc_interface.h和mfc_error.h,重新替换成所使用的Linux内核版本对应的,Android系统版本的相应的文件。文件目录再Android源码根目录/device/samsung/multimedia/codecs/video/exynos4/mfc/enc下。然后需要稍微修改一下SsbSipMfcEncApi.c文件。如下

  #include <stdio.h>
  #include <stdlib.h>
  #include <unistd.h>
  #include <string.h>
  #include <fcntl.h>
   
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/ioctl.h>
  #include <sys/mman.h>
  #include <math.h>
   
  #include "mfc_interface.h"
  #include "SsbSipMfcApi.h"
 #if 0
  #include <utils/Log.h>
 /* #define LOG_NDEBUG 0 */
  #undef  LOG_TAG
  #define LOG_TAG "MFC_ENC_APP"
#endif
   
  #define _MFCLIB_MAGIC_NUMBER    0x92241001 

  void LOGE(char *m, ...)
  {
      printf(m);
  }
   
  void LOGV(char *m, ...)
  {
      printf(m);
  }
   
  void LOGI(char *m, ...)
  {
      printf(m);
  }
  void *SsbSipMfcEncOpen(void)         
  {                                    
      int hMFCOpen;                    
      _MFCLIB *pCTX = NULL;            
      unsigned int mapped_addr;        
      int mapped_size;                 
      struct mfc_common_args CommonArg;
                                       
      //LOGI("[%s] MFC Library Ver %d.%02d",__func__, MFC_LIB_VER_MAJOR, MFC_LIB_VER_MINOR);

原因很简单,LOGV这些东西在现有的环境下是没有的。你可以直接把所有的都删掉,也就是不要调试信息。或者像上面一样自己造一个。虽然能够实现编码,但是我并没有真正的了解h264这种编码方式,后续需要继续学习。编码前51Mb的东西,编码后只有761Kb。真的太强大了。

还有需要会点Linux内核的配置,在我使用的3.0.15版的Linux内核上,MFC的操作方式支持两种,一种是古老的MFC作为单独的设备节点来使用,另外一种时集成到V4L2架构中的。当前实现的是使用古老方式MFC作为单独的设备节点来使用。V4L2现在对我来说有点复杂,里面的参数太多了。

使用MPlayer播放yuv格式和264格式文件的方法

mplayer -demuxer rawvideo -rawvideo w=176:h=144 test.yuv

mplayer -fps 30 test.264


参考:

基于V4L2 MFC 视频编解码

嵌入式专题: S5PV210 - MFC硬件解码

还有很多..........

最后

以上就是拉长大山为你收集整理的4412支持MFC硬编码的全部内容,希望文章能够帮你解决4412支持MFC硬编码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部