[FFmpeg-devel] avcodec: add a WavPack DSD decoder

Lynne dev at lynne.ee
Thu Jul 25 18:36:33 EEST 2019


Jul 25, 2019, 6:12 AM by david at wavpack.com:

>>> +        crc += (crc << 1) + code;
>>>
>> Don't NIH CRCs, we have av_crc in lavu. See below how to use it.
>>
>
> It's not a standard crc, but more of a recirculating checksum, so the NIH code is required.
>

Could you not call it a CRC then? "checksum" is more appropriate.
Wish a CRC was used, its so much better than a checksum and only slightly slower.



>>> +        frame->nb_samples = s->samples + 1;
>>> +        if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
>>> +            return ret;
>>> +        frame->nb_samples = s->samples;
>>>
>> ?. Is the extra sample used as temporary buffer or something?
>>
>
> Your guess is as good as mine. This was part of the code "borrowed" from the PCM version (with the threading removed) so maybe
> there is (or was) a situation that was writing one extra sample off the end. The code here certainly doesn't, but it seemed
> pretty innocuous and I don't like just ripping out things I don't understand.
>

Just change it and run it through valgrind, I can't see the code using it.


Rest looks fine to me.


More information about the ffmpeg-devel mailing list