>> create mode 100644 libavcodec/diracdec.c > > The version bump is missing, see > > http://www.libav.org/developer.html#New-codecs-or-formats-checklist
Ok, sorry > > Does the Dirac decoder compile standalone? It should, I'll follow the checklist in webpage carefully. > > It would be nice to get FATE tests as followup commits. Agree, lets first do this monster a beauty girl and then we go for the other beast (fate) =) > >> + @tab supported through external library libschroedinger and native >> decoder > > This is somewhat unclear, > > @tab encoding supported through external library libschroedinger, decoding > supported through either libschroedinger or native decoder ok > > BTW, have you benchmarked our decoder against libdirac or libschroedinger? > No. But libschroedinger is faster and libdirac is considered as not maintained (I don't use it at all). I have some code that isn't in this patch with some asm enhancements made by David, then this version should be faster. >> + >> +/** >> + * The spec limits the number of wavelet decompositions to 4 for both >> + * level 1 (VC-2) and 128 (long-gop default). >> + * 5 decompositions is the maximum before >16-bit buffers are needed. >> + * Schroedinger allows this for DD 9,7 and 13,7 wavelets only, limiting >> + * the others to 4 decompositions (or 3 for the fidelity filter). >> + * >> + * We use this instead of MAX_DECOMPOSITIONS to save some memory. >> + */ >> +#define DIRAC_MAX_DWT_LEVELS 5 > > Why are this and many other comments Doxygen? They look file-specific > to me... > >> +typedef struct DiracContext { >> + /** >> + * Schroedinger older than 1.0.8 doesn't store >> + * quant delta if only one codebook exists in a band >> + */ >> + unsigned old_delta_quant; >> + unsigned codeblock_mode; > > All other comments on this struct are not Doxygen ... Ok. >> +static int dirac_unpack_prediction_parameters(DiracContext *s) >> +{ >> + if (idx == 0) { >> + s->plane[0].xblen = svq3_get_ue_golomb(gb); >> + s->plane[0].yblen = svq3_get_ue_golomb(gb); >> + s->plane[0].xbsep = svq3_get_ue_golomb(gb); >> + s->plane[0].ybsep = svq3_get_ue_golomb(gb); > > unrelated: I keep wondering why this function has a "svq3_" prefix. I'll try to check this on the standard and answer soon =) Patch coming soon... -- Jordi Ortiz mailto: nenjo...@gmail.com http://www.jordiortiz.es _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel