自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 H264学习三:H.264码流结构

提取h264码流有效数据

2023-01-30 17:42:18 360

原创 ffmpeg解析mp4文件打印相关音视频信息

ffmpeg解析mp4文件打印相关音视频信息封装格式相关函数◼ avformat_alloc_context();负责申请一个AVFormatContext结构的内存,并进行简单初始化◼ avformat_free_context();释放该结构里的所有东西以及该结构本身◼ avformat_close_input();关闭解复用器。关闭后就不再需要使用avformat_free_context 进行释放。◼ avformat_open_input();打开输入视频文件

2022-12-06 17:33:35 345

原创 H264学习二:H.264/AVC编码标准

整体的编码框架方面,H.264依然采用块结构的混合编码框架;整个结构可以分为网络抽象层(NAL(为了提升h264视频对网络传输和数据存储的亲和性))和视频编码层(VCL(帧内预测,运动搜索运动补偿,变换量化));每一帧被分为一个或多个条带(slice)进行编码;每一个条带包含多个宏块(MB,Macroblock);宏块是H.264基本的编码单元,本结构包含一个包含16×16亮度块+两个8×8色度块+其他一些宏块头信息;

2022-10-14 10:47:05 1656

原创 码率控制及虚拟I帧

码率控制一、最简单的就是设置qp了,可以大幅度降低静态场景下码率,但降低码率的同时,视频质量也会相应下降。二、拉长GOP时间用于减少IDR帧数量,减小P帧大小,增加B帧。为什么要拉长GOP呢?因为IDR大小是P帧的几倍、几十倍甚至上百倍,减少IDR数量,可以大大降低了码率。至于B帧,也叫中间帧,比P帧更小。具体来说,可以使用到如下GOP模式。

2022-09-05 17:48:28 2605 1

原创 H.264学习一:视频信息与压缩编码

组成视频的基本结构是一帧帧连续而关联的图像;组成每一帧图像的基本结构是成平面紧密排列的像素;每一个像素由颜色的三基色分别取不同的分量构成:R:Red - 红色分量G:Green - 绿色分量B:Blue - 蓝色分量RGB颜色空间常用于显示器系统RGB颜色空间由红、绿、蓝三基色构成,每一个像素至少由三个颜色分量构成。RGB三个分量每一个分量以1字节表示,则可以表示256×256×256种不同的颜色常见的图像格式如位图(bmp)格式以RGB形式保存实际的编解码等视频处理中,YUV格式比RGB格

2022-07-05 17:51:59 1264

原创 busybox df命令详细分析

本文基于busybox1.34.0版本 对df命令分析下面是df命令用法源码分析#include <mntent.h>#include <sys/statvfs.h>#include "libbb.h"#include "unicode.h"#if !ENABLE_FEATURE_HUMAN_READABLEstatic unsigned long kscale(unsigned long b, unsigned long bs){ return (b *

2022-01-11 12:07:28 859

原创 Hi3518 编码 代码总结——MPP初始化

海思媒体(mmp)处理平台架构海思媒体处理平台的主要内部处理流程如图 1-2 所示,主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区域管理(REGION)等模块。主要的处理流程介绍如下:VI 模块捕获视频图像,可对其做剪切、缩放等处理,并输出多路不同分辨率的图像数据。解码模块对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS

2021-06-16 20:53:13 2757

原创 链表入门

#include<stdio.h>#include<stdlib.h>//创建链表结构体struct test{ int data; struct test *next;};//打印链表函数//原理:当链表不为空的时候,依次循环往下遍历,每次遍历的时候打印数据void shuc(struct test *o){ while(o!=NULL) { printf("%d ",o->data); o=o->next; } printf("\

2020-11-04 17:28:33 156

原创 简易贪吃蛇(c语言实现)

简易贪吃蛇(c语言实现)#include<ncurses.h>//读取键盘输入的库#include<stdlib.h>//malloc 动态分配的库#include<locale.h>//显示汉字的库#include<unistd.h>//usleep延时函数库#include<pthread.h>//多线程的库#define UP 1//宏定义#define DOWN -1#define LEFT 2#defin

2020-10-14 19:28:53 345

转载 关于c语言中EOF用法的理解

首先看一下EOF的官方解释:计算机术语,缩写通常为EOF(End Of File),在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。在C语言中,或更精确地说成C标准函式库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,...

2019-11-03 15:54:07 1570

原创 用栈解决最长公共字符串问题

目录#include<stdio.h>#include<string.h>struct m{ char a[100]; int top;};struct n{ char b[100]; int top;};int main(){ struct m z1; struct n z2; int t,max=0,sum=0,x,y; char ...

2019-11-03 15:51:26 211

原创 栈,队列的综合应用及讲解

栈与队列的综合应用【栈的定义】【队列定义】【纸牌游戏】【栈的定义】栈是限定仅在表尾进行插入和删除操作的线性表,栈的插入就是压栈,栈的删除就是出栈,为后进先出结构,出栈的地方叫做栈顶。一共有两种栈的存储方式,一种顺序栈,通常由数组实现,另一种链栈,由单链表指针实现,顺序栈选择数组首元素作为栈顶,链栈选择头指针位置作为栈顶。【队列定义】1、队列(queue)是只允许在一端进行插入操作,而在另...

2019-10-27 13:51:08 1370 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除