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

企业做网站的多吗seo综合查询工具可以查看哪些数据

企业做网站的多吗,seo综合查询工具可以查看哪些数据,网站在线客服链接,商标大全 logo一、引言 在上一节《音视频入门基础:H.264专题(11)——计算视频分辨率的公式》中,讲述了通过SPS中的属性计算H.264编码的视频的分辨率的公式。本文讲解FFmpeg源码中计算视频分辨率的实现。 二、FFmpeg源码中计算视频分辨率的实现…

一、引言

在上一节《音视频入门基础:H.264专题(11)——计算视频分辨率的公式》中,讲述了通过SPS中的属性计算H.264编码的视频的分辨率的公式。本文讲解FFmpeg源码中计算视频分辨率的实现。

二、FFmpeg源码中计算视频分辨率的实现

从文章《音视频入门基础:H.264专题(10)——FFmpeg源码中,存放SPS属性的结构体和解码SPS的函数分析》中,我们可以知道,FFmpeg源码中通过ff_h264_decode_seq_parameter_set函数解码SPS,从而拿到SPS中的属性。

在ff_h264_decode_seq_parameter_set函数中有如下代码,通过下面的这部分代码拿到计算视频分辨率所需的属性:

int ff_h264_decode_seq_parameter_set(GetBitContext *gb, AVCodecContext *avctx,H264ParamSets *ps, int ignore_truncation)
{//...sps->gaps_in_frame_num_allowed_flag = get_bits1(gb);sps->mb_width                       = get_ue_golomb(gb) + 1;sps->mb_height                      = get_ue_golomb(gb) + 1;sps->frame_mbs_only_flag = get_bits1(gb);if (sps->mb_height >= INT_MAX / 2U) {av_log(avctx, AV_LOG_ERROR, "height overflow\n");goto fail;}sps->mb_height *= 2 - sps->frame_mbs_only_flag;//...sps->crop = get_bits1(gb);if (sps->crop) {unsigned int crop_left   = get_ue_golomb(gb);unsigned int crop_right  = get_ue_golomb(gb);unsigned int crop_top    = get_ue_golomb(gb);unsigned int crop_bottom = get_ue_golomb(gb);int width  = 16 * sps->mb_width;int height = 16 * sps->mb_height;if (avctx->flags2 & AV_CODEC_FLAG2_IGNORE_CROP) {av_log(avctx, AV_LOG_DEBUG, "discarding sps cropping, original ""values are l:%d r:%d t:%d b:%d\n",crop_left, crop_right, crop_top, crop_bottom);sps->crop_left   =sps->crop_right  =sps->crop_top    =sps->crop_bottom = 0;} else {int vsub   = (sps->chroma_format_idc == 1) ? 1 : 0;int hsub   = (sps->chroma_format_idc == 1 ||sps->chroma_format_idc == 2) ? 1 : 0;int step_x = 1 << hsub;int step_y = (2 - sps->frame_mbs_only_flag) << vsub;if (crop_left  > (unsigned)INT_MAX / 4 / step_x ||crop_right > (unsigned)INT_MAX / 4 / step_x ||crop_top   > (unsigned)INT_MAX / 4 / step_y ||crop_bottom> (unsigned)INT_MAX / 4 / step_y ||(crop_left + crop_right ) * step_x >= width ||(crop_top  + crop_bottom) * step_y >= height) {av_log(avctx, AV_LOG_ERROR, "crop values invalid %d %d %d %d / %d %d\n",     crop_left, crop_right, crop_top, crop_bottom, width, height);goto fail;}sps->crop_left   = crop_left   * step_x;sps->crop_right  = crop_right  * step_x;sps->crop_top    = crop_top    * step_y;sps->crop_bottom = crop_bottom * step_y;}} else {sps->crop_left   =sps->crop_right  =sps->crop_top    =sps->crop_bottom =sps->crop        = 0;}//...
}

然后在FFmpeg源码的源文件libavcodec/h264_parser.c的parse_nal_units函数中,有如下代码:

static inline int parse_nal_units(AVCodecParserContext *s,AVCodecContext *avctx,const uint8_t * const buf, int buf_size)
{//...for (;;) {switch (nal.type) {case H264_NAL_SPS:ff_h264_decode_seq_parameter_set(&nal.gb, avctx, &p->ps, 0);break;//...case H264_NAL_IDR_SLICE://...s->coded_width  = 16 * sps->mb_width;s->coded_height = 16 * sps->mb_height;s->width        = s->coded_width  - (sps->crop_right + sps->crop_left);s->height       = s->coded_height - (sps->crop_top   + sps->crop_bottom);if (s->width <= 0 || s->height <= 0) {s->width  = s->coded_width;s->height = s->coded_height;}//... }//...}
}

可以看到parse_nal_units函数中最终是通过下面的语句拿到视频分辨率的:

s->width = s->coded_width - (sps->crop_right + sps->crop_left);
s->height = s->coded_height - (sps->crop_top + sps->crop_bottom);

可以看到FFmpeg源码中计算视频分辨率的实现跟文章《音视频入门基础:H.264专题(11)——计算视频分辨率的公式》中描述的公式是一致的。

http://www.hengruixuexiao.com/news/22318.html

相关文章:

  • b2b网站一个人可以做吗手机优化是什么意思
  • 网站设计规划的创意山西搜索引擎优化
  • 龙岩网站制作无锡优化网站排名
  • 中国网购网站十大排名免费制作网站平台
  • 网站制作常用代码网络推广渠道有哪些
  • 榆林做网站多少钱热搜排行榜今日排名
  • 美团这个网站多少钱做的新闻摘抄
  • 企业网络设计seo技术分享免费咨询
  • 余姚网站建设找哪家外链网址
  • 友好酒店网站建设方案书国际羽联最新排名
  • 北京上海网站建设推广文章的注意事项
  • 自己做电商网站网站推广优化的原因
  • 网站授权系统怎么用梧州网站seo
  • 三级做暧视频网站免费搜索引擎推广的基本方法
  • 手机网站设置seo搜索引擎优化总结
  • 网站开发网页前置开发重大新闻事件
  • 做网站一定要会ps么学生个人网页制作教程
  • 在今日头条之类网站做电商吉林seo刷关键词排名优化
  • 网站制作学生信息管理百度app官方下载
  • 网站建设吉金手指排名12营业推广方案怎么写
  • 如何建立一个购物网站奶茶店推广软文500字
  • 那个网站专门做二手衣服的最新疫情最新消息
  • 没有有知道钓鱼网站在哪儿做电商培训基地
  • 郑州做网站七彩科技短视频推广引流方案
  • 重庆网站制作公司多少钱论坛优化seo
  • 怎么制作动漫视频教程seo流量排行榜神器
  • ui设计网站建设是什么意思住房和城乡建设部官网
  • 暴风seo论坛好看的seo网站
  • wordpress123页seo搜索方法
  • 建站公司网站 discuz抖音流量推广神器软件