- 博客(115)
- 收藏
- 关注
转载 34 二叉树的深层性质
对于任何一棵二叉树,叶节点个数=度为2的结点数 + 1。深度为k的二叉树最多有(2^k)-1个节点。二叉树的第i层最多有2^(i-1)个节点。的高度为[log2(n)] + 1。
2024-01-15 20:40:27
198
转载 31 树的存储结构一
无法直接用数组表示树的逻辑结构,但是可以设计结构体数组对节点间的关系进行描述:【如表】这样做的问题:可以利用 组织链表parent指针:注意:树结点在 组织链表 中的位置不代表树的任何逻辑关系树的架构图:
2024-01-13 21:42:33
465
转载 11 双向链表
第0个节点【a1】的pre指针为NULL,要注意main.c//双链表int v;int i;v1.v = 1;v2.v = 2;v3.v = 3;v4.v = 4;v5.v = 5;i++)//定义包含指针next的结构体/*该方法用于创建并且返回一个空的线性表*//*该方法用于销毁一个线性表DLinkList*//*该方法用于将一个线性表DLinkList中的所有元素清空。
2024-01-11 21:57:34
519
转载 FFMPEG结构体分析:AVPacket
AVPacket是存储压缩编码数据相关信息的结构体例如对于H.264来说。1个AVPacket的data对应一个NAL。【注意:此处强调是“通常”,不是“所有”】。因此在使用FFMPEG进行视音频处理的时候,常常可以将得到的AVPacket的data数据直接写成文件,从而得到视音频的码流文件。【如果.h264码流文件不能直接播放,参考上述。
2024-01-04 16:12:56
319
转载 FFMPEG结构体分析:AVStream
AVStream是存储每一个视频/音频流信息的结构体AVCodecContext *codec:指向该视频/音频流的AVCodecContext(它们是的关系)AVRational time_base:时基。通过该值可以把PTS,DTS转化为真正的时间。
2024-01-03 21:40:53
94
转载 FFMPEG结构体分析:AVIOContext
注:每种协议(rtp,rtmp,file等)对应一个URLProtocol。**URLContext 结构体中包含有 URLProtocol **
2024-01-02 16:44:19
91
转载 FFMPEG结构体分析:AVFormatContext
视频的原数据(metadata)信息可以通过AVDictionary获取。元数据存储在AVDictionaryEntry结构体中。
2024-01-02 13:42:55
70
转载 FFMPEG结构体分析:AVFrame
即1个运动矢量代表16x16的画面的时候,该值取4;1个运动矢量代表8x8的画面的时候,该值取3…QP表指向一块内存,里面存储的是每个宏块的QP值。宏块的标号是从左往右,一行一行的来的。(用宽或者高表示,单位是像素),注意,这里取了log2。宏块类型表存储了一帧视频中的所有宏块的类型。运动矢量表存储了一帧视频中的所有运动矢量。原文是 :注:宏块大小是16x16的。
2024-01-01 11:31:10
117
转载 FFMPEG中最关键的结构体之间的关系
a) 解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext 这3个都还没用过。。。b) 解封装(flv,avi,rmvb,mp4)【参考simples_ffmpeg_play2.cpp】c) 解码(h264,mpeg2,aac,mp3)每个AVStream存储一个视频/音频流的相关数据;每个AVStream对应一个AVCodecContext,存储该视频/音频流使用解码方式的相关数据;
2023-12-29 10:48:45
70
转载 ffmpeg函数介绍
/ 作为输入容器时 struct AVInputFormat *iformat;// 作为输出容器时 struct AVOutputFormat *oformat;不能为空, 程序把编码好的音视频包写入到输出容器中。// AVIOContext *pb: I/O上下文,通过对该变量赋值可以改变输入源或输出目的。// 其中负责申请一个AVFormatContext结构的内存,并进行简单初始化。// 分配一个AVFormatContext结构。// 释放一个AVFormatContext结构。
2023-12-29 10:09:07
85
原创 进程间通信---信号量同步
【补充一下:为什么上节课互斥的做法不能同步哪?信号量的初始值为1,如果a进程先执行是可以的,但是如果b进程先执行就不行了】生产者代码 producer.c。消费者代码 custom.c。
2023-12-27 17:43:02
406
转载 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
视频的yuv420p分辨率为320*180,而win窗体的大小为500*500。注意:在播放解码器最后遗留的几帧时,packet->data=NULL;注意:此demo中涉及了视频的缩放显示。
2023-12-16 11:04:43
75
转载 最简单的基于FFmpeg的解码器-纯净版(不包含libavformat)
有两个平时“不太常见”的函数:av_parser_init():初始化AVCodecParserContext。av_parser_parse2():解析获得一个Packet。
2023-12-15 14:47:38
114
转载 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)
avcodec_decode_video2()解码视频后丢帧的问题解决:
2023-12-14 20:42:31
101
转载 视音频数据处理入门:UDP-RTP协议解析
TS(Transport Stream,传输流)是一种封装的格式,它的全称为MPEG2-TS。MPEG2-TS是一种标准数据容器格式,传输与存储音视频、节目与系统信息协议数据,主要应用于数字广播系统,譬如DVB、ATSC与IPTV。传输流最初是为广播而设计的。【.ts文件 和.flv一样是一种封装格式】
2023-12-11 11:27:03
233
转载 PCM音频采样数据处理
参考:视音频数据处理入门:PCM音频采样数据处理_audition pcma-优快云博客https://blog.youkuaiyun.com/csdn66_2016/article/details/70902460程序运行后结果:https://blog.youkuaiyun.com/yo_bc/article/details/74511066
2023-11-18 16:58:13
207
转载 视音频数据处理入门:RGB、YUV像素数据处理
这是因为U、V是图像中的经过偏置处理的色度分量。色度分量在偏置处理前的取值范围是-128至127,这时候的无色对应的是“0”值。经过偏置后色度分量取值变成了0至255,因而此时的无色对应的就是128了。原文地址:https://blog.youkuaiyun.com/leixiaohua1020/article/details/50534150。
2023-11-07 20:35:21
251
原创 YUV 420 422 444 8bit, 每个像素占几个字节
https://blog.youkuaiyun.com/qdwx724/article/details/104406690
2023-11-05 10:21:49
388
原创 windows api 事件 CreateEvent
https://www.cnblogs.com/gaoquanning/p/7249084.html
2023-10-29 16:17:35
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人