[FFmpeg-devel] [RFC 00/10] AV_SAMPLE_FMT_DSD

Peter Ross pross at xvid.org
Wed May 7 09:38:08 CEST 2014


On Tue, May 06, 2014 at 08:38:21PM +0530, Anshul wrote:
> Peter Ross <pross at xvid.org> wrote:
> >RFC:
> >
> >Direct Stream Digital (DSD), a.k.a One bit audio (OBA), is an
> >alternative to PCM.
> >It can be found in Super Audio CDs and hi-res downloadable music.
> >
> >Changes:
> >- add sample fmt
> >- move DSD-to-PCM conversion from libavcodec/dsddec into libswresample
> >- DSD-over-PCM encoder, enabling bit perfect playback to external
> >hardware
> >
> >Peter Ross (10):
> >  add AV_SAMPLE_FMT_DSD and AV_SAMPLE_FMT_DSDP
> >  swresample/audioconvert: integrate DSD to PCM conversion
> >  swresample/audioconvert: display error message if not conversion not
> >    supported
> >  avfiter/af_aresample: when converting DSD->PCM and no output sample
> >    rate is specified, reduce output sample rate by
> >    swr_dsd2pcm_sr_factor()
> >  avcodec/dsd: rework codecs to use AV_SAMPLE_FMT_DSD
> >  avformat/uncodedframecrcenc: process AV_SAMPLE_FMT_DSD and
> >    AV_SAMPLE_FMT_DSD
> >  DSD-over-PCM (DoP)
> >  avformat/riff: enable DoP muxing
> >  avformat/iff: report actual DSD sample rate
> >  avformat/dsfdec: report actual DSD sample rate
> >
> > Changelog                        |   1 +
> > doc/APIchanges                   |   6 ++
> > doc/general.texi                 |   1 +
> > libavcodec/Makefile              |  10 +-
> > libavcodec/allcodecs.c           |   9 +-
> > libavcodec/avcodec.h             |   1 +
> > libavcodec/codec_desc.c          |  15 ++-
> >libavcodec/dop.c                 | 172
> >++++++++++++++++++++++++++++++++++
> > libavcodec/dsd_tablegen.c        |  38 --------
> > libavcodec/dsd_tablegen.h        |  95 -------------------
> >libavcodec/dsddec.c              | 198
> >+++++++++++++++++++--------------------
> > libavcodec/utils.c               |   3 +
> > libavfilter/af_aresample.c       |   6 ++
> > libavformat/dsfdec.c             |   3 +-
> > libavformat/iff.c                |   2 +-
> > libavformat/riff.c               |   1 +
> > libavformat/riffenc.c            |   3 +-
> > libavformat/uncodedframecrcenc.c |   2 +
> > libavutil/samplefmt.c            |  13 ++-
> > libavutil/samplefmt.h            |   3 +
> > libswresample/Makefile           |  18 ++++
> > libswresample/audioconvert.c     |  65 ++++++++++++-
> > libswresample/audioconvert.h     |  11 ++-
> > libswresample/dsd_tablegen.h     |  95 +++++++++++++++++++
> > libswresample/swresample.c       |  24 ++++-
> > libswresample/swresample.h       |   7 ++
> > 26 files changed, 543 insertions(+), 259 deletions(-)
> > create mode 100644 libavcodec/dop.c
> > delete mode 100644 libavcodec/dsd_tablegen.c
> > delete mode 100644 libavcodec/dsd_tablegen.h
> > create mode 100644 libswresample/dsd_tablegen.h
> 
> Is dop also related to default behaviour of audio transcoding ?

Can you restate/rephrase the question?

DoP is a method of transporting DSD (one-bit audio) samples over PCM.
This is done expressly for the purpose of feeding an external DSD DAC.

Usage:
./ffmpeg -i sample.dff -acodec dop_s24le out.wav
then play back out.wav file to dac

http://dsd-guide.com/dop-open-standard

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140507/10f46980/attachment.asc>


More information about the ffmpeg-devel mailing list