diff mbox

[FFmpeg-devel] libavdevice/decklink: enable 16 output channel

Message ID aebc6b75-1a4a-e493-032e-9d277f81dd45@gmail.com
State Accepted
Commit 84ee6512ed70e4eeb37559e2ed1d830d198c8a15
Headers show

Commit Message

pkv.stream Aug. 23, 2017, 4:51 p.m. UTC
Hello

the following patch extends number of output channel for decklink 
devices to 16. Previously it was limited to 2 or 8 audio channels.

Thanks for any comments.
From 681e389e4946e079d7db5892f98a82a5b75ad297 Mon Sep 17 00:00:00 2001
From: pkviet <pkv.stream@gmail.com>
Date: Sun, 2 Jul 2017 23:50:56 +0200
Subject: [PATCH] libavdevice/decklink: enable 16 output channel

Decklink devices can output 2, 8 or 16 audio channels along video.
The code was limited to 2 or 8 channels. The commit enables 16 audio
channels (relevant for SDI outputs).
---
 libavdevice/decklink_enc.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

wm4 Aug. 23, 2017, 5:28 p.m. UTC | #1
On Wed, 23 Aug 2017 18:51:45 +0200
"pkv.stream" <pkv.stream@gmail.com> wrote:

> Hello
> 
> the following patch extends number of output channel for decklink 
> devices to 16. Previously it was limited to 2 or 8 audio channels.
> 
> Thanks for any comments.
> 
> 

What channel layouts do configurations with channels 9 to 16 use?
pkv.stream Aug. 23, 2017, 5:37 p.m. UTC | #2
Le 23/08/2017 à 7:28 PM, wm4 a écrit :
> On Wed, 23 Aug 2017 18:51:45 +0200
> "pkv.stream" <pkv.stream@gmail.com> wrote:
>
>> Hello
>>
>> the following patch extends number of output channel for decklink
>> devices to 16. Previously it was limited to 2 or 8 audio channels.
>>
>> Thanks for any comments.
>>
>>
> What channel layouts do configurations with channels 9 to 16 use?
> _______________________________________________
for 16 channels, that's hexadecagonal channel layout.
There aren't any in between 8 and 16 declared in libavutil.
One goes from octagonal 8.0 and the various 7.1 straight to 16.0 = 
hexadecagonal
Intermediate layouts might be interesting for ambisonics of various orders.
Kieran Kunhya Aug. 23, 2017, 7:16 p.m. UTC | #3
On Wed, 23 Aug 2017, 18:28 wm4 <nfxjfg@googlemail.com> wrote:

> On Wed, 23 Aug 2017 18:51:45 +0200
> "pkv.stream" <pkv.stream@gmail.com> wrote:
>
> > Hello
> >
> > the following patch extends number of output channel for decklink
> > devices to 16. Previously it was limited to 2 or 8 audio channels.
> >
> > Thanks for any comments.
> >
> >
>

Could be anything in theory. More often than not, stereo pairs of
languages, or clean audio.

Kieran

>
Matthias Hunstock Aug. 23, 2017, 8:32 p.m. UTC | #4
Am 23.08.2017 um 19:28 schrieb wm4:
> What channel layouts do configurations with channels 9 to 16 use?

There is no concept like stream or track in SDI. It just has 16 mono
channels without any semantics which are arbitrarily mapped to whatever
you need to transport.


@pkv.stream: HDMI 1.x does only support up to 8 channels (7.1), which
might be the reason for the missing 16. Did you test what happens when
16 audio channels are requested for HDMI out?

(yes, selection of decklink video output connection via ffmpeg options
is still missing).


Matthias
pkv.stream Aug. 23, 2017, 9:19 p.m. UTC | #5
Le 23/08/2017 à 10:32 PM, Matthias Hunstock a écrit :
> Am 23.08.2017 um 19:28 schrieb wm4:
>> What channel layouts do configurations with channels 9 to 16 use?
> There is no concept like stream or track in SDI. It just has 16 mono
> channels without any semantics which are arbitrarily mapped to whatever
> you need to transport.
you provided the right answer to wm4; I had not understood his question. 
Thanks.

>
>
> @pkv.stream: HDMI 1.x does only support up to 8 channels (7.1), which
> might be the reason for the missing 16. Did you test what happens when
> 16 audio channels are requested for HDMI out?
yes, no error thrown; every odd channel (1, 3 , 5 ...) is streamed from 
the source to the HDMI output (in my case decklink studio 4k which 
accepts 8 channel output, I am not aware of any decklink with more than 
8 channels out, anyway). The other even channels are thrown out.

As for SDI output, the 16 channels are sent without issues.

>
> (yes, selection of decklink video output connection via ffmpeg options
> is still missing).
the output is sent to all interfaces, both sdi and hdmi, at least in my 
decklink studio 4K.

>
>
> Matthias
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Marton Balint Aug. 27, 2017, 4:14 p.m. UTC | #6
On Wed, 23 Aug 2017, pkv.stream wrote:

> Hello
>
> the following patch extends number of output channel for decklink devices to 
> 16. Previously it was limited to 2 or 8 audio channels.
>
> Thanks for any comments.

Thanks, applied.

Regards,
Marton
pkv.stream Aug. 27, 2017, 5:19 p.m. UTC | #7
Le 27/08/2017 à 6:14 PM, Marton Balint a écrit :
>
>
> On Wed, 23 Aug 2017, pkv.stream wrote:
>
>> Hello
>>
>> the following patch extends number of output channel for decklink 
>> devices to 16. Previously it was limited to 2 or 8 audio channels.
>>
>> Thanks for any comments.
>
> Thanks, applied.
>
> Regards,
> Marton
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

thanks Marton
diff mbox

Patch

diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp
index be01bcd..25ce7d0 100644
--- a/libavdevice/decklink_enc.cpp
+++ b/libavdevice/decklink_enc.cpp
@@ -172,9 +172,9 @@  static int decklink_setup_audio(AVFormatContext *avctx, AVStream *st)
                " Only 48kHz is supported.\n");
         return -1;
     }
-    if (c->channels != 2 && c->channels != 8) {
+    if (c->channels != 2 && c->channels != 8 && c->channels != 16) {
         av_log(avctx, AV_LOG_ERROR, "Unsupported number of channels!"
-               " Only stereo and 7.1 are supported.\n");
+               " Only 2, 8 or 16 channels are supported.\n");
         return -1;
     }
     if (ctx->dlo->EnableAudioOutput(bmdAudioSampleRate48kHz,