[FFmpeg-devel] [PATCH 3/4] Add support for 10-bit output for Decklink SDI

Devin Heitmueller dheitmueller at ltnglobal.com
Thu Oct 5 22:21:46 EEST 2017


Hello Marton,

Thanks for taking the time to provide feedback.

>> +      } else {
>> +            *buffer = (void *)(_avpacket->data);
> 
> The DeckLink SDK requires a 128 byte alignment for data. I am thinking AVPacket does not always provides that. Maybe we should simply ignore the SDK requirement (if it works without it?) Can you test this somehow?

The SDK does expect the stride to be a multiple of 128 (which the v210 codec does), and the SDK does suggest that each line should start on a 128-byte aligned boundary.  I’ve worked with three or four different implementations on both the input and output side, and never had an issue where alignment was a problem.  That said, it’s possible that the issue is present on some less common model decklink card, or perhaps the implementation of some feature internal to the SDK has optimized assembly which expects the alignment.

In any case, it would be a pre-existing bug in libavcodec/v210enc.c, not something specific to the decklink output.

If someone wants to point me to an example of aligned allocation in libavcodec, I can take a look.  I think any such issue though would be separate from the content in this patch.

The other issues you mentioned have been addressed and I’m testing the changes now.  I should have updated patches for you shortly.

Regards,

Devin


More information about the ffmpeg-devel mailing list