<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_52298757的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_52298757</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_52298757]]></copyright><item><title><![CDATA[音视频（8）---音频AI模块，PCM和AAC]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/162608494</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/162608494</guid><author>m0_52298757</author><pubDate>Tue, 07 Jul 2026 17:45:19 +0800</pubDate><description><![CDATA[本文详细介绍了RV1126芯片的音频处理模块，包括AI（音频输入）和AENC（音频编码）两个核心模块。首先阐述了AI模块的功能和结构体参数设置，重点讲解了采样格式、通道数、采样率等关键参数。接着说明了设置AI模块的API接口，包括属性设置、通道启用和数据流启动。随后通过代码示例展示了多线程获取PCM音频数据的方法。在音频编码部分，重点讲解了AAC编码的原理和两种封装格式（ADIF和ADTS），并详细介绍了RV1126的AENC模块参数设置和API接口。最后提供了通过多线程获取AAC编码流的完整代码实现。]]></description><category></category></item><item><title><![CDATA[音视频（7）---RV1126输出OSD字符叠加图层]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/162517817</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/162517817</guid><author>m0_52298757</author><pubDate>Fri, 03 Jul 2026 17:27:54 +0800</pubDate><description><![CDATA[摘要： OSD（屏幕菜单调节显示）技术用于在显示设备上叠加自定义图层（如水印、LOGO），广泛应用于PC、电视、机顶盒等领域。其实现分为三步：视频信号数字化处理、OSD图像生成（硬件/软件方式）及图像叠加（顶部/底部）。RV1126芯片通过结构体OSD_REGION_INFO_S（定义区域位置）和BITMAP_S（存储ARGB8888位图数据）实现OSD功能，支持8层优先级叠加。开发中需结合SDL_TTF库渲染文字（初始化、加载字体、像素转换等），并通过多线程处理OSD叠加与视频编码流程。]]></description><category></category></item><item><title><![CDATA[音视频（6）---GOP模式的原理与实战]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/162495422</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/162495422</guid><author>m0_52298757</author><pubDate>Wed, 01 Jul 2026 20:07:42 +0800</pubDate><description><![CDATA[在RV1126中GOP模式，一般分为三大类，分别是。这三种不同的GOP模式，分别对应不同的视频场景。下面我们来一一介绍这三种GOP模式的特点。普通GOP模式是最常见的GOP模式，它的特点就是两个I帧间隔固定的GOPSIZE，而GOPSIZE里面都是P帧或者B帧。比方说上图，GOPSIZE=5，相当于每隔5个P帧或者B帧插入一个I帧；普通的GOP模式通常适用于普通场景，比方说视频场景比较单一，没有那种运动画面、静止画面频繁切换的场景。]]></description><category></category></item><item><title><![CDATA[音视频（5）---RV1126的QP实战]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/162467254</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/162467254</guid><author>m0_52298757</author><pubDate>Wed, 01 Jul 2026 18:11:07 +0800</pubDate><description><![CDATA[本文介绍了QP（量化参数）调节的概念及其在视频编码中的应用。QP值用于控制图像质量和码率，值越小质量越高但码率越大，反之则质量降低码率减小。文章详细讲解了QStep、MinQp和MaxQp三个参数的作用及取值范围，并分析了RV1126芯片的QP调节参数结构体，包括H264和H265编码格式的参数设置。最后通过代码示例展示了如何在RV1126平台上实现QP参数的调节，包括初始化和配置编码通道，以及绑定和解绑模块等操作流程。]]></description><category></category></item><item><title><![CDATA[音视频（4）---多线程获取VENC的H264码流数据]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/162313450</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/162313450</guid><author>m0_52298757</author><pubDate>Fri, 26 Jun 2026 18:42:50 +0800</pubDate><description><![CDATA[本文介绍了RV1126芯片中的VENC视频编码模块，重点讲解了H264/H265编码的结构体配置和代码实现。主要内容包括：1. VENC模块支持的编码类型（H264/H265/MJPEG/JPEG）；2. 核心结构体VENC_CHN_ATTR_S的三大组成部分：基础属性（分辨率、编码类型等）、码率控制（CBR/VBR/AVBR模式）、GOP属性；3. 提供了完整的代码示例，展示如何配置VI通道和VENC通道，实现摄像头数据采集并编码为H264视频流保存到文件。文章通过结构体参数详解和实际代码演示，系统性地讲]]></description><category></category></item><item><title><![CDATA[音视频（3）---VCL层和NAL层的讲解]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/162249646</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/162249646</guid><author>m0_52298757</author><pubDate>Thu, 25 Jun 2026 17:18:55 +0800</pubDate><description><![CDATA[2.1.5.3. 当pic_order_cnt_type ==2;这种方法不会出现B帧，换言之就是不能出现连续的非参考帧并且解码输出的顺序和显示顺序一样。]]></description><category></category></item><item><title><![CDATA[音视频（2）---VI和RGA模块]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/161722808</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/161722808</guid><author>m0_52298757</author><pubDate>Tue, 23 Jun 2026 16:50:51 +0800</pubDate><description><![CDATA[本文摘要： 文章详细介绍了YUV视频格式的原理及其在RV1126芯片上的应用。YUV由亮度(Y)和色度(UV)分量组成，相比RGB更节省带宽，主流采样格式包括YUV444、YUV422和YUV420。随后，文章解析了RV1126的VI（视频输入）模块，包括其初始化、参数配置及多线程数据采集流程，并提供了代码示例。此外，还介绍了RGA模块的功能（如缩放、旋转、镜像等）及其与VI模块的绑定方法，最后通过代码展示了如何通过RGA处理并保存视频数据。整体内容涵盖了从理论到实践的完整实现过程。]]></description><category></category></item><item><title><![CDATA[音视频（1）---SDK结构以及整体环境编译]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/160986993</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/160986993</guid><author>m0_52298757</author><pubDate>Fri, 05 Jun 2026 14:54:43 +0800</pubDate><description><![CDATA[交叉编译器指的是在一种计算机环境中编译的程序需要在另外一个环境中运行起来。比方说你在X86环境中编译出一个ARM环境的程序，这种就是交叉编译。从上面的图我们可以知道，在x86环境下通过arm交叉编译的可执行程序在arm板子上直接运行demoa。]]></description><category></category></item><item><title><![CDATA[六.数据库]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/160660904</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/160660904</guid><author>m0_52298757</author><pubDate>Tue, 05 May 2026 16:53:44 +0800</pubDate><description><![CDATA[【代码】六.数据库。]]></description><category></category></item><item><title><![CDATA[一.FTP云盘项目]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/160334915</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/160334915</guid><author>m0_52298757</author><pubDate>Tue, 28 Apr 2026 17:47:52 +0800</pubDate><description><![CDATA[FTP服务器（File Transfer Protocol Server）是在互联网上提供文件存储和访问服务的计算机，它们依照FTP协议提供服务。FTP是File Transfer Protocol(文件传输协议)。程序运行，服务端不断接收客户端指令，服务端可同时处理多个客户端接入并对指令作出解析，并把执行结果返回给客户端，客户端根据服务端对指令的解析并把由服务端传递过来的处理信息通过客户端呈现给客户，实现文件的各种操作。]]></description><category></category></item><item><title><![CDATA[五.Linux网络编程]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/159691587</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/159691587</guid><author>m0_52298757</author><pubDate>Mon, 20 Apr 2026 13:26:38 +0800</pubDate><description><![CDATA[/ 地址族，如AF_INET(IPv4)、AF_INET6(IPv6)// 端口号（网络字节序，大端，用htons()转换）2字节。// 填充8个字节，保证和sockaddr长度一致（16字节）sa_family_t sin_family;// 地址族，固定为AF_INET，2字节。// 1. 通用socket地址结构体（所有协议通用，bind/connect等系统调用用）void FD_ISSET(int fd,fd_set *fdset) //判断fd是否在fd_set中。]]></description><category></category></item><item><title><![CDATA[四.Linux线程]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/159388767</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/159388767</guid><author>m0_52298757</author><pubDate>Tue, 31 Mar 2026 16:00:06 +0800</pubDate><description><![CDATA[const pthread_attr_t *attr, //线程属性，NULL。const pthread_mutexattr_t* restrict attr,          //互斥锁的属性，没有可写NULL。const pthread_condattr_t * restrict attr     //属性，无属性写NULL。int pthread_create(  pthread_t *pthread,         //线程ID = 无符号长整型。//属性，无属性可以写NULL。]]></description><category></category></item><item><title><![CDATA[三.进程间的通信]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/159172837</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/159172837</guid><author>m0_52298757</author><pubDate>Mon, 23 Mar 2026 13:49:07 +0800</pubDate><description><![CDATA[如果sem_op的值为负数，而其绝对值又大于信号的现值，操作将会阻塞，直到信号值大于或等于sem_op的绝对值。操作系统将不同进程之间共享内存安排为同一段物理内存，进程可以将共享内存连接到它们自己的地址空间中，如果某个进程修改了共享内存中的数据，其它的进程读到的数据也将会改变。IPC_STAT：把msgid_ds结构中的数据设置为消息队列的当前关联值，即用消息队列的当前关联值覆盖msgid_ds的值。IPC_SET：如果进程有足够的权限，就把消息列队的当前关联值设置为msgid_ds结构中给出的值。]]></description><category></category></item><item><title><![CDATA[二.Linux进程]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/159012679</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/159012679</guid><author>m0_52298757</author><pubDate>Tue, 17 Mar 2026 16:19:16 +0800</pubDate><description><![CDATA[对于三个终止函数(exit, _exit和 _ Exit)，实现这一点的方法是，将其退出状态(exit status)作为参数传送给函数，在异常终止情况下，内核(不是进程本身)产生一个指示其异常终止原因的终止状态(termination status)。然后把原来的进程的所有值都复制到新的新进程中，只有少数值与原来的进程的值不同。fork（）函数通过系统调用创建一个与原来进程几乎完全相同的进程，也就是两个进程可以做完全相同的事，但如果初始参数或者传入的变量不同，两个进程也可以做不同的事。]]></description><category></category></item><item><title><![CDATA[一.Linux目录结构以及文件操作]]></title><link>https://blog.youkuaiyun.com/m0_52298757/article/details/158894210</link><guid>https://blog.youkuaiyun.com/m0_52298757/article/details/158894210</guid><author>m0_52298757</author><pubDate>Tue, 10 Mar 2026 23:00:35 +0800</pubDate><description><![CDATA[SEEK_END: 将读写位置指向文件尾后再增加offset个位移量，当whence值为SEEK_CUR或SEEK_END时，参数offset允许负值的出现。argc: 参数表示命令行中参数的个数（注意 文本名本身也是一个参数），argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。at+:打开文本文件，可读写，写的数据加在文本末尾 ab+:打开二进制文件，可读写，写的数据加在文件末尾。0x00002000。O_EXCL 表示如果要创建的文件已存在，则出错，同时返回-1，并且修改errno 的值。]]></description><category></category></item></channel></rss>