From 598eb7d0143f7c3cddea494fa9c626478fce2cf2 Mon Sep 17 00:00:00 2001 From: jstebbins Date: Sat, 23 Oct 2010 17:21:56 +0000 Subject: 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 --- libhb/module.defs | 3 +++ libhb/scan.c | 8 ++++++++ libhb/work.c | 7 +++++++ 3 files changed, 18 insertions(+) (limited to 'libhb') 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; -- cgit v1.2.3