- 博客(647)
- 资源 (5)
- 收藏
- 关注
原创 ffmpeg编译cuvid的时候:ERROR: cuvid requested, but not all dependencies are satisfied: ffnvcodec
确认安装了,大概率是pkg-config没有安装。首先确认有没有安装nv-codec-header。
2023-12-26 16:25:35
858
原创 如何学习英语
首先写一些自己的感言吧,其实从大学的时候就在不断地听英语,学英语,但是到毕业十几年后,英语一直没起到什么作用,当然最有作用的时候就是几次英语面试吧。工作之后有一段学习英语的经历,当时花费了很多时间看了一些英文名著,听了很多英文有声小说,感觉这应该是自己最大的积累吧,后来还赚么学习一下发音。现在重新要捡起来是因为后期工作中大概率要用得上,不要到时候真的用的时候发现晚了。
2023-12-16 17:40:10
650
1
原创 FFmpeg之AVCodec
这一节是最重要的一节,ffmpeg的解码,还是和以前一样,一定是先来一个上下文context,再一个具体的解码器类。AVCodecContext和下面是一个解码器定义,三部分组成,第一部分是设置参数,第二部分是基类,第三部分是具体实现。如果你要实现自己的一个解码器,实现第三部分的那几个回调函数就可以了。结构体定义函数函数调用逻辑慢慢补充
2023-12-12 14:30:35
1059
原创 FFmpeg之HWContextType
具体看看结构体定义吧,一大堆函数指针,这些就是你要实现的,不一定全部要实现,实现你自己想要的就可以了,主要的有transfer_data_to/transfer_data_from,map_to/map_from。仔细看上面函数就发现,全部是device mem操作,大白话说就是ffmpeg通过这套机制来实现D2H或者H2D的操作,别无其它。HWContextType算是ffmpeg中为硬解码第三方接口的一个辅助类,它自己有两个辅助子类。那么它辅助硬解码器做什么呢?我们还是通过英伟达的例子来看。
2023-12-12 14:11:48
1062
原创 FFmpeg之AVHWAccel
ffmpeg是通过解码起家,所以它内部有很多自己写的软解码器,在这些软解码器的解码过程当中,比如说对于码流中的某些反量化,反变换等操作,把这些操作挪到一块硬件上,这块硬件就是加速设备。这就是hwaccel加速解码的原理,它是在ffmpeg软解码的基础上将一些特定算法加载到硬件上去做。我们可以看看ffmpeg的h264解码器,红框内部的都是h264解码器的加速插件,NVDEC只是其中之一。可以看看AVHWAccel结构体定义,发现有几个关键的函数指针,这些指针就是你需要去实现的。下面我们就说道说道。
2023-12-12 14:01:37
1013
原创 FFmpeg之AVFilterGraph
AVFilterGraph是对pileline的一个整体描述,没看之前以为里面大概是个有向无环图什么的来描述,进去一看,居然只是用链表来描述。
2023-12-12 12:01:17
994
原创 FFmpeg的AVFilter框架总成AVFilter-AVFilterContext
毫无疑问,还是和前面的一样一个context和一个包含有回调函数指针的插件结构体,想要实现自己的插件,主要实现里面的回调函数就可以了,当然,AVFilter比其它模块稍微复杂一点还要牵扯到其它一些辅助模块,在其它章节介绍。
2023-12-12 11:59:17
1019
原创 FFmpeg的AVOutputFormat
还是和前文一样,先把架构勾勒出来,后期慢慢讲一下代码流程,可以进行各类网络协议的推流,各类容器的封装。
2023-12-12 10:18:14
976
原创 FFmpeg的AVInputFormat
首先肯定是AVFormatContext,这个就是上下文,这个结构体太庞大了。特别要注意里面的AVIOContext,这两个回调可以从自己的内存中读取数据。另外还有一个AVStream的结构体,专门用来存储流。
2023-12-11 20:14:33
841
原创 FFmpeg的AVIOContext
下面的注释解释了一个类似于环形队列中读取数据,只要设置了这三个指针,就可以从它指定的内存中读取数据/***//***//** READING* | |* pos* WRITING* | |* pos*/int error;
2023-12-11 20:12:13
747
原创 FFmpegd的AVBSF
*** @{*/ /**/**/**/**/**/**/**/**上面是bsf的上下文,下面的是它的插件回调函数/***//***/*/看多了就会发现非常相似,基本就一个套路,一个上下文结构体,一个回调插件结构体,上下文中一个私有的指针,大小为priv_data_size,所以如果想要实现插件,简单的实现这几个回调函数就可以了。
2023-12-11 19:42:51
913
原创 FFmpeg的AVcodecParser
这个模块是AVCodec中的子模块,专门用来提前解析码流的元数据,为后面的解码做准备,这一点对cuda-NVdec非常明显,英伟达解码器的元数据解析是放在CPU上的,所以就非常依赖这个解析模块。如果你要实现一个自己的parse,只要简单的重写下面四个函数就可以了。下面是操作函数,第一个是列出所有的parser。FFmpeg中有很多现成的parser。第三个是最重要的,也就是解析pkt。最后一个是close parser。第二个是初始化parser。下面是插件接口的入口。
2023-12-11 18:24:35
853
原创 FFmpeg-基础组件-AVBufferPool
FFmpeg实现了一个AVBufferPool ,这个pool可以用来提前做些内存分配等,在ffmpeg cuvid插件中hwcontext_cuda.c文件夹中可以看到这个Pool的用法。下面是一个bufferPoll的定义,其中有一个refcount,作为ref来使用,另外有两个alloc函数和pool_free。下面是Pool的元素,BufferPoolEntry,可以看到一个next指针,其实就是一个单向链表。这个是用来释放AVBuffer 中的data数据的,可以由用户来指定。
2023-12-11 17:30:23
749
原创 FFmpeg-基础组件-AVPacket
本章主要介绍AVPacket结构以及相关内容。首先非常抱歉,可能你看到的是我粘贴了以下代码,我先打个架构,后期慢慢补充,小弟时间有限。
2023-12-11 15:35:35
490
原创 芯片-开发板设计相关收集
在一个SOC成型之前,设计工程师用verilog代码把每个模块敲出了,粗略进行模块级的验证,在模块级验证通过之后,会通过总线把各个模块集成在一起。目前来说,应用比较广泛的总线协议是AMBA总线,包括AXI,ASB,AHB,APB,我在工作中最常接触到的就是AXI和APB,前者主要是挂一些高速的核心外设,DDR之类的。SoC与ASIC最大的区别就是形成了一个完整的片上系统,其中包括计算、存储、外设以及层次化总线等子系统,由此在一颗芯片上实现了一个完整的计算机系统结构组成。
2023-12-09 00:28:49
408
原创 C实现的双向链表队列
如下代码所示,一个头文件实现的双向链表,用c代码实现:#ifndef _LINUX_LIST_H#define _LINUX_LIST_H#include "stddef.h"#include "poison.h"#ifndef ARCH_HAS_PREFETCH#define ARCH_HAS_PREFETCHstatic inline void prefetch(const void *x) {;}#endif/* * Simple doubly linked list im
2023-11-29 11:19:57
699
原创 一款好用的window ssh远程终端term工具
这是一款可以在window10上运行的ssh终端工具.把它移动到C目录下面,并且搞一个桌面快捷方式,就可以了。
2023-11-22 11:43:49
404
原创 一款好用的jpeg分析软件 JPEGsnoop
最近解码器解码jpeg的时候出了问题,为了追踪问题,找到了这款免费好用的jpeg分析软件-上面已经有编译好的win10 exe了。
2023-11-13 14:07:32
1930
原创 8086读取键盘-磁盘输入
想过一个问题没有,8086是如何从键盘中接受输入的?8086如何将字符在显示器上显示的?8086如何从磁盘中读取数据的?上面的问题都是没有操作系统的时候,比如bios的那段代码。微型计算机原理。
2023-11-07 23:57:27
568
原创 51单片机-定时计数器
定时计算:50ms=501000us一个机器周期:1.085us65535 - 50故/*定时器1,定时模式 工作模式1 16位计数器,定时20秒后使能蜂鸣器*/#include <reg52.h> //51头文件unsigned/*定时器1,定时模式 工作模式1 16位计数器,
2023-11-06 00:09:48
674
原创 51单片机-中断
for(x=z;x>0;y>0;y--);EA=1;EX1=1;IT1=1;int_init();flag =1;flag =0;while(!key_s2);P1=~P1;
2023-11-05 23:11:47
257
nmon chart 分析工具
2024-05-14
nmon analyser
2024-05-14
oversubscribed command queues in gpus
2023-09-20
这是一款清华大学开发的avs2编解码器,里面有详细的源码
2023-05-17
这是一个国产avs(jizhun)的编码器,是清华大学编写的,效率还可以,大家可以参考
2023-05-17
nvcodec-master.zip
2021-04-14
libxl综合文件.zip
2020-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅