On 2017-10-17 12:44, Devin Heitmueller wrote:

The decklink sdk only defines two BMDAudioSampleType values: bmdAudioSampleType16bitInteger and bmdAudioSampleType32bitInteger. I don't think there's an easy way to support a 24 bit input here. Generally in this case I've used bmdAudioSampleType32bitInteger and then encode it at pcm_s24le.
Dave Rice

For what it’s worth, I’ve got deinterleaving code in the works to
handle capture of multiple pairs of audio (i.e. break 16 channels into
8 pairs and announce them as separate S16LE streams).  If we really
thought 24-bit was desirable, that code could be adjusted accordingly
(the hardware would still capture 32-bit, but the deinterleaver would
put out S24LE).


I am not really sure I follow. I am not sure supporting 24-bit is a big issue. A sample size of 32-bit should work fine for most folks. I can only think of people (in the output stream) converting to 24-bits (via truncate or dither*) to save disk space or pre-processing for some other step [compression] (but video is really the bit-hog). I only mentioned 24-bits because the ADC/DACs are mentioned at supporting PCM 24-bits natively meaning the PCI card is (assuming) padding the LSB (hence truncate is more logical for any conversion 32->24). AS for what comes in digitally over SDI or HDMI is too assumed to only support PCM 24-bits (but it is subject to standards that can update).

Making the workflow (stream capturing) of 32-bits is simpler, and moving any bit-depth conversion to the output stream side. Only concerns would be CPU processing (of which truncating bits is very fast and logical due to the assumed padding).

--Doug (dx9s)

*dither= I am not aware of any audio bit-depth dithering algorithms in FFMPEG, however it would make sense they do exist as this software is quite simply an amazing 'swiss-army knife'


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to