summaryrefslogtreecommitdiffstats
path: root/libhb/decavcodec.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2011-09-24 01:16:28 +0000
committerjstebbins <[email protected]>2011-09-24 01:16:28 +0000
commit3d237202e20af694df84ad73ae2f92145777c692 (patch)
tree90f63e58462878bbacec1fa3975db3c9411f3901 /libhb/decavcodec.c
parent442f8efade3df7a34c52441c982c93aeb66b29e5 (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.c6
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;