Thomas Goyne
33a4a056a4
Move everything up a level since the root dir no longer has stuff
2014-03-11 12:14:57 -07:00
Thomas Goyne
6fad60e58d
Use NSDMIs where applicable
2013-12-11 18:50:12 -08:00
Thomas Goyne
1f04d02c1b
Fix check for script yuv matrix matching video yuv matrix
2013-10-25 16:31:56 -07:00
Thomas Goyne
73e1dc1b60
Honor the color matrix tag from the subtitles file when appropriate
...
If the script's matrix matches the video's matrix, use that even if
Force BT.601 is on, and if it's TV.601, use that even if Force BT.601 is
off.
This should mostly eliminate the common problems resulting from mixed
values of the Force BT.601 option.
Closes #1649 .
2013-10-17 08:04:03 -07:00
Thomas Goyne
a1d44cafc1
Redesign VideoFrame
...
Eliminate the manual memory management and shuffle around where the
copies are made to eliminate the need for non-owning video frames.
2013-07-01 18:35:09 -07:00
Thomas Goyne
b67a0538ff
Drop support for non-little-endian platforms
...
Aegisub doesn't actually currently run on any.
2013-06-11 20:54:07 -07:00
Thomas Goyne
1e0f08c0ed
Mostly purge wxWidgets from non-UI stuff
...
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.
Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.
Move the path token management logic to libaegisub (and rewrite it in
the process).
Add a basic thread pool based on asio and std::thread to libaegisub.
This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne
a99428c49d
Extract options and MRU stuff from main.h
...
Nearly all of the files including main.h are doing so only for OPT_GET
and friends, which are rather unrelated to the main things that main.h
declares.
2013-01-09 16:48:31 -08:00
Thomas Goyne
d0f4d9df99
Replace all uses of lagi_wxString with to_wx
2012-12-22 15:18:38 -08:00
Thomas Goyne
a2c14e9c5f
Check the error code when FFMS2 can't create an indexer
...
Creating an indexer can fail for reasons other than the file not
existing. This check is still not completely correct, since FFMS2 uses
the wrong error codes in a bunch of places.
2012-12-17 10:14:08 -08:00
Thomas Goyne
96cf5ea7ed
Kill the #ifndef AGI_PRE guards
...
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne
06aaaff16b
NULL -> nullptr
2012-11-13 08:51:01 -08:00
Thomas Goyne
e44c47c863
Remove $Id$ markers since git doesn't support them
2012-10-25 17:39:49 -07:00
Thomas Goyne
b2fb39b67f
Fix leak of the Indexer when an audio/video file has already been indexed
...
Originally committed to SVN as r6940.
2012-07-23 00:44:47 +00:00
Thomas Goyne
a7b254e95f
Use the user's ffms2 error handling mode when indexing video files to avoid reindexing when opening the audio
...
Originally committed to SVN as r6925.
2012-06-30 15:27:11 +00:00
Thomas Goyne
9f7bdd8d17
Don't force ffms2 threads to 1 if it's recent enough
...
Originally committed to SVN as r6909.
2012-06-16 04:10:32 +00:00
Thomas Goyne
77821c10b7
Don't also force TV range when Force BT.601 is enabled
...
Originally committed to SVN as r6908.
2012-06-15 13:09:15 +00:00
Thomas Goyne
2addf40b31
Fix typo (204M -> 240M)
...
Originally committed to SVN as r6763.
2012-05-11 14:42:30 +00:00
Thomas Goyne
bc74dfc33b
Update the video matrix tagging scheme
...
Write the color range and color space used to convert video to RGB to
the YCbCr Matrix field, or None if no non-RGB video was opened. See
http://code.google.com/p/xy-vsfilter/issues/detail?id=91 for related
discussion.
Originally committed to SVN as r6762.
2012-05-11 14:38:44 +00:00
Thomas Goyne
baacea6ab0
Force threads to 1 when opening video via lavf since the ffms2 bug that makes multithreaded decoding sometimes break still hasn't been fixed
...
Originally committed to SVN as r6761.
2012-05-11 02:58:34 +00:00
Thomas Goyne
3253ccdb90
Move the "Force BT.601" option out of the FFmpegSource category as it's no longer FFMS2-specific, and make it on by default
...
Originally committed to SVN as r6708.
2012-04-16 23:55:21 +00:00
Thomas Goyne
bd0f6a4c2b
Extract the cache cleaning logic from FFmpegSourceProvider
...
Originally committed to SVN as r6653.
2012-04-03 22:44:40 +00:00
Thomas Goyne
b32515da80
Strip trailing whitespace from all cpp and h files
...
Originally committed to SVN as r6600.
2012-03-25 04:05:06 +00:00
Thomas Goyne
30d7a18e97
Add missing spaces after colons in error messages
...
Originally committed to SVN as r6568.
2012-03-11 23:51:10 +00:00
Thomas Goyne
175443d7a6
Fix int overflow in DAR calculation
...
Originally committed to SVN as r6567.
2012-03-11 23:51:04 +00:00
Thomas Goyne
366baff2f8
Add option to force all video opened with FFMS2 to BT.601 for VSFilter compatibility
...
Originally committed to SVN as r6535.
2012-03-07 04:25:46 +00:00
Thomas Goyne
af58db5b9e
Fix reindexing of files on every open
...
FFMS_IndexBelongsToFile returns 0 when the index belongs to the file,
not 1.
Originally committed to SVN as r6526.
2012-02-29 01:24:16 +00:00
Thomas Goyne
c4cba875b4
Always index all tracks when "Video/Open Audio" is enabled, as it'll always double-index otherwise
...
Originally committed to SVN as r6518.
2012-02-28 01:22:29 +00:00
Thomas Goyne
ea130d9af2
Automatically set the aspect ratio when opening anamorphic video with ffms
...
Originally committed to SVN as r6506.
2012-02-23 01:30:59 +00:00
Thomas Goyne
f79e933ac9
Bump required version of ffms2 to 2.16
...
Originally committed to SVN as r6493.
2012-02-20 18:22:20 +00:00
Thomas Goyne
17b0d83831
Use scoped_holder in a handful of places
...
Originally committed to SVN as r6492.
2012-02-20 18:22:12 +00:00
Thomas Goyne
3b5bc88285
Write the video's colorspace to the script info section
...
Originally committed to SVN as r6347.
2012-01-23 23:07:35 +00:00
Thomas Goyne
f2c62dad3d
Factor out a bunch of duplicated code in the configure script for pkg-config based optional dependencies and use the pkg-config name for all WITH_* defines
...
Originally committed to SVN as r6104.
2011-12-22 21:25:49 +00:00
Thomas Goyne
cc9cc6d713
Use FFMS_SetOutputFormatV2 with sufficiently recent FFMS2 rather than the deprecated FFMS_SetOutputFormatV
...
Originally committed to SVN as r5740.
2011-10-17 17:52:11 +00:00
Thomas Goyne
62181365b9
Default to 25 FPS if there are too few frames in a video to compute the FPS
...
Originally committed to SVN as r5683.
2011-09-29 20:27:23 +00:00
Thomas Goyne
d990bbbb99
Eliminate all unnecessary uses of L and _T
...
Originally committed to SVN as r5611.
2011-09-28 19:43:11 +00:00
Thomas Goyne
0cc902487d
Remove a now-bogus sanity check on thread count in the ffms video provider
...
Originally committed to SVN as r5522.
2011-07-27 05:36:36 +00:00
Thomas Goyne
824294078f
Move YUV -> RGB conversion to VideoProviderYUV4MPEG and remove support for formats other than RGB32 from AegiVideoFrame
...
Originally committed to SVN as r5079.
2010-12-31 21:03:11 +00:00
Karl Blomster
d6dde4ec73
update ffms2 to r354
...
Originally committed to SVN as r4835.
2010-11-09 19:55:23 +00:00
Thomas Goyne
c10e9e3a5b
Make video and audio providers throw typed exceptions.
...
Don't display error messages and try other providers when the user
cancels loading a file.
Remove files from the MRU lists if they can't be found.
Closes #717 .
Originally committed to SVN as r4717.
2010-08-02 06:32:01 +00:00
Thomas Goyne
4a8abae3a3
Kill options.h and options.cpp, which have been empty for a while
...
Originally committed to SVN as r4676.
2010-07-12 21:49:48 +00:00
Thomas Goyne
acba2c6b63
Rewrite VFR handling in Aegisub.
...
Kill vfr.h and vfr.cpp and use the libaegisub versions of them instead.
Rather than the globals VFR_Input and VFR_Output, everything related to
frame rate is now part of the video context. Most things which used to
use VFR_Output now call VideoContext::TimeAtFrame etc.; video providers,
rather than modifying VFR_Input directly, now have getters for their
frame rates which VideoContext calls. Read-only public access to
VFR_Input and VFR_Output are still provided (hopefully temporarily) for
a few things which were awkward to do through VideoContext.
The Avisynth provider now might correctly handle VFR MKVs which can be
opened with DirectShowSource but not DSS2.
Rework keyframe handling as well, so that it continues to match the vfr
handling in design and implementation.
Originally committed to SVN as r4662.
2010-07-08 04:29:04 +00:00
Thomas Goyne
c290b6b811
Silence some prefast warnings
...
Originally committed to SVN as r4472.
2010-06-11 02:24:59 +00:00
Thomas Goyne
90893f1048
Make the capitalization of FFmpegSource in options consistent, as option names are now case-sensitive.
...
Originally committed to SVN as r4414.
2010-06-03 05:07:10 +00:00
Amar Takhar
40e12403d5
Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
...
Initial support for low-level access and file I/O methods are included as well.
Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00
Karl Blomster
85d645b44a
Allow user to set behavior of audio decoding errors during indexing with the FFMS2 providers.
...
Originally committed to SVN as r3822.
2009-11-28 21:13:47 +00:00
Karl Blomster
653427fbad
Update ffms2 to r234, part 2. Compilation fixed again.
...
Originally committed to SVN as r3815.
2009-11-21 21:15:02 +00:00
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