vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Mar 30 15:21:55 2017 +0200| [c4f5927e0b184a79cc1c7fa22b4d6551a0e78c11] | committer: Francois Cartegnie
packectizer: h264: don't override provided frame rate And allow it to change if not provided > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c4f5927e0b184a79cc1c7fa22b4d6551a0e78c11 --- modules/packetizer/h264.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c index 87ed2fe..abcbebd 100644 --- a/modules/packetizer/h264.c +++ b/modules/packetizer/h264.c @@ -207,12 +207,18 @@ static void ActivateSets( decoder_t *p_dec, const h264_sequence_parameter_set_t if( p_sps->vui.b_valid ) { - if( p_sps->vui.b_fixed_frame_rate && !p_dec->fmt_out.video.i_frame_rate_base ) + if( !p_dec->fmt_in.video.i_frame_rate_base && + p_sps->vui.b_fixed_frame_rate && p_sps->vui.i_num_units_in_tick > 0 ) { - p_dec->fmt_out.video.i_frame_rate_base = p_sps->vui.i_num_units_in_tick; - p_dec->fmt_out.video.i_frame_rate = p_sps->vui.i_time_scale >> 1 /* num_clock_ts == 2 */; - if( p_sps->vui.i_num_units_in_tick > 0 ) + const unsigned i_rate_base = p_sps->vui.i_num_units_in_tick; + const unsigned i_rate = p_sps->vui.i_time_scale >> 1; /* num_clock_ts == 2 */ + if( i_rate_base != p_dec->fmt_out.video.i_frame_rate_base && + i_rate != p_dec->fmt_out.video.i_frame_rate ) + { + p_dec->fmt_out.video.i_frame_rate_base = i_rate_base; + p_dec->fmt_out.video.i_frame_rate = i_rate; date_Change( &p_sys->dts, p_sps->vui.i_time_scale, p_sps->vui.i_num_units_in_tick ); + } } if( p_dec->fmt_out.video.primaries == COLOR_PRIMARIES_UNDEF ) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
