Thomas Goyne
4fc2b90399
Add support for externally controlled frame data to AegiVideoFrame, and take advantage of this in the FFMS2 video provider to eliminate a copy of the frame data. Net speedup for seeking from beginning to end of several test files is 10-20%.
...
Originally committed to SVN as r3729.
2009-10-24 02:07:56 +00:00
Karl Blomster
9d80eb066f
Updating ffms2 to r221 (2.12), step 3/3: Aegisub interface
...
Originally committed to SVN as r3576.
2009-09-26 21:58:00 +00:00
Amar Takhar
d348b4e33e
Fix all the headers in *.cpp, this includes:
...
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
* Sorting alphabetically.
Originally committed to SVN as r3515.
2009-09-10 13:06:40 +00:00
Amar Takhar
7a8c5229fd
* Remove wxprec.h from all files other than agi_pre.h. Including this in various headers is useless as it includes wx.h which includes dozens of 'common' wx headers. With this we're unable to tell which files rely on which interfaces. This commit removes them and manually places in required headers as-needed.
...
* Update agi_pre.h to include some missing headers, also move required windowsheaders to the top of the list
* Use <> versus "" for the wx header in avisynth_wrap.cpp
* Remove xx/wx.h from agi_pre.h as it's included by wxprec.h.
Originally committed to SVN as r3513.
2009-09-10 10:26:50 +00:00
Amar Takhar
77e2eaef04
Comment two unused variables to silence warnings.
...
Originally committed to SVN as r3452.
2009-09-02 08:04:45 +00:00
Karl Blomster
65fb2e7efa
Remove a pointless attempt to reindex a file in the ffms2 video provider. It didn't help anything, in fact it just caused crashes since the source object was free'd after the first attempt. Fixes #976 .
...
Originally committed to SVN as r3377.
2009-08-07 20:16:13 +00:00
Amar Takhar
6ee2f98349
Note: This was done using a script! it's far from perfect but 95% of the work has been done already formatting-wise.
...
Document all functions, class, struct, union, enum, macro, variable, typedefs. This isn't the actual document in itself but empty documentation using any old documentation if it was there.
This was done using exuberant ctags to get tag info, then a TCL script to parse/remove old comments and convert them into Doxygen-style.
Some notes:
* Anything labeled 'DOCME' needs to be documented, @param and @return have been left blank as it would be annoying to delete the 'DOCME' from every one of those.
* Some multiline comments may have been munged into single line comments
* Leave the /// comments above global variables with a space, if they're harder to read then we'll be less likey to use them.
* Enum comments can go after the enumeration itself '[value] /// comment'
* include/aegisub/*.h haven't been converted yet, this will be done in a later commit
* Some documentation blocks are in the wrong place, in the .h when it should be in the .cpp, or vice versa.
See http://devel.aegisub.org/wiki/Doxygen for some details on Doxygen and a 'style guide'.
Originally committed to SVN as r3312.
2009-07-29 22:59:22 +00:00
Amar Takhar
12aa34088a
Switch all headers to using Doxygen and cleanup contact info
...
* Swap old email + website address with 'Aegisub Project http://www.aegisub.org/ '
* Set categories for all files (jfs)
* Add descriptions for each file (jfs)
* Add $Id$ keyword
Originally committed to SVN as r3310.
2009-07-29 05:43:02 +00:00
Karl Blomster
f066903d98
FFMS2 a/v providers should use UTF8 strings for the cache filenames, just like for every other file. Updates #955 but does not fix it since you still get bizarre popups that I have no idea where they're coming from if the write/touch operations fail.
...
This change should be merged into 2.1.8.
Originally committed to SVN as r3294.
2009-07-26 23:10:12 +00:00
Karl Blomster
f59dcf19f6
Add option to set FFMS2 logging level (i.e. how much spam FFmpeg prints to STDERR).
...
Option is called "ffmpegsource log level" and possible values are (in order of increasing spam) quiet, panic, fatal, error, warning, info, verbose, debug. The default is quiet, and I strongly recommend avoiding anything above warning.
Originally committed to SVN as r3248.
2009-07-24 01:41:16 +00:00
Karl Blomster
ab1993467a
Remove a bunch of no longer needed (since we removed Aegisub::string) string conversions via c_str()/wc_str(), and replace mb_str(wxConvUTF8) with utf8_str() where appropriate.
...
Originally committed to SVN as r3224.
2009-07-23 19:57:57 +00:00
Amar Takhar
a0370f9004
Remove Aegisub::String class as it's causing problems in wx2.9. The original plan was to have it so external modules wouldn't have to depend on wx. We'll think of a different solution when the time comes. closes #940
...
Originally committed to SVN as r3220.
2009-07-23 15:16:53 +00:00
Amar Takhar
c170f7f096
c_str() -> wc_str() in preperation for wx2.9, these changes are required for Unix, should be harmless on Windows.
...
Originally committed to SVN as r3214.
2009-07-23 05:32:13 +00:00
Karl Blomster
d1762c5270
The Great Colorspace Reworking of '09, part 2 of ???: change all video providers to always output RGB32, and remove the formatMask parameter of GetFrame(). This may break the dshow video provider but I have no way of testing it and AFAIK nobody else does either. If someone actually uses it, they can fix it themselves. Updates #926 .
...
Originally committed to SVN as r3185.
2009-07-20 03:50:25 +00:00
Karl Blomster
9ff3762eaf
Removed the extremely deprecated fps parameter of the video provider constructors, since it hasn't been used by anything for years and was of questionable utility when it actually was used in the Elder Days.
...
Originally committed to SVN as r3178.
2009-07-20 00:39:38 +00:00
Karl Blomster
58539b885d
Replace FFMSTrackMask[All|None] with #defines instead. (Was causing linking problems with some compilers for some reason).
...
Originally committed to SVN as r3155.
2009-07-16 21:40:17 +00:00
Karl Blomster
62b036ac35
Fix accidental inclusion of test code in last commit.
...
Originally committed to SVN as r3153.
2009-07-16 19:25:43 +00:00
Karl Blomster
8087622edd
Fix an ancient bug in the ffms2 video provider that caused access violations when trying to output YV12 images. Nobody discovered this before because nobody tried to use YV12.
...
Originally committed to SVN as r3152.
2009-07-16 19:20:14 +00:00
Karl Blomster
c33ed91b12
Implement support for multiple tracks in the FFMS2 audio and video providers. Files with more than one audio or video track will now let the user pick which one he/she wishes to load. Closes #905 .
...
Originally committed to SVN as r3145.
2009-07-16 14:48:47 +00:00
Karl Blomster
5cb4d1cae3
Revert r3137 for video_provider_ffmpegsource.cpp; the patch fixed an issue that had already been fixed (by using UTF8 instead of the local codepage).
...
Originally committed to SVN as r3144.
2009-07-15 04:02:15 +00:00
Thomas Goyne
0ea2c53c1a
Replaced most wx-based charset conversions with a custom iconv-based conversion. Closes #639 , #666 , #837 , #849 and #877 .
...
Originally committed to SVN as r3137.
2009-07-14 21:28:49 +00:00
Karl Blomster
a45282bfbb
Update the FFMS2 audio and video providers to use the new API features.
...
Originally committed to SVN as r3116.
2009-07-13 22:30:48 +00:00
Fredrik Mellbin
ea80b6c130
Changes required to compile because of the previous commit
...
Originally committed to SVN as r2992.
2009-05-28 19:34:52 +00:00
Karl Blomster
379f15659a
Do COM initialization more properly (I think) in the FFMS2 providers.
...
Originally committed to SVN as r2989.
2009-05-25 16:42:33 +00:00
Karl Blomster
c8b125943c
Update FFMS2 providers to initialize COM when running under Windows, as per the new FFMS2 init procedure.
...
Originally committed to SVN as r2986.
2009-05-25 15:52:42 +00:00
Fredrik Mellbin
3220a2301a
FFMS2:
...
Simplify the avisynth filters
Small api change => you can now list a group of desired colorspace output formats for automatic selection, less functions can return errors
Less singnedness warnings
Originally committed to SVN as r2978.
2009-05-23 14:18:51 +00:00
Karl Blomster
a3ad037940
Fix ffms2 providers to work with latest FFMS2 API changes.
...
Originally committed to SVN as r2974.
2009-05-22 21:44:02 +00:00
Fredrik Mellbin
34c50c8cd9
FFMS2:
...
Split indexing into a 2 step process so track numbers/types become known in advance
Big code cleanup and renaming
Originally committed to SVN as r2955.
2009-05-20 18:57:03 +00:00
Karl Blomster
5717f81ef2
Update FFMS2 providers to account for FFMS2 API change in last commit.
...
Also update ffms2.lib to corresponding version.
Originally committed to SVN as r2948.
2009-05-17 22:12:46 +00:00
Niels Martin Hansen
ef407b6e68
Make FFmpegSource video and audio providers build again after FFMS2 changes last night.
...
Originally committed to SVN as r2944.
2009-05-16 12:47:23 +00:00
Karl Blomster
61a3c5657a
Fix a memleak in the FFMS2 video provider (the frame was never unallocated on video close). Patch by Harukalover, fixes #838
...
Originally committed to SVN as r2908.
2009-05-10 00:12:04 +00:00
Karl Blomster
c84a79fb7f
Implemented an automated cache cleaner that keeps the FFMS2 index cache at a manageable size. Cleaning is started when video is opened with the FFMS2 video provider and runs in its own thread. Removal is based on last access time, and the FFMS2 providers now explicitly touch the index files on reading to make sure access time is updated.
...
By default the cache is kept below 42MB and 20 files; to change the defaults change "FFmpegSource max cache size" and "FFmpegSource max cache files" in config.dat. Either or both may be set to 0, but the cleaner will not delete the last index file in the directory, regardless of cache settings and of the file's size.
Originally committed to SVN as r2893.
2009-05-03 18:05:30 +00:00
Karl Blomster
33c31e3eee
Update Haali's MatroskaParser.c/.h in the main source tree (there's a copy in the FFMS2 folder as well, which will be updated later). Should fix a crash with x264-generated MKV's.
...
Originally committed to SVN as r2884.
2009-04-29 21:00:08 +00:00
Karl Blomster
1b2d26c231
Fix a few memory leaks in the FFMS2 providers. Patch by Myrsloik.
...
Originally committed to SVN as r2880.
2009-04-29 17:40:02 +00:00
Karl Blomster
4dafa0ff10
Use less magic numbers
...
Originally committed to SVN as r2856.
2009-04-25 23:08:45 +00:00
Fredrik Mellbin
a41e48a159
Fix the video provider after the FFMS2 changes part2
...
Originally committed to SVN as r2852.
2009-04-25 10:31:39 +00:00
Fredrik Mellbin
f64b10978b
Fix the video provider after the FFMS2 changes
...
Originally committed to SVN as r2851.
2009-04-25 09:26:03 +00:00
Karl Blomster
2960b0298c
Fix ffms2 video provider to work with new ffms2 version (b6)
...
Originally committed to SVN as r2774.
2009-04-06 20:53:01 +00:00
Amar Takhar
91d73ec8ea
SVN Transition Step 3/7
...
1. cd aegisub/
2. svn mv *cpp *h src/
3. svn mv Makefile.am MatroskaParser.c auto4_perldata.inc bitmaps boost \
changelog.txt config gl include libosxutil libresrc md5.c msvc mythes.cxx \
mythes.hxx res.rc src/
4. cd ..
5. svn mv FFmpegSource2/ INSTALL Makefile.am README acinclude.m4 \
autogen.sh automation/ bin build configure.in desktop dummy.txt lib \
libass/ m4macros/ packages/ po/ scripts/ universalchardet/ aegisub/
6. mkdir -p docs/wiki_convert
7. svn add docs/wiki_convert
8. cd docs
9. svn mv aegisub_convert_docs.pl convert.bat output wiki_convert/
* See r2749 for full description.
Originally committed to SVN as r2752.
2009-03-08 08:30:39 +00:00