通过SPS计算视频的宽高及帧率等参数

本文介绍了如何通过SPS计算H264和H265视频的宽度、高度以及帧率。针对不同情况提供了计算公式,并解释了涉及到的关键字段如frame_cropping_flag、chroma_format_idc等。同时提到了在不同编码器如x264和x265中,帧率计算可能存在的差异。
摘要由CSDN通过智能技术生成

1、H264
计算宽高根据标识不同有两种(都是从SPS字段中取值)
第一种:
Width = (pic_width_in_mbs_minus1+1)*16;
Height = (pic_height_in_map_units_minus1+1)*16;

第二种条件, frame_cropping_flag 值为1,frame_mbs_only_flag 为1,公式如下:
(也可以认为统一使用下面的公式)
width = ((pic_width_in_mbs_minus1 +1)16) - frame_crop_left_offset2 - frame_crop_right_offset2;
height= ((2 - frame_mbs_only_flag)
(pic_height_in_map_units_minus1 +1) * 16)
- (frame_crop_top_offset * 2) - (frame_crop_bottom_offset * 2);

第三种、正确计算方法如下函数:
// 宽高计算公式
width = (sps->pic_width_in_mbs_minus1+1) * 16;
height = (2 - sps->frame_mbs_only_flag)* (sps->pic_height_in_map_units_minus1 +1) * 16);
if(sps->frame_cropping_flag)
{
unsigned int crop_unit_x;
unsigned int crop_unit_y;
if (0 == sps->chroma_format_idc) // monochrome
{

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值