summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* 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
* libhb: fix hang that can occur under certain error conditionsjstebbins2013-06-161-4/+4
| | | | | | | | | audio and video sync are in wait loops when they first start. if an error happens during this period, the hang would happen. check w->done in these loops to break out in case of error. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5592 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix the build under MinGWsr552013-06-161-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5590 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix calculation of chapter durations in dvdread and dvdnav.Rodeo2013-06-162-23/+4
| | | | | | | | | | The values printed to the scan log were incorrect. Patch by Stuart Webster. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5588 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cosmetics after last commit.Rodeo2013-06-151-8/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5587 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: improve video and audio encoder names.Rodeo2013-06-151-29/+25
| | | | | | | | | | | | | | | | | | When we only have one encoder for a particular codec: - don't add (library_name) in the name - don't prefix with ff or otherwise use the library name in the short name AAC (ffmpeg) -> AAC (avcodec): works for both Libav and FFmpeg. consistency: ffaac -> av_aac (like ca_aac, fdk_aac and so on) VP3 (Theora) -> Theora: Theora is based on VP3, but is not exactly VP3. manicure updated to handle the new names, but built-in presets left untouched (this will require WinGUI updates). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5586 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix incorrect sizeof()jstebbins2013-06-151-1/+1
| | | | | | | | | Function parameter array declarations are not treated the same way as local or global array declarations. sizeof will return only the size of the pointer instead of the size of the array. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5584 b64f7644-9d1e-0410-96f1-a4d463321fa5
* improve aac encoder build options and change some aac encoder defaultsjstebbins2013-06-154-6/+18
| | | | | | | | | | By default, faac is no longer built. Libav aac is now the default aac encoder on all platforms except osx where ca_aac is the default. fdk-aac is now built by default (except on osx). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5581 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: move one-time registrations to hb_global_init().Rodeo2013-06-061-62/+33
| | | | | | | | There's no need to do this in each call to hb_init(). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5566 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_mixdown_*: use meaningful values instead of -1.Rodeo2013-06-041-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5553 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_video_encoders: cosmetics.Rodeo2013-06-031-8/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5550 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb/common: improve fallback mechanism.Rodeo2013-06-036-446/+818
| | | | | | | | | | | | | | | | | | | | API changes: - added hb_global_init(), must be called before any other libhb function - removed (somewhat pointless) hb_mixdown_t.internal_name - some hb_*_get_from_name() functions now return 0 instead of -1. Instead of hardcoded fallbacks, list items now have a specific fallback, and a generic ID for when the specific fallback is unavailable. Encoder availability is checked at runtime (hb_global_init calling hb_common_global_init) and the item's value/fallback is sanity-checked and updated if necessary. See https://reviews.handbrake.fr/r/506/ for more detailed information. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5547 b64f7644-9d1e-0410-96f1-a4d463321fa5
* cropscale: fix initial value of output width/heightjstebbins2013-05-311-2/+2
| | | | | | | | Since all the frontends specifiy all parameters to the cropscale filter, this really has no effect. But it was incorrect... git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5536 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix problem with logging of crop/scale settingsjstebbins2013-05-311-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5535 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_display_job_info: improve formatting of start and stop times.Rodeo2013-05-301-3/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5533 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't expose rate, mixdown, dither and encoder arrays to the UIs.Rodeo2013-05-305-826/+1454
| | | | | | | | | | | | | | | | | | | | - instead, make these lists available through enumerators: --> hb_*_get_next(<type> *last); - this should give us more flexibility to populate the lists at runtime, using the implementation(s) of our choice, whether they use arrays or not, without requiring UI modifications - use consistent naming for getters --> hb_get_best_foo() becomes hb_foo_get_best(), and so on - hb_*_get_from_name() and hb_*_ sanitize_name() sanitize the requested value to a supported one if it's unavailable - adds an additional, passthru-specific fallback mechanism - adds a list of video containers git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5526 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Make initialization of vfr filter work as I intended.jstebbins2013-05-283-43/+45
| | | | | | | Also fix signalling of framerate in output file when PFR is used. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5522 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix hb_vfr_info() and refactor hb_vfr_init() a bit.Rodeo2013-05-223-48/+29
| | | | | | | | | | | | | Since SVN revision 5058, hb_vfr_init didn't have access to title->rate, rate_base - which are needed to set the input framerate for CFR/PFR. It was therefore printing the output framerate in both cases, regardless of the input framerate: [22:13:04] + frame rate: 23.976 fps -> constant 30.000 fps [22:13:04] + filters [22:13:04] + Framerate Shaper (1:27000000:900000) [22:13:04] + frame rate: 30.000 fps -> constant 30.000 fps git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5499 b64f7644-9d1e-0410-96f1-a4d463321fa5
* sync: fall back to drop_video_to_sync when hb_avcodec_open() fails, instesd ↵Rodeo2013-05-171-39/+41
| | | | | | | | | | of killing the job. Patch by John Stebbins. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5459 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decsrtsub: clear remnants of the previous line before progessing a new one.Rodeo2013-05-141-0/+3
| | | | | | | | I don't really understand why, but this prevents miscellaneous subtitle corruption. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5456 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve upon previous commit.Rodeo2013-05-081-4/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5447 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decsrtsub: rework character substitution logic.Rodeo2013-05-081-20/+30
| | | | | | | | | | Don't pointlessly convert a line break to a space if it's the last character. Also, only skip a CR character if it's followed by an LF character. Otherwise, replace it with an LF character or a space, depending on the line number. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5446 b64f7644-9d1e-0410-96f1-a4d463321fa5
* muxmkv: fix audio track private data for 24-bit FLAC.Rodeo2013-05-051-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5441 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix crash when EOF is found before first video framejstebbins2013-04-301-0/+1
| | | | | | | buffer got closed twice, once in sync close and once in muxer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5430 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Refactor add_ffmpeg_audio.Rodeo2013-04-283-90/+116
| | | | | | | | | | | Simplify, set bitrate to 0 - scan will then call decavcodecaBSInfo, decode some audio and set the other input parameters, including samples_per_frame. decavcodec and scan fixes by John Stebbins. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5424 b64f7644-9d1e-0410-96f1-a4d463321fa5
* sync: fix a hang when the avcodec encoder for silence insertion fails to open.Rodeo2013-04-281-2/+3
| | | | | | | | This affects e.g. AAC Passthru with more than 6 channels. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5423 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix log pollution when Auto Passthru is not possible and uses the fallback ↵Rodeo2013-04-281-1/+1
| | | | | | | | | | audio encoder, if that encoder does not accept s16(p) input samples. "work: track 1, dithering not supported by codec" git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5421 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_get_best_mixdown: fix out-of-array reads.Rodeo2013-04-281-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5420 b64f7644-9d1e-0410-96f1-a4d463321fa5
* muxmp4: update MP4AddAudioTrack usage as per mp4v2 documentation.Rodeo2013-04-271-2/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5414 b64f7644-9d1e-0410-96f1-a4d463321fa5
* work: pass the crop settings to the subtitle renderer when adding it to the ↵Rodeo2013-04-241-5/+9
| | | | | | | | | | | | flter chain. Fixes an issue where subtitles would not be re-positioned and be cut off. Fix by John Stebbins. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5410 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Disable Libav's AVX and FMA4 optimizations under Windows x86_64.Rodeo2013-04-241-1/+9
| | | | | | | | | | They cause crashes in avresample. SSE* optimizations are still enabled, so the performance hit should be pretty minimal. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5409 b64f7644-9d1e-0410-96f1-a4d463321fa5
* muxmp4: compute audio frame durations when the frame size isn't known.Rodeo2013-04-241-33/+40
| | | | | | | | | | Otherwise, mp4v2 would assume a duration of zero and never write any audio chunk, causing excessive memory usage and a noticeable performance decrease in some cases. The issue was introduced in SVN revision 4825, when libavcodec stopped setting AVCodecContext.frame_size for some codecs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5408 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decssasub, dectx3gsub: fix writing past hb_buffer_t data[size - 1].Rodeo2013-04-102-12/+13
| | | | | | | | | | This is not safe and causes subtitle corruption. Same fix as SVN revision 5346 for the remaining text-based subtitle deocders. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5390 b64f7644-9d1e-0410-96f1-a4d463321fa5
* We support encoder options for everything but Theora, so simplify the check ↵Rodeo2013-04-041-4/+3
| | | | | | a bit. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5379 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update outdated comment.Rodeo2013-04-011-4/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5371 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove unnecessary legacy HB_VCODEC define and minor cleanup.Rodeo2013-04-011-7/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5370 b64f7644-9d1e-0410-96f1-a4d463321fa5
* muxmp4: map '\r\n' and '\r' to '\n'.Rodeo2013-03-191-0/+5
| | | | | | | | Improves Apple compatibility and avoids double linebreaks in e.g. VLC. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5349 b64f7644-9d1e-0410-96f1-a4d463321fa5