I seem to be having all sorts of issues setting codec data again.
I have code like this:

static const CodecInfo* ci = 0;
while( (ci = CodecInfo::match(OutputCodecID, CodecInfo::Video, ci))
             && !CanEncode( ci ))
     {
          dumpCodec(ci);
     }
Creators::SetCodecAttr(*ci, "BitRate", OutputBitRate);
SetCodecAttr(*ci, "BitRate",   OutputBitRate );

I have a client that loops through the codecs and dumps interesting data
to the console. From there I find the following, which lead me to also
set "bitrate" value too. The only thing I can think is that I am setting
them too late, by the time CodecInfo::match() is called the codec is
inited too much.

Name: DivX5.0
About: DivX4/DivX5
 MPEG-4 Codec is produced by DivXNetworks, Inc.

Win32DLL: 
module name: /usr/lib/avifile0.7/divx4.so
Fourcc: DX50
Also handles fourcc : DX50 dx50
kind: Plugin 
Video codec
Can encode
Can decode
  name  : bitrate
    about : Desired stream bitrate in bits/second
    kind  : Integer, min:0 max:10000000
  name  : quality
    about : Performance/quality balance ( 5 slowest )
    kind  : Integer, min:0 max:5
  name  : rc_period
    about : Rate control averaging period
    kind  : Integer, min:0 max:10000
  name  : rc_reaction_period
    about : Rate control reaction period
    kind  : Integer, min:0 max:100
  name  : rc_reaction_ratio
    about : Rate control motion sensitivity
    kind  : Integer, min:0 max:100
  name  : max_key_interval
    about : Maximum key frame interval
    kind  : Integer, min:0 max:500
  name  : min_quantizer
    about : Minimum quantizer
    kind  : Integer, min:1 max:31
  name  : max_quantizer
    about : Maximum quantizer
    kind  : Integer, min:1 max:31


from RTFS a little I see a header comment that is seemingly misleading
because the function SetExtendedAttr() is undefined. What is the method
to set these data?

avifile-0.7.7]$ find . -name "*h" -exec grep SetExtendedAttr -H {} \;
./include/videoencoder.h: * static func SetExtendedAttr(), which takes
FOURCC of codec, 
./include/videoencoder.h: * SetExtendedAttr() should be called before
object creation,
./include/videodecoder.h: * of doing it. 1) Use Get/SetExtendedAttr() to
store parameter values



-- 
-----------------------------------------------------
http://witme.sourceforge.net/libferris.web/


_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile

Reply via email to