Conditionally build enc/dec specific API sources
authorJames Zern <jzern@google.com>
Wed, 26 May 2010 22:14:26 +0000 (18:14 -0400)
committerJames Zern <jzern@google.com>
Wed, 26 May 2010 22:14:26 +0000 (18:14 -0400)
vpx_codec.mk: Select required sources based on CONFIG_{EN,DE}CODERS.
Relocate _dec_init_ver to vpx_decoder.c to match vpx_encoder.

Change-Id: I6a171bc497499040912b2fb17786fba21a8ebc56

vpx/src/vpx_codec.c
vpx/src/vpx_decoder.c
vpx/vpx_codec.mk

index 45dfce0..14f4be3 100644 (file)
@@ -12,8 +12,7 @@
  * \brief Provides the high level interface to wrap decoder algorithms.
  *
  */
-#include <stdlib.h>
-#include <string.h>
+#include <stdarg.h>
 #include "vpx/vpx_integer.h"
 #include "vpx/internal/vpx_codec_internal.h"
 #include "vpx_version.h"
@@ -87,53 +86,6 @@ const char *vpx_codec_error_detail(vpx_codec_ctx_t  *ctx)
 }
 
 
-vpx_codec_err_t vpx_codec_dec_init_ver(vpx_codec_ctx_t      *ctx,
-                                       vpx_codec_iface_t    *iface,
-                                       vpx_codec_dec_cfg_t  *cfg,
-                                       vpx_codec_flags_t     flags,
-                                       int                   ver)
-{
-    vpx_codec_err_t res;
-
-    if (ver != VPX_DECODER_ABI_VERSION)
-        res = VPX_CODEC_ABI_MISMATCH;
-    else if (!ctx || !iface)
-        res = VPX_CODEC_INVALID_PARAM;
-    else if (iface->abi_version != VPX_CODEC_INTERNAL_ABI_VERSION)
-        res = VPX_CODEC_ABI_MISMATCH;
-    else if ((flags & VPX_CODEC_USE_XMA) && !(iface->caps & VPX_CODEC_CAP_XMA))
-        res = VPX_CODEC_INCAPABLE;
-    else if ((flags & VPX_CODEC_USE_POSTPROC) && !(iface->caps & VPX_CODEC_CAP_POSTPROC))
-        res = VPX_CODEC_INCAPABLE;
-    else
-    {
-        memset(ctx, 0, sizeof(*ctx));
-        ctx->iface = iface;
-        ctx->name = iface->name;
-        ctx->priv = NULL;
-        ctx->init_flags = flags;
-        ctx->config.dec = cfg;
-        res = VPX_CODEC_OK;
-
-        if (!(flags & VPX_CODEC_USE_XMA))
-        {
-            res = ctx->iface->init(ctx);
-
-            if (res)
-            {
-                ctx->err_detail = ctx->priv ? ctx->priv->err_detail : NULL;
-                vpx_codec_destroy(ctx);
-            }
-
-            if (ctx->priv)
-                ctx->priv->iface = ctx->iface;
-        }
-    }
-
-    return SAVE_STATUS(ctx, res);
-}
-
-
 vpx_codec_err_t vpx_codec_destroy(vpx_codec_ctx_t *ctx)
 {
     vpx_codec_err_t res;
index 8257f89..d0de8b4 100644 (file)
  * \brief Provides the high level interface to wrap decoder algorithms.
  *
  */
-#include <stdlib.h>
+#include <string.h>
 #include "vpx/internal/vpx_codec_internal.h"
 
 #define SAVE_STATUS(ctx,var) (ctx?(ctx->err = var):var)
 
+vpx_codec_err_t vpx_codec_dec_init_ver(vpx_codec_ctx_t      *ctx,
+                                       vpx_codec_iface_t    *iface,
+                                       vpx_codec_dec_cfg_t  *cfg,
+                                       vpx_codec_flags_t     flags,
+                                       int                   ver)
+{
+    vpx_codec_err_t res;
+
+    if (ver != VPX_DECODER_ABI_VERSION)
+        res = VPX_CODEC_ABI_MISMATCH;
+    else if (!ctx || !iface)
+        res = VPX_CODEC_INVALID_PARAM;
+    else if (iface->abi_version != VPX_CODEC_INTERNAL_ABI_VERSION)
+        res = VPX_CODEC_ABI_MISMATCH;
+    else if ((flags & VPX_CODEC_USE_XMA) && !(iface->caps & VPX_CODEC_CAP_XMA))
+        res = VPX_CODEC_INCAPABLE;
+    else if ((flags & VPX_CODEC_USE_POSTPROC) && !(iface->caps & VPX_CODEC_CAP_POSTPROC))
+        res = VPX_CODEC_INCAPABLE;
+    else
+    {
+        memset(ctx, 0, sizeof(*ctx));
+        ctx->iface = iface;
+        ctx->name = iface->name;
+        ctx->priv = NULL;
+        ctx->init_flags = flags;
+        ctx->config.dec = cfg;
+        res = VPX_CODEC_OK;
+
+        if (!(flags & VPX_CODEC_USE_XMA))
+        {
+            res = ctx->iface->init(ctx);
+
+            if (res)
+            {
+                ctx->err_detail = ctx->priv ? ctx->priv->err_detail : NULL;
+                vpx_codec_destroy(ctx);
+            }
+
+            if (ctx->priv)
+                ctx->priv->iface = ctx->iface;
+        }
+    }
+
+    return SAVE_STATUS(ctx, res);
+}
+
+
 vpx_codec_err_t vpx_codec_peek_stream_info(vpx_codec_iface_t       *iface,
         const uint8_t         *data,
         unsigned int           data_sz,
index 75fbeea..223f9ad 100644 (file)
 
 API_EXPORTS += exports
 
-API_SRCS-yes += internal/vpx_codec_internal.h
-API_SRCS-yes += vpx_codec.h
-API_SRCS-yes += vpx_codec.mk
-API_SRCS-yes += vpx_codec_impl_top.h
-API_SRCS-yes += vpx_codec_impl_bottom.h
-API_SRCS-yes += vpx_decoder.h
-API_SRCS-yes += vpx_decoder_compat.h
-API_SRCS-yes += vpx_encoder.h
-API_SRCS-yes += vpx_image.h
-API_SRCS-yes += src/vpx_codec.c
-API_SRCS-yes += src/vpx_decoder.c
-API_SRCS-yes += src/vpx_decoder_compat.c
-API_SRCS-yes += src/vpx_image.c
-API_SRCS-yes += src/vpx_encoder.c
+API_SRCS-$(CONFIG_DECODERS) += src/vpx_decoder.c
+API_SRCS-$(CONFIG_DECODERS) += src/vpx_decoder_compat.c
+API_SRCS-$(CONFIG_DECODERS) += vpx_decoder.h
+API_SRCS-$(CONFIG_DECODERS) += vpx_decoder_compat.h
+API_SRCS-$(CONFIG_ENCODERS) += src/vpx_encoder.c
+API_SRCS-$(CONFIG_ENCODERS) += vpx_encoder.h
+API_SRCS-yes                += internal/vpx_codec_internal.h
+API_SRCS-yes                += src/vpx_codec.c
+API_SRCS-yes                += src/vpx_image.c
+API_SRCS-yes                += vpx_codec.h
+API_SRCS-yes                += vpx_codec.mk
+API_SRCS-yes                += vpx_codec_impl_bottom.h
+API_SRCS-yes                += vpx_codec_impl_top.h
+API_SRCS-yes                += vpx_image.h