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

anshul anshul.ffmpeg at gmail.com
Wed May 7 10:10:51 CEST 2014


On 05/07/2014 01:08 PM, Peter Ross wrote:
> 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)
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
If i have aac audio with pcm raw data inside, if i transcode  from aac 
to mp3 then in mp3 there will be pcm or
this dsd sample format.

I dont know lot about dsd, i am worried about my audio's pcm. (default 
behaviour of FFmpeg)

I use below command
ffmpeg -i some.aac out.mp3

-Anshul



More information about the ffmpeg-devel mailing list