[vlc-commits] packectizer: h264: don't override provided frame rate

Francois Cartegnie git at videolan.org
Thu Mar 30 15:33:02 CEST 2017


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | 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 )
             {



More information about the vlc-commits mailing list