FFMPEG学习【libavutil】:Crypto and Hashing(三)
来源:互联网 发布:软件开发项目简介 编辑:程序博客网 时间:2024/05/18 01:34
一、LZO
一)、宏
#define AV_LZO_INPUT_PADDING 8#define AV_LZO_OUTPUT_PADDING 12
二)、函数
int av_lzo1x_decode (void *out, int *outlen, const void *in, int *inlen)解码LZO 1x压缩数据。参数:out:输出缓冲
outlen:输出缓冲区的大小,剩余的字节数在这里返回
in:输入缓冲
inlen:输入缓冲区的大小,此处返回的字节数
返回:0成功,否则上面的错误标志的组合
确保所有缓冲区都被适当填充,必须提供AV_LZO_INPUT_PADDING,必须提供AV_LZO_OUTPUT_PADDING附加字节。
三)、av_lzo1x_decode返回的错误标志
#define AV_LZO_INPUT_DEPLETED 1解码完成之前达到的输入缓冲区结束二、RC4
一)、数据结构
struct AVRC4{uint8_t state [256];
int x;
int y;
}
二)、函数
AVRC4 * av_rc4_alloc (void)分配AVRC4上下文。参数:key_bits:必须是8的倍数
decrypt:0加密,1解密,目前没有任何效果
返回:成功为零,否则为负值
参数:count:字节数
dst:目标数组,可以等于src
src:源数组,可以等于dst,可能为NULL
iv:不用(还)用于RC4,应为NULL
decrypt:0用于加密,1用于解密,不(尚)使用
三、TEA
一)、函数
struct AVTEA * av_tea_alloc (void)分配AVTEA上下文要释放结构体:av_free(ptr)
void av_tea_init (struct AVTEA *ctx, const uint8_t key[16], int rounds)初始化AVTEA上下文。
参数:ctx:AVTEA上下文
key:用于加密/解密的16字节的密钥
rounds:TEA的回合次数(64个是“标准”)
void av_tea_crypt (struct AVTEA *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt)使用先前初始化的上下文加密或解密缓冲区。
参数:ctx:AVTEA上下文
dst:目标数组,可以等于src
src:源数组,可以等于dst
count:8字节块数
iv:CBC模式的初始化向量,如果NULL,则使用ECB
decrypt:0加密,1解密
二)、变量
const int av_tea_size
阅读全文
0 0
- FFMPEG学习【libavutil】:Crypto and Hashing(三)
- FFMPEG学习【libavutil】:Crypto and Hashing(一)
- FFMPEG学习【libavutil】:Crypto and Hashing(二)
- FFMPEG学习【libavutil】:Crypto and Hashing(四)
- FFMPEG学习【libavutil】:Crypto and Hashing(五)
- FFMPEG学习【libavutil】:数据结构(三)
- FFMPEG学习【libavutil】:音频相关(三)
- FFMPEG学习【libavutil】:Mathematics
- FFMPEG学习【libavutil】:Mathematics:AVRational
- FFMPEG学习【libavutil】:String Manipulation
- FFMPEG学习【libavutil】:视频相关
- FFMPEG学习【libavutil】:Memory Management(一)
- FFMPEG学习【libavutil】:Memory Management(二)
- FFMPEG学习【libavutil】:数据结构(一)
- FFMPEG学习【libavutil】:数据结构(二)
- FFMPEG学习【libavutil】:数据结构(四)
- FFMPEG学习【libavutil】:音频相关(一)
- FFMPEG学习【libavutil】:音频相关(二)
- 精通比特币
- Android ORM 框架:GreenDao 使用详解(进阶篇)
- Kotlin 基础学习+快速实践
- RxJava 基础扫盲
- Android深入理解JNI(二)类型转换、方法签名和JNIEnv
- FFMPEG学习【libavutil】:Crypto and Hashing(三)
- mavros使用经验记录二
- API错误码对照表
- JAVA设计模式-命令模式
- C++四个默认成员函数&运算符重载
- Ubuntu 14.04 修改时区
- Python程序退出: os._exit()和sys.exit()
- 实战:航空公司客户价值分析
- Java使用json需要的jar包