我的开源项目工作进展(1)

 一、 本周主要工作与解决的问题

     1.本周从接到CSDN通知的进入开源项目后,一直在恶补H.264的基础。搜了H264编解码的相关知识,但是问题多多。发现H264并没有所谓的帧的概念。最小单位是NAL,然后就是一边看项目的源码一代学习了;

      2.打算完成视频旋转的处理。这里我想出了一个思路;

    思路:
    a.读取H264视频,解码后成YUV视频;
    b.读取YUV视频,内存中char指针指向每一帧的YUV.(这时还不显示视频);
    c.对当前char所指的YUV进行旋转处理;
    d.替换2中内存YUV的内容;
    e.输出显示 ,有可能转成RGB显示;
    3.开始构思如何对YUV视频进行旋转,写了一些代码,正在进行测试,不过,没成功;
    4.安装git,CSDN上创建项目,并用git成功将项目上传到我的CODE(最后一步PUSH时出错,然后强制git push -f成功,原因还不知)

二、同时存在的问题:
    1.项目中的后处理增强不知是只对H264视频还是对所有的视频,包括MPEG-2等?
     老师回复:前/后处理时 没有codec的概念了 它的输入不是编码后的数据,而是编码前/解码
后的数据。 如果你只想做后处理,就不需要了解H.264规范了。
另外 H.264中同样有帧/场概念的。帧/场是由一个或多个slice NAL unit 组成。
     2.后处理增强,不知老师原本打算是对编码后的数据进行处理,还是对解码后的数据进行处理呢(我的思路主要是针对解码后的数据
     老师回复: 都可以的
     3.如果是对解码后的视频进行后处理增强,那哪个文件是解码后的数据呢?解码后是YUV格式么?
     老师回复: 不是一个文件, 输入是VASurface和相关的参数, 代表图像中的一帧。

     4.不知老师这个项目用的编程工具是什么呢?编译器是GCC?我还需要安装些什么呢?(PS:linux下编程我用的是fedora,然后工具是QT)
     老师回复: 代码管理git, 编译器GCC, 编辑器emacs. 你可以根据自己的喜好选择编辑工具。

     5.老师那是否有对该项目(intel-driver)中src中各个.c及相应的.h文件的作用说明的文档么?
    老师回复:
没有, 大都能根据文件名确定。
genxxx_mfd.c 解码
genxxx_vme.c 编码中的运动估计用
genxxx_mfc.c 编码中pack命令用
i965_avc_xxx.c i965_media_xxx.c 给老平台用的MPEG2/H264解码用的
i965_drv_video.c: 初始化驱动,包括VADriverVTable 和 VADriverVTableVPP中
的各个hook function.
i965_render.c i965_output_xxx.c 把VASurface输出到一个display上的
drawable.
object_heap.c: 管理driver中的各个资源,包括VASurface, VAImage, VABuffer
等等。
i965_post_process.c genxxx_vebox_vpp.c 等 实现各平台上的前/后处理
intel_batchbuffer.c Inter平台上处理batch buffer的帮助函数。

三、下一步安排:
 
     1.看项目的代码,学习H264
     2.旋转YUV格式视频,将代码测试成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值