summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add ffaac encode supportjstebbins2011-06-081-0/+46
| | | | | | | | Adds "AAC (ffmpeg)" option to lingui and macui, "ffaac" option to cli. Does not yet remove faac. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4031 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix up usage of deprecated libav symbols and clean up patch fuzzjstebbins2011-06-075-57/+56
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4030 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add support for libav aac encoder (libhb only)jstebbins2011-06-071-0/+1
| | | | | | | | | This generalizes the ac3 encoder to make it easy to add support for any audio encoder that libav supports. Since ffaac is not quite ready, the cli and gui does not expose ffaac yet. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4029 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump FFmpeg from git-0b32da9 to git-v0.7b2-406-g7b20d35 (from Libav)jstebbins2011-06-076-41/+23
| | | | | | | | | | | | | | | | Highlights: - Sources with more than 20 streams (video, audio and subtitles combined) are now supported - Adds decoding support for 10-bit H.264 - Adds frame-based threading for H.264 and VP8 Not yet enabled in HB. See experimental patch on RB to enable. - Quality tweaks for the AC3 encoder - AAC encoder improvements Not yet enabled in HB. See experimental patch on RB to enable. - Miscellaneous other fixes and improvements git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add mpeg-2 encoding support to libhb, cli, and linguijstebbins2011-03-191-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3853 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix mkv timestamps that derive from SimpleBlock and default track duration.jstebbins2011-03-111-0/+13
| | | | | | | | | | | | | | | | Since I've gotten no response to this patch yet on ffmpeg-devel, I'm committing it here till someone has the time to look at it. When a SimpleBlock has lacing (multiple frames in a block) the duration of each frame should come from the default track duration. An initialization error in ffmpeg causes them to set the duration to 0 which triggers code higher in the stack to estimate the duration based on bitrate and frame size. This is wildly inaccurate and leads to very bad timestamps. Fixes issues with MakeMKV audio timestamps. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3835 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove a workaround for an ffmpeg bug that has been fixed.jstebbins2011-03-081-55/+0
| | | | | | | | | Removal of the workaround also removes the need for a patch that fails to apply cleanly to latest ffmpeg git. So remove the patch as well. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3833 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg from git-185a155 to git-0b32da9jstebbins2011-02-271-1/+1
| | | | | | | fixes win64 crash git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3818 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove a couple more remnants of faad from make filesjstebbins2011-02-111-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3794 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libraries:sr552011-02-041-1/+1
| | | | | | - Move all the old m0k urls over to download.handbrake.fr git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3780 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg from svn 25689 to git 185a155jstebbins2011-02-042-26/+1
| | | | | | | | | | Fixes a couple h.264 decode issues Fixes uft16-le chapter names in mov/mp4 files Improved ac3 encoder Numerous other bug fixes and improvements git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3779 b64f7644-9d1e-0410-96f1-a4d463321fa5
* patch ffmpeg mov demuxer to handle LE UTF16 chapter namesjstebbins2011-01-201-0/+25
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3759 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg from r25374 to r25689jstebbins2010-11-101-1/+1
| | | | | | | brings back LATM support git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3669 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg from 25082 to 25374jstebbins2010-10-121-1/+1
| | | | | | | fixes h264 decoding issue git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3599 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Disable ffmpeg doc generation. We don't need it and it causes the nightly ↵sr552010-09-171-0/+1
| | | | | | build to fail git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3539 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump ffmpeg from 22950 to 25082jstebbins2010-09-144-918/+24
| | | | | | | | | | | | | | It's been 5 months since an ffmpeg bump. One negative is that we loose LATM support. The LATM patch is just impossible to apply anymore since ffmpeg dropped support for using the external faad lib. There are ifdef's in the code should anyone wish to revert to an earlier ffmpeg and enable LATM. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3526 b64f7644-9d1e-0410-96f1-a4d463321fa5
* disable libvaapi when building ffmpegjstebbins2010-06-271-0/+1
| | | | | | | we don't use it. causes link errors on systems that have this library installed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3416 b64f7644-9d1e-0410-96f1-a4d463321fa5
* slightly improve avi seek patchjstebbins2010-05-161-8/+18
| | | | | | | only changes behavior when seeking backwards. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3297 b64f7644-9d1e-0410-96f1-a4d463321fa5
* patch ffmpeg avi seek problemjstebbins2010-05-161-0/+45
| | | | | | | | | | | when seeking to a timestamp, ffmpeg seeks to the position in the primary stream where that timestamp starts. Then seeks to the next interleaved packet for all other streams. When seeking back to the beginning of the file, this means the first packet of some streams are missed if those streams start before the video stream in the file. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3296 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg to rev 22950jstebbins2010-04-258-104/+141
| | | | | | | | | offset ffmpeg seeks by value of initial timestamp since it can be non-zero catch pix fmt that is unsupported by swscale, log it, skip the track use new ffmpeg avg_frame_rate for more accurate framerate estimate git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3267 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix LATM aac processingjstebbins2010-04-231-28/+29
| | | | | | | | somewhere in the series of patch changes, setting the sample_fmt got lost. we were being told SAMPLE_FMT_NONE by ffmpeg for latm git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3253 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg to svn 20817jstebbins2009-12-141-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix ffmpeg build on osx i386jstebbins2009-11-271-0/+20
| | | | | | | | | | | | | gcc 4.2 on osx defines the built-in macro __PIC__ which ffmpeg's configure uses to determine if it should enable pic. Enabling pic uses extra registers which causes some inline asm to fail due to lack of available registers. I disabled the normal check and forced pic enabled for x86_64 since it requires it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2987 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump ffmpeg to r20602jstebbins2009-11-257-294/+257
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2979 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump x264 to r1271jstebbins2009-09-241-1/+1
| | | | | | | | | make changes required by the x264 api change fix some build issues that the x264 bump exposed git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2836 b64f7644-9d1e-0410-96f1-a4d463321fa5
* build system: add capability to build Leopard target from Snow Leopard Hostjstebbins2009-09-041-2/+2
| | | | | | | | | To configure for building Leopard target from Snow Leopard: configure --sysroot /Developer/SDKs/MacOSX10.5.sdk --minver 10.5 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2806 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - patch ffmpeg to skip somewhat expensive .d (dependency) file generation.konablend2009-06-241-0/+33
| | | | | | | - shaves about 12-15 seconds off total build time on the fastest boxen. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2611 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - added FFMPEG dependencies markers { BZIP2, ZLIB }; needed for mingw/cygwin ↵konablend2009-06-231-3/+3
| | | | | | | | | platforms. - explicitly enable { bzlib, zlib } during configure phase. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2608 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - whups: fixed corrupted patch from r2477.konablend2009-06-031-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2479 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - added patch comment indicating when it may be removed.konablend2009-06-031-0/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2477 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - fixed regression: mov/png-sequence decoding.konablend2009-06-031-0/+26
| | | | | | | - regression was introduced in r2469 (ffmpeg-r18421); workaround is to disable CorePNG p-frames. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2474 b64f7644-9d1e-0410-96f1-a4d463321fa5
* FFMPEG.konablend2009-06-024-91/+64
| | | | | | | | | - bump ffmpeg from 0.5 (approx r17887) to r19067 (thanks van). - fixed latm patch; latmaac input no longer crashes. - removed P02-darwin-h264-dsp-crash. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2469 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix ffmpeg module to use scoped-gcc value.konablend2009-04-231-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2351 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This patch adds mingw32 cross-compilation support to HandBrake trunk tokonablend2009-04-141-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | produce native win32 binaries. The main benefits are the binary does not have any Cygwin runtime requirements and various host platforms can be leveraged to build HandBrake. Cross-compilation toolchains are complex to setup and recommended for experts only; but once setup it can build at speeds similar to native builds, on Darwin or Linux. BUILD INSTRUCTIONS: Add mingw32 toolchain to beginning of your path and take the toolchain prefix from gcc (eg: i386-mingw32-gcc) and pass to configure: ./configure --cross=i386-ming32 PRODUCTS: - hb.lib (static library) - HandBrakeCLI.exe DOWNLOADS: Contrib downloads need to be seeded with: - pthreads-w32-2-8-0-release.tar.gz (new) - xvidcore-20090311.tar.gz SUMMARY: Specifically, all GUI trees are not impacted. configure - added --cross=PREFIX - reworked search for gcc and cross-compile related tools to use prefix contrib/ - sub-patches added as needed for mingw contrib/xvidcore/ - bumped from 1.1.3 -> 1.2.1+ (daily 20090311) - reconstituted P01-cygwin.patch - created new P00-darwin.patch needed for macho64 asm flag on x86_64 arch libhb/ - uint -> uint32_t - remaining changes guarded by mingw32 macro. test/ - modified to support pthread-compatibility library attach/detach. - all changes guarded by mingw32 macro. BRANCHES: source: https://hbfork.googlecode.com/svn/branches/mingw@28 target: svn://svn.handbrake.fr/HandBrake/trunk@2325 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2326 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Another minor step on the way back to Solaris compiles - not linking as yet.eddyg2009-03-201-0/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2265 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: solaris port (work in progress)konablend2009-03-171-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2263 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cygwin: ffmpeg build tweakskonablend2009-03-101-2/+7
| | | | | | | | | | | | | | - bug: issues with universal input (including aac in mp4, wmv etc) - fix: add -fno-common to GCC - correctness: add --enable-memalign-hack as per ffmpeg docs - these issues were possibly a regression introduced with the new build system - a positive side effect to the build system is the availability of new makevar '<MODULE>.GCC.args.extra' which is a free-form way to add extra cflags to GCC functions. [this changeset does not effect any other platforms] git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2252 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ffmpeg release 0.5 (http://www.ffmpeg.org/changelog.html)eddyg2009-03-103-11/+11
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2250 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: general, configure and Xcode updates.konablend2009-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** NOTICE: This changeset requires a clean build directory. Please issue 'make xclean' inside build dir(s) after 'svn up'. This will help ensure there are no unexpected results. *** GENERAL: - renamed makevar PROJECT/ -> SRC/ for clarity. - renamed makevar PREFIX.install/ -> PREFIX/ for clarity. - split custom GNUmakefile overrides into defs/rules files. - inserted optional level of make customization at SRC/ level; see docs. - dropped HB.repo.wcversion (svnversion is no longer used). - corrected several 'rm' usages to use -f flag which avoids some build errors. - refreshed generated 00-Building.*.txt docs; work still in progress on the wiki front. *** CONFIGURE: - made configure more robust; configure may now be run outside of build directory! - adding log recording of configure activities. - improved readability of default options for configure - added: --force overwrite existing build config --src=DIR specify top-level source dir [.] --build=DIR specify build scratch/output dir [.] --prefix=DIR specify install dir for products [/Applications] - dropped --launch-force (replaced by --force) - dropped --launch-dir (replaced by --build) - dropped --launch-log *** XCODE: - renamed pbxproj definition EXTERNAL_PROJECT -> EXTERNAL_SRC for clarity. - fixed all configurations to default to EXTERNAL_JOBS=1 . - enabled Xcode internal parallelization (libhb, HandBrakeCLI and HandBrake benefit). - make now tickles Xcode build files to cause Info.plist regeneration and posting to HandBrake.app output; ie: svn up; click build and HandBrake.app's about panel will reflect the new repository rev. *** DARWIN: - added support to build universal binaries; see docs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2242 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: conversion from jam-based to make-based system.konablend2009-03-018-0/+1041
KNOWN ISSUES: 1. OSX + Xcode builds do not support parallel builds; attempting to use them may cause unbounded number of jobs. However, disabling via configure --disable-xcode avoids the issue. 2. OSX ppc binary produces binary which has audio-scan problems. 3. OSX ppc64 binary has not been runtime tested. ADDED: 00-BuildUserGuide.txt contrib/*/module.* doc/ make/ libhb/module.* test/module.* macos/module.* gtk/module.* DROPPED: BUILD BuildContribDarwin.sh DownloadMacOsXContribBinaries.sh Jamfile Jamrules MacOsXContribBinariesVersion.txt Makefile Makefile.config jam libhb/Jamefile libhb/Makefile test/BUILDSHARED test/Makefile contrib/Jamfile contrib/Makefile contrib/patch-ffmpeg.patch contrib/patch-x264-idr.patch contrib/patch-x264-linux.patch RENAMED: contrib/*.patch -> contrib/MODULE/[AP]??-*.patch macosx/HandBrake.plist -> macosx/Info.plist MODIFIED: libhb/decavcodec.c Patched to use cleaner include "libavcodec/audioconvert". Second part to support this cleanup is ffmpeg A02-audioconvert.patch . MODIFIED: libhb/hb.c MODIFIED: libhb/hb.h MODIFIED: libhb/muxmkv.c MODIFIED: libhb/muxmp4.c MODIFIED: libhb/update.c Patched to use "project.h" for project metadata. Renamed HB_BUILD -> HB_PROJECT_BUILD. Renamed HB_VERSION -> HB_PROJECT_VERSION. MODIFIED: test/test.c: Patched HandBrakeCLI to support I/O on Mac OS X ZFS filesystems. Reference r1803 as similar patch for HandBrake.app . Unpatched behavior is crash/buserror when using ZFS. MODIFIED: macosx/Growl.framework/ Upgraded 0.7.6 (i386,ppc) -> 1.1.2 (i386,x86_64,ppc,ppc64). New architectures facilitate x86_64 and ppc64 builds. MODIFIED: macosx/HandBrake.xcodeproj/ Bumped compatibilty mode from 2.4 -> 3.1 . Dumped old configurations Deployment, Developer. Added configurations standard, sebug as replacements. Added standard.i386, standard.x86_64, standard.ppc, standard.ppc64 . for explicit architecture build. All configurations settings cleaned up and normalized. Build output directories adjusted to support new build system. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2180 b64f7644-9d1e-0410-96f1-a4d463321fa5