Re: [CsMain] [GSOC 2013] Video recording support

Alin Baciu <[email protected]> Sat, 27 Apr 2013 01:56:28 +0300
Newsgroups gmane.comp.graphics.crystalspace.general
Message-ID <[email protected]>
Sorry, I forgot to link it: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/logomorph/15002

Cheers,
Alin

On 27/4/2013 01:12, Alin Baciu wrote:
> 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
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/crystal-main
>> Unsubscribe:mailto:[email protected]?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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/crystal-main
> Unsubscribe: mailto:[email protected]?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
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[email protected]?subject=unsubscribe