All pastes #765162 Raw Edit

HB IVTC delay Q

public diff v1 · immutable
·published 2007-11-07 21:16 UTC
rendered paste body
Index: libhb/render.c===================================================================--- libhb/render.c	(revision 1047)+++ libhb/render.c	(working copy)@@ -19,6 +19,7 @@     AVPicture            pic_tmp_out;             hb_buffer_t        * buf_scale;     hb_fifo_t          * subtitle_queue;+    hb_fifo_t          * delay_queue; };  int  renderInit( hb_work_object_t *, hb_job_t * );@@ -292,6 +293,24 @@         hb_buffer_copy_settings( buf_render, buf_tmp_in );     } +    /*+     * At this point we may or may not have a buffer in *buf_out to push+     * upstream. If we do put it on our delay queue.+     *+     * When the delay queue reaches our current maximum we pop the last one +     * off the end and put that in *buf_out+     */+    if( *buf_out )+    {+        hb_fifo_push( pv->delay_queue, *buf_out );+        *buf_out = NULL;+    }++    if( hb_fifo_size( pv->delay_queue ) >= 3 )+    {+        *buf_out = hb_fifo_get( pv->delay_queue );+    } +     return HB_WORK_OK; } @@ -304,7 +323,12 @@     {         hb_fifo_close( &pv->subtitle_queue );     }-    ++    if( pv->delay_queue )+    {+        hb_fifo_close( &pv->delay_queue );+    }+        /* Cleanup filters */     /* TODO: Move to work.c? */     if( pv->job->filters )@@ -351,7 +375,8 @@     }             /* Setup FIFO queue for subtitle cache */-    pv->subtitle_queue = hb_fifo_init( 8 );    +    pv->subtitle_queue = hb_fifo_init( 8 );+    pv->delay_queue = hb_fifo_init( 8 );          /* Setup filters */     /* TODO: Move to work.c? */