dynaflash [Wed, 21 Jan 2009 03:46:14 +0000 (03:46 +0000)]
MacGui: Preview Window scale to screen initial implementation
- Allows scaling the preview to fit the screen when in full screen mode.
- Also hopefully fixes a bug where multiple cycles of windowed and full screen cause the hud overlay to not appear.
- hud overlay delay timer changed from 20 to 10 seconds
eddyg [Tue, 20 Jan 2009 05:19:59 +0000 (05:19 +0000)]
Update libmkv and start writing mkv tags, no artwork as yet - haven't had time to do it, sorry. I also had a hard time testing that the tags work. But I could see that they were present in the file, and I could see that it didn't affect playability.
sr55 [Fri, 16 Jan 2009 20:55:35 +0000 (20:55 +0000)]
WinGui:
- Perform source scanning in the main window rather than a separate window. File Menu > Cancel Scan added in case of a scan lockup.
- Fixed issue where a preset was loaded twice needlessly.
- Support for no audio added.
dynaflash [Thu, 15 Jan 2009 18:55:58 +0000 (18:55 +0000)]
MacGui: Remove the decomb string from the main window so decomb uses the libhb default
- Now instead of reading out the parameters for Decomb the main window just shows On/Off
dynaflash [Wed, 14 Jan 2009 20:20:09 +0000 (20:20 +0000)]
MacGui: Picture Preview and Settings window interaction fixes
- Putting the Preview Window into full screen mode no longer automatically opens up the Picture Settings inspector
- Fixed the Picture Settings inspector so that it isn't on top of every f'ing window on your screen.
dynaflash [Wed, 14 Jan 2009 17:29:06 +0000 (17:29 +0000)]
Bump x264 to r1077 and remove our patch-x264-idr.patch since idr is now implemented within x264
- Note: this will require yasm 0.7.xx to compile. Previous version of x264 would compile with 0.6.1 etc.
dynaflash [Mon, 12 Jan 2009 18:49:16 +0000 (18:49 +0000)]
MacGui: Preview Window
- Add a 20 second no mouse movement delay then fade out the hud overlay controls so that the controls are not always visible as long as the cursor is inside the preview area.
- Note: the 20 seconds might make a nice setting in preferences.
dynaflash [Mon, 12 Jan 2009 00:07:38 +0000 (00:07 +0000)]
MacGui: Separate Picture Settings and Preview Window Initial Implementation
- Picture Settings is now a hud style inspector panel:
-- Allows more room to be displayed along with Main Window.
-- Has button (though ugly ... for now) to open the preview window.
- Separate Preview Window:
-- Preview Window can now show the entire preview content via a hud style overlay controller (ala iTunes, DvdPlayer controls) activated by mouse movement.
-- Has button to allow opening the Picture Settings inspector.
-- Full Screen Mode (ala iTunes, DvdPlayer) which should help for max preview size for HD sources.
- Note: all hud style controls in this implementation are created only using core animation filters, I decided against a third party hud control framework, though one can certainly be implemented at any time.
- Known Issues:
-- WARNING: Quitting HB while in full screen mode will crash the macgui.
-- The hud overlay controls in the Preview Window will align kind of wonky when the resolution is scaled way below the source.
-- Ideally, after moving the mouse within the preview area then stopping, after a certain amount of time the hud overlay control box should disappear.
-- Hud style controls still need alot of development to fit within the HIG.
-- Need a keboard shortcut for the Preview Window.
-- As usual with initial implementations there are likely many more Bugs/Issues.
ritsuka [Sun, 11 Jan 2009 09:21:22 +0000 (09:21 +0000)]
Always use the track samplerate as the timescale for audio tracks. This fixes a problem when creating an mp4 with multiple audio tracks that have different samplerate.
van [Sat, 10 Jan 2009 04:47:48 +0000 (04:47 +0000)]
Get previews from H.264 content even if it's missing IDR frames (e.g., NZ TV & some blu-rays):
- Grab stream characteristics (IDRs or not, PCRs or not, RAPs or not) while we're reading to compute the duration rather than trying to guess with no information later.
- Only wait for an IDR after a seek if we know the stream has IDRs. Even then, wait for at most 255 frames.
- If the stream doesn't have IDRs tell scan (via a new flag in the title struct) so that it can read but discard a second's worth of frames to get the decoder in sync withe stream.
- While we're trying to sync the decoder, ffmpeg will spit out dozens of useless error messages so suppress them.
sr55 [Wed, 7 Jan 2009 19:00:57 +0000 (19:00 +0000)]
WinGui:
- Applies http://forum.handbrake.fr/viewtopic.php?f=4&t=8772
- Changes the File Save Dialog box to use the Format dropdown rather than the file extension. Some users seem to have an unusual workflow selecting a format before a file.
sr55 [Mon, 5 Jan 2009 22:28:52 +0000 (22:28 +0000)]
WinGui:
- Queue Encoding code moved from frmQueue.cs to QueueHandler.cs
- QueueHandler now works has events to allow frmMain and frmQueue to update their UI elements based on event triggers (e.g an encode starting or ending).
jstebbins [Thu, 1 Jan 2009 17:33:21 +0000 (17:33 +0000)]
LinGui: fix a problem with saving specific max-width/height to a preset.
Legacy UsesMaxPictureSettings tag didn't get converted properly when
new preset is based on an old preset that used it.
sr55 [Tue, 30 Dec 2008 22:47:48 +0000 (22:47 +0000)]
WinGui:
- Set Default now set's the currently selected preset to default, not the current settings.
- Add Preset can now optionally add a flag to allow saving of picture size information (just like the macgui)
jbrjake [Tue, 30 Dec 2008 21:12:02 +0000 (21:12 +0000)]
Adds --start-at-preview and --stop-at-duration and --stop-at-pts options. These correspond to the job->start_at_preview and job->pts_to_stop variables the MacGui and LinGui use to achieve live preview encodes.
While of course starting at a certain preview is not an optimal way of choosing a starting position for an encode (especially in a CLI), it is fast, and flexible. By altering the number of previews to scan with --previews, it is possible to start an encode at any percentage of the video.
sr55 [Tue, 30 Dec 2008 21:04:29 +0000 (21:04 +0000)]
WinGui:
- Preview Video setup for Encodes for any of the 10 previews that you'd find in the mac gui, for durations from 5 to 60 seconds.
- Removed some old code
dynaflash [Mon, 29 Dec 2008 15:42:39 +0000 (15:42 +0000)]
Bumps x264 from to r1063
- Many enhancements since the last r1028
- http://git.videolan.org/gitweb.cgi?p=x264.git;a=commit;h=84a1ca6ce70fe7bad4922ddc5a72c2e9cd73703b
sr55 [Sun, 28 Dec 2008 17:25:07 +0000 (17:25 +0000)]
WinGui:
- Option to hide the Query Editor tab.
- Fixed small issue with remove button on the new audio tab. Would error if no track was selected.
- Fixed an issue with the preset bar where selecting an already selected preset wouldn't reset the GUI settings for that preset.
sr55 [Sun, 21 Dec 2008 17:31:36 +0000 (17:31 +0000)]
Changes to the Cygwin section of the make file. Allows building of zip packages for official and snapshot builds of the CLI using "make official" and "make snapshot"
sr55 [Fri, 19 Dec 2008 13:57:08 +0000 (13:57 +0000)]
WinGui:
- Fixes for a few rather stupid issues with the new queue/mainwindow encode link.
- Got rid of the queue encode progress bar. It's just a pain to keep it working and doesn't really offer much.
sr55 [Wed, 17 Dec 2008 00:11:23 +0000 (00:11 +0000)]
WinGui:
- Some fixes in the new code which handles encoding across the Queue and MainWindow.
- Small UI tweaks on Activity Window and Generate Preview Window
sr55 [Tue, 16 Dec 2008 20:51:46 +0000 (20:51 +0000)]
WinGui:
- Minimize to system tray is now optional and can be set in tools > options > advanced.
- Removed the minimize to system tray button since it's not really needed. The windows minimize button performs the same task
sr55 [Tue, 16 Dec 2008 18:01:48 +0000 (18:01 +0000)]
WinGui:
- Preview Generator Window. Can generate previews form 5 to 60 seconds long. Will launch VLC (from a user specified (in options) install path) to play back the clip.
Note: Clip duration is currently waiting for a patch to the CLI, so this part won't work yet.
- Experimental in-gui VLC media player via ActiveX. (This causes a Blue Screen of Death (See comments in code), however if anyone can fix this and submit a patch, id be grateful) Alternative suggestions welcome!
dynaflash [Mon, 15 Dec 2008 15:11:49 +0000 (15:11 +0000)]
MacGui: Picture window now uses a subclass of HBController to access the main controller.
- fixed issue where preview movie keeps playing even if the picture window is closed
- Removed deprecated -ClosePanel method since we now use the windows native close button.
sr55 [Mon, 15 Dec 2008 12:58:04 +0000 (12:58 +0000)]
WinGui:
- MainWindow now uses the Queue for encoding. Essentially works the same as the MacGUI. You start an encode in either window, and the other shows the encoding status. This prevents users from starting 2 encodes at once (1 Queue, 1 Main Window)
van [Sat, 13 Dec 2008 07:43:42 +0000 (07:43 +0000)]
- have to account for a non-zero start time when we're seeking in ffmpeg files.
- try harder to get keyframes from ffmpeg files: if we've just done a seek, search the next 50 frames for a keyframe.
- detect WMV3 keyframes since ffmpeg doesn't.
van [Sat, 13 Dec 2008 06:59:50 +0000 (06:59 +0000)]
- try to determine the sample rate, channels, etc., of audio streams rather than hardwiring 48KHz & 2 channels.
- have to discard audio that starts before video time zero otherwise we desync the audio & video.
van [Sat, 13 Dec 2008 06:55:01 +0000 (06:55 +0000)]
Consolidate all the ffmpeg-related includes into libhb/hbffmpeg.h then prototype hb_avcodec_{init,open,close} so that we don't get gcc warnings from a dozen modules.
jstebbins [Fri, 12 Dec 2008 18:54:36 +0000 (18:54 +0000)]
fix a threading issue with avcodec_open/close
these functions can not be called from 2 threads simultaneosly.
made a wrapper function that holds a lock while making the call
dynaflash [Fri, 12 Dec 2008 17:31:16 +0000 (17:31 +0000)]
MacGui: Add to queue fix so that it not only checks that a file does not already exist at the destination path, but also check through the existing queue items and warn of an overwrite.
dynaflash [Fri, 12 Dec 2008 15:53:15 +0000 (15:53 +0000)]
MacGui: Add "Picture Settings" toolbar item to main window toolbar
- Currently uses the same icon as the picture item in the preferences toolbar
- Performs same function as the "Picture Settings ..." button in the video tab which is to say it opens the picture settings window
- Removed the "Picture Settings ..." button in the video tab
dynaflash [Fri, 12 Dec 2008 02:40:21 +0000 (02:40 +0000)]
MacGui: Add a preference so we can specify what we do at launch, choices are:
- Do Nothing
- Open Source
- Open Source (Title Specific)
- Pref defaults to Open Source
dynaflash [Thu, 11 Dec 2008 15:59:55 +0000 (15:59 +0000)]
MacGui: Fix destination path so that last one used in the destination choice window is saved and reused upon the next opening instead of the last destination path encoded.
- Addressed here http://forum.handbrake.fr/viewtopic.php?f=12&t=8281
van [Thu, 11 Dec 2008 01:06:43 +0000 (01:06 +0000)]
Don't reject MPEG PS files just because they're missing a SYS header (clips won't have one). The standard says we just need a PACK header followed by some other legal start code.
sr55 [Sun, 7 Dec 2008 23:24:27 +0000 (23:24 +0000)]
WinGui:
- Fixes an issue where if there are no presets, that is, the user removed them all, then the GUI would throw a null pointer exception after scanning a source.
dynaflash [Fri, 5 Dec 2008 18:20:05 +0000 (18:20 +0000)]
MacGui: Live Preview fixes
- Fix proper sizing when max source size and loose anamorphic is selected in presets
- Fix vertical alignment issue when the move height is >= the still preview height.
van [Fri, 5 Dec 2008 05:09:05 +0000 (05:09 +0000)]
More code to deal with the flakey streams from NZ TV. They like to change the PCR without sending a new PCR and we get big timestamp changes but no new reference clock. So now we look at the PTS and if its change is outside a tolerance window we use the new PTS as a PCR & declare a clock discontinuity.
sr55 [Thu, 4 Dec 2008 20:57:31 +0000 (20:57 +0000)]
libhb:
The malloc() function in cygwin doesn't return 16-byte aligned memory which causes it to randomly crash. Replaced with memalign() for the cygwin platform only.
dynaflash [Thu, 4 Dec 2008 18:58:03 +0000 (18:58 +0000)]
MacGui: correct month output in the names of the individual encode logs
- Duh! In struct tm, tm_mon is the month number from 0 to 11, so we needed to be using tm_mon + 1
dynaflash [Thu, 4 Dec 2008 16:25:42 +0000 (16:25 +0000)]
MacGui: Remove legacy preset code
- Be aware this makes an 0.9.2 or earlier presets completely deprecated 0.9.3 presets are fine (including any made with the five preceding snapshots).
- Removed almost 300 lines of code
van [Thu, 4 Dec 2008 09:24:33 +0000 (09:24 +0000)]
- validate frame sync the way the standard suggests (via checking the frame crc) rather than looking at multiple frames. This should reduce the probability of mis-identifying random junk as AC-3 to less than 1 in 2^32.
- check the crc on every frame so we don't let corrupted data into the decoder.
- interpret the PTS as per the standard (it's the time of the first frame that starts in the packet, not the time of the first byte of the packet). Incorrect interpretation was resulting in an average 15ms timing error (worse case 31ms).
- do all the PTS calculations in doubles so we don't get round-off error that will desync the audio & video with 44.1KHz audio sources (these can't appear on DVDs but do show up in avi/mkv/... files).
- don't rely on the container to give us large enough frame fragments to validate the sync (some containers split audio frames into really small pieces). Instead use the 8K of unused space in the esconfig of the audio object as an accumulation buffer.
van [Thu, 4 Dec 2008 08:22:37 +0000 (08:22 +0000)]
- Elementary streams that scan couldn't type as audio streams have to be completely ignored - some of these don't follow the normal PES packet encoding so feeding them downstream to the demuxer will cause strange timing and other problems.
- make log message correctly reflect our uncertainty about audio stream type so people don't complain about missing AC-3 audio when it isn't really there.
- add missing av_free_packet in VC-1 keyframe search.