[Libav-user] Building ffmpeg with openh264 on Ubuntu

muller at vki.com muller at vki.com
Wed Mar 2 22:17:20 CET 2016


 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;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20160302/915067ff/attachment.html>


More information about the Libav-user mailing list