You are not logged in.

#1 2014-02-19 08:08:05

Lockheed
Member
Registered: 2010-03-16
Posts: 1,521

Problem compiling kdenlive-git

I tried installing kdenlive-git in several ways, but every time I get this:

producer_avformat.c: In function ‘producer_get_audio’:
producer_avformat.c:2270:4: warning: ‘request_channels’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:1926) [-Wdeprecated-declarations]
codec_context->request_channels = self->audio_index == INT_MAX ? codec_context->channels : *channels;
^
<builtin>: recipe for target 'producer_avformat.o' failed
make[2]: *** [producer_avformat.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/tmp/aur-mlt-git/src/mlt-build/src/modules/avformat'
Makefile:5: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/tmp/aur-mlt-git/src/mlt-build/src/modules'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 1
==> ERROR: A failure occurred in build().
Aborting...

Anyone knows what could be wrong?

Last edited by Lockheed (2014-02-19 08:08:52)

Offline

#2 2014-02-19 08:56:53

pks
Member
From: Germany
Registered: 2012-07-20
Posts: 110

Re: Problem compiling kdenlive-git

It doesn't look like you've included the relevant part of the build log. The snippet you pasted just shows a warning, which wouldn't cause the build to abort. Please post the whole build log or at least the part where the actual error occurs.

Offline

#3 2014-02-19 09:40:53

Lockheed
Member
Registered: 2010-03-16
Posts: 1,521

Re: Problem compiling kdenlive-git

Sorry, my bad.
Here's the last part of the process: http://pastebin.com/1Y3bcYVq
I hope it's enough.

Offline

#4 2014-02-19 10:01:18

pks
Member
From: Germany
Registered: 2012-07-20
Posts: 110

Re: Problem compiling kdenlive-git

I just took a look at the source. Are you compiling with VDPAU enabled? If yes, the source seems to be buggy.

if ( ( image_size = allocate_buffer( frame, codec_context, buffer, format, width, height ) ) )
    {
    // Workaround 1088 encodings missing cropping info.
    if ( *height == 1088 && mlt_profile_dar( mlt_service_profile( MLT_PRODUCER_SERVICE( producer ) ) ) == 16.0/9.0 )
        *height = 1080;
    
#ifdef VDPAU
    if ( self->vdpau && self->vdpau->buffer )
    {
        AVPicture picture;
        picture.data[0] = self->vdpau->buffer;
        picture.data[2] = self->vdpau->buffer + codec_context->width * codec_context->height;
        picture.data[1] = self->vdpau->buffer + codec_context->width * codec_context->height * 5 / 4;
        picture.linesize[0] = codec_context->width;
        picture.linesize[1] = codec_context->width / 2;
        picture.linesize[2] = codec_context->width / 2;
        int yuv_colorspace = convert_image( self, (AVFrame*) &picture, *buffer,
        PIX_FMT_YUV420P, format, *width, *height, &alpha );
        mlt_properties_set_int( frame_properties, "colorspace", yuv_colorspace );
    }
    else
#endif

    int yuv_colorspace = convert_image( self, self->video_frame, *buffer, codec_context->pix_fmt,
        format, *width, *height, &alpha );
    mlt_properties_set_int( frame_properties, "colorspace", yuv_colorspace );
    got_picture = 1;
}

As you can see there is an ifdef for VDPAU. If the ifdef'ed code is compiled, the yuv_colorspace line after the #endif will be part of the else-branch. As there are no braces for the else-branch though, the following lines won't compile as yuv_colorspace is defined inside the else-branch, the following lines are outside of it though. You'll have to add braces there for it to compile.

Last edited by pks (2014-02-19 10:06:58)

Offline

#5 2014-02-19 18:39:58

Lockheed
Member
Registered: 2010-03-16
Posts: 1,521

Re: Problem compiling kdenlive-git

Hmm, ok. I suck I this.
So should I add "{" after #endif and "}" after got_picture = 1; ?

Offline

#6 2014-02-19 21:01:11

pks
Member
From: Germany
Registered: 2012-07-20
Posts: 110

Re: Problem compiling kdenlive-git

Well, I don't know of the code's semantics. Could be the closing bracket has to be before the got_picture or afterwards. The opening bracket definitly has to be in front oft the endif. I guess it would be best to post a bug upstream.

Offline

Board footer

Powered by FluxBB