FFMPEG 增加 AVS+ 视频解码 支持-第二篇:ffmpeg中注册cavsp解码器

ffmpeg中的avs解码器综述 ffmpeg中的avs decode 和avs demuxer只支持一种分辨率的avs。cavs demuxer和cavsdec是支持avs jizhun profile的。最近拿了一个avs的视频流,用硬件可以解码,但是ffmpeg自带的却无法解码。这个好奇怪,算了,先跳过,慢慢看,记住这个avs只适配一种尺寸。可以看到avs有两个,第一个是avs 第二个是cavs.我们先用avs来解码,解码的视频是通过【结果发现有问题,尺寸本来是640。360,结果被强制改为318。 阅读详情
AI摘要

本文介绍了FFmpeg中AVS解码器的工作原理及其ID定义方式,并展示了如何通过枚举enumAVCodecID标记编解码器。此外,还详细解析了CAVS解码器的具体实现。

1、在ffmpeg中使用枚举enum AVCodecID 来标记每一个编解码器

在libavcodec下avcodec.h中定义所有codec的ID

enum AVCodecID {
    AV_CODEC_ID_NONE,

    /* video codecs */
    AV_CODEC_ID_MPEG1VIDEO,
    AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding


下面的截图是 ffmpeg-2.7版本中AVS解码器的ID : AV_CODEC_ID_CAVS

【特别注意】ffmpeg是通过解码器的ID来调用解码器的API进行编解码


2、定义CAVSP解码器

首先看看AVS解码器的定义,然后增加AVS+解码器

下面是 CAVS解码器的定义:libavocdec下cavsdec.c中定义

AVCodec ff_cavs_decoder = {
    .name           = "cavs",
    .long_name      = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = AV_CODEC_ID_CAVS,
    .priv_data_size = sizeof(AVSContext),
    .init           = ff_cavs_init,
    .close          = ff_cavs_end,
    .decode         = cavs_decode_frame,
    .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_DELAY,
    .flush          = cavs_flush,
};


下面截图是ffmpeg-2.7中与AVS解码器相关的源代码文件:



ffmpeg-cavs识别广电流 如下如果想要ffmpeg识别广电的流, 阅读详情

相关推荐

【X265】Win10环境编译FFmpeg,集成 x264、x265、avs2

在Win10中编译完x264、x265后,开始编译FFmpeg,并将集成这几个主流视频编解码算法 准备 系统环境: Win10 + VS2019 编译环境: Mingw64 + msys2 + cmake + yasm + nasm 编码算法:x264_161、x265_3.3、avs2(xavs2_1.3、davs2_1.6) 为方便将以上编码器一起集成到FFmpeg中,全部采用msys2编译,并编译到同一地址,本人全部编译到 /home/build 中, 即在编译时,全部采用./configure --

wohaokuna的博客 2201

FFMpeg视频开发与应用基础——使用FFMpeg工具与SDK

FFMpeg是当今为的面向音视频开发的开源工程,广泛应用于多种音视频的客户端、播放器和流媒体服务器中。使用FFMpeg提供的工具和SDK,可以完成音视频的编码、解码、转码、封装、解封装、转封装、视频水印和视频缩放等多种需求的开发。

【Codecs系列】FFmpeg支持AVS+解码功能

DATE: 2021.11.14 文章目录1、前言2、 1、前言 2、

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 4412

AVS+.H264压制视频

AVS+.H264加字幕压制为MP4格式! 需要的工具 1.Avisynth 2.x264-32bit.exe/x264-64bit 3.ffmpeg 4.MP4Box 5.neroAacEnc *将工具下载好后最好统一放到一个文件夹,这四个工...

822

【Codecs系列】AVS+(AVS1 P16)解码器

DATE: 2021.9.28 文章目录1、AVS+标准介绍2、AVS+解码器 1、AVS+标准介绍 AVS+是AVS1标准的增强版,增加了算术编码、帧级加权量化、同极性场跳过模式编码,增强场编码等技术,主要用于地面电视广播、有线电视广播、卫星电视广播等应用。 2、AVS+解码器 https://download.youkuaiyun.com/download/SoaringLee_fighting/25530025 THE END! ...

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 5141

FFmpeg (5.X)支持国标avs2(8位编10位解)及avs3(8/10位编解)_Win64

ffmpeg编码器:https://gitee.com/zhengtianbo/FFmpeg-avs2-avs3/releases VCL 3播放器源码及已编译版:https://gitee.com/zhengtianbo/VLC3-AVS3AVS2CAVS/releases mpc-hc播放器:https://gitee.com/zhengtianbo/cavs-avs2-avs3_decoder_added_to_mpc_hc/releases

FFMPEG 增加 AVS+ 视频解码 支持-第一篇

本文主要作为个人开发记录 1、国标 AVS、AVS+、AVS2概述 2、FFMPEG中对国标AVS、AVS+、AVS2的支持现状 3、国内外软件中对国标AVS、AVS+、AVS2的支持现状 3、国内外硬件中对国标AVS、AVS+、AVS2的支持现状 4、ffmpeg中AVS解码器测试 5、向ffmpeg中增加AVS+解码器 3、国内外软件中对国标AVS、AVS+、

cmsbupt的专栏 1万+

AVS 之 ffmpeg和mencoder的编译方法.rar

ffmpeg和mencoder的编译方法,转载一位优快云博主的文章,结合自己的笔记做的记录,仅仅是记录方便学习

编译 ffmpeg 以支持AVS格式视频解码与解码

当前文章介绍如何在Linux下使用FFmpeg转码其他视频格式到AVS格式的指南,包括编译FFmpeg以支持XAVS编码和如何使用FFmpeg进行转码。

4589

ffmpeg.zip

原生支持AVS+和DRA解码的ffmpeg库,已经编译通过可以正常使用。

基于ffmpeg的各种视频格式转AVS的转码器

基于ffmpeg和rm52j,可将各种格式的视频转为avs,开发平台为ubuntu,需事先安装ffmpeg,直接执行make完成编译,执行avsconvertor完成转码,命令格式为./avsconvertor /home/encoder.cfg /home/inputvideofilename /home/outputvideofilename /home/outputaudiofilename

AVS(JIZHUN)和AVS+(广电)

avs+ 标准:http://www.nrta.gov.cn/module/download/downfile.jsp?GY/T 257.1-2012 《国家广播电视先进音视频编解码 第1部分:视频》;GY/T 257.2-2014《广播电视先进音视频编解码 第2部分:视频符合性测试》;GY/T 271-2013 《AVS+高清编码器技术要求和测量方法》。GB/T 20090.16《信息技术 先进音视频编码 第16部分:视频》需要特别注意的是AVS JIZHUN和 AVS+ 里面的序列头不一样。

weixin_43360707的博客 3387

基于LAVFilters的CAVS-AVS2-AVS3视频解码器增强设计源码

该项目为基于LAVFilters的视频解码器增强设计源码,集成了CAVS、AVS2及AVS3视频解码功能。源码共包含685个文件,其中包括474个头文件(.h)、122个C++源文件(.cpp)、18个汇编文件(.a)、18个预编译头文件(.pc)、6个Shell脚本(.sh)、6个Visual Studio项目文件(.vcxproj)、6个过滤器文件(.filters)、5个文本文件(.txt)、4个WindowsManifest文件(.manifest)、3个DEF文件,以及少量其他类型文件。源码支持C和C++语言编写,并包含部分Shell脚本。该项目旨在提升LAVFilters的视频解码性能,适用于需要支持国标视频编码的应用场景。

AVS+ GOP结构获取 及 软解码流程

想要软解码AVS+视频在本地电脑播放,或者查看GOP结构等内容,可以通过以下流程。 1. 安装ffmpeg,用于将TS各式的码流分离为ES格式    a. 下载地址 :http://ffmpeg.zeranoe.com/builds/    (根据自己的操作系统版本选择)       如果不做开发用,下载static 版本就行 b. 通过下载的FFMPEG 进行

tea1896的专栏 4340

在MacBook M1/M2上,手把手教你打包包含嵌入模型的RagFlow Docker镜像(避坑指南)

本文详细指导如何在MacBook M1/M2上构建ARM64架构的RagFlow Docker镜像,涵盖环境准备、依赖处理、镜像构建及性能优化全流程。特别针对Apple Silicon芯片的兼容性问题提供解决方案,帮助开发者高效完成本地开发环境搭建。

weixin_26908317的博客 242

Sony DPT RP1/CP1破解攻略

前言 自己有一台Sony DPT CP1和一台kindle,两个都已经用了很多年。直到最近发现微信读书上经常可以找到一些免费而且不错的书,所以就萌生了在两台机器上使用微信读书的想法。kindle比较容易实现,直接打开内置浏览器,进入微信读书网页版就行了,而Sony的电纸书则只能通过破解+安装微信读书的方式实现。大概弄了两三个小时吧,也遇到了一些问题,所以这里记录一下整个过程,希望能方便后来的使用者。 首先感谢HappyZ, osc_t5nbj8ds。前者是提供公开破解的方法的大神,后者则是解决了我遇到的问题

weixin_43467572的博客 1万+

ffmpeg对avs,h264编解码的支持

http://www.cnblogs.com/mlj318/archive/2013/05/03/3057305.html ffmpeg对avs编解码的支持 输出的avs码流是.cavs格式的。 编码:ffmpeg -s 640x480 -i test.yuv -b 300k -vcodec libxavs test.cavs 解码:ffmpeg

maken 2733

全局–局部傅里叶神经算子(GL-FNO):原理、严格推导与 PINN 混合策略

本文提出了一种全局-局部傅里叶神经算子(GL-FNO)及其与物理信息神经网络(PINN)的结合方法。主要内容包括: 架构设计:GL-FNO包含两个分支 - 全局分支处理低频结构,使用下采样输入;局部分支处理高频细节,使用全分辨率输入。两分支通过自适应门控机制融合。 理论分析:证明了GL-FNO在"低频全局+高频局部"任务上的优势,给出了误差分解和复杂度分析,并推导了与PINN结合时的渐进一致性条件。 实现方法:采用频谱微分计算物理残差,推导了完整的训练流程,包括数据损失与物理损失的联合优

VectorShift的博客 1333

京东云视频云全面支持AVS2标准

一、概述数字音视频编解码技术标准(AVS)工作组由国家原信息产业部科学技术司于2002年6月批准成立,目标是制定我国自有的音视频编解码标准。至今已有两代AVS标准正式发布并成为国家标准,目...

京东科技开发者 1131

java技术专家【面试】Java程序员英语面试整个流程

java技术专家【面试】Java程序员英语面试整个流程

大壮 755

【车载以太网】【AVB/TSN】IEEE802.1Qav队列及转发协议

目录 一、概述 二、优先级排队算法 三、基于信用的流量整形算法 一、概述 IEEE 802.1Qav 队列及转发协议(Qav)针对不同数据流选择不同的传输选择算法来保障对时间敏感的 AV 数据流的实时传输。为了避免传统的异步以太网数据流量与 AVB 流量之间对网络资源的竞争,AVB 交换机内使用优先级排队算法和基于信用的流量整形算法实现数据流的调度。 二、优先级排队算法 优先级排队算法主要用于传统以太网数据流(BE, Best Effort)的调度传输,BE 流通过基于优先级...

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 4688

基于移动平台的多媒体框架——AVS的编解码

AVS的编解码 AVS是我国具备自主知识产权的第二代信源编码标准。如果需要更加详细了解AVS,可以访问AVS工作组的主页 http://www.avs.org.cn/ 。从官网的页面可以看出来,这个标准已经很久没有什么动静了,很多年都没有什么更新。但是AVS最近突然非常热门,2011年11月4日,中国质量报发表了一篇名为《AVS将成为我国电视机支持的唯一视频标准》的文章,从中也可以看出一...

云计算? 687

ubuntu20.04屏幕亮度无法调节(亮度条调节无效)的简单靠谱解决方案及踩坑历程

0 前言   网上关于ubuntu系统亮度无法调节的问题的解决方法有很多,但是绝大部分并没有什么用(这也是我自己的亲身体会),或者并不靠谱。在遍尝各路方法过后,我终于解决了这一棘手的问题(毕竟最大亮度真的非常刺眼,无法长时间直视),在此记录一下踩坑历程以及最后的解决方案。 1 Naive方法   由于使用需要,最近在电脑原有的win10基础上安装了ubuntu双系统。我安装的是当前新版的ubuntu20.04.2.0,靠谱的安装教程可以参考这里。   之前师兄说双ssd安装双系统会有系统启动引导的问题出现,

zeeq的博客 4万+
上一篇: 8K 视频 采集、压缩编码、传输、显示系统总结
下一篇: WIN7+Cygwin+NDK+ffmpeg编译
cmsbupt
博客等级 码龄19年 67粉丝 86原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值