[Bf-committers] Re: Audio/Video update (Ton Roosendaal)

Rob Haarsma rob at captainvideo.nl
Wed Sep 1 13:09:04 CEST 2004

Hey Bob,

Tracking down Quicktime calls is very simple, just look for the funcs in 
the quicktime_import and -export headerfiles.

AVI on the other hand is rather complex, since there are two methods 
(MSwindows vs. the rest) that handle import
and export. AVI codec export on Windows happens in 
blender/src/writeavicodec.c and for import some platform
dependant code in blender/imbuf/intern/anim.c (line 360) takes care of 
that. (iirc, the avi codec import code cannot
function without code found in bmp.c)
All other platforms (including FreeWindows) use the Blender native code 
that resides in source/blender/avi.

Hope this makes a little sense and I wish you luck on untangling the 
imbuf anim code. Might i suggest that you start
by eliminating the weird defines found in IMB_imbuf_types.h ?
Also, you'd be my absolute hero if you somehow could split up the save 
functions for images and movies. I really
hate it when I'm working on a movie, i need to change the output format 
before i can save a screenshot.

Thanks for the efforts, if i can be of any help... let me know.


Bob Holcomb wrote:

> Ton,
> Just wanted to answer some of your questions about ffmpeg. It's a 
> multi-platform/architecture library that can be linked statically or 
> dynamically. It also has no hardware dependancies. I don't know if 
> ffmpeg is the best library to use to do this, but it's the best one 
> I've found and does seem to be feasible. However, I'm open to 
> suggestions for other libraries.
> platforms supported:
> Windows, Linux, OS X, SunOS, BeOS, *BSD, QNX
> Dependencies:
> mp3lame, oggvorbis, faad/faac
> It supports quite a few audio/video codecs and containers. The biggies 
> being MP3, Vorbis, AC3, ADPCM, MPEG(1,2,4), H263, DV, Sorenson 1, Real 
> Video, Quicktime, and AVI. It would add some size to blender if it's 
> compiled in, but I can't be sure how much bigger. It will depend on 
> which codecs are supported and which are not. Also, the current AVI 
> and Quicktime codecs in blender could be removed helping offset the 
> size increase (and cleaning the code a bit). Like the python library, 
> it could be slimmed down for the essential codecs and included as a 
> dynamic library.
> As far as how it will incorperate into the audio system, I think it 
> will be minimal impact. The current sequencer audio system looks like 
> it will work well for mixing and sending the audio data to the encoder.
> On the UI side of things, I've created an audio tab and a video tab on 
> the render format panel where you can select the encoder to use (ie. 
> MP3, OGG, ADPCM, RAW, WAV) and the general properites to set for each 
> (Bitrate, Samplerate, FPS). These values are kept in the G->scene.r 
> data structure.
> I hope I answered your questions. I'm still wading through the blender 
> code for where the AVI and Quicktime libraries are called to see where 
> changes would need to be made. If I'm off in left field for any of 
> this, please let me know.
> Cheers,
> Bob
> _________________________________________________________________
> Don’t just search. Find. Check out the new MSN Search! 
> http://search.msn.click-url.com/go/onm00200636ave/direct/01/
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list