[FFmpeg-devel] [PATCH] avdevice/decklink_dec: Extract 1080i and NTSC VANC

Marton Balint cus at passwd.hu
Sun Jan 28 23:54:10 EET 2018


On Thu, 25 Jan 2018, Ray Tiley wrote:

> On Tue, Jan 23, 2018 at 9:07 AM Devin Heitmueller <
> dheitmueller at ltnglobal.com> wrote:
>
>> Hi Ray,
>>
>>> On Jan 22, 2018, at 11:20 PM, Ray Tiley <raytiley at gmail.com> wrote:
>>>
>>> I'm reading 334-1:2017 Sec 4
>>> "When the ANC packets defined in this standard are carried in a high
>>> definition signal, they shall be carried in the Y stream."
>>>
>>> I couldn't find anywhere in the document where it calls out standard
>>> definition
>>
>> Right, so my understanding was that allowing the ability to use both luma
>> and chroma was a result of having less space in the VANC to hold data,
>> compared to HD resolutions where that is much less likely to be an issue.
>> That said, I’ve never seen an implementation that actually puts it in the
>> chroma.
>>
>>>
>>> Conversation is here:
>>> https://video-dev.slack.com/archives/C0XKDDH5Y/p1516141555000074 <
>> https://video-dev.slack.com/archives/C0XKDDH5Y/p1516141555000074> with
>>> kierank at obe.tv <mailto:kierank at obe.tv> who I believe is in the
>> ffmpeg-devel IRC.
>>>
>>
>> Ah, ok.  That’s Kieran.  He’s really knowledgable in this area, although I
>> cannot see the conversation you’ve linked to as it seems that room is only
>> accessible by people with email accounts from certain domains.
>>
>> Devin
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
> Please find updated patch attatched. I reverted the vanc lines changes and
> found that all my tests worked as expected, so not sure what was wrong w/
> my original test. The need to extract vanc from the entire line vs just the
> luma in NTSC is still required.

Is interleaved VANC data is always the case for SD NTSC, or it depends on 
the equipment? Maybe we should add some auto detection, and check for the 
first VANC header. E.g.

if (ctx->bmd_mode == bmdModeNTSC &&
     (*(uint32_t*)buf & 0x3ffffffff == 0x3fffffc00))
     unpack_v210 
else
     unpack_luma_v210

Also, later on in the code, you only parse half of the decoded VANC. 
If you decode from both the luma and chroma, get_metadata should be called 
with frame width*2, no?

Regards,
Marton


More information about the ffmpeg-devel mailing list