Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-10-10 Thread Alexander Strasser
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

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-10-10 Thread wm4
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

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-10-10 Thread Alexander Strasser
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

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-10-08 Thread Reimar Döffinger
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

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-10-07 Thread Michael Niedermayer
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]; > > >

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-10-06 Thread Peter Ross
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

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-09-30 Thread Reimar Döffinger
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)

Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-09-30 Thread compn
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

[FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder

2014-09-30 Thread Peter Ross
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