summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* QSV: move LookAheadDepth miminum to commmon code.Rodeo2013-09-252-4/+2
| | | | | | | | Unlike the maximum limit, which is HandBrake-specific, this is not our bug, and we can't fix it, short of dropping support for all old Haswell drivers. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5813 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: miscellaneous option-related improvements.Rodeo2013-09-242-6/+11
| | | | | | | | All user-controlled settings except GOP-related ones now have an explicit default value (it's never "unknown"). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5812 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: improve ExtBRC workaround.Rodeo2013-09-241-8/+6
| | | | | | | | It doesn't play well with CQP either. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5811 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: remove RateDistortionOpt control.Rodeo2013-09-242-24/+5
| | | | | | | | The option seems to have no effect in my testing, and is of limited usefulness, so let's leave it unknown (up to the implementation). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5810 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: fix a hang with lookahead RC and some graphics drivers.Rodeo2013-09-241-0/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5809 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: ExtBRC/MBBRC and lookahead are mutually exclusive, plus miscelleanous ↵Rodeo2013-09-241-11/+24
| | | | | | | | | | stuff found in testing. Thanks to gmb for pointing it out, and Nina Kurina for pointing out the ExtBRC/AsyncDepth issue. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5808 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: fix stupid mistake; MBBRC requires API version 1.6, not 1.7.Rodeo2013-09-241-1/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5807 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: libhb-based preset system.Rodeo2013-09-246-28/+109
| | | | | | | | | | | | Modeled after x264's preset system. MMBRC and LookAhead RC are now enabled by default, whereas Trellis is disabled by default. Please note that Windows GUI support will come later, and that preset names are not definitive. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5806 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: use ifdefs rather than filtering to bypass libmfx references during ↵Rodeo2013-09-246-5/+20
| | | | | | compilation without --enable-qsv. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5805 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Prettify CPU info in the log.Rodeo2013-09-241-7/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5804 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: fix cropping with some brainfart sources.Rodeo2013-09-241-13/+45
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5803 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: MBBRC is actually Haswell-only.Rodeo2013-09-243-10/+16
| | | | | | | | This is confirmed by marketing material and testing with the 3257 driver on Ivy Bridge hardware. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5802 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: re-use the encqsvInit MFX session when using the encode-only path.Rodeo2013-09-241-13/+14
| | | | | | | | This seems to work around a weird and obscure issue on some systems. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5801 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: fix for VPP if VFRmaxd2013-09-231-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5799 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: make libhb internal character code utf8jstebbins2013-09-2212-30/+230
| | | | | | | | | | This makes libhb expect all strings passed to it to be in utf8 format. The cli converts the converts from the current code page to utf8. libhb converts back to the current code page when necessary for libraries that expect it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5798 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove windows ^M line endingsjstebbins2013-09-222-1219/+1219
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5797 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Tidyup a warning in oclscale.csr552013-09-211-8/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5793 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merging-in the OpenCL Scaling code from the OpenCL branch to trunk. sr552013-09-2127-60/+6720
| | | | | | | | | | | | | | | | | | | | | | | | Patch originally by the Multicoreware Inc team, followed by improvements and fixes by Micheal Wootton from AMD Inc, OpenCL: This patch implements Bicubic Scaling in OpenCL. Note that HandBrake currently uses Lanczos so the performance difference appears to be much more significant. We may offer an option of BiCubic in software later. Bicubic scaling may appear a bit sharper than the equivalent Lanczos encode and may increase file size a bit. Quality may be better or worse depending on the scaling and content and personal preference towards sharpness. When comparing performance with a custom HandBrake build that runs Software Bicubic to OpenCL Bicubic, performance increase is about 5~7% on average on a modern GPU. Hardware Decode via DXVA: We also have optional DXVA decoding which may come in useful for slower/lower end systems that have a capable GPU. This is only available on input sources that use the libav decode path. Most GPU hardware for decoding is designed for playback, so if you are running on a high end CPU, it will bottleneck the encode process. Requires OpenCL 1.1 or later supporting GPU. Front end changes and testing framework are not included in this patch. This will be resolved later. Patch will be revised further before the UI is implemented. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5792 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix scanning some dvdsjstebbins2013-09-191-9/+0
| | | | | | | | | | | | | | | | | | | | | e.g. star trek into darkness This reverts part of a patch that was originally written for dvdread access. So we need to watch for regressions. The patch was originally written for dvdread access and my not actually be a bug in dvdnav. So I have reverted it in dvdnav only. I also tried to reproduce the original bug in dvdread, but was unsuccessful. So I'm wondering if the original bug also got "fixed" by subsequent changes. The original bug report is here: https://forum.handbrake.fr/viewtopic.php?f=4&t=9758&start=0 The original fix is here: https://trac.handbrake.fr/changeset/2256 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5787 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Interop: Removed unused structs and constants and added warnings in libhb ↵randomengy2013-09-191-2/+16
| | | | | | code to update the ones that are used. Broke out types for each struct into their own file. Switched all references to hb_handle_s to IntPtr and deleted that non-working struct. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5786 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: adjust trellis logging when B- or P-frames are disabled.Rodeo2013-09-151-3/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5784 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: minor refactoring.Rodeo2013-09-1511-130/+144
| | | | | | | | | | Address the easy issues first. Apologies if I broke HandBrakeInterop. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5783 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: unbreak probe_dts_profilejstebbins2013-09-071-1/+1
| | | | | | | When doing codec probes, the title hasn't been set yet. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5776 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: add an option to control B-pyramid.Rodeo2013-09-053-33/+156
| | | | | | | | | | Since there is no way to control it directly, output settings need to be adjusted a bit. Disabled by default for improved compatibility. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5768 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: svn rm mcdeint.*jstebbins2013-09-032-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5767 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove mcdeint deinterlacerjstebbins2013-09-034-347/+12
| | | | | | | | It's slow and it's quality isn't perticularly impressive... and it relies on the snow encoder which no longer exists in libav. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5766 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: minor cleanup.Rodeo2013-09-013-69/+26
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5760 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: choose and re-use a "preferred" implementation instead of using ↵Rodeo2013-09-014-25/+65
| | | | | | | | | | MFX_IMPL_AUTO_ANY. This fixes a rare issue where hardware support was detected as available and used in encqsvInit, but MFXInit silently fell back to software in qsv_enc_init (still don't know what that's all about though). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5759 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix potential pgs timestamp problemjstebbins2013-08-261-1/+20
| | | | | | | Under rare circumstances, the computed start time would jump backward. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5753 b64f7644-9d1e-0410-96f1-a4d463321fa5
* enc_qsv: fix crash.Rodeo2013-08-261-0/+6
| | | | | | | | This was caused by trying to encode even when encoder initialization failed (qsv_enc_init). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5752 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Print QSV info in all logs in a libhb-friendly manner, via hb_scan (was ↵Rodeo2013-08-262-6/+8
| | | | | | | | | | printed in hb_init). Also, print an error to the log if attempting to print uninitialized QSV info. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5751 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix display size when anamorphic is disabled.Rodeo2013-08-251-4/+14
| | | | | | | | Some interfaces set the PAR width/height to be the same as the input's, even when anamorphic is disabled. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5750 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: don't use AVBR rate control.Rodeo2013-08-252-43/+21
| | | | | | | | User testing shows it's unreliable, and VBR works just as well for that purpose. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5749 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Big merge, QSV to trunk: part 2 (new files).Rodeo2013-08-2211-0/+4385
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5738 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Big merge, QSV to trunk: part 1 (tracked files).Rodeo2013-08-2217-74/+688
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5737 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix compiler warning...jstebbins2013-08-191-1/+8
| | | | | | | unused typedef git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5722 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: auto-enable metrics when the relevant tune is requested.Rodeo2013-08-171-0/+22
| | | | | | | | Thanks to s55 for the suggestion. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5710 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: don't force-enable metrics (PSNR, SSIM).Rodeo2013-08-171-5/+0
| | | | | | | | Matches the x264 defaults, gives us a very minor speed boost, and gets rid of a warning. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5709 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: log avio_open2 error return codejstebbins2013-08-161-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5701 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: store and print additional CPU informationRodeo2013-07-133-11/+156
| | | | | | | | Printed in hb_scan(), so that it's present in all Activity Logs (both encode and scan). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add hb_video_quality_get_limits and hb_video_quality_get_name to libhb API.Rodeo2013-07-133-2/+55
| | | | | | | | Includes a MacGui implementation. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5647 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: populate the SRT subtitle language list dynamically from libhb.Rodeo2013-07-132-0/+25
| | | | | | | | Adds several languages that were previously missing from the list. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5645 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Solaris: add proper POSIX definesRodeo2013-07-131-1/+1
| | | | | | | | | | On Solaris, some POSIX functions are hidden behind a define. This patch adds the proper defines to the compiler command line when building for Solaris. Patch by icchan. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5642 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: handle zero length EOF subtitle properlyjstebbins2013-07-061-3/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5636 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a couple of problems with subtitle mergingjstebbins2013-07-061-11/+29
| | | | | | | | | | I did not handle cases where it was impossible to determine the stop time properly. I also did not handle the last subitle properly. It would have been lost. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5635 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: improve handling of overlapping text subtitlesjstebbins2013-07-011-53/+177
| | | | | | | | | mp4 timed text does not support subtitles that overlap (in time). So this patch detects these overlaps and merges subtitles when appropriate. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5632 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_display_job_info: "Large file size" does not apply to the avformat MP4 ↵Rodeo2013-07-011-1/+1
| | | | | | muxer (it's automatic and therefore can't be enabled or disabled). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5629 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix crash in muxmp4.cjstebbins2013-06-301-7/+12
| | | | | | | I must not have gone back and retested this :-\ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5622 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add experimental avformat muxer for mkv and mp4jstebbins2013-06-3025-463/+1798
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix pts p-to-p start time in files parsed by libavjstebbins2013-06-261-1/+1
| | | | | | | The adjustment made to the start time was made incorrectly. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5614 b64f7644-9d1e-0410-96f1-a4d463321fa5