diff --git a/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch b/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch
new file mode 100644
index 0000000..2981907
--- /dev/null
+++ b/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch
@@ -0,0 +1,130 @@
+diff --git a/build/make/Makefile b/build/make/Makefile
+index 030c1b5..1ef1056 100644
+--- a/build/make/Makefile
++++ b/build/make/Makefile
+@@ -268,7 +268,7 @@ define so_template
+ $(1):
+ 	$(if $(quiet),@echo "    [LD] $$@")
+ 	$(qexec)$$(LD) -shared $$(LDFLAGS) \
+-            -Wl,--no-undefined -Wl,-soname,$$(SONAME) \
++            -Wl,--no-undefined -Wl,--out-implib,libvpx.dll.a \
+             -Wl,--version-script,$$(EXPORTS_FILE) -o $$@ \
+             $$(filter %.o,$$^) $$(extralibs)
+ endef
+@@ -351,7 +351,7 @@ LIBS=$(call enabled,LIBS)
+ .libs: $(LIBS)
+ 	@touch $@
+ $(foreach lib,$(filter %_g.a,$(LIBS)),$(eval $(call archive_template,$(lib))))
+-$(foreach lib,$(filter %so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH),$(LIBS)),$(eval $(call so_template,$(lib))))
++$(foreach lib,$(filter %-$(VERSION_MAJOR).dll,$(LIBS)),$(eval $(call so_template,$(lib))))
+ $(foreach lib,$(filter %$(VERSION_MAJOR).dylib,$(LIBS)),$(eval $(call dl_template,$(lib))))
+ 
+ INSTALL-LIBS=$(call cond_enabled,CONFIG_INSTALL_LIBS,INSTALL-LIBS)
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index 8dcb9bb..27f735b 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -542,11 +542,14 @@ process_common_cmdline() {
+         --libdir=*)
+         libdir="${optval}"
+         ;;
++        --bindir=*)
++        bindir="${optval}"
++        ;;
+         --sdk-path=*)
+         [ -d "${optval}" ] || die "Not a directory: ${optval}"
+         sdk_path="${optval}"
+         ;;
+-        --libc|--as|--prefix|--libdir|--sdk-path)
++        --libc|--as|--prefix|--libdir|--bindir|--sdk-path)
+         die "Option ${opt} requires argument"
+         ;;
+         --help|-h) show_help
+@@ -573,9 +576,14 @@ post_process_common_cmdline() {
+     prefix="${prefix%/}"
+     libdir="${libdir:-${prefix}/lib}"
+     libdir="${libdir%/}"
++    bindir="${bindir:-${prefix}/bin}"
++    bindir="${bindir%/}"
+     if [ "${libdir#${prefix}}" = "${libdir}" ]; then
+         die "Libdir ${libdir} must be a subdirectory of ${prefix}"
+     fi
++    if [ "${bindir#${prefix}}" = "${bindir}" ]; then
++        die "Bindir ${bindir} must be a subdirectory of ${prefix}"
++    fi
+ }
+ 
+ 
+diff --git a/configure b/configure
+index 4ff3fc7..b3b4d72 100755
+--- a/configure
++++ b/configure
+@@ -474,6 +474,7 @@ else
+ DIST_DIR?=\$(DESTDIR)${prefix}
+ endif
+ LIBSUBDIR=${libdir##${prefix}/}
++BINSUBDIR=${bindir##${prefix}/}
+ 
+ VERSION_STRING=${VERSION_STRING}
+ 
+diff --git a/libs.mk b/libs.mk
+index 4062833..0a1cfcd 100644
+--- a/libs.mk
++++ b/libs.mk
+@@ -162,6 +162,7 @@ endif
+ INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/%
+ INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/%
+ INSTALL_MAPS += $(LIBSUBDIR)/%     %
++INSTALL_MAPS += $(BINSUBDIR)/%     %
+ INSTALL_MAPS += src/%     $(SRC_PATH_BARE)/%
+ ifeq ($(CONFIG_MSVS),yes)
+ INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/%  $(p)/Release/%)
+@@ -271,19 +272,19 @@ EXPORT_FILE             := libvpx.syms
+ LIBVPX_SO_SYMLINKS      := $(addprefix $(LIBSUBDIR)/, \
+                              libvpx.dylib  )
+ else
+-LIBVPX_SO               := libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
++LIBVPX_SO               := libvpx-$(VERSION_MAJOR).dll
+ EXPORT_FILE             := libvpx.ver
+ SYM_LINK                := libvpx.so
+-LIBVPX_SO_SYMLINKS      := $(addprefix $(LIBSUBDIR)/, \
+-                             libvpx.so libvpx.so.$(VERSION_MAJOR) \
+-                             libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR))
++LIBVPX_SO_SYMLINKS      := $(addprefix $(BINSUBDIR)/, \
++                           libvpx-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).dll \
++                           libvpx-$(VERSION_MAJOR).$(VERSION_MINOR).dll)
+ endif
+ 
+ LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\
+                            $(notdir $(LIBVPX_SO_SYMLINKS))
+ $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE)
+ $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm
+-$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(VERSION_MAJOR)
++$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx-$(VERSION_MAJOR).dll
+ $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE)
+ 
+ libvpx.ver: $(call enabled,CODEC_EXPORTS)
+@@ -314,7 +315,7 @@ $(eval $(call libvpx_symlink_template,\
+ 
+ 
+ INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBVPX_SO_SYMLINKS)
+-INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBSUBDIR)/$(LIBVPX_SO)
++INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(BINSUBDIR)/$(LIBVPX_SO)
+ 
+ 
+ LIBS-$(BUILD_LIBVPX) += vpx.pc
+diff --git a/vp8/common/generic/systemdependent.c b/vp8/common/generic/systemdependent.c
+index d84df33..b606309 100644
+--- a/vp8/common/generic/systemdependent.c
++++ b/vp8/common/generic/systemdependent.c
+@@ -18,6 +18,10 @@
+ #endif
+ #include "vp8/common/onyxc_int.h"
+ 
++#if defined(_WIN32)
++#undef HAVE_UNISTD_H
++#endif
++
+ #if CONFIG_MULTITHREAD
+ #if HAVE_UNISTD_H && !defined(__OS2__)
+ #include <unistd.h>
diff --git a/recipes/libvpx/libvpx-1.3.0/02_osx.patch b/recipes/libvpx/libvpx-1.3.0/02_osx.patch
new file mode 100644
index 0000000..b08afe0
--- /dev/null
+++ b/recipes/libvpx/libvpx-1.3.0/02_osx.patch
@@ -0,0 +1,44 @@
+diff --git a/build/make/Makefile b/build/make/Makefile
+index 030c1b5..4405c0c 100644
+--- a/build/make/Makefile
++++ b/build/make/Makefile
+@@ -72,7 +72,7 @@ ASFLAGS+=-I$(BUILD_PFX)$(BUILD_ROOT)/ -I$(SRC_PATH)/
+ DIST_DIR?=dist
+ HOSTCC?=gcc
+ TGT_ISA:=$(word 1, $(subst -, ,$(TOOLCHAIN)))
+-TGT_OS:=$(word 2, $(subst -, ,$(TOOLCHAIN)))
++TGT_OS:=darwin11
+ TGT_CC:=$(word 3, $(subst -, ,$(TOOLCHAIN)))
+ quiet:=$(if $(or $(verbose), $(V)),, yes)
+ qexec=$(if $(quiet),@)
+@@ -281,7 +281,8 @@ $(1):
+ 	$(if $(quiet),@echo "    [LD] $$@")
+ 	$(qexec)$$(LD) -dynamiclib $$(LDFLAGS) \
+ 	    -exported_symbols_list $$(EXPORTS_FILE) \
+-        -Wl,-headerpad_max_install_names,-compatibility_version,1.0,-current_version,$$(VERSION_MAJOR) \
++        -Wl,-install_name,$(PREFIX)/$(LIBSUBDIR)/$$(LIBVPX_SO) -Wl,-current_version,$(VERSION_MAJOR).$(VERSION_MINOR) \
++        -Wl,-compatibility_version,$(VERSION_MAJOR) -o $$@ \
+         -o $$@ \
+         $$(filter %.o,$$^) $$(extralibs)
+ endef
+diff --git a/vp9/exports_enc b/vp9/exports_enc
+index 25156e8..2a0fef3 100644
+--- a/vp9/exports_enc
++++ b/vp9/exports_enc
+@@ -1,4 +1,2 @@
+ data vpx_codec_vp9_cx_algo
+ text vpx_codec_vp9_cx
+-data vpx_codec_vp9x_cx_algo
+-text vpx_codec_vp9x_cx
+diff --git a/vpx/exports_enc b/vpx/exports_enc
+index 1d9340c..9e73dfb 100644
+--- a/vpx/exports_enc
++++ b/vpx/exports_enc
+@@ -8,7 +8,6 @@ text vpx_codec_get_preview_frame
+ text vpx_codec_set_cx_data_buf
+ text vpx_svc_dump_statistics
+ text vpx_svc_encode
+-text vpx_svc_free
+ text vpx_svc_get_buffer
+ text vpx_svc_get_encode_frame_count
+ text vpx_svc_get_frame_size
diff --git a/recipes/libvpx/libvpx-1.3.0/enable_shared.patch b/recipes/libvpx/libvpx-1.3.0/enable_shared.patch
new file mode 100644
index 0000000..538552b
--- /dev/null
+++ b/recipes/libvpx/libvpx-1.3.0/enable_shared.patch
@@ -0,0 +1,23 @@
+diff --git a/configure b/configure
+index 4ff3fc7..498e75e 100755
+--- a/configure
++++ b/configure
+@@ -501,18 +519,6 @@ EOF
+ }
+ 
+ process_detect() {
+-    if enabled shared; then
+-        # Can only build shared libs on a subset of platforms. Doing this check
+-        # here rather than at option parse time because the target auto-detect
+-        # magic happens after the command line has been parsed.
+-        if ! enabled linux; then
+-            if enabled gnu; then
+-                echo "--enable-shared is only supported on ELF; assuming this is OK"
+-            else
+-                die "--enable-shared only supported on ELF for now"
+-            fi
+-        fi
+-    fi
+     if [ -z "$CC" ] || enabled external_build; then
+         echo "Bypassing toolchain for environment detection."
+         enable_feature external_build
diff --git a/recipes/libvpx/libvpx.inc b/recipes/libvpx/libvpx.inc
new file mode 100644
index 0000000..6d9f3e8
--- /dev/null
+++ b/recipes/libvpx/libvpx.inc
@@ -0,0 +1,34 @@
+DESCRIPTION = "vpx Multi-Format Codec SDK"
+LICENSE = "BSD"
+
+RECIPE_TYPES = "machine native"
+
+DEPENDS = "libm"
+DEPENDS:>TARGET_OS_linux-gnu = " libpthread"
+
+PARALLEL_MAKE = ""
+
+inherit autotools library pkgconfig library
+
+SRC_URI = "git://git.chromium.org/webm/libvpx.git;tag=v${PV};protocol=http"
+S = "${SRCDIR}/libvpx"
+
+export LD = "${CC}"
+
+EXTRA_OEMAKE += "V=1"
+
+autotools_configure () {
+    if [ -x "${CONFIGURE_SCRIPT}" ] ; then
+        ${CONFIGURE_SCRIPT} \
+               --prefix=${prefix} \
+               --target=generic-gnu \
+               --enable-vp8 \
+               --enable-libs \
+               --disable-install-docs \
+               --disable-debug-libs \
+               --disable-examples \
+               --disable-unit-tests
+    else
+        oefatal "no configure script found"
+    fi
+}
diff --git a/recipes/libvpx/libvpx_1.3.0.oe b/recipes/libvpx/libvpx_1.3.0.oe
new file mode 100644
index 0000000..57d5dc9
--- /dev/null
+++ b/recipes/libvpx/libvpx_1.3.0.oe
@@ -0,0 +1,5 @@
+require libvpx.inc
+
+SRC_URI += "file://enable_shared.patch"
+SRC_URI:>TARGET_OS_darwin = " file://02_osx.patch"
+SRC_URI:>TARGET_OS_mingw32 = " file://0001-enable-shared-on.mingw32.patch"
diff --git a/recipes/libvpx/libvpx_1.3.0.oe.sig b/recipes/libvpx/libvpx_1.3.0.oe.sig
new file mode 100644
index 0000000..f87d77f
--- /dev/null
+++ b/recipes/libvpx/libvpx_1.3.0.oe.sig
@@ -0,0 +1 @@
+2e88f2f2ec777259bda1714e72f1ecd2519bceb5  git://git.chromium.org/webm/libvpx.git;protocol=http;tag=v1.3.0
