Erro ao compilar o guvcview contra o mais novo FFmpeg

3

No Xenial Xerus estou compilando a versão de lançamento do guvcview contra o mais recente git FFmpeg. No último FFmpeg PIX_FMT_YUV420P foi substituído por AV_PIX_FMT_YUV420P e suspeito que essa variável deva ser substituída pela fonte guvcview.

O erro que quebra a compilação é este:

jpeg_decoder.c:1439:33: error: use of undeclared identifier 'PIX_FMT_YUV422P'; did you mean
      'AV_PIX_FMT_YUV422P'?
        codec_data->context->pix_fmt = PIX_FMT_YUV422P;
                                       ^~~~~~~~~~~~~~~
                                       AV_PIX_FMT_YUV422P

Alguém tem um patch ou até mesmo sed magic para corrigir esse problema?

Referências:

por andrew.46 30.09.2016 / 01:44

1 resposta

2

Você pode usar guvcview-ffmpeg3.patch do Arch Linux:

--- a/gview_v4l2core/jpeg_decoder.c
+++ b/gview_v4l2core/jpeg_decoder.c
@@ -1436,7 +1436,7 @@
        exit(-1);
    }

-   codec_data->context->pix_fmt = PIX_FMT_YUV422P;
+   codec_data->context->pix_fmt = AV_PIX_FMT_YUV422P;
    codec_data->context->width = width;
    codec_data->context->height = height;
    //jpeg_ctx->context->dsp_mask = (FF_MM_MMX | FF_MM_MMXEXT | FF_MM_SSE);
--- a/gview_v4l2core/uvc_h264.c
+++ b/gview_v4l2core/uvc_h264.c
@@ -970,7 +970,7 @@
    }

    h264_ctx->context->flags2 |= CODEC_FLAG2_FAST;
-   h264_ctx->context->pix_fmt = PIX_FMT_YUV420P;
+   h264_ctx->context->pix_fmt = AV_PIX_FMT_YUV420P;
    h264_ctx->context->width = width;
    h264_ctx->context->height = height;
    //h264_ctx->context->dsp_mask = (FF_MM_MMX | FF_MM_MMXEXT | FF_MM_SSE);
    
por LordNeckbeard 30.09.2016 / 02:33