konablend [Fri, 20 Mar 2009 16:37:07 +0000 (16:37 +0000)]
Cygwin: removed faad2 patch no longer required as per faad2 bump.
- added -N flag to contrib usage of patch to ignore patches which appear already applied.
jbrjake [Thu, 19 Mar 2009 17:30:56 +0000 (17:30 +0000)]
Ports tritical's EEDI2 deinterlacing interpolator from AviSynth and implements it in the decomb filter as an optional, non-default substitute for yadif's internal, lower quality spatial predictions.
EEDI2 interpolation is enabled by setting mode (the first decomb parameter) to 5. Decomb now accepts -1 as a spatial metric (the second parameter), to bypass combing detection and force deinterlacing of all frames in the specified mode. Additional parameters have been appended to the end of the settings list for decomb, to specify various settings used by EEDI2. The default values for those should work well.
dynaflash [Mon, 16 Mar 2009 14:55:44 +0000 (14:55 +0000)]
MacGui: When launching a second instance of HB, warn of existing instance and do not alter the existing queue.
- Note: this does not mean multi-instance encoding off of one queue file works. For now its just better than messing up the first instances queue. Also useful for ui developing on one instance sans encoding while actually encoding with another instance.
sr55 [Sun, 15 Mar 2009 14:12:48 +0000 (14:12 +0000)]
WinGui:
- Enable tabstops on the add preset window.
- Confirm closing of program if Queue is running (ExDeus)
- Minor fixes/cleanup from Exdeus (Destination Browse Button, Tools > Show Queue, MessageBox in frmQueue)
- Code cleanup in a few other files.
dynaflash [Fri, 13 Mar 2009 19:56:59 +0000 (19:56 +0000)]
MacGui: setUsesThreadedAnimation to false for the progress indicators in the main window for 32 bit as well as 64 bit. also for fMovieCreationProgressIndicator in th preview window.
- For live preview this fixes an issue where the qtmovieview controller was not in focus.
dynaflash [Thu, 12 Mar 2009 21:48:16 +0000 (21:48 +0000)]
Macgui: set "setUsesThreadedAnimation" to false for the two main window progress indicators for 64 bit builds.
- Fix by jbrjake.
- Fixes an issue where clicking on the advanced tab renders the progress indicators inanimate and the rest of the ui sluggish.
- jbrjake found a note in the 10.5 dev notes regarding this possiblility. It was also noted that unless specified, setUsesThreadedAnimation defaults to true.
- Also there is a mention in the documentation that "... creating a thread just for the progress indicator can actually slow down your application." for NSProgressIndicator though no mention of 64 bit builds specifically.
konablend [Wed, 11 Mar 2009 05:18:47 +0000 (05:18 +0000)]
BuildSystem: darwin + Xcode dependencies and enhancements
This changeset focuses on a disconnect between Xcode targets HandBrakeCLI and HandBrake.app when
changest to external dependencies are made. The use case is to touch any .c file in libhb
which then builds .o and re-creates libhb.a; next the Xcode targets should at least re-link.
This did not happen because link-flags are used to add libhb.a and contrib libraries in Xcode;
which effectively hides them from Xcode.
The solution removes libhb.a from link-flags mechanism and places libhb.a as a framework library
known to Xcode; and the expected re-linking occurs. contrib libraries will continue to use link-flags
but since libhb.a has coarse-grained dependencies on contrib modules this will also cause Xcode
targets to re-link.
Further enhancements made to Xcode project:
- Xcode now scans any .c files for .h file dependencies; will help with Xcode sources;
the effect against libhb.a is moot; libhb.a will be rebuilt by external system anyways.
- libbz2 and libz are now treated as framework libraries; it's more correct than listing
all libraries as link-flags.
- moved FRAMEWORK_SEARCH_PATHS to project-level for consistency in future targets.
- moved LIBRARY_SEARCH_PATHS to project-level for conistency.
- enabled GCC_WARN_TYPECHECK_CALLS_TO_PRINTF at project-level.
[this changeset should not be a factor for other platforms; no side effects are expected]
van [Wed, 11 Mar 2009 05:11:02 +0000 (05:11 +0000)]
Detect bogus cell start and last addresses while scanning each title so we don't crash later in dvdread. Fix from user "greed" in forum thread http://forum.handbrake.fr/viewtopic.php?f=4&t=9758&start=0
konablend [Tue, 10 Mar 2009 22:43:11 +0000 (22:43 +0000)]
Cygwin: ffmpeg build tweaks
- bug: issues with universal input (including aac in mp4, wmv etc)
- fix: add -fno-common to GCC
- correctness: add --enable-memalign-hack as per ffmpeg docs
- these issues were possibly a regression introduced with the new build system
- a positive side effect to the build system is the availability of new makevar
'<MODULE>.GCC.args.extra' which is a free-form way to add extra cflags to GCC functions.
[this changeset does not effect any other platforms]
konablend [Tue, 10 Mar 2009 07:05:42 +0000 (07:05 +0000)]
BuildSystem: initial _skeleton_ asm support for libhb.
- asm disposition is DISABLED.
- it can only be enabled via a hidden configure option (--enable-asm) but will only be useful once asm code is checked-in.
- this is checked-in early to not lose some internal configure enhancements made during asm build support impl.
konablend [Tue, 10 Mar 2009 01:50:47 +0000 (01:50 +0000)]
BuildSystem: doc cleanup
- drop /wiki as this cannot be displayed without trac 'include' components or plugins.
- drop pre-generated txt files from /trunk as wiki pages will be posted manually.
- drop auto-posting of generated wiki from doc/module.* .
konablend [Tue, 10 Mar 2009 01:26:46 +0000 (01:26 +0000)]
BuildSystem: effects Darwin platforms only
- fixed Darwin ppc hosted build reversion introduced in r2242.
- fixed Darwin + Xcode in all scenerios to honor --debug option
*** if building from Xcode there is no need to rebuild but you will have
to close project and reload; xcodeproj has been updated.
*** if building from terminal there *should* be no need to rebuild;
the first 'make' after an update is expected to trigger a reconfigure
and libhb will rebuild.
konablend [Mon, 9 Mar 2009 04:58:02 +0000 (04:58 +0000)]
libvorbis: disabled build of examples
- libvorbis autotooling leaves a lot to be desired; when building examples it
tends to find libogg in all the wrong places, even when specifying --with-ogg=DIR
we still must resort to other hacks to disable pkg-config.
- we don't need the examples; and disabling them is likely to make HB builds with less issues.
konablend [Mon, 9 Mar 2009 03:05:53 +0000 (03:05 +0000)]
BuildSystem: fixed configure --debug + Xcode
- only effects users building w/ Xcode from terminal or Xcode.app who need debug libhb.
Bug details:
- shunting through Xcode causes a re-configure to give GNUmakefile the 'Xcode' environment.
- re-configure simply clobbered CONF.args thus losing effect of initial --debug option.
- solution is to pass CONF.args to re-configure.
konablend [Sun, 8 Mar 2009 22:50:57 +0000 (22:50 +0000)]
BuildSystem: general, configure and Xcode updates.
*** NOTICE:
This changeset requires a clean build directory. Please issue 'make xclean' inside
build dir(s) after 'svn up'. This will help ensure there are no unexpected results.
*** GENERAL:
- renamed makevar PROJECT/ -> SRC/ for clarity.
- renamed makevar PREFIX.install/ -> PREFIX/ for clarity.
- split custom GNUmakefile overrides into defs/rules files.
- inserted optional level of make customization at SRC/ level; see docs.
- dropped HB.repo.wcversion (svnversion is no longer used).
- corrected several 'rm' usages to use -f flag which avoids some build errors.
- refreshed generated 00-Building.*.txt docs; work still in progress on the wiki front.
*** CONFIGURE:
- made configure more robust; configure may now be run outside of build directory!
- adding log recording of configure activities.
- improved readability of default options for configure
- added:
--force overwrite existing build config
--src=DIR specify top-level source dir [.]
--build=DIR specify build scratch/output dir [.]
--prefix=DIR specify install dir for products [/Applications]
- dropped --launch-force (replaced by --force)
- dropped --launch-dir (replaced by --build)
- dropped --launch-log
*** XCODE:
- renamed pbxproj definition EXTERNAL_PROJECT -> EXTERNAL_SRC for clarity.
- fixed all configurations to default to EXTERNAL_JOBS=1 .
- enabled Xcode internal parallelization (libhb, HandBrakeCLI and HandBrake benefit).
- make now tickles Xcode build files to cause Info.plist regeneration and posting to HandBrake.app output;
ie: svn up; click build and HandBrake.app's about panel will reflect the new repository rev.
*** DARWIN:
- added support to build universal binaries; see docs.
sr55 [Sat, 7 Mar 2009 12:53:48 +0000 (12:53 +0000)]
WinGui:
- Remove old decomb option from the Options windows
- Added patch by ExDeus which allows multi-select on the queue window, and re-adding of the currently running job.
ritsuka [Sat, 7 Mar 2009 07:35:56 +0000 (07:35 +0000)]
MacGui: Reverted the updateUI: timer mode to NSDefaultRunLoopMode. Hopefully this will fix the ui weird behavior on x86_64 (progress bar lockup, interface slowdown, etc)
dynaflash [Sat, 7 Mar 2009 05:02:06 +0000 (05:02 +0000)]
x264 bump to r1123-3d78062
- the holger special, general speedups
- 16x16 SATD: +18% speed on K8(64bit), +22% on K10(32bit), +42% on Penryn(64bit), +44% on Nehalem(64bit), +50% on P4(32bit), +98% on Conroe(64bit)
- Overall performance boost is up to ~15% on 64-bit Conroe.
dynaflash [Fri, 6 Mar 2009 20:51:03 +0000 (20:51 +0000)]
MacGui: Disable physical dvd access for 64 bit arches with an appropriate warning since vlc is not 64 bit.
- Still allows access to dvd's mounted with Fairmount.
- Tested both intel and ppc
dynaflash [Fri, 6 Mar 2009 16:32:59 +0000 (16:32 +0000)]
MacGui: Preview Window postioning fixes
- Make sure the preview window stays within the parameters of the screen as it resizes, even on multiple monitor systems.
- Among other things fixes an issue where preview window being opened up at launch would push part of it off screen as it resized to a new source.
dynaflash [Fri, 6 Mar 2009 15:38:11 +0000 (15:38 +0000)]
MacGui: Set hud overlay controls as initially hidden in Preview Window.
- Fixes an issue where the controls are not properly arranged and available when preview window is open and there is no source currently loaded up.
sr55 [Fri, 6 Mar 2009 14:27:44 +0000 (14:27 +0000)]
WinGui:
- Add an override for the queue show method. Saves calling setQueue() before Show().
- Fix a couple of message boxes appearing behind windows.
Thanks go to: ExDeus
dynaflash [Thu, 5 Mar 2009 23:39:13 +0000 (23:39 +0000)]
MacGui: Picture Settings - If Preview is in full screen and pic settings are open, disable the toggle effect for the settings button in preview and move the Picture Settings panel on top of the full screen preview.
- Fixes issue where going into full screen mode in preview requires two clicks on the settings button to get the inspector to show on top of the full screen preview.
dynaflash [Thu, 5 Mar 2009 23:07:19 +0000 (23:07 +0000)]
MacGui: Fix picture settings panel so that it stays on top when open like a true hud inspector.
- Add "Hide On Deactivate" property to the xib so that if another app is in focus the panel properly hides.
dynaflash [Thu, 5 Mar 2009 21:02:58 +0000 (21:02 +0000)]
MacGui: Fix wonky tabbed view layout in picture settings at launch.
- For whatever the reason NSTabView does not like wantsCoreAnimationLayer set in the xib. So we set it programmatically in awakeFromNib in PictureController.
dynaflash [Thu, 5 Mar 2009 19:54:53 +0000 (19:54 +0000)]
MacGui: Put Picture Settings and Video Filters into one inspector.
- Separated in a tab view
- Move methods from PictureFilterController into PictureController
- NOTE: This layout, etc is not final as far as detail by any means, however ... did not want to get too far out from svn due to the mods to xcode and the current development of the build system.
konablend [Thu, 5 Mar 2009 16:43:48 +0000 (16:43 +0000)]
BuildSystem:
- changed behavior (which was introduced in r2223) of what MODULE target (phase) is dirtied
when one of the contrib modules it depends upon is changed; eg: cleaned or build:
old: MODULE.extract
new: MODULE.configure
- example of new (corrected) behavior:
1. svn update brings in a new change on faad2 module which has new version (url)
2. make
3. result: faad2 runs the guantlet: fetch->extract->patch->configure->build->install (FXPCBI for short)
4. result: ffmpeg has a dependency on faad2 and runs: CBI
5. result: libhb depends on all contrib modules and recompiles all .o and creates .a
6. result: [no xcode] HandBrakeCLI depends on libhb and recompiles all .o and relinks.
7. result: [xcode] HandBrakeCLI and HandBrake may need to be 'cleaned' to force them to recompile as opposed to just relinking.
konablend [Thu, 5 Mar 2009 08:58:30 +0000 (08:58 +0000)]
BuildSystem:
- fixed race condition where bzip2,xvidcore may fail on missing contrib/{lib,include} dirs.
- replaced literal command uses with var in bzip2,xvidcore .
konablend [Thu, 5 Mar 2009 06:57:31 +0000 (06:57 +0000)]
BuildSystem:
- increased inter-contrib module rebuild sanity;
ie: if an svn update is done and a new x264 tarball is available, the system will fetch
it and proceed to extract->patch->configure->build->install and because it is utterly
dangerous (undefined results can easily occur) to re-extract over an existing extract,
the appropriate steps are taken to first rm -fr the tarball extraction directory.
This is generally good practice but I'm explaining it here in detail in case some
developers are taking risks like editing files in the build/ tree and erroneously
assuming they will not be overwritten by either this new build system or contrib
(foreign) build systems.
- added contrib touch/untouch targets; see doc.
- updated docs accordingly.
- fixed typo for GCCargs.g.max which caused --debug=max to not operate properly.
- unofficial builds will no longer rebrand naming to 'NoNameBrand'
konablend [Wed, 4 Mar 2009 21:28:47 +0000 (21:28 +0000)]
BuildSystem:
- added new target: make report.help (for cvk_b).
- updated doc accordingly.
- updated doc QuickStart chapter to be clearer for novices.
- added wiki auto-posting targets which are work-in-progress
konablend [Wed, 4 Mar 2009 00:54:53 +0000 (00:54 +0000)]
BuildSystem: darwin
- made Xcode external targets consistent for each configuration.
- shunted terminal NAME=VALUE vars through xcodebuild.
- folded macosx/module.xcode shunt functions into single.
- added new report target to show a single var; eg: make report.var NAME=GCC.gcc .
BuildSystem: darwin ppc
- fixed configure on ppc host: correctly identify native architecture.
- fixed configure to be more resilient when svn probes fail.
- fixed configure to show error output for svn probes.
BuildSystme: xcode
- added external target 'external' to represent 'all things in external system'
which is slight more than what 'libhb' might represent.
- added doc section Building.osx: External Targets .
konablend [Tue, 3 Mar 2009 18:34:20 +0000 (18:34 +0000)]
BuildSystem:
- added global uninstall target; the inverse of install
- $PREFIX/bin/HandBrakeCLI longer paritipates in clean
- added target test.uninstall to remove $PREFIX/bin/HandBrakeCLI
dynaflash [Tue, 3 Mar 2009 17:26:47 +0000 (17:26 +0000)]
MacGui: Report the svn version and arch in the session activity log and the individual encode log.
- ie. [11:25:22] macgui: Handbrake Version: svn2207 x86_64 (2009030301)
konablend [Tue, 3 Mar 2009 07:20:19 +0000 (07:20 +0000)]
BuildSystem:
- minor fix for report targets; aggregates were not included after splitting to rules file
- fixed bug where non-darwin platforms caused all rules to be disabled because FEATURE.xcode was erroneously set to 1
konablend [Tue, 3 Mar 2009 05:14:54 +0000 (05:14 +0000)]
BuildSystem:
- fixed ppc bug: scanning DVD does not pick up audio tracks
- libdvdread headers require WORD_BIGENDIAN to be defined on BIGENDIAN systems
- solution is to defined WORD_BIGENDIAN for libhb on ppc/ppc64 platforms
konablend [Tue, 3 Mar 2009 02:49:54 +0000 (02:49 +0000)]
BuildSystem:
- fixed OSX + Xcode to support parallel builds
- enhanced OSX + Xcode to use proper pass-thru for all make targets
- added global target --> install
- added install: test.install
- added install: gtk.install
- updated pre-generated building guides (these will go away when wiki is updated)
- updated xml2wiki script to spit out heading
eddyg [Tue, 3 Mar 2009 01:16:09 +0000 (01:16 +0000)]
Prevent Theora and Vorbis from using a system (e.g. fink) pkg-config which
they then allow to override HBs paths for other libs. Thanks to KonaBlend
and saintdev for identying the issue.
ritsuka [Mon, 2 Mar 2009 11:42:11 +0000 (11:42 +0000)]
MacGui:
- Switched some float to CGFloat and int to NSInteger.
- Fixed a warning in writeToActivityLog: when compiling with gcc-4.2
- Fixed an issue when dragging items in the queue if the item was not already selected.
konablend [Mon, 2 Mar 2009 07:55:35 +0000 (07:55 +0000)]
BuildSystem:
- added x264 configure argument: --disable-mp4-output
- this prevents x264 from finding gpac externally if it happens to be on host which causes grief with linking
ritsuka [Mon, 2 Mar 2009 07:41:45 +0000 (07:41 +0000)]
MacGui:
- Limited the handbrake dock icon refresh to a maximum of 20 for encode. It was a bit pointless to update it two times a second.
- Another try at fixing the main window progress indicator.
konablend [Mon, 2 Mar 2009 07:30:13 +0000 (07:30 +0000)]
BuildSystem:
- split build guide into 3 articles, one for each platform
- populated root of tree with 3 platform Building guides: osx, cygwin, linux for convenience
- added python script (needs python3.0) to optionally generate wiki from .texi articles
konablend [Mon, 2 Mar 2009 03:35:10 +0000 (03:35 +0000)]
BuildSystem:
- changed HandBrakeCLI to use project.h when showing version in hblog
- changed macosx/Info.h.m4 to supply correct version; eg: MacGUI about-panel
- HandBrakeCLI hblog now displays architecture; eg: Darwin i386
- HandBrake.app about-panel now displays architecture; eg: i386
- updated all versioning to reflect project policies:
a. HB_PROJECT_VERSION now behave as old HB_VERSION
b. HB_PROJECT_BUILD now behaves as old HB_BUILD
c. dropped HB_PROJECT_VERSION_FORMAL as it is no longer referenced
- renamed HOST.proc -> HOST.machine for clarity
- renamed BUILD.proc -> BUILD.machine for clarity
konablend [Sun, 1 Mar 2009 20:29:06 +0000 (20:29 +0000)]
BuildSystem:
- added configure --prefix to specify an install location
- propagated prefix to gtk's aggregated build
- value is exposed to make as two variables, use either depending on if ending slash is desired
$(INSTALL.prefix)
$(INSTALL.prefix/)
jstebbins [Sun, 1 Mar 2009 19:40:56 +0000 (19:40 +0000)]
LinGui: remove extraneous files dist files like AUTHORS etc.
add distclean to xclean rules
link gtk.xclean to top xclean
use hb build systems CFLAGS and LDFLAGS
konablend [Sun, 1 Mar 2009 17:36:51 +0000 (17:36 +0000)]
BuildSystem:
- trivial fix to allow make/include/PLATFORM.rules to be optional
- this glitch resulted from adding darwin.rules for UB fat binary targets
konablend [Sun, 1 Mar 2009 17:28:24 +0000 (17:28 +0000)]
- svn properties corrections
- removed svn:ignore from { . libhb contrib } directories since we have buid/ containment w/ new build system
- added svn:eol-style LF to all added text files for new build system
- added svn:executable to configure
konablend [Sun, 1 Mar 2009 17:03:11 +0000 (17:03 +0000)]
BuildSystem: conversion from jam-based to make-based system.
KNOWN ISSUES:
1. OSX + Xcode builds do not support parallel builds; attempting to
use them may cause unbounded number of jobs. However, disabling
via configure --disable-xcode avoids the issue.
2. OSX ppc binary produces binary which has audio-scan problems.
3. OSX ppc64 binary has not been runtime tested.
MODIFIED: libhb/decavcodec.c
Patched to use cleaner include "libavcodec/audioconvert".
Second part to support this cleanup is ffmpeg A02-audioconvert.patch .
MODIFIED: libhb/hb.c
MODIFIED: libhb/hb.h
MODIFIED: libhb/muxmkv.c
MODIFIED: libhb/muxmp4.c
MODIFIED: libhb/update.c
Patched to use "project.h" for project metadata.
Renamed HB_BUILD -> HB_PROJECT_BUILD.
Renamed HB_VERSION -> HB_PROJECT_VERSION.
MODIFIED: test/test.c:
Patched HandBrakeCLI to support I/O on Mac OS X ZFS filesystems.
Reference r1803 as similar patch for HandBrake.app .
Unpatched behavior is crash/buserror when using ZFS.
MODIFIED: macosx/Growl.framework/
Upgraded 0.7.6 (i386,ppc) -> 1.1.2 (i386,x86_64,ppc,ppc64).
New architectures facilitate x86_64 and ppc64 builds.
MODIFIED: macosx/HandBrake.xcodeproj/
Bumped compatibilty mode from 2.4 -> 3.1 .
Dumped old configurations Deployment, Developer.
Added configurations standard, sebug as replacements.
Added standard.i386, standard.x86_64, standard.ppc, standard.ppc64 .
for explicit architecture build.
All configurations settings cleaned up and normalized.
Build output directories adjusted to support new build system.
jstebbins [Fri, 27 Feb 2009 01:11:58 +0000 (01:11 +0000)]
LinGui: clean up my improper use of HB_VERSION and HB_BUILD.
replace with hb_get_version and hb_get_build.
this fixes a difficulty with compiling using KonaB1end's shiny new build system.
sr55 [Wed, 25 Feb 2009 20:50:49 +0000 (20:50 +0000)]
WinGui:
- Fixes an issue where the preview window would not appear and display an error if QT7 is not installed. Error message is disabled, window will now appear correctly but with QT functionality disabled.
jbrjake [Mon, 23 Feb 2009 17:07:25 +0000 (17:07 +0000)]
Don't truncate RF/QP values down to integers when displaying job config. Still needs to be restructured for encoders other than x264, but I wanted to get this minor change in now so I don't forget and because it won't break any patches to work.c.
sr55 [Sun, 22 Feb 2009 19:48:14 +0000 (19:48 +0000)]
WinGui:
- Fixes culture issue in the Query Generator and Preset loader. Same issue as previous checkin. Thanks to zhango for pointing this code out with a fix.
sr55 [Fri, 20 Feb 2009 23:43:54 +0000 (23:43 +0000)]
Cygwin building changed slightly.
"make snapshot" and "make official" not longer create the packages.
"make snapshot-release" and "make official-release" will build full zip packages.
Now runs clean before each build.
sr55 [Mon, 16 Feb 2009 23:14:36 +0000 (23:14 +0000)]
WinGui:
- Moved the x264 panel onto it's own panel. This cleans up frmMain significantly and makes it a tad easier to maintain. Started to clean up the code a bit.
- Reworded the b-adapt pop up menu items: "Off", "Fast", "Optimal" as per 2162