summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorjbrjake <[email protected]>2007-07-27 14:55:58 +0000
committerjbrjake <[email protected]>2007-07-27 14:55:58 +0000
commit5a4a250000ce8735639503aac2ee29def935865d (patch)
treed7efc0e7e44e06e80ba67827e137c970ac02743e /macosx
parent50c3c15c88172bb00dd787e39ce66eb11480717d (diff)
This huge patch from huevos_rancheros ports a number of video filters from mencoder to HandBrake: yadif+mcdeint, hqdn3d, pp7, and pullup+softskip+harddup. What this means is that HB now has stateless inverse telecine, temporal denoising, and motion-adaptive deinterlacing!
HandBrake is growing up =) Thank you, huevos_rancheros! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@749 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Controller.mm23
-rw-r--r--macosx/HandBrake.xcodeproj/project.pbxproj24
2 files changed, 47 insertions, 0 deletions
diff --git a/macosx/Controller.mm b/macosx/Controller.mm
index 7bf9b50d5..fb8d0ad8d 100644
--- a/macosx/Controller.mm
+++ b/macosx/Controller.mm
@@ -1317,7 +1317,30 @@ list = hb_get_titles( fHandle );
job->arate = hb_audio_rates[[fAudRatePopUp
indexOfSelectedItem]].rate;
job->abitrate = [[fAudBitratePopUp selectedItem] tag];
+
+ /* TODO: Filter settings */
+ job->filters = hb_list_init();
+#if 1
+ /* Run old deinterlacer if deinterlacing specified */
+ if( job->deinterlace )
+ {
+ hb_filter_deinterlace.settings = "-1";
+ hb_list_add( job->filters, &hb_filter_deinterlace );
+ }
+#else
+ /* Choose your own filters! Here's some examples... */
+ hb_filter_detelecine.settings = "1:1:4:4:0:0";
+ hb_list_add( job->filters, &hb_filter_detelecine );
+
+ hb_filter_deinterlace.settings = "3:-1:2:10";
+ hb_list_add( job->filters, &hb_filter_deinterlace );
+
+ hb_filter_deblock.settings = "4:2";
+ hb_list_add( job->filters, &hb_filter_deblock );
+ hb_filter_denoise.settings = "3:2:3:3";
+ hb_list_add( job->filters, &hb_filter_denoise );
+#endif
}
diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj
index fc250f584..a8f017a44 100644
--- a/macosx/HandBrake.xcodeproj/project.pbxproj
+++ b/macosx/HandBrake.xcodeproj/project.pbxproj
@@ -125,6 +125,14 @@
A29E058B0BE12889000533F5 /* Growl.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = A29E057F0BE1283E000533F5 /* Growl.framework */; };
EAA526930C3B25D200944FF2 /* stream.c in Sources */ = {isa = PBXBuildFile; fileRef = EAA526920C3B25D200944FF2 /* stream.c */; };
EAA526940C3B25D200944FF2 /* stream.c in Sources */ = {isa = PBXBuildFile; fileRef = EAA526920C3B25D200944FF2 /* stream.c */; };
+ FC8519500C59A02C0073812C /* denoise.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194C0C59A02C0073812C /* denoise.c */; };
+ FC8519510C59A02C0073812C /* deinterlace.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194D0C59A02C0073812C /* deinterlace.c */; };
+ FC8519520C59A02C0073812C /* deblock.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194E0C59A02C0073812C /* deblock.c */; };
+ FC8519530C59A02C0073812C /* detelecine.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194F0C59A02C0073812C /* detelecine.c */; };
+ FC8519540C59A02C0073812C /* denoise.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194C0C59A02C0073812C /* denoise.c */; };
+ FC8519550C59A02C0073812C /* deinterlace.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194D0C59A02C0073812C /* deinterlace.c */; };
+ FC8519560C59A02C0073812C /* deblock.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194E0C59A02C0073812C /* deblock.c */; };
+ FC8519570C59A02C0073812C /* detelecine.c in Sources */ = {isa = PBXBuildFile; fileRef = FC85194F0C59A02C0073812C /* detelecine.c */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -251,6 +259,10 @@
A273E0950C57C19500493A45 /* muxmkv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxmkv.c; path = ../libhb/muxmkv.c; sourceTree = SOURCE_ROOT; };
A29E057F0BE1283E000533F5 /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Growl.framework; sourceTree = "<group>"; };
EAA526920C3B25D200944FF2 /* stream.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = stream.c; path = ../libhb/stream.c; sourceTree = SOURCE_ROOT; };
+ FC85194C0C59A02C0073812C /* denoise.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = denoise.c; path = ../libhb/denoise.c; sourceTree = SOURCE_ROOT; };
+ FC85194D0C59A02C0073812C /* deinterlace.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = deinterlace.c; path = ../libhb/deinterlace.c; sourceTree = SOURCE_ROOT; };
+ FC85194E0C59A02C0073812C /* deblock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = deblock.c; path = ../libhb/deblock.c; sourceTree = SOURCE_ROOT; };
+ FC85194F0C59A02C0073812C /* detelecine.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = detelecine.c; path = ../libhb/detelecine.c; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -378,6 +390,10 @@
0DFA5C840B8DD3B60020BC09 /* encfaac.c */,
0DFA5C850B8DD3B60020BC09 /* enclame.c */,
0DFA5C860B8DD3B60020BC09 /* encvorbis.c */,
+ FC85194C0C59A02C0073812C /* denoise.c */,
+ FC85194D0C59A02C0073812C /* deinterlace.c */,
+ FC85194E0C59A02C0073812C /* deblock.c */,
+ FC85194F0C59A02C0073812C /* detelecine.c */,
0DFA5C870B8DD3B60020BC09 /* encx264.c */,
0DFA5C880B8DD3B60020BC09 /* encxvid.c */,
0DFA5C890B8DD3B60020BC09 /* fifo.c */,
@@ -681,6 +697,10 @@
5558B56A0BE3BADF00E15E27 /* decdca.c in Sources */,
EAA526940C3B25D200944FF2 /* stream.c in Sources */,
A273E09B0C57C1CD00493A45 /* muxmkv.c in Sources */,
+ FC8519540C59A02C0073812C /* denoise.c in Sources */,
+ FC8519550C59A02C0073812C /* deinterlace.c in Sources */,
+ FC8519560C59A02C0073812C /* deblock.c in Sources */,
+ FC8519570C59A02C0073812C /* detelecine.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -720,6 +740,10 @@
5558B5690BE3BADF00E15E27 /* decdca.c in Sources */,
EAA526930C3B25D200944FF2 /* stream.c in Sources */,
A273E09A0C57C1CC00493A45 /* muxmkv.c in Sources */,
+ FC8519500C59A02C0073812C /* denoise.c in Sources */,
+ FC8519510C59A02C0073812C /* deinterlace.c in Sources */,
+ FC8519520C59A02C0073812C /* deblock.c in Sources */,
+ FC8519530C59A02C0073812C /* detelecine.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};