Hi there,

I wrote an email with the same problem a while ago.

> On 02 Mar 2016, at 22:17, <[email protected]> <[email protected]> wrote:
> 
> Hello,
> 
> I've been tasked with building FFMPEG with Cisco's OpenH264. I'm doing this 
> on Ubuntu Linux 64.
> 
> My understanding is that all I need is
> 
> > configure --enable-libopenh264
> > make
> 
> I have 2 questions:
> 
> 1) The building process proceeded almost flawlessly, until I hit the errors 
> below. Can anybody suggest a workaround?
> 
> 2) I did NOT use either --enable-gpl or --enable-nonfree. I had been using 
> libx264 up to now but want to make sure I will be using Cisco's OpenH264. The 
> way I select H264 is with the code
> 
>       avformat_alloc_output_context2 (&oc,NULL,"mp4",NULL);
>       oc->oformat->video_codec = AV_CODEC_ID_H264;
> 
> This has been working just fine. Once I enable openh264 can I still use the 
> line above to select H264, or is the enumerated type above strictly for 
> libx264? If so, what change should I make to use openh264?
> 
> Thanks.
> 
> Here are the errors:
> 
> libavcodec/libopenh264enc.c:54:85: error:  Ç SM_AUTO_SLICE Ç  undeclared here 
> (not in a function)
>      { "slice_mode", "set slice mode", OFFSET(slice_mode), AV_OPT_TYPE_INT, { 
> .i64 = SM_AUTO_SLICE }, SM_SINGLE_SLICE, SM_RESERVED, VE, "slice_mode" },
>                                                                               
>        ^
> libavcodec/libopenh264enc.c:56:87: error:  Ç SM_ROWMB_SLICE Ç  undeclared 
> here (not in a function)
>          { "rowmb", "one slice per row of macroblocks", 0, AV_OPT_TYPE_CONST, 
> { .i64 = SM_ROWMB_SLICE }, 0, 0, VE, "slice_mode" },
>                                                                               
>          ^
> libavcodec/libopenh264enc.c:58:68: error:  Ç SM_DYN_SLICE Ç  undeclared here 
> (not in a function)
>          { "dyn", "Dynamic slicing", 0, AV_OPT_TYPE_CONST, { .i64 = 
> SM_DYN_SLICE }, 0, 0, VE, "slice_mode" },
>                                                                     ^
> libavcodec/libopenh264enc.c:198:28: error:  Ç SSpatialLayerConfig Ç  has no 
> member named  Ç sSliceCfg Ç
>      param.sSpatialLayers[0].sSliceCfg.uiSliceMode               = 
> s->slice_mode;
>                             ^
> libavcodec/libopenh264enc.c:198:38: error: request for member  Ç uiSliceMode 
> Ç  in something not a structure or union
>      param.sSpatialLayers[0].sSliceCfg.uiSliceMode               = 
> s->slice_mode;
>                                       ^
> libavcodec/libopenh264enc.c:199:28: error:  Ç SSpatialLayerConfig Ç  has no 
> member named  Ç sSliceCfg Ç
>      param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = 
> avctx->slices;
>                             ^
> libavcodec/libopenh264enc.c:199:38: error: request for member  Ç 
> sSliceArgument Ç  in something not a structure or union
>      param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = 
> avctx->slices;
>                                       ^
> libavcodec/libopenh264enc.c:199:53: error: request for member  Ç uiSliceNum Ç 
>  in something not a structure or union
>      param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = 
> avctx->slices;
>                                                      ^
> libavcodec/libopenh264enc.c:204:36: error:  Ç SSpatialLayerConfig Ç  has no 
> member named  Ç sSliceCfg Ç
>              
> param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 
> s->max_nal_size;
>                                     ^
> libavcodec/libopenh264enc.c:204:46: error: request for member  Ç 
> sSliceArgument Ç  in something not a structure or union
>              
> param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 
> s->max_nal_size;
>                                               ^
> libavcodec/libopenh264enc.c:204:61: error: request for member  Ç 
> uiSliceSizeConstraint Ç  in something not a structure or union
>              
> param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 
> s->max_nal_size;


Carl Eugen’s suggestion was to downgrade OpenH264.
Here’s the original quote:

        Google suggests to downgrade your openh264 version.

        The alternative is to send a patch to fix the issue 
        in FFmpeg.

        Carl Eugen


_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to