>>  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

Reply via email to