summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg
Commit message (Collapse)AuthorAgeFilesLines
* QSV: fix for stream(s) with no-SPS availablemaxd2013-10-051-2/+11
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5821 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merging-in the OpenCL Scaling code from the OpenCL branch to trunk. sr552013-09-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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
* QSV: use git diff formatting for the QSV/Libav patch.Rodeo2013-09-131-40/+52
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5780 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove mcdeint deinterlacerjstebbins2013-09-031-1/+0
| | | | | | | | 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
* Big merge, QSV to trunk: part 2 (new files).Rodeo2013-08-221-0/+2285
| | | | 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-221-0/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5737 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add experimental avformat muxer for mkv and mp4jstebbins2013-06-308-0/+693
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* improve aac encoder build options and change some aac encoder defaultsjstebbins2013-06-151-0/+82
| | | | | | | | | | 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
* Bump Libav to v9.6.Rodeo2013-05-134-8/+8
| | | | | | | | Miscellaneous security and bug fixes, including support for mixed interlaced/non-interlaced ProRes video. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5454 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump Libav to v9.3.Rodeo2013-03-032-3/+3
| | | | | | | | Miscellaneous security fixes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5294 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Disable building of libavdevice.Rodeo2013-03-031-1/+2
| | | | | | | | | | We don't use it. Idea by John Stebbins. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5293 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add optional fdk-aac encoderjstebbins2013-03-031-1/+8
| | | | | | | configure --enable-fdk-aac to enable this encoder git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5287 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove libswscale patch.Rodeo2013-03-014-15/+0
| | | | | | | | The assert it avoids is no longer triggered in the version of Libav we use. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5278 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump Libav to v9.2.Rodeo2013-02-277-232/+12
| | | | | | | | | | Miscellaneous fixes. Also reduces the amount of patched code a bit. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5272 b64f7644-9d1e-0410-96f1-a4d463321fa5
* minor fixup: append to GCC.args.extra konablend2013-02-191-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5256 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Set AVCodecContext.request_channel_layout when decoding.Rodeo2013-02-051-0/+46
| | | | | | | | | | Allows extracting a 5.1 or 2-channel downmix from a dedicated substream (TrueHD). Also works around a bug when decoding TrueHD Mono. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5242 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Sync TrueHD channel order fix with Libav.Rodeo2013-01-222-41/+207
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5194 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libav patch: fix silly error in dca resync patchjstebbins2013-01-171-7/+9
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5178 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump Libav to v9.1.Rodeo2013-01-167-42/+9
| | | | | | | | Fixes high bit-depth H.264 decoding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5176 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix dts-hd regressionjstebbins2013-01-061-26/+60
| | | | | | | The previous dca-resync libav patch broke dts-hd git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5151 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libav: solaris build fixesjstebbins2013-01-031-1/+6
| | | | | | | | | | | | | | | | 1. Link in /usr/lib/values-xpg6.o to get proper POSIX.1-2001 behaviour from libc -- this is controversial within the GCC camp as it "breaks old code" that doesn't assume it has been added. Some libc functions behave very differently with and without this linked. Since we're linking statically to the library, this is not a significant concern. 2. MPC8 disable constraint is clamped down to only apply on SPARC. thanks to icchan for patch. https://reviews.handbrake.fr/r/367/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5138 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libav patch: fix dts audio bitstream desync when frame size changesjstebbins2013-01-021-0/+37
| | | | | | | Fixes https://forum.handbrake.fr/viewtopic.php?f=11&t=26016&hilit=squid git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5133 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump libav to v9_beta3.Rodeo2012-12-3110-181/+61
| | | | | | | | Miscellaneous bugfixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5124 b64f7644-9d1e-0410-96f1-a4d463321fa5
* contrib/ffmpeg: update patch numbers after SVN revision 4950.Rodeo2012-09-225-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4975 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove contrib/ffmpeg/A02-png-sequences.patch.konablend2012-09-101-37/+0
| | | | | | | | | | | | | Set AVPacket flags indicating key-frame for avcodec_decode_video2() call. Specifically, libav documentation states: * @param[in] avpkt The input AVpacket containing the input buffer. * You can create such packet with av_init_packet() and by then setting * data and size, some decoders might in addition need other fields like * flags&AV_PKT_FLAG_KEY. All decoders are designed to use the least * fields possible. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4950 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update the fmac scalar patch. Instead of a workaround, apply the fix from ↵Rodeo2012-09-081-20/+20
| | | | | | Libav, so that the patch can be dropped on the next bump. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4943 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove redundant patch. It's been superseded by ↵Rodeo2012-09-071-16/+0
| | | | | | http://git.libav.org/?p=libav.git;a=commit;h=14f063d294a18a31928d2167a66b1087910e14c8 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4931 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use a more direct workaround for the DTS-ES XCh decoding issue.Rodeo2012-08-261-0/+20
| | | | | | | | | | The workaround committed in revision 4896 works for now, but if/when we add 6.1 encoding, we'll want to decode that discrete center surround channel. We could special-case it, but the issue would still be present under 64-bit Windows. Instead, disable the buggy assembly optimizations until they are fixed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4918 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Allow control of audio mix normalizationjstebbins2012-08-011-0/+39
| | | | | | | | | | | | Since switching to libavresample for audio mixing, our output volume levels have been reduced because libavresample does mix level normalization by default. This change applies a patch to libav to allow us to disable this behavior and adds a new field to hb_audio_config_t to allow the hb frontends to control this feature. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4884 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump Libav to v0.8-2551-gc83f44d.Rodeo2012-07-301-7/+5
| | | | | | | | | | | | | | Fixes an issue in assembly code that could result in very poor performance when encoding with x264 & AC3 Passthru. Thanks to our John Stebbins for finding the cause of the bug, and to x264 & Libav developers for fixing it. Miscellaneous other fixes and improvements, including multichannel Apple Lossless audio decoding support. Also, clean up our Libav configure options (group things together, disable all hardware accelerations with one switch instead of individually, and disable building the unused avfilter library). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4883 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cleanup after last commit: delete empty files, rename some patches.Rodeo2012-07-115-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4826 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump libav to libav-v0.8-2197-g1a068bfjstebbins2012-07-1114-270/+112
| | | | | | | | | | | | Resolves several deprecated api's Eliminates several libav patches Eliminates our builtin downmix in favour of avresample Eliminate HB_INPUT_CH_LAYOUT_* and replace with AV_CH_LAYOUT_* Resolves 6.x and 7.0 input channel layout issues HB had Adds downmix support to declpcm. We never had it! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4825 b64f7644-9d1e-0410-96f1-a4d463321fa5
* PGS (bluray) subtitle support \o/jstebbins2012-04-261-0/+82
| | | | | | | | | | | | Thanks to patches supplied by David Mitchell and Rob McMullen we finally have PGS support. I added a fix for libav pgs timestamp processing and detection of forced subtitles to their work, then made foreign audio search work with PGS subs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4605 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix Libav VC-1 decoding bug (fix sourced from Libav-git-498605b).Rodeo2012-01-301-0/+40
| | | | | | | | Fixes https://forum.handbrake.fr/viewtopic.php?f=12&t=23188 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4427 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: Mac OS X - transition to Xcode4konablend2012-01-041-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | - transition from Xcode3 to Xcode4 - overhaul HandBrake.xcodeproj file - simplify down to 2 configurations: debug, release - add xcconfig for useful variants: osx106.i386, osx106.x86_64, osx107.i386, osx107.x86_64 - add configure --xcode-config as preferred method to choose OSX minimum version and SDK - overhaul Info.plist generation to use m4 instead of cpp - remove use of direct static libraries on command line - Xcode4 now enables -search_paths_first by default - reference external build static libraries project file - greatly simplifying project file maintenance - update universal build targets to use --xcode-config - update ffmpeg hack to build on i386 in both debug and optimized modes - update ffmpeg build to show compile verbosity - enable local yasm when yasm probe fails - remove unused GCC.ldsysroot - remove unused GCC.ldminver - enhance xcodemake to use --sysroot, --minver - update/regenerate docs accordingly - add support for configure-time repo probe when svn repo is incompatible format to Xcode via .svn/HANDBRAKE_REPO_PROBE - replaced make/test/build.matrix.darwin with make/test/build.matrix git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4395 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix crash in swscale on windows XP 32bitjstebbins2011-11-181-0/+13
| | | | | | | It seems threads on XP are not guaranteed to start with an 16 byte aligned stack. swscale's SSE code assumed that the stack was aligned. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4357 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix seeking in wmv files that have no indexjstebbins2011-11-131-0/+16
| | | | | | | Libav's fallback binary search seek fails because a PTS is never generated for video stream types that have B frames. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4348 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump Libav to v0.7-1696-gcae4f4bjstebbins2011-11-041-1/+1
| | | | | | Fixes mingw64 crash when decoding dts audio git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4338 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg to v0.7-1470-gb95fbbajstebbins2011-10-261-1/+1
| | | | | | | | | Fixes problem setting dsur_mode in ac3 encoder that caused encode failures if using ac3 encoder and mixdown is dolby or dplii. Fixes a VC-1 decode issue that caused scattered misplaced blocks. Fixes swscale bug that caused banding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4322 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add optional yasm contribjstebbins2011-10-251-1/+7
| | | | | | | | | | To enable, "configure --enable-local-yasm" Ubuntu 10.04 LTS (lucid) has yasm 0.8 which is no longer compatible with x264. This change allows us to build yasm as a contrib and use it for building both Libav and x264 which require yasm. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4314 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump Libav from v0.7.1 to v0.7-1241-g5f3fb59jstebbins2011-10-1510-131/+120
| | | | | | | | | | | | Fixes VC-1 decode issue Adds partial support for interlaced VC-1 decode Adds ProRes decoder Fixes ac3 encoder dolby flag Fixes DCA frame size setting (delete patch A04) Fixes VC-1 repeat field processing (delete patch A05) Numerous other bug fixes and enhancements git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4291 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add flac + quality + compression level supportjstebbins2011-10-121-0/+1
| | | | | | | | | Adds flac audio to cli, lingui, and macgui Adds quality and compression level options to cli Adds quality option to lingui Quality option works for vorbis and lame git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4281 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix corrupt first frame in BD point-to-pointjstebbins2011-09-191-0/+55
| | | | | | | | | | | Seek point may be a recovery point which will not be a complete clean frame. So consume frames till we reach the recovery frame count. Patches Libav so it can tell us when the recovery point has been reached. Also improves detection of recovery points in TS files. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4231 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve mpeg PS supportjstebbins2011-09-141-0/+96
| | | | | | | | | | | | | | | | | | | | | | Adds support for MPEG-1 PS, HDDVD EVOB, and video codecs other than mpeg1/2 in PS Improves probing of unknown stream types by using Libav's probing utilities Use Libav to probe for dts profile in TS and PS files when profile is unknown Improves framerate detection (improved telecine detection) Fixes preview generation for mpeg video that has only a single sequence header Patches Libav to handle VC-1 pulldown flags properly Improve PS and TS stream log information git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4220 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add more audio passthru optionsjstebbins2011-08-011-0/+12
| | | | | | | | | | | | | | | | | adds aac and mp3 passthru for mp4 and mkv containers adds dts and dtshd for mp4 container (mkv already had it) Note: The only player known (to me) to support dts(hd) in mp4 is ff/avplay In LinGui there is a new option to limit which passthru codecs will be used by the "Auto Passthru" audio codec options. The CLI already has this ability with "--audio_copy-mask" which is use in conjunction with the "copy" audio codec option. Also corrects some A/V sync issues when video frames are dropped due to a gap detected in the audio. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4149 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump Libav from git-v0.7b2-406-g7b20d35 to release 0.7.1jstebbins2011-08-016-30/+10
| | | | | | | | | | | | | It includes the following fixes: - MKV seek issue: http://git.libav.org/?p=libav.git;a=commit;h=c29c609 - crash when decoding corrupt MPEG-2 streams: http://git.libav.org/?p=libav.git;a=commit;h=20153fb - other misc. fixes: http://git.libav.org/?p=libav.git;a=shortlog;h=refs/heads/release/0.7 It includes the following new feature: - support for DTS in MP4 and MOV files: http://git.libav.org/?p=libav.git;a=commit;h=26f4875 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4148 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix or simplify several hacks involved with Libav supportjstebbins2011-07-271-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For files that are demuxed by Libav, we must share the format context with the decoder iso that it can obtain the codec context for each stream. The code that did this was very convoluted and difficult to understand. It is simplified by simply passing the context in hb_title_t. Reader was closing stream files before the decoder was finished with the context. This created the need to delay the actual close and cache the context. Changed reader so it behaves more like the rest of handbrake's work objects which lets us explicitly close after the decoders are finished. Libav does some probing of the file when av_find_stream_info is called. This probing leaves the format context in a bad state for some files and causes subsequent reads or seeks to misbehave. So open 2 contexts in ffmpeg_open. One is used only for probing, and the other only for reading. decavcodec.c had 2 separate decoders for files demuxed by hb and files demuxed by Libav. They have been combined and simplified. Previously, it was not possible to decode one source audio track multiple times in order to fan it out to multiple output tracks if the file is demuxed by Libav. We were using the codec context from the format context. Since there is only one of these for each stream, we could only do one decode for each stream. Use avcodec_copy_context to make copies of the codec context and allow multiple decodes. This allows removal of a lot of special case code for Libav streams that was necessary to duplicate the output of the decoder. Patch Libav's mkv demux to fix a seek problem. This has been pushed upstreams, so the next time we update Libav, we must remove this patch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4141 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: encavcodecaudio improvementsjstebbins2011-07-241-46/+0
| | | | | | | | | | | | | Compute the output layout once in encavcodecaInit and store it in a member of the hb_encavcodeca work object. Fix the channel mapping of ffaac in our code rather than applying a patch to Libav. The Libav AAC encoder is bound to see a certain amount of commit activity since it needs to be improved. A patch affecting the AAC encoder is bound to break regularly git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4131 b64f7644-9d1e-0410-96f1-a4d463321fa5
* contrib: enable debuggin when debug=max and disable optimizations when ↵jstebbins2011-07-111-2/+8
| | | | | | | | | | optimizations=none except for ffmpeg on darwin i386 which fails to build when optimizations are disabled due to gcc running out of registers. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4103 b64f7644-9d1e-0410-96f1-a4d463321fa5
* contrib: enable ffmpeg debug when debug=max is setjstebbins2011-07-111-0/+10
| | | | | | | and disable ffmpeg optimizations if optimize=none is set git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4098 b64f7644-9d1e-0410-96f1-a4d463321fa5