#
218a8c03 |
|
17-May-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
Revert the Codec Kit. All of Barrett's individual reverts have been squashed into this one commit, save a few actual bugfixes. Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0
|
#
1e60bdea |
|
30-Mar-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible.
|
#
de42fb60 |
|
24-Oct-2018 |
Barrett17 <b.vitruvio@gmail.com> |
Welcome Codec Kit! * Fix MediaDebug header. * Add codec lib name mapping.
|
#
ac52fcf7 |
|
23-Oct-2018 |
Barrett17 <b.vitruvio@gmail.com> |
ffmpeg: Use the codec_kit
|
#
1fb7ddbb |
|
23-Sep-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
add-ons/media/ffmpeg: Use SWS for color-space conversion universally. It seems to be as if not faster than the built-in method now as far as I can tell, and this means one less arch-specific difference. I haven't ripped all of it out yet, though.
|
#
19ec8972 |
|
23-Sep-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
add-ons/media/ffmpeg: Enable deprecation warnings. There sure are a lot of them...
|
#
d1c51097 |
|
02-Jul-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Upgrade FFmpeg to 4.0.1 across the board (including GCC2.) This was accomplished by adding some pretty nasty hacks to the FFmpeg recipe so that we can compile it for the GCC2 ABI using GCC7. This works because GCC's C ABI has not changed between GCC2 and GCC7. As a consequence of this, pretty much all the longstanding issues of the ancient-and-still-miscompiled FFmpeg 0.10 are now completely gone. Fixes #5080, #8461, #12696, #12436, #13981 #13410, #13337. Closes (possibly fixed earlier) #8605, #8511, #6984. Probably fixes (couldn't test) #13989, #11974.
|
#
ab75d3b5 |
|
24-Dec-2017 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Do not advertise libavdevice in ffmpeg build feature. It is not actually used by our ffmpeg plugin.
|
#
f7d2fd0b |
|
16-Jan-2017 |
Dario Casalinuovo <b.vitruvio@gmail.com> |
MediaPlugins: Make some plugins to use experimental headers.
|
#
9dd9b454 |
|
19-Dec-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
Use swresample to rematrix audio channels, try 2 This code is closer to what we used before for gcc2, and should not crash there anymore. I could not get exactly the same code to work, but reduced the difference to a single statement (which makes gcc2 work and breaks gcc4). This is protected under a guard with appropriate ffmpeg version test. This code works for both gcc2 and gcc4 (tested with mp3 and aac files as well as youtube videos). It still gets the timestamps wrong with ffmpeg 2.4, but I'll try to solve that another time.
|
#
8a822b7c |
|
17-Dec-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Revert "AVCodecDecoder: use swresample to interleave audio channels." Commit 856cc59e58bb83de4a69daa680748ba9b52592d8 didn't really "fix" anything; it just broke audio pretty much everywhere but YouTube, and there videos play at 2x speed so it wasn't really worth it. Stopgap solution for #12509.
|
#
856cc59e |
|
18-Nov-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
AVCodecDecoder: use swresample to interleave audio channels. Some codecs will always output audio in planar mode no matter what we request. This is the case for example with AAC used for youtube. We now use swresample to convert from planar to packed format. Note that since swresample does its own buffering, we could probably do away with some of the code that handled buffering before, making the audio pipeline simpler and faster. Fixes audio in youtube, but now the video plays at 2x speed. It seems something is wrong with the timestamps. Possible things to investigate: * why do we use the packet dts instead of the pts from the frames anyway? * the pts and pkt_dts are in "stream time_base units". We seem to assume microseconds for audio but this is probably not the case. Or did I miss where the conversion is done?
|
#
220d0402 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
d71e18fe |
|
31-Mar-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Build media plugins for the secondary arch. These are used when an app uses BMediaFile/BMediaTrack, which leads to the plug-ins being instanciated on the application side. * Fixes one more part of #10049 (media add-ons are still missing). * Will probably not solve any real-world issue because of #4893.
|
#
9e46d51c |
|
05-Dec-2013 |
Jerome Duval <jerome.duval@gmail.com> |
ffmpeg plugin only needs to link against ffmpeg libs. * clean the ffmpeg build feature.
|
#
1a37a812 |
|
04-Dec-2013 |
Jerome Duval <jerome.duval@gmail.com> |
ffmpeg: fix x86_64 build, remove libbz2 * AVCodecDecoder: for x86_64, use libswscale, asm is only for x86. * CpuCapabilities: init capabilities to zero, fixes style. * gfx_util.cpp: protect x86 specific code, fallback to C. * x86_64: don't include unneeded x86 stuff. * all arch: libbz2 is a build feature.
|
#
14d5e307 |
|
13-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Update ffmpeg package and its requirements Also make use of new build feature rules.
|
#
7c6bff17 |
|
05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Complete outsourcing of zlib * Add optional packages Zlib and Zlib-devel. * Simplify the build feature section for zlib and also extract the source package. * Replace all remaining references to the zlib instance in the tree and remove it.
|
#
a6a99fce |
|
30-Oct-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
zlib: added an optional build package, integrated to the build * optional package for zlib 1.2.7 * keep zlib in build for the bootloader tarfs
|
#
538a2ec2 |
|
13-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
ffmpeg: added dependency on libvpx. * added libvpx-1.0.0 optional package. * updated ffmpeg optional package to depend on libvpx.
|
#
991c18ad |
|
12-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
ffmpeg: added libs packages as dependencies. * updated ffmpeg to enable previously enabled decoders/encoders based on libogg, libspeex, libtheora, libvorbis. * removed sources for these libs.
|
#
dc18d9e7 |
|
09-Mar-2012 |
Jerome Duval <jerome.duval@gmail.com> |
ffmpeg: fixed headers dependency on libavcodec for gfx_*.cpp.
|
#
e40d995c |
|
06-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
FFMpeg plugin: now build against the optional package for 0.10 * added optional feature package for ffmpeg 0.10 gcc4 and gcc2 * increased probe buffer size to 8K for now. * built the optional packages the default way, it might need adjustments like dependencies on speex, ogg, theora, vorbis, which I left out for now.
|
#
51d9b4fe |
|
21-Dec-2010 |
David McPaul <dlmcpaul@gmail.com> |
correct yuv422 planar conversion. Seperate sse, sse2 and ssse3 asm code. Add packed convertor git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39913 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf85a555 |
|
20-Nov-2010 |
Jérôme Duval <korli@users.berlios.de> |
* added some missing bits and removed obsolete files in ffmpeg-0.6 * replaced .. with $(DOTDOT) in Jamfiles * added __STDC_CONSTANT_MACROS define for C++ files (required for UINT64_C) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39537 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b145959b |
|
20-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Use the same GCC flags for GCC4 that configure in the FFmpeg source itself generates. * For GCC2, FFmpeg uses -fPIC instead of -DPIC. Also disable SSE for GCC2, since that fixes a crash in the SSE version of clear_block(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38747 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6936b3ba |
|
16-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Added support for bz2 compressed stuff in Matroska containers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38674 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5021eb24 |
|
13-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Removed the "native" ogg, vorbis, theora and speex plugins in favor of support for these codecs and demuxer in the FFmpeg plugin. The ogg test streams I downloaded play fine now. For example, Big Buck Bunny would play without video before and ogg files natively encoded with the FFmpeg plugin wouldn't play at all. Since the removed plugins were not maintained and were based on external libs themselves, I didn't see the point in keeping them. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
73e5249c |
|
13-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Enabled libvorbis and libtheora encoders in FFmpeg * Enabled ogg muxer in MuxerTable. ogg/vorbis creation successfully tested with MediaConverter. ogg/theora needs more testing, it seems to work, but I need to switch from the other vorbis/theora/ogg plugins to the FFmpeg built-in support, otherwise the current theora stream is not supported by the old plugin. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38641 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e7287f4 |
|
07-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enable run-time CPU detection. I didn't yet test this on an older CPU. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38562 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8887a47d |
|
06-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Upgraded FFmpeg to the release version 0.6 (only some minor compile fixes to the code with regards to using the wrong #include scope in one file and disabling two apparently unmaintained asserts when compiling in DEBUG mode). I didn't yet test the GCC 2 build, but I need to get this into SVN since I am having some annoying file corruption troubles. In fact I am hoping I am not commiting broken files, but a few seconds ago everything was still building cleanly. One thing that definitely improved is the (disabled at the moment) AVI support. Every clip I tested so far plays, which can't be said about our native AVI reader. With the previous FFmpeg version (a random SVN revision is my guess), many old AVIs played completely broken. So far, I have not spotted any regressions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38548 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0b58d844 |
|
20-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to be run again or generated/build/BuildConfig needs to be adjusted manually. * Removed bochs debug hack. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6bfbea62 |
|
19-Sep-2009 |
David McPaul <dlmcpaul@gmail.com> |
Added SSE2 yuv to rgb conversion code. This code needs to move into the media kit though git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33200 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38d967a3 |
|
07-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Include GPL code in the FFmpeg plugin during compilation, if the Haiku build system has been configured to include GPL add-ons. This cannot be switched on the fly without rebuilding all of the FFmpeg plugin, since the change in the Jamfile defines will not automatically trigger a rebuild. So if you change your configuration with regards to --include-gpl-addons, you have to touch config.h (this commit touches it anyway). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0876f8d0 |
|
30-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Stubbed out implementation of an Encoder and EncoderPlugin. This will probably need to work differently, such that supported media_formats come into play, I will know soon when I implement some of the stuff from MediaFormats.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31994 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ac391b3 |
|
29-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Stubbed out Writer and WriterPlugin implementation. So far, Clockwerk shows "AVI (Audio Video Interleave)" in the available output formats popup... :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31956 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c3fe04b |
|
10-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* More cleanup and removal of code duplication in the Jamfiles. Moved the HAIKU_FFMPEG_DEFINES and friends to the toplevel ffmpeg Jamfile. * Define the X86 CPU acceleration features in global Jamfile variables, so that we can build specific source files depending on those defines later (used for libavcodec_x86.a). * In config.h, a whole bunch of parsers were defined off, which was the actual reason why plain old .MPG files and also my .MTS streams with H.264 video gave only scrambled video. * Removed some files from the build by comparing which files are build by a pristine FFmpeg libavcodec Makefile. Attention: The following changes may break the GCC2 build: * Remove Haiku specific changes from - libavcodec/x86/cavsdsp_mmx.c - libavcodec/x86/dsputil_mmx.c - libavcodec/x86/h264dsp_mmx.c I will test this next after switching my GCC. If you are impatiant, the following changes were previously done to the pristine FFmpeg 0.5 files: libavcodec/x86/cavsdsp_mmx.c: * commented out line 426 to 429 libavcodec/x86/h264dsp_mmx.c * h264_loop_filter_strength_mmx2() was commented out. libavcodec/x86/dsputil_mmx.c * gmc_mmx() was commented out. * commented out line 2665 (assigning c->gmc) * commented out line 2786 (assigning c->h264_loop_filter_strength) However, I would now make similar changes by checking the GCC version. Also, the libavcodec/x86/dsputil_mmx.c:2786 was still assigning the dummy h264_loop_filter_strength_mmx2() version. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31506 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
16d5c24e |
|
07-Jul-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
* merged 32bit-wchar_t branches of buildtools and haiku back into the respective trunk git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7965dde0 |
|
06-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Get the AVFormatReader into a usable state. DemuxerTable.cpp controls which container formats we support. I hope I have turned on only those that don't have an implementation already (did we support ASF already?). I mostly tested with AVI and that works reasonably well, but I only tested raw audio so far. However, the backend for Marcus' avi_reader is much nicer than FFmpeg, so I think it should stay and have disabled the support for AVI in AVFormatReader. A big disappointment is that MPG containers only give scrambled video. It may be a problem of the AVCodecDecoder, but I am not so sure. After all, it works fine for other container formats. If I am not mistaken, VLC also does not use the mpeg demuxer from FFmpeg. :-\ On top of that, libavformat detects the time_base and stream duration wrongly for one of my test MPGs. As for the implementation: Although seeking in libavformat happens for an individual stream, in reality, the packets for all other streams need to be flushed (that's also what happens in the libavformat tutorials I've seen). Since our MediaKit API allows to seek tracks indivually, this is of course a no-go, since then all other tracks would be out of sync. My solution is to simply open the demuxer once for each stream and then completely ignore the packets of the respective other streams. This also works around the problem that libavformat is unable to provide packets by stream, requiring the API user to queue the packets that he needs not now, but later for other streams. It also means we have to no memory copies, since we can directly use the packet buffer until the next call to GetNextChunk(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31421 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27f6fb6c |
|
01-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Renamed avcodec folder to ffmpeg. * Cleaned up plugins Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
220d04022750f40f8bac8f01fa551211e28d04f2 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
d71e18fef493548d46c5ae6213daa023b691ff98 |
|
31-Mar-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Build media plugins for the secondary arch. These are used when an app uses BMediaFile/BMediaTrack, which leads to the plug-ins being instanciated on the application side. * Fixes one more part of #10049 (media add-ons are still missing). * Will probably not solve any real-world issue because of #4893.
|
#
9e46d51cc2623e2ad8e145f9d2cb2ab16d2f7205 |
|
05-Dec-2013 |
Jerome Duval <jerome.duval@gmail.com> |
ffmpeg plugin only needs to link against ffmpeg libs. * clean the ffmpeg build feature.
|
#
1a37a812a4ba34aa61b1965209a5682941ac11ef |
|
04-Dec-2013 |
Jerome Duval <jerome.duval@gmail.com> |
ffmpeg: fix x86_64 build, remove libbz2 * AVCodecDecoder: for x86_64, use libswscale, asm is only for x86. * CpuCapabilities: init capabilities to zero, fixes style. * gfx_util.cpp: protect x86 specific code, fallback to C. * x86_64: don't include unneeded x86 stuff. * all arch: libbz2 is a build feature.
|
#
14d5e307b44211346880ca8255162dbd5dd773ff |
|
13-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Update ffmpeg package and its requirements Also make use of new build feature rules.
|
#
7c6bff17340e2f6697a22f1ce56c18fa009d4d2e |
|
05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Complete outsourcing of zlib * Add optional packages Zlib and Zlib-devel. * Simplify the build feature section for zlib and also extract the source package. * Replace all remaining references to the zlib instance in the tree and remove it.
|
#
a6a99fce04641549d5d765199533d8651e890b74 |
|
30-Oct-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
zlib: added an optional build package, integrated to the build * optional package for zlib 1.2.7 * keep zlib in build for the bootloader tarfs
|
#
538a2ec29caae7d5a0b33548b4bdc6b03929a33e |
|
13-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
ffmpeg: added dependency on libvpx. * added libvpx-1.0.0 optional package. * updated ffmpeg optional package to depend on libvpx.
|
#
991c18ad368246db55f8327bb8fc82c6537da70c |
|
12-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
ffmpeg: added libs packages as dependencies. * updated ffmpeg to enable previously enabled decoders/encoders based on libogg, libspeex, libtheora, libvorbis. * removed sources for these libs.
|
#
dc18d9e793e92f9c842af4c12e18daa3c9a4d3bf |
|
09-Mar-2012 |
Jerome Duval <jerome.duval@gmail.com> |
ffmpeg: fixed headers dependency on libavcodec for gfx_*.cpp.
|
#
e40d995cf452857204748974431023cf2e78cec2 |
|
06-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
FFMpeg plugin: now build against the optional package for 0.10 * added optional feature package for ffmpeg 0.10 gcc4 and gcc2 * increased probe buffer size to 8K for now. * built the optional packages the default way, it might need adjustments like dependencies on speex, ogg, theora, vorbis, which I left out for now.
|
#
51d9b4fe14bec902662f90f9ff7dca5df5622527 |
|
21-Dec-2010 |
David McPaul <dlmcpaul@gmail.com> |
correct yuv422 planar conversion. Seperate sse, sse2 and ssse3 asm code. Add packed convertor git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39913 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf85a555b04bc601508ca5c3ded7cf04466a82e6 |
|
20-Nov-2010 |
Jérôme Duval <korli@users.berlios.de> |
* added some missing bits and removed obsolete files in ffmpeg-0.6 * replaced .. with $(DOTDOT) in Jamfiles * added __STDC_CONSTANT_MACROS define for C++ files (required for UINT64_C) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39537 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b145959bddcc9b9ab7cd8acb380531a6f98f3a69 |
|
20-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Use the same GCC flags for GCC4 that configure in the FFmpeg source itself generates. * For GCC2, FFmpeg uses -fPIC instead of -DPIC. Also disable SSE for GCC2, since that fixes a crash in the SSE version of clear_block(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38747 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6936b3ba4ff61a2b5eab6844a4e1ee537fd026c2 |
|
16-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Added support for bz2 compressed stuff in Matroska containers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38674 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5021eb2421d20af3419b37cd9f647e01d40a223f |
|
13-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Removed the "native" ogg, vorbis, theora and speex plugins in favor of support for these codecs and demuxer in the FFmpeg plugin. The ogg test streams I downloaded play fine now. For example, Big Buck Bunny would play without video before and ogg files natively encoded with the FFmpeg plugin wouldn't play at all. Since the removed plugins were not maintained and were based on external libs themselves, I didn't see the point in keeping them. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
73e5249c797223236908f855d3710709d7fd85fb |
|
13-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Enabled libvorbis and libtheora encoders in FFmpeg * Enabled ogg muxer in MuxerTable. ogg/vorbis creation successfully tested with MediaConverter. ogg/theora needs more testing, it seems to work, but I need to switch from the other vorbis/theora/ogg plugins to the FFmpeg built-in support, otherwise the current theora stream is not supported by the old plugin. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38641 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e7287f481ae0b8f8ed442171032ce2785bfb2ce |
|
07-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enable run-time CPU detection. I didn't yet test this on an older CPU. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38562 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8887a47dedf51e9b262fea43bd86ab442daad99e |
|
06-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Upgraded FFmpeg to the release version 0.6 (only some minor compile fixes to the code with regards to using the wrong #include scope in one file and disabling two apparently unmaintained asserts when compiling in DEBUG mode). I didn't yet test the GCC 2 build, but I need to get this into SVN since I am having some annoying file corruption troubles. In fact I am hoping I am not commiting broken files, but a few seconds ago everything was still building cleanly. One thing that definitely improved is the (disabled at the moment) AVI support. Every clip I tested so far plays, which can't be said about our native AVI reader. With the previous FFmpeg version (a random SVN revision is my guess), many old AVIs played completely broken. So far, I have not spotted any regressions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38548 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0b58d8440cdd5ffb87ff7ec5e8938818a68ec261 |
|
20-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to be run again or generated/build/BuildConfig needs to be adjusted manually. * Removed bochs debug hack. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6bfbea62cd2e70f2ce97101d038c803ea8027393 |
|
19-Sep-2009 |
David McPaul <dlmcpaul@gmail.com> |
Added SSE2 yuv to rgb conversion code. This code needs to move into the media kit though git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33200 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38d967a3eabfae50a83cfd503ee9cf6dafb220eb |
|
07-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Include GPL code in the FFmpeg plugin during compilation, if the Haiku build system has been configured to include GPL add-ons. This cannot be switched on the fly without rebuilding all of the FFmpeg plugin, since the change in the Jamfile defines will not automatically trigger a rebuild. So if you change your configuration with regards to --include-gpl-addons, you have to touch config.h (this commit touches it anyway). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0876f8d08e7d0011c4f130bf121ba0de9e94b6e9 |
|
30-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Stubbed out implementation of an Encoder and EncoderPlugin. This will probably need to work differently, such that supported media_formats come into play, I will know soon when I implement some of the stuff from MediaFormats.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31994 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ac391b3eaaeb2cd188ad7e47b3b9f74299857cc |
|
29-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Stubbed out Writer and WriterPlugin implementation. So far, Clockwerk shows "AVI (Audio Video Interleave)" in the available output formats popup... :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31956 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c3fe04bd390f55ec285135cbab66f01ecc6f766 |
|
10-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* More cleanup and removal of code duplication in the Jamfiles. Moved the HAIKU_FFMPEG_DEFINES and friends to the toplevel ffmpeg Jamfile. * Define the X86 CPU acceleration features in global Jamfile variables, so that we can build specific source files depending on those defines later (used for libavcodec_x86.a). * In config.h, a whole bunch of parsers were defined off, which was the actual reason why plain old .MPG files and also my .MTS streams with H.264 video gave only scrambled video. * Removed some files from the build by comparing which files are build by a pristine FFmpeg libavcodec Makefile. Attention: The following changes may break the GCC2 build: * Remove Haiku specific changes from - libavcodec/x86/cavsdsp_mmx.c - libavcodec/x86/dsputil_mmx.c - libavcodec/x86/h264dsp_mmx.c I will test this next after switching my GCC. If you are impatiant, the following changes were previously done to the pristine FFmpeg 0.5 files: libavcodec/x86/cavsdsp_mmx.c: * commented out line 426 to 429 libavcodec/x86/h264dsp_mmx.c * h264_loop_filter_strength_mmx2() was commented out. libavcodec/x86/dsputil_mmx.c * gmc_mmx() was commented out. * commented out line 2665 (assigning c->gmc) * commented out line 2786 (assigning c->h264_loop_filter_strength) However, I would now make similar changes by checking the GCC version. Also, the libavcodec/x86/dsputil_mmx.c:2786 was still assigning the dummy h264_loop_filter_strength_mmx2() version. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31506 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e |
|
07-Jul-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
* merged 32bit-wchar_t branches of buildtools and haiku back into the respective trunk git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7965dde0ca126d8cc33f3800ccaa993afdc7c447 |
|
06-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Get the AVFormatReader into a usable state. DemuxerTable.cpp controls which container formats we support. I hope I have turned on only those that don't have an implementation already (did we support ASF already?). I mostly tested with AVI and that works reasonably well, but I only tested raw audio so far. However, the backend for Marcus' avi_reader is much nicer than FFmpeg, so I think it should stay and have disabled the support for AVI in AVFormatReader. A big disappointment is that MPG containers only give scrambled video. It may be a problem of the AVCodecDecoder, but I am not so sure. After all, it works fine for other container formats. If I am not mistaken, VLC also does not use the mpeg demuxer from FFmpeg. :-\ On top of that, libavformat detects the time_base and stream duration wrongly for one of my test MPGs. As for the implementation: Although seeking in libavformat happens for an individual stream, in reality, the packets for all other streams need to be flushed (that's also what happens in the libavformat tutorials I've seen). Since our MediaKit API allows to seek tracks indivually, this is of course a no-go, since then all other tracks would be out of sync. My solution is to simply open the demuxer once for each stream and then completely ignore the packets of the respective other streams. This also works around the problem that libavformat is unable to provide packets by stream, requiring the API user to queue the packets that he needs not now, but later for other streams. It also means we have to no memory copies, since we can directly use the packet buffer until the next call to GetNextChunk(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31421 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27f6fb6ce7c1050d845a500e26018ff97c5d573e |
|
01-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Renamed avcodec folder to ffmpeg. * Cleaned up plugins Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|