Commit graph

26 commits

Author SHA1 Message Date
Karl Blomster
893ff2f78a Major rewrite of the video providing system. Hilights:
- It is now the responsibility of each video provider to provide a list of keyframe positions and (if it can) timecodes.
- The ffmpeg video provider now indexes files before opening them and does no longer rely on stream->duration to determine the number of frames. Fixes opening of MKV files, but it does not (currently) open timecodes automatically and reported keyframe positions seem way off. Status of frame-accuracy with MKV files unknown but it may very well work.
- Modified the way the ffmpeg video provider seeks (inspired by code from Myrsloik's ffmpegsource). Should no longer lose the first frame and should also no longer be frame-inaccurate, at least not with AVI.
- DirectShow video provider may or may not be completely broken, not tested.

Originally committed to SVN as r2252.
2008-07-15 00:08:05 +00:00
Karl Blomster
7be56fbcd4 cast some lavc context variables to int (avoids warning treated as error when compiling WITH_FFMPEG on msvc)
Originally committed to SVN as r2137.
2008-03-24 11:30:35 +00:00
Rodrigo Braz Monteiro
abbab149a6 (Maybe) fixed lavc after previous commit.
Originally committed to SVN as r1959.
2008-03-07 21:27:36 +00:00
Rodrigo Braz Monteiro
30f12ef7e8 Fixed lavc and directshow video providers.
Originally committed to SVN as r1932.
2008-03-06 22:34:28 +00:00
Rodrigo Braz Monteiro
bed7f3ed8d Modified the video provider interface to be a true interface, and moved all caching routines to another video provider that can be chained.
Originally committed to SVN as r1918.
2008-03-06 19:20:25 +00:00
Rodrigo Braz Monteiro
7659293a21 Fixed compiling of lavc video provider.
Originally committed to SVN as r1895.
2008-03-05 03:20:55 +00:00
Rodrigo Braz Monteiro
59f1962e7c Changed video providers to be initialized explicitly. (Only avisynth tested, though)
Originally committed to SVN as r1890.
2008-03-05 02:05:01 +00:00
Rodrigo Braz Monteiro
da09a52b59 Applied p-static's patch to use swscale with ffmpeg video provider for major speed improvement.
Originally committed to SVN as r1796.
2008-01-20 21:15:22 +00:00
Rodrigo Braz Monteiro
c2aaa4eb8c Added shb's incomplete perl support code (doesn't build on VC++ yet)
Originally committed to SVN as r1741.
2008-01-16 18:29:29 +00:00
Rodrigo Braz Monteiro
75b4fb1437 Made almost all major components of Aegisub optional... this might be severely broken still.
Originally committed to SVN as r1660.
2007-12-31 06:46:22 +00:00
Niels Martin Hansen
89d076c760 Apparently long long isn't safe, trying with int64_t instead then...
Originally committed to SVN as r1547.
2007-08-31 14:11:35 +00:00
Niels Martin Hansen
8909ea48e2 Replace all (applicable) instances of __int64 with long long. (All except those in foreign header files.)
Originally committed to SVN as r1540.
2007-08-29 13:36:30 +00:00
Rodrigo Braz Monteiro
388429b899 Fixing weird shit that got broken
Originally committed to SVN as r1521.
2007-08-19 22:56:22 +00:00
Rodrigo Braz Monteiro
d6b5c8fbb9 demi` patch: Added a new "Video Details" dialog, that lists some information regarding the currently open video.
Originally committed to SVN as r1520.
2007-08-19 22:21:41 +00:00
Rodrigo Braz Monteiro
b773706f6d Some fixes for ffmpeg linking (I have no idea how it worked before)
Originally committed to SVN as r1473.
2007-08-07 22:10:44 +00:00
Rodrigo Braz Monteiro
c098e4d2a3 Issue #466 - Fixed ffmpegsource with vfr videos. Also re-added the warning for dss. Avisynth provider *should* now be 100% reliable if ffmpegsource.dll is present.
Originally committed to SVN as r1456.
2007-07-29 09:06:38 +00:00
Niels Martin Hansen
c6722b0587 Fixed some building on Linux, at least on Ubuntu Feisty amd64. Also
updated configure.ac to check for wxSTC instead of wxScintilla.

Originally committed to SVN as r1106.
2007-04-22 00:23:21 +00:00
Rodrigo Braz Monteiro
97d996f995 Fixed all warnings while building on Linux, except for the ones on MatroskaParser.c and the ones about image conversion. Poke equinox for the later.
Originally committed to SVN as r1008.
2007-04-04 20:42:44 +00:00
Rodrigo Braz Monteiro
14edd1fe3b Added dummy video provider.
Originally committed to SVN as r972.
2007-04-01 22:06:00 +00:00
Rodrigo Braz Monteiro
af7bfcc858 Applied demi's patch to fix the view menu and committed some unfinished (commented out) rgb lavc code
Originally committed to SVN as r966.
2007-03-31 03:23:46 +00:00
Rodrigo Braz Monteiro
0dd4f96757 Fix for lavc audio provider to prevent it from crashing if it cannot load the file (was causing video playback to crash if no audio was loaded)
Originally committed to SVN as r963.
2007-03-29 21:05:22 +00:00
Rodrigo Braz Monteiro
27b08cc8aa Fixed ffmpeg memory leak.
Originally committed to SVN as r956.
2007-03-27 22:56:08 +00:00
Rodrigo Braz Monteiro
c722ce9741 ffmpeg video provider now works as expected, except that it leaks memory. This fix should also help with certain videos being loaded with other providers. Also added some asserts and clean up to video frame class.
Originally committed to SVN as r954.
2007-03-27 22:29:35 +00:00
Rodrigo Braz Monteiro
d7a6ca1d76 ffmpeg provider almost works now
Originally committed to SVN as r953.
2007-03-24 02:07:06 +00:00
Rodrigo Braz Monteiro
4f1f9ccdf0 Made ffmpeg video provider compile again, conforming to the new video provider interface, but it still won't work.
Originally committed to SVN as r952.
2007-03-24 00:11:49 +00:00
Rodrigo Braz Monteiro
06cff2e2f2 Renamed /core/ to /aegisub/ to avoid issues with unix systems being unable to delete core dumps.
Originally committed to SVN as r652.
2006-12-28 23:43:23 +00:00
Renamed from core/video_provider_lavc.cpp (Browse further)