diff options
author | jstebbins <[email protected]> | 2010-10-23 17:21:56 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-10-23 17:21:56 +0000 |
commit | 598eb7d0143f7c3cddea494fa9c626478fce2cf2 (patch) | |
tree | 6aedebdd1720e1e35b0872babeaa66167bb00e44 | |
parent | 07331bb1e1c3d237fd63579d82c82440a7380883 (diff) |
Add build option --enable-ff-mpeg2 to use ffmpeg for mpeg2 decoding
instead of mpeg2dec. disabled by default.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3610 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | libhb/module.defs | 3 | ||||
-rw-r--r-- | libhb/scan.c | 8 | ||||
-rw-r--r-- | libhb/work.c | 7 | ||||
-rw-r--r-- | make/configure.py | 3 |
4 files changed, 21 insertions, 0 deletions
diff --git a/libhb/module.defs b/libhb/module.defs index 4759a921a..6518bcc8d 100644 --- a/libhb/module.defs +++ b/libhb/module.defs @@ -34,6 +34,9 @@ LIBHB.out += $(LIBHB.a) ############################################################################### +ifeq (1,$(FEATURE.ff.mpeg2)) +LIBHB.GCC.D += USE_FF_MPEG2 +endif LIBHB.GCC.D += __LIBHB__ USE_PTHREAD LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include diff --git a/libhb/scan.c b/libhb/scan.c index 445314bcd..901551f55 100644 --- a/libhb/scan.c +++ b/libhb/scan.c @@ -5,6 +5,7 @@ It may be used under the terms of the GNU General Public License. */ #include "hb.h" +#include "hbffmpeg.h" #include "a52dec/a52.h" #include "dca.h" @@ -526,6 +527,13 @@ static int DecodePreviews( hb_scan_t * data, hb_title_t * title ) hb_deep_log( 2, "scan: preview %d", i + 1 ); int vcodec = title->video_codec? title->video_codec : WORK_DECMPEG2; +#if defined(USE_FF_MPEG2) + if (vcodec == WORK_DECMPEG2) + { + vcodec = WORK_DECAVCODECV; + title->video_codec_param = CODEC_ID_MPEG2VIDEO; + } +#endif hb_work_object_t *vid_decoder = hb_get_work( vcodec ); vid_decoder->codec_param = title->video_codec_param; vid_decoder->title = title; diff --git a/libhb/work.c b/libhb/work.c index 7caa0691e..c9d32de91 100644 --- a/libhb/work.c +++ b/libhb/work.c @@ -637,6 +637,13 @@ static void do_job( hb_job_t * job, int cpu_count ) /* Video decoder */ int vcodec = title->video_codec? title->video_codec : WORK_DECMPEG2; +#if defined(USE_FF_MPEG2) + if (vcodec == WORK_DECMPEG2) + { + vcodec = WORK_DECAVCODECV; + title->video_codec_param = CODEC_ID_MPEG2VIDEO; + } +#endif hb_list_add( job->list_work, ( w = hb_get_work( vcodec ) ) ); w->codec_param = title->video_codec_param; w->fifo_in = job->fifo_mpeg2; diff --git a/make/configure.py b/make/configure.py index 6702ee28d..c069fc342 100644 --- a/make/configure.py +++ b/make/configure.py @@ -1059,6 +1059,8 @@ def createCLI(): grp.add_option( '--disable-gtk-update-checks', default=False, action='store_true', help=h ) h = IfHost( 'enable GTK GUI (mingw)', '*-*-mingw*', none=optparse.SUPPRESS_HELP ).value grp.add_option( '--enable-gtk-mingw', default=False, action='store_true', help=h ) + h = IfHost( 'enable use of ffmpeg mpeg2 decoding', '*-*-*', none=optparse.SUPPRESS_HELP ).value + grp.add_option( '--enable-ff-mpeg2', default=False, action='store_true', help=h ) h = IfHost( 'disable Xcode', '*-*-darwin*', none=optparse.SUPPRESS_HELP ).value grp.add_option( '--disable-xcode', default=False, action='store_true', help=h ) @@ -1455,6 +1457,7 @@ int main () doc.add( 'FEATURE.gtk', int( not options.disable_gtk )) doc.add( 'FEATURE.gtk.update.checks', int( not options.disable_gtk_update_checks )) doc.add( 'FEATURE.gtk.mingw', int( options.enable_gtk_mingw )) + doc.add( 'FEATURE.ff.mpeg2', int( options.enable_ff_mpeg2 )) doc.add( 'FEATURE.xcode', int( not (Tools.xcodebuild.fail or options.disable_xcode or options.cross) )) if not Tools.xcodebuild.fail and not options.disable_xcode: |