音视频
文章平均质量分 71
永不秃头的程序员
永远相信美好的事情即将发生
展开
-
ALSA学习(5)——ASoC架构中的Machine
参考博客:https://blog.csdn.net/DroidPhone/article/details/7231605(以下内容皆为原博客转载)原创 2024-01-02 17:14:12 · 908 阅读 · 0 评论 -
ALSA学习(5)——设备中的alsa
参考博客: https://blog.csdn.net/DroidPhone/article/details/7165482(一下内容基本是原博主的博客转载)原创 2023-12-28 14:07:22 · 1051 阅读 · 0 评论 -
ALSA学习(4)——Control设备的创建
要自定义一个Control,我们首先要定义3各回调函数:info,get和put。然后,定义一个snd_kcontrol_new结构:代码路径: kernel_4.14nclude\sound\control.hunion {} tlv;iface。原创 2023-12-28 14:06:14 · 1058 阅读 · 0 评论 -
video 视频编解码一些debug方法
这个文章的主要内容是为了后期性能方面的debug, 设计到前期的bringup则没有。原创 2023-09-01 15:40:51 · 489 阅读 · 0 评论 -
ALSA学习(3)——声卡的创建
许久没有更新关于audio的东西了,因为项目原因,接下来又要继续搞audio的东西了,所以继续写一些文章,作为一个温故知新的过程吧。首先看一下声卡的架构驱动把。原创 2023-03-08 17:28:06 · 731 阅读 · 1 评论 -
ISP学习(1)
文章目录一、什么是isp一、什么是ispISP是Image Signal Processor 的简称,也就是图像信号处理器。ISP一般用来处理Image Sensor(图像传感器)的输出数据,如做AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level等等功能的处理。说到ISP就一定得说说DSP。DSP是Digital Signal Processor 的原创 2022-06-06 09:54:38 · 4130 阅读 · 3 评论 -
ffmpeg各种配置方案
文章目录一、windows配置二、VS配置三、liunx下配置csdn上基本都能找到,但是我主要是配置liunx下的环境,心态崩了。搞了两天,所以出一期教程,都是链接,自己安装完了,也不想去弄了一、windows配置我自己在网上先下载的夏曹俊老师的ffmpeg安装包(我也是找了半天,因为好像ffmpeg官方上的windows下载不下来)我这里附上资源https://pan.baidu.com/s/1naCR34nH6UyFtX7TCOzVfg//提取码: 2bubB站保姆级鬼畜安装教程,后面原创 2021-06-01 22:18:00 · 1332 阅读 · 0 评论 -
ffmpeg常用快捷方式-图像
最近开始学音视频相关方向的东西,ffmpeg指令用的比较较多,因为才开始,所以暂时用一些图像相关的指令。一、格式转换我们现在常用的图片是jpg格式,为了避免去找yuv格式的图片,所以直接通过ffmpeg方式转换ffmpeg -i test.jpg -s 640x480 -pix_fmt yuv420p test.yuv640x480是你原始jpg图片格式的分辨率,可以通过属性详细信息查看。将名字为 test.ipg 的图片转化为 test,yuv 的图片 转化出来的YUV格式图片也是 640x原创 2021-05-27 22:55:30 · 104 阅读 · 0 评论 -
ffmpeg各种函数详解
文章目录原创 2021-06-10 19:25:07 · 1131 阅读 · 1 评论 -
ALSA学习(2)——pcm设备逻辑
文章目录一、pcm简介参考学习地址:https://www.cnblogs.com/jason-lu/archive/2013/06/07/3123750.html一、pcm简介PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制.我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量原创 2022-01-29 13:12:20 · 2900 阅读 · 0 评论 -
audio框架学习-Audio_Flinger分析
文章目录一、代码位置二、audio服务启动2.1 main服务2.2 audioflinger添加到系统服务中2.3 audioflinger的对外接口之前记录过audioTrack的笔记,这次继续参考audioFlinger相关的代码并做笔记;参考文档:https://www.cnblogs.com/innost/archive/2011/01/15/1936425.html和https://blog.csdn.net/zyuanyun/article/details/60890534?spm=100原创 2022-01-29 13:11:14 · 1807 阅读 · 0 评论 -
ALSA学习(1)——框架学习和基本的工具使用
文章目录一、框架构图二、tinymix的使用2.1 tinymix2.2 tinypcminfo2.3 tinycap2.4 tinyplay三、对应设备文件查看博客学习地址:https://www.cnblogs.com/jason-lu/archive/2013/06/07/3123472.html一、框架构图ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,我们无论作安卓开发还是linux开发都是基于这个框架来的。原创 2022-01-29 13:11:52 · 1775 阅读 · 0 评论 -
audio框架学习-Audio_Track分析
文章目录一、整体结构框图二、AudioTrack的解析2.1 AudioTrack API 两种数据传输模式2.2 AudioTrack API 音频流类型2.3 getMinBufferSize 函数分析2.4 AudioTrack 对象创建2.5 AudioTrack 在JNI 中的使用最近公司刚好做了一个关于音视频的培训,但是感觉听完云里雾里,所以自己总结一番,做个笔记。参考文档:https://www.cnblogs.com/innost/archive/2011/01/09/1931457.原创 2022-01-29 13:10:54 · 2901 阅读 · 2 评论 -
简单海思流程理解
文章目录一、什么是MPP二、海思系统处理架构2.1海思系统层次图2.2海思媒体处理架构一、什么是MPP海思提供的媒体处理软件平台(Media Process Platform,简称 MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供MPI(MPP Program Interface)接口完成相应功能。该平台支持应用软件快速开发以下功能:输入视频捕获、H.265/H.264/JPEG 编码、H.265/H.264/JPEG 解码、视频输出显示、视频图像前原创 2021-08-12 00:26:49 · 1067 阅读 · 0 评论 -
RGB图像处理(2)——分离元素,以及封装
文章目录一、元素分离二、RGB封装为BMP一、元素分离#include <stdio.h>#include <stdlib.h>int rgb24Split(char* fileName, int width, int height){ FILE* fp = fopen(fileName, "rb+"); FILE* fp1 = fopen("1_r.y", "wb+"); FILE* fp2 = fopen("1_g.y", "wb+");原创 2021-08-10 08:40:22 · 517 阅读 · 0 评论 -
海思HI3516板子初体验
文章目录一、硬件连接一、硬件连接开发板上电,进行usb连接。连接好后,你可以在电脑上看到这个端口,类似于这个。开发板网口和电脑网口进行连接连接好后你的笔记本电脑应该会显示一个本地连接,像这样。打开连接软件 MobaXterm_Personal_12.2他会自动的找到对应的端口,点击确定。开发板重新上一电就好了。开机成功。按下 window+r 输入 cmd 进入我们自己操作系统中的界面,输入ipconfig 查看自己的本地连接的I原创 2021-08-06 23:17:09 · 1501 阅读 · 0 评论 -
YUV像素减半之代码优化
文章目录一、之前的代码二、为啥要优化代码一、之前的代码#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp1 = NULL; FILE *fp2 = NULL; unsigned char *readBuf; readBuf = malloc(256*256*3/2); fp1 = fopen("lena_256x256_yuv420p.yuv","rd+"); f原创 2021-08-06 23:15:10 · 163 阅读 · 0 评论 -
最简单直接的Samba服务器搭建
文章目录1、检查网络配置2、下载samba3、创建一个文件夹4、添加Samba用户5、修改配置文件6、重启samba7、连接网络1、检查网络配置打开linux,ping一下百度。(一般虚拟机配置都没啥问题)然后输入ifconfig记住这段代码。2、下载sambasudo apt-get install samba samba-common3、创建一个文件夹mkdir study修改文件夹权限sudo chmod 777 study4、添加Samba用户sudo smb原创 2021-07-28 22:33:56 · 3834 阅读 · 5 评论 -
RGB图片处理(1)——RGB概念理解
文章目录一、基本理解二、RGB格式的内部排列2.1 RGB162.1.1 RGB5652.1.2 RGB5552.1 RGB242.1 RGB32一、基本理解RGB指的是R(red)红色、G(green)绿色、B(blue)蓝色,三种颜色。目前来说,所有的颜色都可以用这三种颜色配出来通常情况下,RGB各有256级亮度,用数字表示为从0、1、2…直到255。按照计算,256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。通常也被简称为1600万色或千万色。原创 2021-06-13 02:13:21 · 10903 阅读 · 0 评论 -
YUV图片处理(3)
文章目录1、给图片加上边框二、自己制作一个灰阶测试图1、给图片加上边框定义一个边框厚度(border),让Y从此处开始计算#include <stdio.h>#include <stdlib.h>#include <string.h>#define outPutFileName "girl_4.yuv"int testYuv420Grey(char* fileName, int width, int height,int border){ FIL原创 2021-06-12 21:52:52 · 189 阅读 · 0 评论 -
YUV图片处理(4)
文章目录一、RSNR的理解二、如何评判一、RSNR的理解你可以吧RSNR理解为评判图片受损的标准,PSNR取值通常情况下都在20-50的范围内,取值越高,代表两张图像越接近,反映出受损图像质量越好。类似于我们的FPS,越高越好。对于8bit量化的像素数据来说,PSNR的计算公式如下所示:上述公式中mse的计算公式如下所示:二、如何评判#include <stdio.h>#include <stdlib.h>#include <string.h>#i原创 2021-06-13 01:42:17 · 427 阅读 · 0 评论 -
RGB图片处理(3)——RGB转YUV以及彩虹色阶梯图
文章目录一、RGB与YUV之间的转化关系二、RGB彩虹阶梯图一、RGB与YUV之间的转化关系Y= 0.299R+0.587G+0.114BU=-0.147R-0.289G+0.463BV= 0.615R-0.515G-0.100*B#include <stdio.h>#include <stdlib.h>#include <string.h>unsigned char clip_value(unsigned char x, unsigned char m原创 2021-06-14 13:37:17 · 422 阅读 · 0 评论 -
YUV图片处理(2)——像素去除颜色
文章目录一、这里先解决一下上一篇博文的问题二、去除颜色三、图片改变亮度一、这里先解决一下上一篇博文的问题https://editor.csdn.net/md/?articleId=117398429颜色不对,是因为我没有选对格式,因为是Y所以需要选择YU和V分量不对是因为在YUV里面,U和V一共才占比Y的1/2,所以我们这里需要改变分辨率。而不是用1920x1080的分辨率。但是对应的960x540对的分辨率是没有的,所以我换了一张分辨率的图这里换成1280x720的这里就没啥问题了啊原创 2021-06-11 16:57:29 · 564 阅读 · 2 评论 -
YUV图片处理
一、补充(1)如果想把YUV格式像素数据变成灰度图像,只需要将U、V分量设置成128即可。这是因为U、V是图像中的经过偏置处理的色度分量。色度分量在偏置处理前的取值范围是-128至127,这时候 的无色对应的是“0”值。经过偏置后色度分量取值变成了0至255,因而此时的无色对应的就是128了。(2)如果打算将图像的亮度减半,只要将图像的每个像素的Y值取出来分别进行除以2的工作就可以了。图像的每个Y值占用1 Byte,取值范围是0至255,对应C语言中的unsigned char数据类型。二、分离Y U原创 2021-05-30 16:24:13 · 1200 阅读 · 5 评论 -
YUV学习记录
一、介绍YUV是一种表示颜色的模型,也可以叫做采样率。YUV又可以叫为Y Cb Cr ,其中Y是指亮度分量,Cb (U)指蓝色色度分量,而Cr(V)指红色色度分量。二、分类首先我们看一张图片:可以就看出,YUV分为 YUV420、YUV422、YUV444三大类为什么分为这三类呢,是因为我们的眼睛对Y的敏感度远超U和V,这三中类型就是针对不同的人眼特性。2.1YUV的占比YUV 420,由 4 个 Y 分量共用一套 UV 分量;YUV 422,由 2 个 Y 分量共用一套 UV 分量;原创 2021-06-13 00:29:22 · 380 阅读 · 0 评论 -
之前的图片显示为绿色的问题处理
文章目录一、关于降半Y显示为绿色的原因二、之前去除边框有显示为绿色的视频一、关于降半Y显示为绿色的原因通过阅读雷神的博文过后,解决了以下问题#include <stdio.h>#include <stdlib.h>#include <string.h>#define outPutFileName "girl_3.yuv"int Yuv420(char *fileName, int width, int height){ FILE *fp;原创 2021-06-13 00:15:19 · 388 阅读 · 0 评论