Hello again,

I have submitted my proposal. Any suggestions are welcome.

Cheers,
Alin

On 26/4/2013 17:10, Alin Baciu wrote:
Hello,

My name is Alin Baciu and I'm a 4'th year student at the Technical University of Cluj Napoca, Romania. Some might remember me from GSOC 2011 where I implemented video decode support.

I'm considering the video recording support project for this year's GSOC.

I'm still studying the sound system and figuring out how I could get sound data from it, but I have a basic
flow for how video frames are to be recorded. I'm going to use theora.

I'm thinking of using a render target FIFO queue. Basically, every few frames (considering the recording is at 30FPS)
this will happen:
1. The renderer picks a render target from the front of the queue
2. If the target is clean (has been processed and turned into a video frame) the process goes on 2.1. If the target is dirty, that means there are no clean frames in the queue and either a new one is created,
or frames will be skipped until there's one available
3. The scene is rendered on the target, which is then rendered on a quad
4. The blit buffer is queried using QueryBlitBuffer, target is marked as dirty and is moved at the back of the queue. Querying the blit buffer is important if we want an async recorder, since sharing textures between threads is too complicated. 5. A separate thread picks the first dirty target from the queue, converts the data from the buffer to YUV and writes it to
a file.
6. The processed target is marked as clean, so the renderer can use it.

What do you think?
As far as I remember, it should be OK to share the buffer pointer between threads. so this should work pretty well.

Cheers,
Alin
--
\------------------------/
Alin Baciu
/------------------------\
\------------------------/
AwkwardGames <http://awkwardgames.wordpress.com/>
/------------------------\
@Logomorph
\------------------------/


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr


_______________________________________________
Crystal-main mailing list
Crystal-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:crystal-main-requ...@lists.sourceforge.net?subject=unsubscribe
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Crystal-main mailing list
Crystal-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:crystal-main-requ...@lists.sourceforge.net?subject=unsubscribe

Reply via email to