[FFmpeg-devel] [PATCH] Chinese AVS encoder

Stefan Gehrer stefan.gehrer
Sat Jul 21 11:06:42 CEST 2007

Hash: SHA1


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.


Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cavsenc.diff
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070721/44384e6d/attachment.txt>

More information about the ffmpeg-devel mailing list