LinGui: consolidate all resources into one stringified plist file that gets
compiled in. icons and everyting all rolled up into one ball-o-wax.
hehe, plists are cool
WinGui:
- Fix in CalculateDuration. Crash caused by end chapter dropdown menu not getting re-populated before calculate duration run. See:
http://forum.handbrake.fr/viewtopic.php?f=12&t=7050
LinGui: internalize the UI description xml file. That's the last external
file that was neccessary. The ghb binary can now stand on its own without
external resource files. The makefile still installs a couple extra files
that adds HandBrake to the users "Sound & Video" menu.
LinGui: Internalize all the icons so I don't have to install them in
a system directory. One step closer to being able to build a binary
that can stand on it's own without a bunch of additional resource files.
LinGui: Fix several strict-aliasing warnings and a null pointer dereference
that can happen if preferences don't yet exist and your running the app over
an ssh session.
LinGui: Add queue save/restore
- 2 instances of libhb are used. One for queue activities and one for scanning
new sources prior to adding to the queue.
- Improve chapter entry usability. In addition to "return" advancing to the
next chapter for editing, up and down arrows will advance to prev/next and
put the cell in edit mode.
- Add an accelerator key to jump to the destination entry box.
- Fix a queue window resize problem.
van [Fri, 5 Sep 2008 06:16:44 +0000 (06:16 +0000)]
- get rid of another deadlock: if there were more than 64 audio frames before the first video frame we'd lock up the reader.
- if we get a bogus timestamp at the end of some conversion just ignore it and don't try to generate minutes or hours of silence to fill the hole.
LinGui: Presets and preferences are now stored as plists
This will also make saving/restoring the queue much easier.
It's a scary big change. 1400 new lines of code. Due to efficiencies
of a better desing, 2400 lines of old code also gets refactored
down to 1600. Giving a final net +600 lines.
Along the way, I stumbled across a couple bugs and fixed them.
Chapter list entry would get wedged under certain circumstances.
Pausing encoding didn't display pause message in status bar.
sr55 [Sun, 24 Aug 2008 17:57:54 +0000 (17:57 +0000)]
WinGui:
- Adds checkbox to enable decomb.
- Program Options updated with an option to customize decomb values.
- Queue Recovery feature. If you close the GUI without letting a queue complete, the user will be prompted if they'd like to recover the queue on next launch.
- Small bugfix with the queue HandBrakeCLI monitor thread not stopping when the GUI is closed.
jstebbins [Fri, 22 Aug 2008 23:20:53 +0000 (23:20 +0000)]
LinGui: improve data entry method for deinterlace and denoise settings in
tweaks mode. replaces GtkComboBox with GtkComboBoxEntry.
add easter egg that gives access to hidden preferences
jstebbins [Thu, 21 Aug 2008 00:43:46 +0000 (00:43 +0000)]
LinGui: add a hidden feature to allow tweaking some settings. currently
tweaks are available for detelecine, decomb, deinterlace, deblock, and denoise
to enable, you must manually edit preferences file and add "allow_tweaks=1"
to tweak a setting, right click on the widget, an entry dialog will appear.
minimal validity checking is done on the tweak's value.
van [Mon, 18 Aug 2008 20:05:47 +0000 (20:05 +0000)]
The per-stream timing changes (r1570) make the overall timing depend on which media streams we process. So we can't ignore audio during pass 1 or the video timing will change between passes & make x264 abort. (Thanks to jbrjake for pointing out the problem.)
van [Mon, 18 Aug 2008 06:15:17 +0000 (06:15 +0000)]
- To reliably find audio in 720p or 1080i TS streams we need to search through first 50MB of file looking for the stream rather than first 18MB.
- When we're looking for a PES header for some PID, check both that the TS 'start' bit is set and that the first 3 data bytes are an MPEG start code (the start bit may get set by an error not caught by the CRC).
- Print the substream id when we reject a PID as "not audio" so we'll be able to debug TS streams using non-standard PES encapsulations.
van [Mon, 18 Aug 2008 06:07:19 +0000 (06:07 +0000)]
If we try to release old frames in the loop that searches for a free one we may free one that's in use & crash in avcodec_default_release_buffer. (Bug tracked down by eddyg).
van [Mon, 18 Aug 2008 01:54:15 +0000 (01:54 +0000)]
- patch a reference picture leak in ffmpeg/libavcodec/mpegvideo.c that caused aborts on h264 transport stream encodes.
- patch the log level of some h264 decoder error messages so we don't fill our log with messages about stuff that's a very likely & not terribly significant.
- don't let hb.c set the ffmpeg av_log level to AV_LOG_DEBUG -- it fills the HB activity log with junk.
- add a count of the decoder errors to decavcodec's final report.
- when we don't have any chapter text (i.e., during a typical cli encode) just print the chapter number rather than empty quote marks.
sr55 [Sat, 16 Aug 2008 19:42:44 +0000 (19:42 +0000)]
WinGui:
- One elusive cross-thread bug in the Activity window fix (hopefully) + some tweaks to the log display
- Nicer Exception Handling Message box errors for frmReadDVD.
- frmMain Minimize to taskbar no tooltip text exception fixed.
jstebbins [Fri, 15 Aug 2008 23:06:39 +0000 (23:06 +0000)]
LinGui: fix a couple problems with the preset translation tool
change my presets file to use the settings generated by the translation tool
also tidy up a display problem with x264 options
eddyg [Wed, 13 Aug 2008 20:48:52 +0000 (20:48 +0000)]
Threaded yadif deinterlacer. Will split the YUV frames up into horizontal segments based on the number of CPUs available. All these segments will be processed seperately in parallel in their own thread.
eddyg [Tue, 12 Aug 2008 01:55:30 +0000 (01:55 +0000)]
Don't crash HB when the video decoder (MPEG2 or ffmpeg) doesn't understand the format of the input and so therefore doesn't populate vid_info. Just skip that preview instead.
sr55 [Sat, 9 Aug 2008 18:59:33 +0000 (18:59 +0000)]
WinGui:
- Added Memory and screen bounds to the activity log.
- Removed some x264 code from frmMain. The x264 widgets are now populated from the designer file.
- Removed some duplicate code from x264Panel.cs
- Added the macgui's animate function to x264Panel.cs
- Setup the Audio panel to default the sample rate to audio on audio track change.
jstebbins [Fri, 8 Aug 2008 17:53:44 +0000 (17:53 +0000)]
LinGui: address scott's complaint that the way i handle audio presets
is confusing. Eliminated the extra audio settings tab. consolidated
everything in the Audio/Subtitles tab. up to 8 audios can be stored in a
preset now. limit was 2 before, even though up to 8 audios could be
added manually for an encode.
sr55 [Fri, 8 Aug 2008 17:08:14 +0000 (17:08 +0000)]
WinGui:
- Bug Fixes in QueryParser.cs and PresetLoader
- Fixes a bug where an incorrect cropping option get's chosen when a preset is loaded.
- No longer loads Source or destination from the preset.
van [Fri, 8 Aug 2008 06:19:54 +0000 (06:19 +0000)]
- change aspect from a scaled int to a double so we can handle the wider
range of aspect ratios we get from ffmpeg files.
- add container_aspect to title struct (always zero except for DVDs
when it's the aspect from the VTSI). To handle broken French DVDs,
make HB complain & use the container aspect if it's different from
the aspect computed from the video PAR.
- fix ScanFunc's job template init so that it doesn't think the only
legal aspect ratios are 16:9 & 4:3.
- hb_reduce wouldn't reduce any fraction where both terms were equal and
prime (e.g., 2/2, 3/3, 5/5, etc. would not become 1/1). Recoded it using
Euclid's Algorithm so it always works and is faster.
jstebbins [Thu, 7 Aug 2008 18:48:04 +0000 (18:48 +0000)]
LinGui: fix problem with install target of make
not all directories were being created. needed for installing in alternate
destination where all the system dirs may not exist
jstebbins [Thu, 7 Aug 2008 17:43:55 +0000 (17:43 +0000)]
LinGui: change how x264 options are handled
- there is now one preset key that contains the option string
- options displayed in widgets and entry box stay reflect each other
- enlarged the entry box so all options can be seen
ritsuka [Thu, 7 Aug 2008 17:26:25 +0000 (17:26 +0000)]
MacGui: Some small enhancements and clean ups in HBQueueController
- Removed white spaces and hard tabs.
- Changed all the enumerators to use the new fast enumerators available in objective-c 2.
- Changed intValue to integerValue.
sr55 [Mon, 4 Aug 2008 17:36:06 +0000 (17:36 +0000)]
WinGui:
- Activity log - Added CPU description, temp dir, install dir and data dir to the WinGUI log header.
- Renamed rssReader to appcast reader
- Added option for stable builds to check unstable appcast.
- Unstable builds check both appcasts so will always show the latest release
- Added some containers to frmMain.
- Fixed (I think) an issue with a regex which prases the CLI version information. It may not detect public release build information up correctly.
dynaflash [Mon, 4 Aug 2008 15:30:46 +0000 (15:30 +0000)]
MacGui: Remove legacy preferences since they are now controlled via the presets.
- Remove the Chapter Markers preference
- Remove the Set Deinterlace to on upon scan preference
-- Note: this means that for custom presets that do not use picture filters, Deinterlace will not be used upon scan since there is no preference to use it anymore, otherwise the default preset will control it.
- Remove the Use Picture Par upon scan
-- Note: this means that for custom presets that do not use picture settings, Anamorphic will not be used upon scan since there is no preference to use it anymore, otherwise the default preset will control it.
- Also correct the label for custom Decomb string to read Decomb instead of Deblock "duh" .
sr55 [Fri, 1 Aug 2008 18:15:19 +0000 (18:15 +0000)]
WinGui:
- Changed the layout of the Options window.
- Added a "Stop" button to stop encodes.
- Moved Encode status label onto a status bar at the bottom of the window. Now includes scanning status.
- Added and Removed some png images
jbrjake [Fri, 1 Aug 2008 17:12:37 +0000 (17:12 +0000)]
Splits the display of job settings off from the actual work of beginning of a job, and reorganizes/elaborates the display's layout.
Adds new title variables to provide more description of sources: video_codec_name, video_bitrate (currently only used by DVD sources), and container_name and data_rate (currently only used by ffmpeg input sources).
van [Wed, 30 Jul 2008 22:27:33 +0000 (22:27 +0000)]
Fix two problems that would cause HB to hang in the muxer whenever the input content's video finished before audio:
- sync has to keep processing until all its input fifos report eof otherwise it won't send an eof on all its output fifos.
- do_job has to wait for muxer to finish. Waiting for anything earlier in the pipeline (we were waiting for the video encoder) can cause other parts of the pipeline to get terminated early which will result in lost data & no eofs.
MacGui: - Fixed loose anamorphic preview (still not perfect)
- Replaced float with CGFloat for future cocoa 64bit compatibility
- Fixed switching between automatic and custom cropping (the preview sometimes wasn't updated)
- Fixed a crash when the job width and height were larger than the title's one.
MacGui: - Implement automatic extension switching for mp4/m4v.
- Disable http mp4 checkbox when an ac3 track is present.
- Disable autonaming if there is only one title in the source.