diff options
author | jstebbins <[email protected]> | 2011-09-24 01:16:28 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2011-09-24 01:16:28 +0000 |
commit | 3d237202e20af694df84ad73ae2f92145777c692 (patch) | |
tree | 90f63e58462878bbacec1fa3975db3c9411f3901 /libhb/decavcodec.c | |
parent | 442f8efade3df7a34c52441c982c93aeb66b29e5 (diff) |
fix framerate detection for AVCHD-Lite
The AVCHD-Lite specification only supports 50 or 60 fps. So to get
25 or 30 fps, they double every frame using repeat flags. Detect
this and adjust the framerate accordingly.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4242 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/decavcodec.c')
-rw-r--r-- | libhb/decavcodec.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c index 09ad0ce80..ce459d6e5 100644 --- a/libhb/decavcodec.c +++ b/libhb/decavcodec.c @@ -796,10 +796,14 @@ static int decodeFrame( hb_work_object_t *w, uint8_t *data, int size, int sequen { flags |= PIC_FLAG_PROGRESSIVE_FRAME; } - if ( frame.repeat_pict ) + if ( frame.repeat_pict == 1 ) { flags |= PIC_FLAG_REPEAT_FIRST_FIELD; } + if ( frame.repeat_pict == 2 ) + { + flags |= PIC_FLAG_REPEAT_FRAME; + } hb_buffer_t *buf; |