summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2011-04-02 19:58:34 +0000
committerjstebbins <[email protected]>2011-04-02 19:58:34 +0000
commitc5493132981f650d13c03181d53da5e3fd205bcd (patch)
tree85845fd91828ab1f7b87814567f447564ada5872 /libhb/stream.c
parent889409ab149f8d7b20be0dfb720359c80fb7471e (diff)
Fix garbled previews from BD h.264 sources
Forome reason, frames that are tagged as recovery points in many BD h.264 streams do not result in complete frames when decoded. Pushing 2 extra frames through the decoder seems to always fix this. This patch extends something I was already doing when generating previews from a BD structure. This just applies the same logic to ffmpeg streams that have h.264 video. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3895 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/stream.c')
-rw-r--r--libhb/stream.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libhb/stream.c b/libhb/stream.c
index 64fa6cba4..5b4d248d0 100644
--- a/libhb/stream.c
+++ b/libhb/stream.c
@@ -3271,7 +3271,7 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *stream )
// 'Barebones Title'
hb_title_t *title = hb_title_init( stream->path, 0 );
- title->type = HB_STREAM_TYPE;
+ title->type = HB_FF_STREAM_TYPE;
title->index = 1;
// Copy part of the stream path to the title name
@@ -3309,6 +3309,9 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *stream )
title->video_id = i;
stream->ffmpeg_video_id = i;
+ if ( context->codec_id == CODEC_ID_H264 )
+ title->flags |= HBTF_NO_IDR;
+
// We have to use the 'internal' avcodec decoder because
// it needs to share the codec context from this video
// stream. The parser internal to av_read_frame