c ffmpeg 学习

1.  int8_t    <==>     char       u_int8_t  ==  unsigned char

     int16_t    ==  short

     int32_t  ==int

2. #define  X(x)   x,x,x,x,x,x,x,x      //表示8个x  主要用于数组赋值

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define X8(x)  x,x,x,x,x,x,x,x           //X8(x) 表示8个x
#define X64(x)  x,x,x,x,x,x,x,x,\
                  x,x,x,x,x,x,x,x,\
                  x,x,x,x,x,x,x,x,\
                 x,x,x,x,x,x,x,x,\
                 x,x,x,x,x,x,x,x,\
                x,x,x,x,x,x,x,x,\
                x,x,x,x,x,x,x,x,\
                x,x,x,x,x,x,x,x      //X64(x)  表示64个x

int main(void){
	
	int32_t a[] = {
	X8(13036),  // tg * (2<<16) + 0.5
	X8(27146),  // tg * (2<<16) + 0.5
	X8(-21746)  // tg * (2<<16) + 0.5
	};
	
	printf("%d\n",a[0]);
	int  b[64]={X64(1)};
	printf("%d\n",b[63]);

	return 0;
}

     与memset(b,1 ,64) 等效

3. fwrite  fread

  fwrite(参数1,参数2,参数3,文件号)  参数2:相同单位内的字节数

                                                          参数3:表示有多少个相同单位

  利用参数2,3能方便写入和读取二维数组元素

 

4。DECLARE_ALIGEND( n,  类型,名字)   内存对齐,我理解这个内存对齐是ffmpeg为了兼容不同操作系统用的,对于linux X86 来说,直接按n的大小选数据类型就可以了,比如是8,就是char,16 就选short。下面的例子就是

short     fdct_tg_all_16[24]={....}

 //concatenated table, for forward DCT transformation

 DECLARE_ALIGNED(16, static const int16_t, fdct_tg_all_16)[24] = {

             X8(13036), // tg * (2<<16) + 0.5

             X8(27146), // tg * (2<<16) + 0.5

             X8(-21746) // tg * (2<<16) + 0.5

 };

 

5. 开根号  sqrt()

   比如1/2 开根号,必须写成: sqrt(1.0/2)     1必须写成1.0

 

 

 

 

 

 

相关推荐

  1. 学习 学习

    2024-01-18 14:46:04       40 阅读
  2. 学期学习计划

    2024-01-18 14:46:04       23 阅读
  3. 学习笔记:机器学习

    2024-01-18 14:46:04       58 阅读
  4. C++学习-List学习

    2024-01-18 14:46:04       30 阅读
  5. opencv学习 机器学习

    2024-01-18 14:46:04       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 14:46:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 14:46:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 14:46:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 14:46:04       20 阅读

热门阅读

  1. Rust类型之数组和动态数组

    2024-01-18 14:46:04       30 阅读
  2. PyTorch 稀疏函数解析:embedding 、one_hot详解

    2024-01-18 14:46:04       36 阅读
  3. C++模版进阶

    2024-01-18 14:46:04       38 阅读
  4. 使用C++播放声音的完整指南

    2024-01-18 14:46:04       32 阅读
  5. 如何判断当前是安卓/IOS/H5/Web使用环境

    2024-01-18 14:46:04       29 阅读
  6. 达梦数据库 忘记 SYSDBA 密码 处理方法

    2024-01-18 14:46:04       32 阅读
  7. 智能小程序相关名词解释(汇总)

    2024-01-18 14:46:04       35 阅读