summaryrefslogtreecommitdiffstats
path: root/libhb/decmpeg2.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2011-09-14 16:03:52 +0000
committerjstebbins <[email protected]>2011-09-14 16:03:52 +0000
commit3cdb1f293da7bb6e1f506c899ced038068aeeddf (patch)
tree53552ce38e0c8f23675cbf71f4dc68cc302315b7 /libhb/decmpeg2.c
parentace57e1b754f84cad9603e7ed14aa9c6bb705461 (diff)
Improve mpeg PS support
Adds support for MPEG-1 PS, HDDVD EVOB, and video codecs other than mpeg1/2 in PS Improves probing of unknown stream types by using Libav's probing utilities Use Libav to probe for dts profile in TS and PS files when profile is unknown Improves framerate detection (improved telecine detection) Fixes preview generation for mpeg video that has only a single sequence header Patches Libav to handle VC-1 pulldown flags properly Improve PS and TS stream log information git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4220 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/decmpeg2.c')
-rw-r--r--libhb/decmpeg2.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/libhb/decmpeg2.c b/libhb/decmpeg2.c
index c502b8fef..3c84fea50 100644
--- a/libhb/decmpeg2.c
+++ b/libhb/decmpeg2.c
@@ -871,13 +871,22 @@ static int decmpeg2Info( hb_work_object_t *w, hb_work_info_t *info )
return 0;
}
+static void decmpeg2Flush( hb_work_object_t *w )
+{
+ hb_work_private_t * pv = w->private_data;
+
+ mpeg2_reset( pv->libmpeg2->libmpeg2, 0 );
+ pv->libmpeg2->got_iframe = 0;
+}
+
hb_work_object_t hb_decmpeg2 =
{
- WORK_DECMPEG2,
- "MPEG-2 decoder (libmpeg2)",
- decmpeg2Init,
- decmpeg2Work,
- decmpeg2Close,
- decmpeg2Info
+ .id = WORK_DECMPEG2,
+ .name = "MPEG-2 decoder (libmpeg2)",
+ .init = decmpeg2Init,
+ .work = decmpeg2Work,
+ .close = decmpeg2Close,
+ .flush = decmpeg2Flush,
+ .info = decmpeg2Info
};