Commit Graph
18 Commits
Author SHA1 Message Date
Glenn Maynard 87f1f61021 MovieTextureDirectUpdates. Some drivers are stalling, can't
diagnose it right now ...
2007-03-25 07:45:23 +00:00
Glenn Maynard d80b09dd84 ret == 0 means EOF. Don't update the texture; it'll loop and update it again right away. This caused an update before the previous parallel unlock had finished, which apparently triggered the slow path in the driver and caused a 15ms skip. 2007-03-25 04:01:56 +00:00
Glenn Maynard bd4080a501 simplify 2007-03-22 19:23:17 +00:00
Glenn Maynard c7192a3b79 cleanup 2007-03-22 19:14:41 +00:00
Glenn Maynard fde00c7b04 fixup 2007-03-22 19:14:13 +00:00
Glenn Maynard 4139261ac7 use RageTextureLock to avoid a texture copy
remove threaded textures for now at least; makes RageTextureLock
much harder, causes a lot of nondeterministically-timed competing
CPU use, and we can probably optimize more easily this way
2007-03-22 19:11:48 +00:00
Glenn Maynard bef66aa6de fix crash 2007-03-21 06:30:12 +00:00
Glenn Maynard ace3a66e36 - ffmpeg API update
- Add support for doing YUV colorspace conversion in hardware,
using a fragment shader.  This speeds up high-resolution movies
substantially, and provides 32-bit color depth with the data
cost of 16-bit textures.
 - optimize rewinding
2007-03-21 05:27:53 +00:00
Steve Checkoway 0600ff5a1c Invalid. 2006-10-07 09:46:11 +00:00
Glenn Maynard b77024f3bc include 2006-09-18 22:45:42 +00:00
Steve Checkoway 6ea2a41b00 Cleanup RageException::Throw(). Do not use ssprintf() inside of Throw() and do not pass it bare error messages. Use RageException::Throw( "%s", sError.c_str() ); instead. Be consistent with quoting file names "%s" and theme metrics as "%s : %s". Try to make them complete English sentences when possible. 2006-09-17 01:19:19 +00:00
Glenn Maynard 3def328a9a spacing 2006-02-14 11:40:24 +00:00
Chris Danford 7f821e8cfc CString -> RString 2006-01-22 01:00:06 +00:00
Glenn Maynard 0bc413262d Pass the surface directly to GetFrame, and a timestamp if frame skipping is
enabled.
 - This is simpler--two fewer entry points, and a trivial decode path.
 - Puts the mechanics of frame skipping in the decoder's control.  Previously,
   all we did was skip conversion and texture updates.  Now, the decoder
   can be smarter: skip B-frames, or skip to a keyframe.
 - This allows for faster decodes, using slice-based conversion: YUV conversion
   can be done at the same time as decoding.
2005-10-21 07:47:06 +00:00
Glenn Maynard 073d9e5290 MovieDecoders shouldn't need TEXTUREMAN. 2005-10-21 01:32:39 +00:00
Glenn Maynard 99eb66b31b - if m_bWantRewind is true at the start of DecodeFrame (probably called Seek),
don't make spurious calls to GetFrame (waste of CPU)
 - fix DecodeFrame setting FRAME_DECODED without actually decoding a frame on EOF
   after loop
update comment
(probably not related to "movie not looping" problems)
2005-10-21 00:49:18 +00:00
Glenn Maynard 5476c7bf9e comments, cleanup 2005-10-20 08:16:48 +00:00
Glenn Maynard e2151e0178 Split out generic parts of movie decoder, to make it easier to implement others.
We could make MovieDecoder the arch class, with MovieTexture_Generic
replacing RageMovieTexture, but it forces a pull-based API, and DShow
insists on being callback-based ...
2005-10-20 07:19:42 +00:00