libopenh264enc: Add support for building with OpenH264 1.4
authorMartin Storsjö <martin@martin.st>
Thu, 5 Mar 2015 11:57:44 +0000 (13:57 +0200)
committerMartin Storsjö <martin@martin.st>
Fri, 6 Mar 2015 08:02:47 +0000 (10:02 +0200)
Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/libopenh264enc.c

index 459a0ef..e3f9a95 100644 (file)
@@ -39,6 +39,10 @@ typedef struct SVCContext {
     char *profile;
 } SVCContext;
 
+#define OPENH264_VER_AT_LEAST(maj, min) \
+    ((OPENH264_MAJOR  > (maj)) || \
+     (OPENH264_MAJOR == (maj) && OPENH264_MINOR >= (min)))
+
 #define OFFSET(x) offsetof(SVCContext, x)
 #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
 static const AVOption options[] = {
@@ -103,7 +107,11 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
     param.bEnableLongTermReference   = 0;
     param.iLtrMarkPeriod             = 30;
     param.uiIntraPeriod              = avctx->gop_size;
+#if OPENH264_VER_AT_LEAST(1, 4)
+    param.eSpsPpsIdStrategy          = CONSTANT_ID;
+#else
     param.bEnableSpsPpsIdAddition    = 0;
+#endif
     param.bPrefixNalAddingCtrl       = 0;
     param.iLoopFilterDisableIdc      = !s->loopfilter;
     param.iEntropyCodingModeFlag     = 0;