Когда я использую x264 lib для кодирования видеопотока yuv, я не могу установить параметр sps num_units_in_tick (i_num_units_in_tick в struct). Я инициализировать x264_param_t как:x264 num_units_in_tick нельзя установить правильно
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 еще один, и time_scale еще 60. Как я могу установить num_units_in_tick 3000, так что один кадр занимает временную метку блока 3000.
+1 Это сложная тема. Интересным может быть и обсуждение с x264-devel: http://mailman.videolan.org/pipermail/x264-devel/2005-September/000985.html – mevatron