[vlc-devel] [PATCH 1/2] transcode: fps sync calculation correction
ileoo at videolan.org
ileoo at videolan.org
Sat Feb 15 11:57:15 CET 2014
From: Ilkka Ollakka <ileoo at videolan.org>
---
modules/stream_out/transcode/video.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c
index d758c19..690fc03 100644
--- a/modules/stream_out/transcode/video.c
+++ b/modules/stream_out/transcode/video.c
@@ -672,7 +672,7 @@ static void OutputFrame( sout_stream_sys_t *p_sys, picture_t *p_pic, sout_stream
* different fps value
*/
if( ( p_pic->date ) <
- ( date_Get( &id->next_output_pts ) ) )
+ ( date_Get( &id->next_output_pts ) - (mtime_t)id->i_output_frame_interval ) )
{
#if 0
msg_Dbg( p_stream, "dropping frame (%"PRId64" + %"PRId64" vs %"PRId64")",
@@ -900,15 +900,15 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_t *id,
/*Input lipsync and drop check */
if( p_sys->b_master_sync )
{
- /* If input pts + input_frame_interval is lower than next_output_pts - output_frame_interval
+ /* If input pts lower than next_output_pts - output_frame_interval
* Then the future input frame should fit better and we can drop this one
*
* We check this here as we don't need to run video filter at all for pictures
* we are going to drop anyway
*
* Duplication need is checked in OutputFrame */
- if( ( p_pic->date + (mtime_t)id->i_input_frame_interval ) <
- ( date_Get( &id->next_output_pts ) ) )
+ if( ( p_pic->date ) <
+ ( date_Get( &id->next_output_pts ) - (mtime_t)id->i_output_frame_interval ) )
{
#if 0
msg_Dbg( p_stream, "dropping frame (%"PRId64" + %"PRId64" vs %"PRId64")",
--
1.8.5.2
More information about the vlc-devel
mailing list