eddyg [Mon, 4 May 2009 04:56:19 +0000 (04:56 +0000)]
Soft Subs Part 2: Auto-detect CC during scan, add CC to subtitle list in title, if selected then CC's are extracted, MP4 Muxer will dump the subs to the log at the end of encoding. TODO: Translate PTS for buf->start to HB format, add MP4 subtitle track and subs during muxing.
eddyg [Mon, 4 May 2009 01:39:48 +0000 (01:39 +0000)]
Stage 1 Soft Subtitle Support - Allow multiple subtitle tracks to be selected, and mark them for Render or Pass Through. No functional difference from the UIs, however in theory they could render multiple tracks - would be a dogs breakfast on screen though, and is untested. Have tested all normal operations from the UIs, including scanning.
konablend [Sun, 3 May 2009 21:53:37 +0000 (21:53 +0000)]
- minor code cleanup - use x264_nal_t.i_type instead of buffer+offset&mask.
- use constants instead of hardcoded values.
- explicitly list expected nal types to be processed further.
konablend [Sun, 3 May 2009 14:34:16 +0000 (14:34 +0000)]
- encx264 sets HB_FRAME_REF to expose ref/non-ref frame status to muxer.
- bump libmp4v2 r286 -> r290; required for new API (sdtp atom support).
- use new API MP4WriteSampleDependency() in muxer to signal disposable frames and set a few other dependency bits for sdtp atom.
jstebbins [Sat, 2 May 2009 23:58:23 +0000 (23:58 +0000)]
LinGui:
poll for dvd volume labels after the ui is fully displayed
truncate leading and trailing spaces in volume labels
sanitize volume label after making a copy instead of stepping
on dvdreads private copy.
van [Sat, 2 May 2009 21:28:39 +0000 (21:28 +0000)]
- Move frame rate code from sync to the end of render so it can account for frame timing changes made by filters.
- Fix a bug that would make CFR alternate between massive drops and massive dups on
some titles.
- If we're not doing CFR add a factor-of-two fudge factor to init_delay to account f
or the awful clock resolution of some mkvs and mp4s.
dynaflash [Fri, 1 May 2009 21:01:58 +0000 (21:01 +0000)]
MacGui: Fix issue in custom anamorphic where the modulus was not changed back after leaving custom anamorphic which caused the steppers to freeze when anamorphic was turned off and keep ar was on among other things.
- Thanks s55 for the heads up.
dynaflash [Fri, 1 May 2009 19:54:18 +0000 (19:54 +0000)]
MacGui: Custom Anamorphic initial implementation (experimental) and pic settings and preview changes.
- Custom Anamorphic mode allows more customization of pixel and display dimensions.
-- NOTE: The layout and even functionality are considered very experimental and not ready for prime time yet.
-- Change to hb_get_preview allowing a preview size > title->width and height courtesy of jbjake.
-- Allows setting the modulus to 16 (default), 8, 4, 2, or 1.
-- Adds display height, pixel width and pixel height fields.
- Picture Inspector:
-- Changes shape and size according to the size/filter tab and anamorphic and filter settings.
- Picture Preview:
-- Now crops the gray borders from around the image returned from hb_get_preview and recreates cropping and resizing itself.
-- Add size and scale information to the preview window title bar so you can see it without activating the hud controls.
-- Attempt to fix the intermittent aliasing problem with the hud control overlay by making sure the hud origin is a whole int (fix courtesy of KonaB1end).
- Known Issues:
-- Scale to Screen mode is currently borked. The actual image does not scale yet.
-- Depending on how far you upscale the display dimensions in custom anamorphic, the preview image can get a bit wonky. Returning to one of the standard modes clears it up.
jstebbins [Fri, 1 May 2009 17:27:51 +0000 (17:27 +0000)]
dvdnav: improve title scanning
- looks for ptt with longest pgc sequence instead of just picking first ptt
solves many 'short title' problems
- constructs chapters from the pg's within the pgc's instead of using ptt's
solve the problem of ptt's that point to an intro pgc instead of
to the actual chapter position in the title.
dvdnav: fix problem with vm entering stopped state
when the vm enters the stopped state, there's no way to recover
you must close and re-open dvdnav. dvdnav_reset() doesn't help.
LinGui: add "auto" passthru audio option
This selects the "best" ac3 *or* dts track for passthru
i got tired of my encodes ending up with stereo ac3 instead of 6ch dts
because I forgot to verify the audio before starting an encode
add libdvdnav support
emulates the vm of a dvd player in order to navigate the disc more reliably
it is optional and disabled by default
CLI option '--dvdnav' enables. GUI's have a new option in preferences.
When dvdnav is enabled, you can also select angles (cli '--angle')
WinGui:
- Moved the code which loads the preset panel into the PresetHandler class.
- rewritten the preset panel loader so that it's easier to understand.
WinGui:
- Queue: Can now store unlimited number of audio tracks in presets. It is no longer limited to 4.
- Activity Window: Fixed a bug where it was looking at the wrong class for checking the status of encoding.
- Activity Window: Improved update / display performance dramatically by removing a List data structure.
- Misc: Old code removed / code tweaks
van [Tue, 21 Apr 2009 05:09:33 +0000 (05:09 +0000)]
- Get rid of deadlock that would halt processing some mkv files.
- Interleave media streams to reduce player buffer requirements and initial latency.
- Add support for intermittent media streams like subtitles or closed captions (we don't have any of these yet but may one day).
The major changes to libmp4v2 include the new Tags API for iTunes metadata management
and new API to set track chunk duration limits. Additionally, the patches for libmp4v2
are no longer required and libmp4v2 should build significantly faster as it now
enabled precompiled headers on various platforms.
Tags API effects common.h, decmetdata.c and muxmp4.c and replaces the operations in
a near 1:1 mapping for functionality except all access happens in between alloc/fetch
and store/free pattern.
libhb no longer checks the bits of cover-art in order to determine image type. That
functionality is now delegated to libmp4v2; and libhb identify_art_type() has been
removed accordingly.
Chunk duration support has been added which makes use of new API from libmp4v2:
And muxmp4 adds new internal function MP4TuneTrackDurationPerChunk() which is
invoked after all video/audio track creation which tunes chunk duration to the
equivalent of 4-frames in track timescale; as per van's suggestion.
BuildSystem: fix darwin/xcode to avoid double-configure/build after svn up
- build system automagically rebuilds certain files from libhb upwards after
an svn up to maintain accurate repository information in binaries; if building
with xcode the process was inadvertantly repeated on subsequent 'make'.
- enhanced make/xcodemake to record the user's environment when shunted through
xcode. this should help in diagnosing build issues from Xcode.app in the future.
Enable DTS passthru for matroska container
since we have no way to create silent dts frames for insertion to
maintain sync, frames from other streams may be dropped when there is
a sync problem on the DTS stream
LinGui:
- add volume label to dvd source shortcuts in the file menu
- move loose crop option from preferences to picture settings
- add label to show cropped dimensions to picture settings
- added libtool patch for xvidcore to fix build error --> configure: error: cannot run /bin/bash ./config.sub
- bug was reported on Unbuntu 8.10 and is heterogeneous in nature, exposed by libtool circa 2.2 -> 2.2.4
This patch adds mingw32 cross-compilation support to HandBrake trunk to
produce native win32 binaries. The main benefits are the binary does not have
any Cygwin runtime requirements and various host platforms can be leveraged
to build HandBrake.
Cross-compilation toolchains are complex to setup and recommended for experts
only; but once setup it can build at speeds similar to native builds,
on Darwin or Linux.
BUILD INSTRUCTIONS:
Add mingw32 toolchain to beginning of your path and take the toolchain
prefix from gcc (eg: i386-mingw32-gcc) and pass to configure:
DOWNLOADS:
Contrib downloads need to be seeded with:
- pthreads-w32-2-8-0-release.tar.gz (new)
- xvidcore-20090311.tar.gz
SUMMARY:
Specifically, all GUI trees are not impacted.
configure
- added --cross=PREFIX
- reworked search for gcc and cross-compile related tools to use prefix
contrib/
- sub-patches added as needed for mingw
contrib/xvidcore/
- bumped from 1.1.3 -> 1.2.1+ (daily 20090311)
- reconstituted P01-cygwin.patch
- created new P00-darwin.patch needed for macho64 asm flag on x86_64 arch
van [Sun, 12 Apr 2009 06:59:40 +0000 (06:59 +0000)]
Don't crash during scan when a DVD contains an invalid PTT or PGC index. (Bug & fix from user macrule in forum post http://forum.handbrake.fr/viewtopic.php?f=4&t=10291&sid=8b5a573526397f7c26c44e2a50c6dc63#p54152)
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.