最近在搞264压缩,不知道难度有多大?

简介: <p>前期搞的cpci视频采集卡已经完成,不过对于h264压缩部分没有理解,用的代码都是在评估板上抄的,下面要深入研究一下了。</p> <p>有兴趣的我们一起研究吧。</p> <p> </p> <p>下面是linux下的一段代码,慢慢开始调试了。。。。</p> <p><br> int tw2835_encoder_hd1(unsigned char *ptr, struct ct

前期搞的cpci视频采集卡已经完成,不过对于h264压缩部分没有理解,用的代码都是在评估板上抄的,下面要深入研究一下了。

有兴趣的我们一起研究吧。

 

下面是linux下的一段代码,慢慢开始调试了。。。。


int tw2835_encoder_hd1(unsigned char *ptr, struct ct656_vbi_ext_info *vbi_data, int *tlength)
{
 int inx;
 int tVBI;
 int length;
 AVFrame pict;
 int k;
 for(k = 0; k < 2; k++) {
  tVBI = (vbi_data->field[k].data[1])&0xff;
  inx = tVBI&0xf;
  
  if((tVBI&0xf0) != 0xe0) {
   return -1;
  }

  pict.data[0]=(unsigned char*)(ptr+k*(image_width*image_height));
  pict.data[1]=(unsigned char*)(ptr+(frame_width*frame_height)+     k*(image_width*image_height/2));
  pict.data[2]= 0;
  length=favc_encode(&video_setting[inx],(unsigned char *)out_virt_buffer[inx],(void *)&pict,inx);
  tlength[inx]+=length;
  //fwrite((unsigned char*)out_virt_buffer[inx],1,length,dout[inx]);
  //fwrite((unsigned char*)&length,sizeof(length),1,dout_len[inx]);
                if(inx==0)
                {                    
                     if(writeData((unsigned char*)out_virt_buffer[inx],length)<=0) //write pci
                    {
                              START_SEND = 0;
                              printf("\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n");
                     }
                 }

 }
 return 0;
}

 

相关文章
|
Oracle Java 关系型数据库
使用了这个神器,让我的代码bug少了一半(下)
使用了这个神器,让我的代码bug少了一半(下)
使用了这个神器,让我的代码bug少了一半(下)
|
6月前
|
JavaScript API
【源码共读】组件太多,重复工作量大?这次一行命令带你解放双手!
【源码共读】组件太多,重复工作量大?这次一行命令带你解放双手!
68 0
|
缓存 运维 算法
三十一、 套路篇:磁盘 I/O 性能优化的几个思路
三十一、 套路篇:磁盘 I/O 性能优化的几个思路
393 0
三十一、 套路篇:磁盘 I/O 性能优化的几个思路
|
缓存 监控 Kubernetes
包体积优化 · 实战论 · 怎么做包体积优化? 做好能晋升吗? 能涨多少钱?
包体积优化 · 实战论 · 怎么做包体积优化? 做好能晋升吗? 能涨多少钱?
430 0
包体积优化 · 实战论 · 怎么做包体积优化? 做好能晋升吗? 能涨多少钱?
|
SQL XML 前端开发
别再学了!这些技术已经被淘汰了,少走点弯路。。。
别再学了!这些技术已经被淘汰了,少走点弯路。。。
|
存储 编解码 算法
压缩的必要性和可能性(下)| 学习笔记
快速学习压缩的必要性和可能性(下),介绍了压缩的必要性和可能性(下)系统机制, 以及在实际应用过程中如何使用。
压缩的必要性和可能性(下)| 学习笔记
编码基本功:工作中,大多数人不会举一反三
编码基本功:工作中,大多数人不会举一反三
108 0
|
小程序 前端开发
【测试经验向】提测质量差 + 测试工期压缩,我要怎么办?
【测试经验向】提测质量差 + 测试工期压缩,我要怎么办?
【测试经验向】提测质量差 + 测试工期压缩,我要怎么办?
|
前端开发 JavaScript 测试技术
为了降低维护成本(早点下班),我在组件开发中所做的那些优化(偷懒)
组件开发中为了稳定性、健壮性,经常需要为组件编写测试用例,然后还要为了开发者方便使用编写文档,都是非常耗时间的差事。作为一个独立维护组件库的程序员,为了能够降低组件维护的成本(早点下班),我总结了一下自己过去几年为了让组件开发更加高效所做的那些事情(偷的那些懒)。