#
a1d14e4d |
|
25-Feb-2021 |
Zoltán Mizsei <zmizsei@extrowerk.com> |
WavPack support Change-Id: Id731621f39defd8f065b5460a9a5fb8c5b868c98 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3752 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
805d7a77 |
|
24-Aug-2019 |
Zoltán Mizsei <zmizsei@extrowerk.com> |
Add various module formats to the ffmpeg plugin Change-Id: Ibc8cd6a21edc9f94f5c7cd51227868eb8bcbab01 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1736 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
66e077c6 |
|
22-Apr-2019 |
Zoltán Mizsei <zmizsei@extrowerk.com> |
Add MPTM to the MediaPlayer known mediatype list Change-Id: I44140272a6cc8515f5583680cd4d182064192ca8 Reviewed-on: https://review.haiku-os.org/c/1411 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
b480a593 |
|
30-Dec-2016 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
ffmpeg: declare support for AIFF files in the MuxerTable. There used to be endianness problems, but they have been fixed long ago. It is important for some legacy apps, that these are properly recognized as B_AIFF_FORMAT_TYPE.
|
#
e7f7c4b2 |
|
11-Nov-2015 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
ffmpeg: add some alternate MIME types to the known demuxers * These are the standard types used in HTML5 media, tell everyone that we can handle them. * A few more green items in html5test.com, no extra points since none of the formats are mandatory however.
|
#
0f7e19ce |
|
30-Aug-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
ffmpeg plugin: add support for MOD and other "tracked music" * ffmpeg can handle these through ModPlug * By default, ffmpoeg will not try these formats because the way to detect them are a bit unsafe (4 bytes at a particular offset in the file serve as an identifier). So, hint the sniffing by giving it a filename of ".mod" to get modplug to be used. This does not affect sniffing in the regular way for other formats. * Add some common tracked music formats to the muxer table. * Fix some tracing to use current (as of ffmpeg 0.10) function names and because some variables were renamed.
|
#
5e0e1689 |
|
23-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
ffmpeg plugin: improve encoding format negociation The ffmpeg encoders are restricted on which raw formats they accept (each with different constraints). When asked to encode something, the ffmpeg encoder now checks the codec capabilities and if the suggested input format does not match, modifies it to something the codec can actually handle. Enable "experimental" codecs, as this is needed for AAC support in ffmpeg 0.10. This allows format negociation to work properly, and as a result we can enable several new audio formats: AAC (for MPEG family only), AC3, and raw audio. Declare MKV as B_ANY_FORMAT_FAMILY since it is designed to be a generic container (so it is possible to put AAC in MKV). Also remove duplicate entries for AC3.
|
#
d946ade0 |
|
09-Apr-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
ffmpeg: declare support for webm and 3gpp. * Decoding works on the videos I tested with. * Some videos on Youtube use these formats.
|
#
626d341c |
|
28-Mar-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
ffmpeg media plugin: merge muxer and demuxer tables * The media_file_format struct has B_READABLE and B_WRITABLE flags, allowing us to tell which formats we support decoding and encoding * This allows application to query for the supported decoding formats. * Also adjust some of the MIME types to match what's actually used (eg. in HTML5 audio). This makes html5test.com detect which formats we declare we can decode.
|
#
eca9668a |
|
15-Oct-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enable DV format (muxer) and DV encoder. It works, but only for certain video sizes (720x576 for example) and with 48 kHz raw audio. Clockwerk actually uses a mechanism which worked on BeOS to check if an encoder would accept a certain media_format, but this does not yet work on Haiku and thus the format is available even when trying to render later will fail. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38978 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
|
#
ead61989 |
|
06-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enable Matroska container for testing purposes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34925 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6d15d130 |
|
07-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Disabled GPL H.264 ASM code * Enabled WAV muxer. * Updated configure line in config.h to be closer to what it could have been to produce the current config.h, but a lot of encoders and muxers are enabled manually at the moment, so this line wouldn't produce the config.h as is. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32188 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6780c24d |
|
05-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Encoder: * Fleshed out the Encoder API to support parameter setters/getters and returning a BView for configuration. (Not yet sure if this is a good idea.) BMediaTrack: * Implemented all but one of the unimplemented methods in BMediaTrack. It should be working as far as that class is concerned, unless I missed some of the vision. ReplaceFrames() remains a stub, added a comment on why it probably stays that way. * Release the Encoder reference in the destructor. FFmpeg plugin: * Refactoring to delay opening the AVCodec until encoding the first chunk, so that we can still adjust parameters. * Support adjusting parameters via [Set|Get]EncodeParameters(). Currently, only quality is supported, added TODOs about supporting the bit_rate setup versus the automatically calculated bit_rate. * Extended EncoderDescription by a bit_rate scale. The Encoder calculates the raw bitrate needed by the current media format, and then divides that number by the specific codec's bit_rate_scale, while taking into account the desired quality. This seems to work very well already (tested with MPEG4), although a lot more parameters could be specified for libavcodec, depending on the desired quality. * Enabled the ogg muxer in libavformat, although it is currently still disabled in MuxerTable.cpp, because it rejects unknown codecs. Added TODO to this effect. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32124 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
54897d5c |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Also pass the media_codec_info to the Writer::AllocateCookie(), since that info is not part of the media_format otherwise. * Finished enough in the AVFormatWriter and AVCodecEncoder that we can now actually create AVIs and MPGs and encode MPEG1, MPEG2 and MPEG4 video. But no audio as of yet. Also, there is no bit-rate/quality setup, so it seems libavformat is using the least possible bit-rate/quality. * Enable some more muxers and encoders in the FFmpeg libs. * Uses pixel format conversion from libswsscale, need to read the documentation again, but I think it makes the plugin GPL. * Fixed includes in libswscale/swscale.h, this is now an unmodified FFmpeg 0.5 header again (AFAICT). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4384acf6 |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Tweaked the Writer API. Basically, we need an Init() method that takes the media_file_format as input, so that the Writer knows what kind of file is needed. * Also, since information about the stream format is going to be needed at the Writer level as well, the AllocateCookie() method gets the stream media_format. * Fleshed out some aspects of AVFormatWriter, many TODOs are left. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32025 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
|
#
0f7e19ce7ec4dfe4d0a4e0b21eb22c4392637568 |
|
30-Aug-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
ffmpeg plugin: add support for MOD and other "tracked music" * ffmpeg can handle these through ModPlug * By default, ffmpoeg will not try these formats because the way to detect them are a bit unsafe (4 bytes at a particular offset in the file serve as an identifier). So, hint the sniffing by giving it a filename of ".mod" to get modplug to be used. This does not affect sniffing in the regular way for other formats. * Add some common tracked music formats to the muxer table. * Fix some tracing to use current (as of ffmpeg 0.10) function names and because some variables were renamed.
|
#
5e0e16894d67e220b4684809b154b85db4229381 |
|
23-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
ffmpeg plugin: improve encoding format negociation The ffmpeg encoders are restricted on which raw formats they accept (each with different constraints). When asked to encode something, the ffmpeg encoder now checks the codec capabilities and if the suggested input format does not match, modifies it to something the codec can actually handle. Enable "experimental" codecs, as this is needed for AAC support in ffmpeg 0.10. This allows format negociation to work properly, and as a result we can enable several new audio formats: AAC (for MPEG family only), AC3, and raw audio. Declare MKV as B_ANY_FORMAT_FAMILY since it is designed to be a generic container (so it is possible to put AAC in MKV). Also remove duplicate entries for AC3.
|
#
d946ade0255692fc6c014f2292d75ff34e1834fb |
|
09-Apr-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
ffmpeg: declare support for webm and 3gpp. * Decoding works on the videos I tested with. * Some videos on Youtube use these formats.
|
#
626d341c24c92e58a4143ec615e12d20b28e2091 |
|
28-Mar-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
ffmpeg media plugin: merge muxer and demuxer tables * The media_file_format struct has B_READABLE and B_WRITABLE flags, allowing us to tell which formats we support decoding and encoding * This allows application to query for the supported decoding formats. * Also adjust some of the MIME types to match what's actually used (eg. in HTML5 audio). This makes html5test.com detect which formats we declare we can decode.
|
#
eca9668a4a8697d5fe91d07caefa4c6b0310ab0d |
|
15-Oct-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enable DV format (muxer) and DV encoder. It works, but only for certain video sizes (720x576 for example) and with 48 kHz raw audio. Clockwerk actually uses a mechanism which worked on BeOS to check if an encoder would accept a certain media_format, but this does not yet work on Haiku and thus the format is available even when trying to render later will fail. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38978 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
|
#
ead61989722a675027cdcb10e9adce20a5a2e3d4 |
|
06-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enable Matroska container for testing purposes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34925 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6d15d130871499bdec85daaa69ee0c23f3cc91bb |
|
07-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Disabled GPL H.264 ASM code * Enabled WAV muxer. * Updated configure line in config.h to be closer to what it could have been to produce the current config.h, but a lot of encoders and muxers are enabled manually at the moment, so this line wouldn't produce the config.h as is. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32188 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6780c24d36ada936c1d3a1095d2ed9730ef1e0c7 |
|
05-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Encoder: * Fleshed out the Encoder API to support parameter setters/getters and returning a BView for configuration. (Not yet sure if this is a good idea.) BMediaTrack: * Implemented all but one of the unimplemented methods in BMediaTrack. It should be working as far as that class is concerned, unless I missed some of the vision. ReplaceFrames() remains a stub, added a comment on why it probably stays that way. * Release the Encoder reference in the destructor. FFmpeg plugin: * Refactoring to delay opening the AVCodec until encoding the first chunk, so that we can still adjust parameters. * Support adjusting parameters via [Set|Get]EncodeParameters(). Currently, only quality is supported, added TODOs about supporting the bit_rate setup versus the automatically calculated bit_rate. * Extended EncoderDescription by a bit_rate scale. The Encoder calculates the raw bitrate needed by the current media format, and then divides that number by the specific codec's bit_rate_scale, while taking into account the desired quality. This seems to work very well already (tested with MPEG4), although a lot more parameters could be specified for libavcodec, depending on the desired quality. * Enabled the ogg muxer in libavformat, although it is currently still disabled in MuxerTable.cpp, because it rejects unknown codecs. Added TODO to this effect. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32124 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
54897d5c06df0e0384e0b59b23a1d926762cc078 |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Also pass the media_codec_info to the Writer::AllocateCookie(), since that info is not part of the media_format otherwise. * Finished enough in the AVFormatWriter and AVCodecEncoder that we can now actually create AVIs and MPGs and encode MPEG1, MPEG2 and MPEG4 video. But no audio as of yet. Also, there is no bit-rate/quality setup, so it seems libavformat is using the least possible bit-rate/quality. * Enable some more muxers and encoders in the FFmpeg libs. * Uses pixel format conversion from libswsscale, need to read the documentation again, but I think it makes the plugin GPL. * Fixed includes in libswscale/swscale.h, this is now an unmodified FFmpeg 0.5 header again (AFAICT). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4384acf6c1a8ab4d4a944354d95ecfcc23e30fc2 |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Tweaked the Writer API. Basically, we need an Init() method that takes the media_file_format as input, so that the Writer knows what kind of file is needed. * Also, since information about the stream format is going to be needed at the Writer level as well, the AllocateCookie() method gets the stream media_format. * Fleshed out some aspects of AVFormatWriter, many TODOs are left. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32025 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
|