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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to