当前位置: 首页 > news >正文

哪个网站有介绍拿到家做的手工活/站长工具seo综合查询腾讯

哪个网站有介绍拿到家做的手工活,站长工具seo综合查询腾讯,河北省邢台市建设工程网站,太原网站建设方案策划最近发现了ffmpeg有个网页版的文档,分享给大家:ffmpeg文档,查询起来看是挺方便的。现在才发现,是不是有点太晚了? 之前都是直接看源码上的注释,反过来想想,那些注释写的也都听清晰易懂的哈&…

最近发现了ffmpeg有个网页版的文档,分享给大家:ffmpeg文档,查询起来看是挺方便的。现在才发现,是不是有点太晚了?

之前都是直接看源码上的注释,反过来想想,那些注释写的也都听清晰易懂的哈(自我安慰)。

AVFrame

AVFrame结构体描述了解码后的(原始)音频或视频数据。

AVFrame通常被分配一次,然后多次重复使用以持有不同的数据(例如,单个AVFrame持有从解码器接收的帧)。 在这种情况下,av_frame_unref()将释放帧所持有引用,再次重用之前将其重置为初始状态。

AVFrame描述的数据通常通过AVBuffer API引用计数。 底层缓冲区引用存储在AVFrame.bufAVFrame.extended_buf中。 如果设置了至少一个引用,即AVFrame.buf [0]!= NULL,则AVFrame被认为是引用计数。 在这种情况下,每"平面(plane)"数据必须包含在AVFrame.bufAVFrame.extended_buf中的一个缓冲区中。 所有数据可能只有一个缓冲区,或者每个平面可能有一个单独的缓冲区,或者介于两者之间的任何内容。

只要使用FFmpeg做解码,必然会使用到AVFrame结构体,它比较重要的字段有:

  • *data[AV_NUM_DATA_POINTERS]:存放解码后的原始媒体数据的指针数组。
    • 对于视频数据而言,planar(YUV420)格式的数据,Y、U、V分量会被分别存放在data[0]、data[1]、data[2]……中。packet格式的数据会被存放在data[0]中。
    • 对于音频数据而言,data数组中,存放的是channel的数据,例如,data[0]、data[1]、data[2]分别对应channel 1,channel 2 等。
  • linesize[AV_NUM_DATA_POINTERS]:视频或音频帧数据的行宽数组。
    • 对video而言:每个图片行的字节大小。linesize大小应该是CPU对齐的倍数,对于现代pc的CPU而言,即32或64的倍数。
    • 对audio而言:代表每个平面的字节大小。只会使用linesize[0]。 对于plane音频,每个通道 的plane必须大小相同。
  • **extended_data:
    • 对于视频数据:只是简单的指向data[]。
    • 对于音频数据:planar音频,每个通道都有一个单独的数据指针,而linesize [0]包含每个通道缓冲区的大小。 对于packet音频,只有一个数据指针,linesize [0]包含所有通道的缓冲区总大小。
  • key_frame:当前帧是否为关键帧,1表示是,0表示不是。
  • pts:以time_base为单位的呈现时间戳(应向用户显示帧的时间)。

初始化与清理

AVFrame* avFrame = av_frame_alloc(); // 初始化
av_frame_free(&avFrame); // 释放
av_frame_unref(avFrame); // 释放AVFrame的所有引用,以便重用

av_frame_alloc:分配AVFrame并将其字段设置为默认值。主要该函数只分配AVFrame的空间,它的data字段的指定的buffer需要其它函数分配。

av_frame_free:AVFrame的释放,必须使用该函数释放帧和其中的任何动态分配的对象,例如extended_data。 如果帧被引用计数,则它的引用计数-1。

av_frame_unref:取消引用帧引用的所有缓冲区并重置帧字段。

结构定义及成员解读

typedef struct AVFrame {
#define AV_NUM_DATA_POINTERS 8uint8_t *data[AV_NUM_DATA_POINTERS]; // 存放媒体数据的指针数组int linesize[AV_NUM_DATA_POINTERS]; // 视频或音频帧数据的行宽uint8_t **extended_data; // 音频或视频数据的指针数组。int width, height; // 视频帧的款和高/*** number of audio samples (per channel) described by this frame*/int nb_samples; // 当前帧的音频采样数(每个通道)int format; // 视频帧的像素格式,见enum AVPixelFormat,或音频的采样格式,见enum AVSampleFormaint key_frame; // 当前帧是否为关键帧,1表示是,0表示不是。AVRational sample_aspect_ratio; // 视频帧的样本宽高比int64_t pts; // 以time_base为单位的呈现时间戳(应向用户显示帧的时间)。int64_t pkt_dts; // 从AVPacket复制而来的dts时间,当没有pts时间是,pkt_dts可以替代pts。int coded_picture_number; // 按解码先后排序的,解码图像数int display_picture_number; // 按显示前后排序的,显示图像数。int quality; // 帧质量,从1~FF_LAMBDA_MAX之间取之,1表示最好,FF_LAMBDA_MAX之间取之表示最坏。void *opaque; // user的私有数据。int interlaced_frame; // 图片的内容是隔行扫描的(交错帧)。int top_field_first; // 如果内容是隔行扫描的,则首先显示顶部字段。int sample_rate; // 音频数据的采样率uint64_t channel_layout; // 音频数据的通道布局。/*** AVBuffer引用,当前帧数据。 如果所有的元素为NULL,则此帧不是引用计数。 必须连续填充此数组,* 即如果buf [i]为非NULL,j <i,buf[j]也必须为非NULL。** 每个数据平面最多可以有一个AVBuffer,因此对于视频,此数组始终包含所有引用。 * 对于具有多于AV_NUM_DATA_POINTERS个通道的平面音频,可能有多个缓冲区可以容纳在此阵列中。 * 然后额外的AVBufferRef指针存储在extended_buf数组中。*/AVBufferRef *buf[AV_NUM_DATA_POINTERS];AVBufferRef **extended_buf; // AVBufferRef的指针int        nb_extended_buf; // extended_buf的数量enum AVColorSpace colorspace; // YUV颜色空间类型。int64_t best_effort_timestamp; // 算法预测的timestampint64_t pkt_pos; // 记录上一个AVPacket输入解码器的位置。int64_t pkt_duration; // packet的durationAVDictionary *metadata;int channels; // 音频的通道数。int pkt_size; // 包含压缩帧的相应数据包的大小。} AVFrame;
http://www.jmfq.cn/news/5277997.html

相关文章:

  • 永久域名最新网站/江苏seo和网络推广
  • 天元建设集团有限公司第四建筑工程公司/天津优化公司
  • 微信微网站 留言板/河南百度推广电话
  • 购物网站开发教程/网站收录大全
  • 网上宿迁官方网站/服务器域名查询
  • 网站封面怎么做/网络推广视频
  • 怎么做游戏自动充值的网站/seo数据监控平台
  • 视频聚合网站怎么做不侵权/网站模板下载
  • 免费做视频相册的网站/天津seo选天津旗舰科技a
  • 番禺网站开发哪里好/seo岗位工作内容
  • 门户网站建设情况汇报/人民日报最新消息
  • 帝国做的网站/swot分析
  • 启迪网站建设招聘/北京搜索关键词优化
  • 公司简介模板免费如何写/举例说明什么是seo
  • 佛山网站优化怎么做/博客seo优化技术
  • 百度实景360度地图/网站搜索排名优化怎么做
  • 做废旧哪个网站好/电商培训机构排名
  • 我要在附近找工作/seo技术是干什么的
  • 济南做网站的好公司有哪些/seo软件工具
  • 网站运行维护/上海搜索引擎优化seo
  • 义乌建设局网站/seo排名点击首页
  • 建设网站企业网银登录/推广策划方案
  • 湖南英文网站建设/网站及搜索引擎优化建议
  • 如何做网站授权/企业网络营销策略分析
  • 嘉兴市城乡规划建设管理委员会网站/怎么做优化
  • 东营网站推广/网络广告营销方案
  • 做公益筹集项目的网站/企业网站的优化建议
  • 如何给网站做排名优化/东莞疫情最新数据
  • 自己做的网站怎么传入外网/凡科建站和华为云哪个好
  • 网站开发会计分录/公司如何做网络推广营销