diff -urN mythtv-0.14.vanilla/libs/libmythtv/NuppelVideoRecorder.cpp mythtv/libs/libmythtv/NuppelVideoRecorder.cpp --- mythtv-0.14.vanilla/libs/libmythtv/NuppelVideoRecorder.cpp 2004-01-26 07:05:52.000000000 +0000 +++ mythtv/libs/libmythtv/NuppelVideoRecorder.cpp 2004-03-11 08:58:13.000000000 +0000 @@ -241,6 +241,20 @@ else mb_decision = FF_MB_DECISION_SIMPLE; } + else if (opt == "mpeg4optionidct") + { + if (value) + mp4opts |= CODEC_FLAG_INTERLACED_DCT; + else + mp4opts &= ~CODEC_FLAG_INTERLACED_DCT; + } + else if (opt == "mpeg4optionime") + { + if (value) + mp4opts |= CODEC_FLAG_INTERLACED_ME; + else + mp4opts &= ~CODEC_FLAG_INTERLACED_ME; + } else if (opt == "mpeg4option4mv") { if (value) diff -urN mythtv-0.14.vanilla/libs/libmythtv/recordingprofile.cpp mythtv/libs/libmythtv/recordingprofile.cpp --- mythtv-0.14.vanilla/libs/libmythtv/recordingprofile.cpp 2004-01-28 22:34:58.000000000 +0000 +++ mythtv/libs/libmythtv/recordingprofile.cpp 2004-03-11 08:58:13.000000000 +0000 @@ -356,6 +356,30 @@ }; }; +class MPEG4OptionIDCT: public CodecParam, public CheckBoxSetting { +public: + MPEG4OptionIDCT(const RecordingProfile& parent): + CodecParam(parent, "mpeg4optionidct") { + setLabel(QObject::tr("Enable interlaced DCT encoding")); + setValue(false); + setHelpText(QObject::tr("If set, the MPEG4 encoder will use interlaced " + "DCT encoding. You probably want this when encoding " + "interlaced video.")); + }; +}; + +class MPEG4OptionIME: public CodecParam, public CheckBoxSetting { +public: + MPEG4OptionIME(const RecordingProfile& parent): + CodecParam(parent, "mpeg4optionime") { + setLabel(QObject::tr("Enable interlaced motion estimation")); + setValue(false); + setHelpText(QObject::tr("If set, the MPEG4 encoder will use interlaced " + "motion estimation. You probably want this when encoding " + "interlaced video.")); + }; +}; + class MPEG4Option4MV: public CodecParam, public CheckBoxSetting { public: MPEG4Option4MV(const RecordingProfile& parent): @@ -503,6 +527,8 @@ params->addChild(new MPEG4ScaleBitrate(parent)); params->addChild(new MPEG4OptionVHQ(parent)); params->addChild(new MPEG4Option4MV(parent)); + params->addChild(new MPEG4OptionIDCT(parent)); + params->addChild(new MPEG4OptionIME(parent)); addTarget("MPEG-4", params); @@ -516,6 +542,8 @@ params->addChild(new MPEG4ScaleBitrate(parent)); params->addChild(new MPEG4OptionVHQ(parent)); params->addChild(new MPEG4Option4MV(parent)); + params->addChild(new MPEG4OptionIDCT(parent)); + params->addChild(new MPEG4OptionIME(parent)); addTarget("MPEG-2", params); params = new VerticalConfigurationGroup();