Commit Graph

44 Commits

Author SHA1 Message Date
Thomas Goyne 6fad60e58d Use NSDMIs where applicable 2013-12-11 18:50:12 -08: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 090905056b Remove spaces in > > in nested templates 2012-12-11 10:58:28 -08:00
Thomas Goyne 91fa11e375 Relicense all of my stuff that's still 3-BSD to ISC 2012-12-02 13:14:24 -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 67df64e879 Use range-based for loops in a bunch of places 2012-11-12 18:35:25 -08:00
Thomas Goyne e44c47c863 Remove $Id$ markers since git doesn't support them 2012-10-25 17:39:49 -07:00
Thomas Goyne 53433426bb Fix some stuff from Coverity Scan
Mostly just bugs in unreachable code and stylistic things, but there's a
few incorrect reachable things that were working by coincidence and
gratuitous dynamic_casts.
2012-10-15 18:16:09 -07:00
Thomas Goyne a13d06318b Remove all glu.h includes since no glu functions are ever used. Updates #1511. 2012-10-08 10:21:20 -07:00
Thomas Goyne ef3e75dbe9 Pass the row length rather than frame width to OpenGL for the unpack row length
Originally committed to SVN as r6937.
2012-07-21 03:50:38 +00:00
Thomas Goyne 45dbc8bd15 Fix checks for which OpenGL headers to include on OS X
Originally committed to SVN as r6511.
2012-02-23 19:28:08 +00:00
Thomas Goyne 88b536f824 Make VideoOutGL's error checking even more completely overboard
Originally committed to SVN as r5904.
2011-11-23 18:32:50 +00:00
Amar Takhar 75b732bf60 Use lowercase filenames for OS X includes. HFS is case-insensitive and since I'm cross-compiling the OS X version from Linux it fails when you try to include files using uppercase names when they're actually lowercase.
Originally committed to SVN as r5173.
2011-01-11 17:52:17 +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
Thomas Goyne 3c02917e20 Fix flipped video when switching between avs and ffms2 providers
Originally committed to SVN as r4814.
2010-10-16 20:11:43 +00:00
Thomas Goyne 58ca596359 Define NOMINMAX on Windows and remove workarounds for problems caused by those macros.
Originally committed to SVN as r4732.
2010-08-12 06:39:49 +00:00
Amar Takhar d295ce7b0a Convert a bunch of wxLog* to the new logging method.
Originally committed to SVN as r4399.
2010-06-01 08:21:30 +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
Thomas Goyne 2c876e79c3 Make visual tools use only screen coordinates.
Previously the visual typesetting tools and the overlay mask used
several coordinate frames, converting between them in many places in
inconsistent ways.  This elimiates all uses of coordinate frames other
than screen and script, and makes the conversion done in one place, and
only when parsing or serializing ASS.

This fixes:

 - A few minor rounding errors

 - Horrible brokeness when only part of the video frame is being
   displayed, due to higher levels of zoom than fit onscreen or panning
   the video

 - Distortion of the visual typesetting tools when the combination of
   overridden aspect ratio, script resolution, and video resolution did
   not result in square pixels.

 - Resolution-dependence of the visual typesetting tools, which resulted
   in some tools becoming hard to use at zooms outside the range of
   100-200%.

 - Some draggable controls used the mouse's script coordinates,
   resulting in noticable jerky movement at high zoom levels or when
   using strange script resolutions.

Closes #966.

Originally committed to SVN as r4289.
2010-05-16 06:39:11 +00:00
Thomas Goyne 47beda4c89 Fix build error introduced in r4250 when not using precompiled headers.
Originally committed to SVN as r4251.
2010-04-30 16:15:12 +00:00
Thomas Goyne fd701c67ec Kill supportsGlClampToEdge, which hasn't actually been used for a while
Originally committed to SVN as r4248.
2010-04-30 03:00:09 +00:00
Thomas Goyne b90fdcc111 Make the video display use OpenGL display lists, slightly simplifying the code and reducing the amount of state explicitly tracked.
Originally committed to SVN as r4247.
2010-04-30 03:00:04 +00:00
Thomas Goyne 621cefe14e Fix compile error on non-windows caused by r4097.
Originally committed to SVN as r4099.
2010-02-14 18:06:56 +00:00
Thomas Goyne 175b2a4648 Rewrite the texture grid positioning code again, fixing several visual defects that showed up in OpenGL 1.1 mode. Updates #1153.
Originally committed to SVN as r4097.
2010-02-14 17:41:41 +00:00
Thomas Goyne 7ffc3d4080 Move more of the purely OpenGL-related code into VideoOutGL from VideoDisplay and simplify the calculation of the texture grid positions slightly.
Originally committed to SVN as r4037.
2010-01-24 19:05:20 +00:00
Thomas Goyne 2f2f0d9aac Fix some assorted VideoOutGL-related stupidity. Updates #1056.
Originally committed to SVN as r3864.
2009-12-13 19:27:45 +00:00
Thomas Goyne 86f64b2962 Improve video operation errors somewhat. Updates #1020.
Originally committed to SVN as r3835.
2009-12-01 00:32:43 +00:00
Thomas Goyne 15cf221a3f Fix incorrect handling of flipped video when the texture size is larger than the video size.
Originally committed to SVN as r3742.
2009-10-27 20:59:27 +00:00
Thomas Goyne dcfdb02e6c Significantly reduce the number of unnecessary calls to VideoContext::GetFrame.
Originally committed to SVN as r3739.
2009-10-27 14:27:39 +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
Thomas Goyne df5ada1006 Make the video display only upload texture data when the frame has changed rather than every time Render is called.
Originally committed to SVN as r3726.
2009-10-20 19:07:18 +00:00
Thomas Goyne 5404b45017 Tweak how the OpenGL 1.1 code behaves slightly; distortion with Windows 7's OpenGL emulation is now at most .1% instead of at most 2%.
Originally committed to SVN as r3723.
2009-10-19 01:11:02 +00:00
Thomas Goyne 5b9da0c56a Fix some video output bugs related to a small maximum texture size which is not an even divisor of the video size.
Originally committed to SVN as r3717.
2009-10-17 03:41:12 +00:00
Thomas Goyne 3d58608230 Improve rendering with OpenGL 1.1, removing the visible seams at the cost of slight distortions at high zoom levels.
Originally committed to SVN as r3714.
2009-10-14 20:53:36 +00:00
Thomas Goyne 9ff8f42d7f Get the video display closer to working with W7's emulated OpenGL. It can now display video, but there are visible seams between the textures.
Originally committed to SVN as r3711.
2009-10-13 22:19:31 +00:00
Amar Takhar 14e2d9ad12 Add config.h to 8 files that were missing it, _all_ source files must include config.h at the very top.
Originally committed to SVN as r3666.
2009-10-09 16:34:38 +00:00
Amar Takhar 9217476357 Bitten by precompiled headers round 2: the OpenGL headers must be included before the local headers.
Originally committed to SVN as r3631.
2009-10-06 16:08:39 +00:00
Amar Takhar ac260ec47b Sigh, bitten by precompiled headers, wxLogDebug requires <wx/log.h>.
Originally committed to SVN as r3630.
2009-10-06 15:47:43 +00:00
Amar Takhar c204c766ec Add two more debug printfs:
* Print the WxH of the frame size.
 * Print the size of the texture actually used.

Originally committed to SVN as r3629.
2009-10-06 15:28:22 +00:00
Amar Takhar bb4506354f Add a debug printf to display what texture sizes VideoOutGL::TestTexture is checking.
Originally committed to SVN as r3628.
2009-10-06 14:58:32 +00:00
Amar Takhar 21c5e7909c svn:eol-style native and svn:keywords Id to relevent files.
Originally committed to SVN as r3623.
2009-10-05 23:04:30 +00:00
Thomas Goyne 404e6cf081 Add support for flipped video to new video renderer.
Originally committed to SVN as r3617.
2009-10-05 20:50:04 +00:00
Thomas Goyne cbd76e7010 Rewrite the video rendering code to support displaying videos which are larger than the maximum texture size. This does not currently support YV12 (which Aegisub currently never uses), but should be otherwise functional.
Originally committed to SVN as r3615.
2009-10-05 04:22:28 +00:00