Commit Graph
227 Commits
Author SHA1 Message Date
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
Glenn Maynard ef9bf1835e merge/simplify 2006-12-18 22:06:23 +00:00
Glenn Maynard da708702ca Theora fixup 2006-12-17 08:02:19 +00:00
Glenn Maynard f2e0053c7d Make* -> Driver::Create. Having these floating in arch.h isn't
useful; if you create the class, you need the class definition to
free it, and anyone creating a class is probably going to use it,
too.
2006-12-17 08:00:03 +00:00
Glenn Maynard 3124b25ad0 make MovieTexture act more like other drivers: MovieTexture itself
is a factory for RageTexture objects, not a RageTexture itself.  The
actual RageTexture objects don't need to be exposed in the headers
(DShow still does it for DShow_Helpers), so we don't need to expose
the headers of the movie API to user code.  (We could also eliminate
reconstructing the factory driver each time we make a movie, but
there's no real reason to currently.)
2006-12-17 07:54:34 +00:00
Steve Checkoway a627776c31 Fix path. 2006-11-18 19:55:43 +00:00
Steve Checkoway a25915855a Update other arches. Not tested. 2006-11-18 19:35:02 +00:00
Steve Checkoway 6365e3607f Move stuff out of arch using a registration system modeled after Screen. 2006-11-18 19:34:28 +00:00
Steve Checkoway 0d10c76e87 Unscatter arch includes. 2006-11-17 18:25:20 +00:00
Steve Checkoway 30d9410b65 Unneeded. 2006-11-01 10:45:51 +00:00
Glenn Maynard eb9ab7382c ConvertValue 2006-10-12 02:05:48 +00:00
Steve Checkoway 6fd4694b79 Simplify. 2006-10-11 11:12:09 +00:00
Steve Checkoway 8ef7317b57 Casting an rvalue to nonconst reference is illegal. I'm not positive why these are considered to be rvalues when they are cast. 2006-10-11 10:23:31 +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
Glenn Maynard 1f7fe1afd3 include 2006-09-18 22:24:18 +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
Steve Checkoway 2a0692f4ed Cleanup. 2006-09-08 06:26:31 +00:00
Steve Checkoway 0c0609f46a Tracking down crash. 2006-06-18 04:16:17 +00:00
Steve Checkoway c50a28e434 Spacing cleanup. 2006-06-18 04:14:31 +00:00
Steve Checkoway 52371ff5f7 Revert. See stepmania-devs. 2006-06-10 21:49:51 +00:00
Mike Calfin 3b68311391 OptionRowHandler.h was changed (removing the class before the constructor definition on line 20) - it caused compilation failures with gcc 4.1.1. ffmpeg include files updated to 0.4.9 20060530. 2006-06-10 20:11:53 +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
Chris Danford d698a5f1ec CString -> RString in RageUtil
ThemeMetric<CString> -> LocalizedString to eliminate dependencies
2005-12-20 08:35:47 +00:00
Glenn Maynard 034c7f4a41 bring back MovieTexture_FFMpeg::RegisterProtocols 2005-10-29 03:25:39 +00:00
Glenn Maynard 0ac45b8853 handle all frame decoding stuff in DecodePacket 2005-10-27 00:09:17 +00:00
Glenn Maynard 7ba01f023d renderer for "experimental" theora decoder. (not sure if I should try to merge
dupe code here, or just split them into separate decoders; this will probably
change)
2005-10-25 21:53:33 +00:00
Glenn Maynard 330f0a783c MovieDecoder_Theora is reading the entire file when given a non-Ogg. Treat holes at the beginning of the file as fatal. 2005-10-24 05:19:53 +00:00
Glenn Maynard 20f8e3e08f MovieDecoder_Theora is reading the entire file when given a non-Ogg. This fix should expose the actual problem (rest of the fix coming). 2005-10-24 05:06:51 +00:00
Glenn Maynard 59fb0dbe41 move code 2005-10-21 18:59: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 2513b7aac1 cleanup:
hopefully deal with unknown extension headers (untested)
 require ogg, not vorbis
2005-10-21 05:44:33 +00:00
Glenn Maynard 42e88812ea works without this 2005-10-21 01:46:46 +00:00
Glenn Maynard 6ee40039a8 cleanup 2005-10-21 01:45:16 +00:00
Glenn Maynard f77dd38f0f cleanup 2005-10-21 01:39:07 +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 8b023b1d50 fix log 2005-10-20 21:09:09 +00:00
Glenn Maynard d17aaf31fb fix duration (seconds per frame, not frames per second) 2005-10-20 21:07:25 +00:00
Glenn Maynard 50d6089532 temp workaround 2005-10-20 20:47:01 +00:00
Glenn Maynard f4cb784da8 fix type 2005-10-20 20:46:41 +00:00
Glenn Maynard cffe83e32f fix wrong pixel formats used 2005-10-20 20:43:28 +00:00
Glenn Maynard a9e940560b fix warning 2005-10-20 20:39:23 +00:00
Glenn Maynard ee492d5284 work around namespace error 2005-10-20 20:38:57 +00:00
Glenn Maynard f500aac258 XIPH_LIB_DIR -> OGG_LIB_DIR 2005-10-20 11:11:26 +00:00
Glenn Maynard 240d8d904b loader 2005-10-20 10:55:20 +00:00
Glenn Maynard 5209d7505b Add Ogg Theora decoder.
This still uses avcodec for YUV to RGB conversion.
2005-10-20 10:54:48 +00:00
Glenn Maynard 0baed8b4ce cleanup 2005-10-20 08:33:37 +00:00
Glenn Maynard e577a5bbab unneeded 2005-10-20 08:26:40 +00:00