ConvertFrame() returned: 0x80000001

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message

Takashi Mochizuki

  • Posts: 4
  • Joined: Sun Sep 17, 2017 12:31 am

ConvertFrame() returned: 0x80000001

PostSun Sep 27, 2020 8:19 am

I am trying to create bmdFormat12BitRGBLE(R12L) from bmdFormat8BitYUV(2vuy).
It always returned E_NOTIMPL. Is there any error in my code?
Code: Select all
// videoFrame->dlRGB using IDeckLinkVideoConversion::ConvertFrame()
    NSLog(@"videoFrame: w=%ld, h=%ld, stride=%ld, format=%@",
          videoFrame->GetWidth(), videoFrame->GetHeight(), videoFrame->GetRowBytes(),
    NSLog(@"     dlRGB: w=%ld, h=%ld, stride=%ld, format=%@",
          dlRGB->GetWidth(), dlRGB->GetHeight(), dlRGB->GetRowBytes(),

    HRESULT err = conversion->ConvertFrame(videoFrame, dlRGB);
    NSLog(@"IDeckLinkVideoConversion::ConvertFrame() returned: 0x%08x", err);
    if (err != S_OK) return FALSE;
Actual output is following:
Code: Select all
2020-09-27 17:01:42.701461+0900 DLABTest[29091:1129429] videoFrame:w=720, h=486, stride=1440, format='2vuy'
2020-09-27 17:01:42.701642+0900 DLABTest[29091:1129429]      dlRGB:w=720, h=486, stride=3240, format='R12L'
2020-09-27 17:01:42.701749+0900 DLABTest[29091:1129429] IDeckLinkVideoConversion::ConvertFrame() returned: 0x80000001

Cameron Nichols

Blackmagic Design

  • Posts: 304
  • Joined: Mon Sep 04, 2017 4:05 am

Re: ConvertFrame() returned: 0x80000001

PostMon Sep 28, 2020 12:08 am

Hi Takashi,

There is no direct conversion path from bmdFormat8BitYUV to bmdFormat12BitRGBLE, hence why IDeckLinkVideoConversion::ConvertFrame returns E_NOTIMPL.

To implement this conversion path, you will need 2-stages:
  • bmdFormat8BitYUV - 8-bit 4:2:2 SMPTE range, to
  • bmdFormat8BitARGB - 8-bit 4:4:4:4 full-range, to
  • bmdFormat12BitRGBLE - 12-bit 4:4:4 full-range

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 8 guests