gpt4 book ai didi

c++ - x264 num_units_in_tick 无法正确设置

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:56:30 24 4
gpt4 key购买 nike

当我使用 x264 库编码 yuv 视频流时,我无法设置 sps 参数 num_units_in_tick(i_num_units_in_tick in struct)。我将 x264_param_t 初始化为:

    x264_param_t*                     m_x264Param;

if( x264_param_default_preset( m_x264Param, "superfast", "zerolatency" ) < 0 )
return -1;

x264_param_apply_fastfirstpass( m_x264Param );

/* Apply profile restrictions. */
//baseline
if( x264_param_apply_profile( m_x264Param, "baseline" ) < 0 )
return -1;

i_rc_method 设置为 1。我设置了决定 num_units_in_tick 的参数,然后调用 x264_encoder_open 来获取 x264_t。

    m_x264Param->i_timebase_den = 90000;
m_x264Param->i_timebase_num = 3000;
m_x264Param->i_fps_num = 60;
m_x264Param->i_fps_den = 2;

但是,num_units_in_tick还是1,time_scale还是60,怎么把num_units_in_tick设置成3000,一帧占用3000个时间戳单位。

最佳答案

实际上,vui_parameters 具有 FIELD 速率,而不是帧速率。

可能是您的框架基于 i_fps_num 而不是 i_timebase_den。查看将 FPS 设置为 90000/3000 是否符合您的要求。这 4 个值在数值上纠缠在一起,只能用两个数字指定。

此外,如果您的框架正在简化您的分数,那您就完全倒霉了。

关于c++ - x264 num_units_in_tick 无法正确设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9092175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com