[Kdenlive-devel] <

Jason Wood jasonwood at blueyonder.co.uk
Sat Feb 1 19:58:56 UTC 2003


Hi,

I have performed some reshuffling of the KRender object, after realising how 
it is very important to use a parse stack when using a SAX parser ;-) 

Anyway, I am now starting to implement the getCapabilties, so I will give a 
rundown of where I think the current version needs to be improved.

>  <capabilities>
>       <renderer name="PIAVE" version="0.2.9">
>           <author email="rolf at dubitzky.de" name="Rolf Dubitzky" />
>           <about>
> blah... video render engine.. blah..
> blah... GPL...  blah...
> cool.... blah...
> home: www.dubitzky.de/piave
> (c) 2003 Rolf Dubitzky
>           </about>
>       </renderer>

Ok, no problem here that I can see.

> <effects>
<snip>
> </effects>

Effects will be ignored for kdenlive at the moment, so I'll discuss those when 
they are more relevant.

>       <inputs>
<snip>
>       </inputs>
>       <outputs>
>           <outstream name="OutRawDVStream">
>               <file>
>                   <container extension=".dv" format="rawdv" />
>                   <videocodecs>
>                       <libdv_encoder />
>                   </videocodecs>
>                   <audiocodecs>
>                       <libdv_encoder />
>                   </audiocodecs>
>               </file>
>               <about>
> Can write raw DV files.
>               </about>
>           </outstream>

Ok, there are a number of problems here from Kdenlive's point of view.

Firstly, "OutRawDVStream" is not exactly a user friendly name :-) I think we 
need to add another "human readable" message somewhere, which in this case 
would say simply "Raw DV" (or perhaps ".dv file")

I am wondering about the way video codecs are currently specified. I agree 
that it makes sense to have them seperated out into their own group, but I am 
unsure as to the current XML for specifying them. My concern is that the 
video/audio codec sections are specified by name, which may be a problem if, 
for instance, we need to define some other codec groups of some unknown type 
in the future. I think a change to something like this might be better :

		<codeclist name="video">
			<libdv_encoder/>
		</codeclist>
		<codeclist name="audio">
			<libdv_decoder/>
		</codeclist>

Whta do you think?

>           <outstream name="SDLStream">
>               <screen>
>                   <X11 fallback="rgb" visual="xv" />
>                   <X11 visual="rgb" />
>               </screen>
>               <about>
> Use SDL to display video. Uses xv overlay if available.
>               </about>
>           </outstream>
>       </outputs>

Hmmm, I am wondering about whether or not the streams to video and streams to 
file should be mixed into the same "outputs" section. I guess that it makes 
sense for piave, which handles all streams in a similar way now, but it is 
not consistant with the VEML interface (which handles video streams 
seperately to video exports). What do you think? Basically, does it make more  
sense for the streams be seperated into file and screen groups in the 
renderer, or should they be seperated in the GUI?

>       <codecs>
>           <decoder name="libdv_decoder">
>               <format fourcc="DVSD" />
>               <format fourcc="dvsd" />
>               <format fourcc="DVCS" />
>               <format fourcc="dvcs" />
>               <format fourcc="dvc" />
>               <about>
> This codec uses libdv to decode DV video.
>               </about>
>           </decoder>
>           <encoder name="libdv_encoder">
>               <about>
> This codec uses libdv to encode DV video.
>               </about>
>           </encoder>
>       </codecs>
>   </capabilities>

Here, what purpose do the formats play? I think some description of the 
differences should be given. Actually, since this is for decoding purposes 
only, Kdenlive only needs to consider this as "informational", but I think 
that using groups to mark up the information would be useful.

So, at the minimum, something like :

		<formats>
			<format fourcc="DVSD">
			...
			...
		</formats>

In this case, I don't actually know what fourcc means - is it better to use a 
more generic markup tag for this kind of thing?

Finally, should encoder and decoder be seperated into seperate groups like 
inputs and outputs are, or should inputs and outputs be defined within an 
outer tag of "iostreams" or something? I think we should be consistant :-)

Another possibility is for inputs to be grouped with decoders, and outputs to 
be grouped with encoders.

This is very much all up in the air, so expect a couple of weeks of heavy 
discussion ;-)

Cheers,
Jason

-- 
Jason Wood
Homepage : www.uchian.pwp.blueyonder.co.uk





More information about the Kdenlive mailing list