>> 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: [email protected]
http://www.jordiortiz.es
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel