MacGui: Put AVI, OGM and Xvid out of our misery
- Note: renders custom presets using these obsolete (not an issue for built in presets as none have ever used them for good reason).
LinGui: create custom widget that manages multiple overlay layers
composites the layers using per-pixel and global alpha values
the preview hud now uses this.
van [Sun, 5 Apr 2009 03:55:12 +0000 (03:55 +0000)]
Fix botched r2256 as suggested by forum user greed in post http://forum.handbrake.fr/viewtopic.php?f=4&t=9758&sid=b6deb84bf0f30e9dfa504e19d4c2d5c3&p=53722#p53722
LinGui: preview and picture window changes
- split picture settings into it's own window
- create overlay for preview window (like the mac ui, but not a pretty)
- save window positions and preview display status between sessions
LinGui: fix some build dependency issues
- make configure depend on configure.ac, Makefile.am and src/Makefile.am
- add new icons to resource dependencies
WinGui:
- Fix for Destination Browse button exception is destination is empty. (http://forum.handbrake.fr/viewtopic.php?f=12&t=10140)
- Added warning if user is about to add 2 or more items to the queue with the same destination path.
BuildSystem: minor change adding --force to launched builds
- helps with people who for some reason need to re-start the build without manually cleaning build/ dir.
jbrjake [Tue, 31 Mar 2009 17:19:37 +0000 (17:19 +0000)]
Adds a job->frame_to_stop variable similar to the existing pts_to_stop parameter, for ending an encode after a certain number of decoded frames.
CLI: Replaces --stop-at-pts and --stop-at-duration with a general --stop-at option. The argument is in the form unit:amount. So --stop-at duration:10 for a 10 second encode, --stop-at pts:300300 to end when that timestamp is reached, or --stop-at frame:1000 to stop after reading 1000 frames.
jbrjake [Tue, 31 Mar 2009 16:46:59 +0000 (16:46 +0000)]
Flush frames from the delay queue in render. This should add an extra couple of frames to the end of output when using same as source fps or vfr detelecine. Thanks, eddyg!
jstebbins [Fri, 27 Mar 2009 18:55:28 +0000 (18:55 +0000)]
LinGui:
- rewrite tool that creates a quoted string from a file in python
resulting string is suitable for use as a C char*
- create_resources, remove redundant code from cut/past error
jstebbins [Fri, 27 Mar 2009 15:58:11 +0000 (15:58 +0000)]
LinGui:
- add some error handling to resource parser
- modify how icons are deserialized in ghb since the python resource
parser can't easily serialize the old way
jstebbins [Fri, 27 Mar 2009 02:18:53 +0000 (02:18 +0000)]
LinGui: rewrite my resource parser in python.
It's not quite ready for use because it requires python 2.6 and none
of the distributions have 2.6 yet. I'm getting a head start.
This is the first of a few tools that I'm rewriting in python
because compiling them at build time causes problems in a cross
compiling environment.
jstebbins [Sat, 21 Mar 2009 18:48:41 +0000 (18:48 +0000)]
LinGui: fix crash at start of a 2 pass encode
if you started an encode, then scanned another source, the second pass
would crash. I was inadvertently deleting the 1st pass log file.
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 .