#
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
|
#
d33bd9ec |
|
26-Nov-2018 |
Barrett17 <b.vitruvio@gmail.com> |
Codec Kit: Introduce BCodecKit namespace
|
#
cd564566 |
|
24-Nov-2018 |
Barrett17 <b.vitruvio@gmail.com> |
ffmpeg: Update class names
|
#
082e4ae4 |
|
25-Nov-2018 |
Barrett17 <b.vitruvio@gmail.com> |
Codec Kit: Rename files
|
#
854c698a |
|
21-Nov-2018 |
Barrett17 <b.vitruvio@gmail.com> |
ffmpeg: Move AVCodecWriter to BMetaData
|
#
ee9d0e02 |
|
04-Aug-2018 |
Barrett17 <b.vitruvio@gmail.com> |
AVFormatWriter: Rename fContext to fFormatContext * Seriously, this naming is bad.
|
#
6266cf35 |
|
07-Apr-2016 |
Dario Casalinuovo <b.vitruvio@gmail.com> |
AVFormatWriter: Fix bad error checking * Review by Markus Overhagen, Thanks! * Renamed fHeaderWritten variable to fCodecOpened too
|
#
cbada661 |
|
05-Apr-2016 |
Dario Casalinuovo <b.vitruvio@gmail.com> |
AVFormatWriter: Safeness after avformat_write_header fails * The ffmpeg documentation explicit forbid to write the trailer when the header write failed. * Fixes #12678.
|
#
b95fa248 |
|
11-Apr-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
ffmpeg: don't use deprecated API in AVCodecDecoder.
|
#
69372b55 |
|
20-Oct-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Change the signature of the Writer plugins setup methods such that they can modify the media_format passed in. For example they can store information in the user_data section. I don't actually use this anymore, but it may come in handy again. AVFormatWriter: * Adjust the AVCodecContext flags not only for video, but also for audio streams (as the API example does). This mechanism may not yet work, since the AVCodecEncoder actually uses a different AVCodecContext instance. * Use the encodeInfo->flags and specify the key frame flag for the AVPacket. This finally makes videos encoded on Haiku seekable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39035 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96590b5b |
|
29-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Do no manually allocate the buffer for the ByteIOContext. libavformat may reallocate it on demand, we need to use the matching allocation methods. * Init the ByteIOContext with the proper "write flag". This solves a busy loop when writing the trailer of MKV files, since the first buffer was initially skipped and the MKV muxer can not seek back in the stream where it wants. * Get rid of the fCalculatePTS member, and calculate PTS of audio packets as well. I don't remember why I prevented that, however VLC complains about audio packets having wrong PTS (with or without this change) Our own MediaPlayer plays videos generated by (a modified) Clockwerk at least once, but seeking subsequently fails. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38851 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
|
#
7a97958b |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
This should fix the GCC 4 build. The avformat code expects a non-const buffer for the write() hook. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32037 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
|
#
2e9d65ab |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Implemented static Write and Seek hooks to be passed to libavformat... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32018 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa770e4c |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Writer::WriteChunk() takes media_encode_info* instead of flags. * Improved Encoder API towards what we need for the get_next_encoder() variants and the BMediaTrack API. * Implemented the rest of MediaWriter. Still undecided what to make of AddTrackInfo(). BMediaEncoder has that as well, which hints that this is something the Encoder needs to support. But it could also be that this is only possible to support in Writer. * Wired a lot of previously unimplemented methods in BMediaFile and BMediaTrack needed for write support. If I have not overlooked anything, only the parameter stuff is still unimplemented now. This is all untested, since the FFMpeg Encoder and Writer are still only stubs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32013 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c98ea335 |
|
30-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Let's call it WriteChunk() instead of WriteNextChunk() and make the signature consistent everywhere (according to BMediaTracker::WriteChunk()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31987 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
|
#
b95fa2488ad09133ca040fde61914b132680a079 |
|
11-Apr-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
ffmpeg: don't use deprecated API in AVCodecDecoder.
|
#
69372b55450310f3f82caebdd5b9f87a4f4edad9 |
|
20-Oct-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Change the signature of the Writer plugins setup methods such that they can modify the media_format passed in. For example they can store information in the user_data section. I don't actually use this anymore, but it may come in handy again. AVFormatWriter: * Adjust the AVCodecContext flags not only for video, but also for audio streams (as the API example does). This mechanism may not yet work, since the AVCodecEncoder actually uses a different AVCodecContext instance. * Use the encodeInfo->flags and specify the key frame flag for the AVPacket. This finally makes videos encoded on Haiku seekable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39035 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96590b5bf77bcd3bbda4890e7f471c1e8751a95d |
|
29-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Do no manually allocate the buffer for the ByteIOContext. libavformat may reallocate it on demand, we need to use the matching allocation methods. * Init the ByteIOContext with the proper "write flag". This solves a busy loop when writing the trailer of MKV files, since the first buffer was initially skipped and the MKV muxer can not seek back in the stream where it wants. * Get rid of the fCalculatePTS member, and calculate PTS of audio packets as well. I don't remember why I prevented that, however VLC complains about audio packets having wrong PTS (with or without this change) Our own MediaPlayer plays videos generated by (a modified) Clockwerk at least once, but seeking subsequently fails. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38851 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
|
#
7a97958b0b29312dc186ed286e0c945931d8d760 |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
This should fix the GCC 4 build. The avformat code expects a non-const buffer for the write() hook. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32037 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
|
#
2e9d65abf52fdbb521310d1bbf3f5e0a4d0b9af5 |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Implemented static Write and Seek hooks to be passed to libavformat... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32018 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa770e4c84d6b6e9721a6072041aba4468e79b98 |
|
31-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Writer::WriteChunk() takes media_encode_info* instead of flags. * Improved Encoder API towards what we need for the get_next_encoder() variants and the BMediaTrack API. * Implemented the rest of MediaWriter. Still undecided what to make of AddTrackInfo(). BMediaEncoder has that as well, which hints that this is something the Encoder needs to support. But it could also be that this is only possible to support in Writer. * Wired a lot of previously unimplemented methods in BMediaFile and BMediaTrack needed for write support. If I have not overlooked anything, only the parameter stuff is still unimplemented now. This is all untested, since the FFMpeg Encoder and Writer are still only stubs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32013 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c98ea335966fbd0b3c886ead859de6c8bd35cfdd |
|
30-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Let's call it WriteChunk() instead of WriteNextChunk() and make the signature consistent everywhere (according to BMediaTracker::WriteChunk()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31987 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
|