On 2014-10-10 10:33 +0200, wm4 wrote:
> On Fri, 10 Oct 2014 09:57:20 +0200
> Alexander Strasser wrote:
>
> > On 2014-10-09 08:13 +0200, Reimar Döffinger wrote:
> > > On 7 October 2014 08:41:09 CEST, Peter Ross wrote:
> > [...]
> > > >> > +if ((ret = init_get_bits8(&gb, avpkt->data, avpkt->si
On Fri, 10 Oct 2014 09:57:20 +0200
Alexander Strasser wrote:
> On 2014-10-09 08:13 +0200, Reimar Döffinger wrote:
> > On 7 October 2014 08:41:09 CEST, Peter Ross wrote:
> [...]
> > >> > +if ((ret = init_get_bits8(&gb, avpkt->data, avpkt->size)) < 0)
> > >> > +if ((ret = read_map(&gb, &fs
On 2014-10-09 08:13 +0200, Reimar Döffinger wrote:
> On 7 October 2014 08:41:09 CEST, Peter Ross wrote:
[...]
> >> > +if ((ret = init_get_bits8(&gb, avpkt->data, avpkt->size)) < 0)
> >> > +if ((ret = read_map(&gb, &fsets, map_ch_to_felem,
> >avctx->channels)) < 0)
> >> > +if ((ret
On 7 October 2014 08:41:09 CEST, Peter Ross wrote:
>> > +for (k = 0; k < 256; k++) {
>> > +int v = 0;
>> > +for (l = 0; l < total; l++)
>> > +v += (((k >> l) & 1) * 2 - 1) *
>fsets->coeff[i][j * 8 + l];
>>
>> Is this faster in a rele
On Tue, Oct 07, 2014 at 05:41:09PM +1100, Peter Ross wrote:
> Thanks for the review (also thanks compn).
> I will address all your comments -- some further questions below:
[...]
> > > +unsigned int half_prob[DST_MAX_CHANNELS];
> > > +unsigned int map_ch_to_felem[DST_MAX_CHANNELS];
> > >
Thanks for the review (also thanks compn).
I will address all your comments -- some further questions below:
On Tue, Sep 30, 2014 at 09:00:12PM +0200, Reimar Döffinger wrote:
> On Tue, Sep 30, 2014 at 11:42:20PM +1000, Peter Ross wrote:
> > +/**
> > + * Calculate FS44 ratio
> > + */
> > +#define D
On Tue, Sep 30, 2014 at 11:42:20PM +1000, Peter Ross wrote:
> +/**
> + * Calculate FS44 ratio
> + */
> +#define DSD_FS44(sample_rate) (sample_rate / 44100)
> +
> +/**
> + * Calculate DST frame size
> + * @return samples per frame (1-bit samples)
> + */
> +#define DST_SAMPLES_PER_FRAME(sample_rate)
On Tue, 30 Sep 2014 23:42:20 +1000
Peter Ross wrote:
> +++ b/libavcodec/allcodecs.c
> @@ -343,6 +343,7 @@ void avcodec_register_all(void)
> REGISTER_ENCDEC (DSD_MSBF, dsd_msbf);
> REGISTER_ENCDEC (DSD_LSBF_PLANAR, dsd_lsbf_planar);
> REGISTER_ENCDEC (DSD_MSBF_PLANAR, d
Signed-off-by: Peter Ross
---
DST (described in 14496 Part 3 Subpart 10) is the lossless compression standard
for DSD samples. My implementation is ~45% faster than the reference decoder.
Even so, single threaded decoding is still very demanding and there does not
appear to much scope for SIMD opt