bmdtools install

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

Kevin Lindgren

  • Posts: 1
  • Joined: Sat Sep 13, 2014 12:30 am

bmdtools install

PostSat Sep 13, 2014 12:36 am

Hello All,

New to BlackMagic. I am attempting to install bmdtools, and I am getting the following errors when attempting to run make SDK_PATH=/path/to/the/bmd/include (Of course I am using the actual path).

bmdcapture.cpp:60: error: use of enum ‘AVSampleFormat’ without previous declaration
bmdcapture.cpp:60: error: invalid type in declaration before ‘=’ token
bmdcapture.cpp:60: error: ‘AV_SAMPLE_FMT_S16’ was not declared in this scope
bmdcapture.cpp:188: error: use of enum ‘AVCodecID’ without previous declaration
bmdcapture.cpp: In function ‘AVStream* add_audio_stream(AVFormatContext*, int)’:
bmdcapture.cpp:194: error: ‘avformat_new_stream’ was not declared in this scope
bmdcapture.cpp:201: error: invalid conversion from ‘int’ to ‘CodecID’
bmdcapture.cpp:205: error: invalid conversion from ‘int’ to ‘SampleFormat’
bmdcapture.cpp:220: error: ‘avcodec_open2’ was not declared in this scope
bmdcapture.cpp: At global scope:
bmdcapture.cpp:228: error: use of enum ‘AVCodecID’ without previous declaration
bmdcapture.cpp: In function ‘AVStream* add_video_stream(AVFormatContext*, int)’:
bmdcapture.cpp:234: error: ‘avformat_new_stream’ was not declared in this scope
bmdcapture.cpp:241: error: invalid conversion from ‘int’ to ‘CodecID’
bmdcapture.cpp:258: error: ‘AV_CODEC_ID_V210’ was not declared in this scope
bmdcapture.cpp:273: error: ‘avcodec_open2’ was not declared in this scope
bmdcapture.cpp: At global scope:
bmdcapture.cpp:281: error: use of enum ‘AVCodecID’ without previous declaration
bmdcapture.cpp: In function ‘AVStream* add_data_stream(AVFormatContext*, int)’:
bmdcapture.cpp:287: error: ‘avformat_new_stream’ was not declared in this scope
bmdcapture.cpp:294: error: invalid conversion from ‘int’ to ‘CodecID’
bmdcapture.cpp: In function ‘int main(int, char**)’:
bmdcapture.cpp:709: error: ‘AVDictionary’ was not declared in this scope
bmdcapture.cpp:709: error: ‘opts’ was not declared in this scope
bmdcapture.cpp:748: error: ‘AV_SAMPLE_FMT_S16’ was not declared in this scope
bmdcapture.cpp:751: error: ‘AV_SAMPLE_FMT_S32’ was not declared in this scope
bmdcapture.cpp:769: error: ‘PIX_FMT_YUV422P10’ was not declared in this scope
bmdcapture.cpp:803: error: ‘av_dict_parse_string’ was not declared in this scope
bmdcapture.cpp:960: error: ‘AV_CODEC_ID_RAWVIDEO’ was not declared in this scope
bmdcapture.cpp:960: error: ‘AV_CODEC_ID_V210’ was not declared in this scope
bmdcapture.cpp:961: error: ‘AV_SAMPLE_FMT_S16’ was not declared in this scope
bmdcapture.cpp:961: error: ‘AV_CODEC_ID_PCM_S16LE’ was not declared in this scope
bmdcapture.cpp:961: error: ‘AV_CODEC_ID_PCM_S32LE’ was not declared in this scope
bmdcapture.cpp:967: error: ‘AV_CODEC_ID_TEXT’ was not declared in this scope
bmdcapture.cpp:970: error: ‘AVIO_FLAG_WRITE’ was not declared in this scope
bmdcapture.cpp:970: error: ‘avio_open’ was not declared in this scope
bmdcapture.cpp:976: error: ‘avformat_write_header’ was not declared in this scope
bmdcapture.cpp:1021: error: ‘avio_close’ was not declared in this scope
make: *** [bmdcapture] Error 1


Im on CentOS 6.5 using Decklink SDK 10.1.4

Anyone else come across this issue, and/or can anyone assist here?

Thanks!
Offline

Paul Parsons

  • Posts: 27
  • Joined: Wed Apr 30, 2014 10:38 pm

Re: bmdtools install

PostMon Sep 15, 2014 9:33 pm

It looks like you are missing the libav libraries (libavcodec, libavformat, libswscale, libavutil) required by the Makefile.

However, it turns out that there are two separate implementations of the libav libraries:

1. libav from http://libav.org/
2. ffmpeg from http://ffmpeg.org/

With libav, I get errors when I try to build bmdtools:
Code: Select all
bmdcapture.cpp: In function ‘int main(int, char**)’:
bmdcapture.cpp:803:64: error: ‘av_dict_parse_string’ was not declared in this scope
make: *** [bmdcapture] Error 1

With ffmpeg, I get warnings - but no errors - when I try to build bmdtools:
Code: Select all
bmdplay.cpp: In member function ‘bool Player::Init(int, int, int)’:
bmdplay.cpp:527:39: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat]
bmdplay.cpp:580:15: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3422) [-Wdeprecated-declarations]
bmdplay.cpp:580:35: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3422) [-Wdeprecated-declarations]

So I would suggest installing the ffmpeg package on to your system before building bmdtools.

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 8 guests