codestation/qcma

issues with ffmpeg and arch linux

Closed this issue · 3 comments

It looks like Arch linux has a new version of ffmpeg that is incompatible with qcma. Heres a snippit:

/usr/include/libavformat/avformat.h:877:21: note: declared here
     AVCodecContext *codec;
                     ^~~~~
../../common/avdecoder.cpp: In member function ‘AVFrame* AVDecoder::getDecodedFrame(AVCodecContext*, int)’:
../../common/avdecoder.cpp:142:78: warning: ‘int avcodec_decode_video2(AVCodecContext*, AVFrame*, int*, const AVPacket*)’ is deprecated [-Wdeprecated-declarations]
             avcodec_decode_video2(codec_ctx, pFrame, &frame_finished, &packet);
                                                                              ^
In file included from ../../common/avdecoder.h:26,
                 from ../../common/avdecoder.cpp:21:
/usr/include/libavcodec/avcodec.h:4755:5: note: declared here
 int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
     ^~~~~~~~~~~~~~~~~~~~~
../../common/avdecoder.cpp:142:78: warning: ‘int avcodec_decode_video2(AVCodecContext*, AVFrame*, int*, const AVPacket*)’ is deprecated [-Wdeprecated-declarations]
             avcodec_decode_video2(codec_ctx, pFrame, &frame_finished, &packet);
                                                                              ^
In file included from ../../common/avdecoder.h:26,
                 from ../../common/avdecoder.cpp:21:
/usr/include/libavcodec/avcodec.h:4755:5: note: declared here
 int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
     ^~~~~~~~~~~~~~~~~~~~~
../../common/avdecoder.cpp: In member function ‘QByteArray AVDecoder::WriteJPEG(AVCodecContext*, AVFrame*, int, int)’:
../../common/avdecoder.cpp:353:34: error: ‘CODEC_FLAG_QSCALE’ was not declared in this scope
     pOCodecCtx->flags          = CODEC_FLAG_QSCALE;
                                  ^~~~~~~~~~~~~~~~~
../../common/avdecoder.cpp:353:34: note: suggested alternative: ‘AV_CODEC_FLAG_QSCALE’
     pOCodecCtx->flags          = CODEC_FLAG_QSCALE;
                                  ^~~~~~~~~~~~~~~~~
                                  AV_CODEC_FLAG_QSCALE
../../common/avdecoder.cpp:366:66: warning: ‘int avcodec_encode_video2(AVCodecContext*, AVPacket*, const AVFrame*, int*)’ is deprecated [-Wdeprecated-declarations]
     avcodec_encode_video2(pOCodecCtx, &pkt, pFrameRGB, &gotPacket);
                                                                  ^
In file included from ../../common/avdecoder.h:26,
                 from ../../common/avdecoder.cpp:21:
/usr/include/libavcodec/avcodec.h:5386:5: note: declared here
 int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
     ^~~~~~~~~~~~~~~~~~~~~
../../common/avdecoder.cpp:366:66: warning: ‘int avcodec_encode_video2(AVCodecContext*, AVPacket*, const AVFrame*, int*)’ is deprecated [-Wdeprecated-declarations]
     avcodec_encode_video2(pOCodecCtx, &pkt, pFrameRGB, &gotPacket);
                                                                  ^
In file included from ../../common/avdecoder.h:26,
                 from ../../common/avdecoder.cpp:21:
/usr/include/libavcodec/avcodec.h:5386:5: note: declared here
 int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
     ^~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:946: avdecoder.o] Error 1
make[1]: Leaving directory '/home/connor/oss/vita/qcma/build/common'
make: *** [Makefile:47: sub-common-make_first] Error 2
 !  ~/o/v/qcma   …  build                                                                                                                                               18.6s  Sun 01 Jul 2018 11:55:55 AM PDT

Are you building from AUR? i put a patch there to deal with that error

https://aur.archlinux.org/cgit/aur.git/tree/qcma-avdecoder.patch?h=qcma

I haven't pushed to the repo yet since i didn't have time to test if it break on older ffmpeg versions.

Ah i haven't tried from the aur. Will report back.

Just installed via the AUR and it worked great! thanks!