MIVisionX icon indicating copy to clipboard operation
MIVisionX copied to clipboard

[amd_media] Build error with `ffmpeg>4`

Open acxz opened this issue 3 years ago • 1 comments

/build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/kernels.cpp: In function ‘vx_status initialize_ffmpeg()’:
/build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/kernels.cpp:98:5: error: ‘av_register_all’ was not declared in this scope
   98 |     av_register_all();
      |     ^~~~~~~~~~~~~~~
make[2]: *** [amd_openvx_extensions/amd_media/CMakeFiles/vx_amd_media.dir/build.make:104: amd_openvx_extensions/amd_media/CMakeFiles/vx_amd_media.dir/kernels.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 31%] Building CXX object amd_openvx_extensions/amd_opencv/CMakeFiles/vx_opencv.dir/source/internal_publishKernels.cpp.o
[ 31%] Building CXX object amd_openvx_extensions/amd_nn/CMakeFiles/vx_nn.dir/src/activation_layer.cpp.o
/build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/decoder.cpp: In member function ‘vx_status CLoomIoMediaDecoder::Initialize()’:
/build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/decoder.cpp:467:78: error: invalid conversion from ‘AVCodec**’ to ‘const AVCodec**’ [-fpermissive]
  467 |         err = av_find_best_stream(formatContext, AVMEDIA_TYPE_VIDEO, -1, -1, &decoder, 0);
      |                                                                              ^~~~~~~~
      |                                                                              |
      |                                                                              AVCodec**
In file included from /build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/kernels.h:33,
                 from /build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/decoder.cpp:24:
/usr/include/libavformat/avformat.h:2165:41: note:   initializing argument 5 of ‘int av_find_best_stream(AVFormatContext*, AVMediaType, int, int, const AVCodec**, int)’
 2165 |                         const AVCodec **decoder_ret,
      |                         ~~~~~~~~~~~~~~~~^~~~~~~~~~~
/build/mivisionx/src/MIVisionX-rocm-5.2.0/amd_openvx_extensions/amd_media/decoder.cpp:477:68: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  477 |                 AVCodecContext * vcc = formatContext->streams[si]->codec;
      |                                                                    ^~~~~

sysinfo: OS: ArchLinux ffmpeg: 5.0.1 gcc: 12.1.0

acxz avatar Feb 19 '22 16:02 acxz

I tested this again with the latest rocm release 5.2.0 and I am still experiencing this error. @rrawther is it possible to look into this?

acxz avatar Jul 09 '22 17:07 acxz

Hi @acxz if you still see this issue with TOT master, please reopen this issue. Currently we are using FFMPEG n4.4.2

kiritigowda avatar Jan 03 '23 21:01 kiritigowda

Tested with 5.4.0 and the issue still exists, @kiritigowda. tested with ffmpeg 6.0

acxz avatar Mar 29 '23 01:03 acxz