-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, as announced before here is my encoder for Chinese AVS. Features that it does support: - - Intra macroblocks - - P_SKIP macroblocks - - P_16x16 macroblocks - - one or two reference frames - - constant quantizer encoding - - motion estimation using hexagon search and qpel refinement Features that it does not support: - - P_16x8, P_8x16 and P_8x8 macroblocks - - B macroblocks/frames - - rate control - - anything else you might think of To test it, here is a sample command line ./ffmpeg -i in.avi -vcodec cavs -strict -2 -cqp 30 -refs 2 -psnr out.avi - -strict -2 is required for the encoder's experimental nature, I have not thought much about its standard conformance, just that it decodes with my decoder. - -cqp n with n in the range 0 to 63 is required as only fixed quantizer encoding is supported - -refs 2 is optional, one reference frame would be the default - -psnr is optional Michael, regarding your question on cvslog (sorry for crossposting, I wasn't subscribed to cvslog at the time):
Author: stefang Date: Sat Jul 7 09:14:58 2007 New Revision: 9518
Log: move dequantization into it's own inline function
why inline? same question for the other inline functions is there some speed gain from duplicating them in the object files between encoder and decoder?
To be honest I did not think much about object size, it just seemed to be a convenient way to share functions this way instead of having to create ff_cavs_foobar names and without creating function call overhead that was not there before. If you think object size would be a problem I can of course move some functions back from cavs.h to cavs.c. Stefan -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGocyhYpYOlpT3vNMRArJrAKC5aQQ40GEmegoLh8u0b0HCc0f60QCgzgc4 tMea5NiHbnlzxikJYvkl9Q4= =0R8q -----END PGP SIGNATURE-----