diff --git a/contrib/src/theora/SHA512SUMS b/contrib/src/theora/SHA512SUMS
index d0c728f93402a6aaa42f7ff4005606523fa7a9d5..fa87d1e728c19dfcf3b1b2374bfd33948aa8e864 100644
--- a/contrib/src/theora/SHA512SUMS
+++ b/contrib/src/theora/SHA512SUMS
@@ -1 +1 @@
-032fb60f10ac0074ec87d5f8c586702309edc50dc0d2842d2f9b9c46ebd1500acc399e9309f858f318fff5b8fbe953234db3afb54ed74a03d0f2c6ee8c3ed481  libtheora-1.1.1.tar.xz
+849db0c916f0f0b1237a4893594ff4b9e72d4ad1dca42f3f2979af5971f42c3fe77a75b181dfdd1c1353bbca4c832d6ab43f6d509c0650901c692e96ceab5f26  libtheora-1.2.0.tar.xz
diff --git a/contrib/src/theora/libtheora-compiler-differentiation.patch b/contrib/src/theora/libtheora-compiler-differentiation.patch
deleted file mode 100644
index 872ebc1f917f1d29b7d4bebf1d31cfb3c0dba32a..0000000000000000000000000000000000000000
--- a/contrib/src/theora/libtheora-compiler-differentiation.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -ru libtheora/configure.ac libtheora-fixed/configure.ac
---- libtheora/configure.ac	2009-10-01 20:00:33.000000000 +0200
-+++ libtheora-fixed/configure.ac	2014-06-13 20:21:16.000000000 +0200
-@@ -155,8 +155,20 @@
- 
- dnl Set some target options
- 
-+cc_compiler=unknown
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#if ! __clang__
-+                                    #error
-+                                    #endif
-+                                    ]])],
-+                  cc_compiler=clang,
-+                  [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#if ! __GNUC__
-+                                                       #error
-+                                                       #endif
-+                                                       ]])],
-+                                     cc_compiler=gcc, [])])
-+
- cflags_save="$CFLAGS"
--if test -z "$GCC"; then
-+if test $cc_compiler != "gcc" ; then
-         case $host in 
-         *)
-                 DEBUG="-g -DDEBUG"
diff --git a/contrib/src/theora/libtheora-no-forceaddr.patch b/contrib/src/theora/libtheora-no-forceaddr.patch
deleted file mode 100644
index 547eb7bf4c1794d02105539460e0a8a71439d076..0000000000000000000000000000000000000000
--- a/contrib/src/theora/libtheora-no-forceaddr.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/configure.ac.orig	2014-06-27 16:45:06.000000000 -0400
-+++ b/configure.ac	2014-06-27 16:45:23.000000000 -0400
-@@ -180,7 +180,7 @@
-         case $host in 
-         *)
-                 DEBUG="-g -Wall -Wno-parentheses -DDEBUG -D__NO_MATH_INLINES"
--                CFLAGS="-Wall -Wno-parentheses -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops"
-+                CFLAGS="-Wall -Wno-parentheses -O3 -fomit-frame-pointer -finline-functions -funroll-loops"
-                 PROFILE="-Wall -Wno-parentheses -pg -g -O3 -fno-inline-functions -DDEBUG";;
-         esac
- fi
---- a/configure.orig	2014-06-27 16:57:16.000000000 -0400
-+++ b/configure	2014-06-27 16:57:21.000000000 -0400
-@@ -11863,7 +11863,7 @@
-         case $host in
-         *)
-                 DEBUG="-g -Wall -Wno-parentheses -DDEBUG -D__NO_MATH_INLINES"
--                CFLAGS="-Wall -Wno-parentheses -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops"
-+                CFLAGS="-Wall -Wno-parentheses -O3 -fomit-frame-pointer -finline-functions -funroll-loops"
-                 PROFILE="-Wall -Wno-parentheses -pg -g -O3 -fno-inline-functions -DDEBUG";;
-         esac
- fi
diff --git a/contrib/src/theora/rules.mak b/contrib/src/theora/rules.mak
index bc25b84b15c68d2b0701b06d8aaa2bb8202243d1..b60a0b692e80a549ce7103d9202891f154231a03 100644
--- a/contrib/src/theora/rules.mak
+++ b/contrib/src/theora/rules.mak
@@ -1,6 +1,6 @@
 # Theora
 
-THEORA_VERSION := 1.1.1
+THEORA_VERSION := 1.2.0
 THEORA_URL := $(XIPH)/theora/libtheora-$(THEORA_VERSION).tar.xz
 
 PKGS += theora
@@ -16,19 +16,14 @@ $(TARBALLS)/libtheora-$(THEORA_VERSION).tar.xz:
 libtheora: libtheora-$(THEORA_VERSION).tar.xz .sum-theora
 	$(UNPACK)
 	$(call update_autoconfig,.)
-	$(APPLY) $(SRC)/theora/libtheora-compiler-differentiation.patch
-	$(APPLY) $(SRC)/theora/libtheora-no-forceaddr.patch
-	# Disable the generation of documentation. In 1.2.x it can be replaced by
-	# a --disable-doc parameter.
-	sed -i.orig "/^SUBDIRS =/s/doc//g" "$(UNPACK_DIR)/Makefile.am" "$(UNPACK_DIR)/Makefile.in"
 	$(MOVE)
 
 THEORACONF := \
 	--disable-spec \
-	--disable-sdltest \
 	--disable-oggtest \
 	--disable-vorbistest \
-	--disable-examples
+	--disable-examples \
+	--disable-doc
 
 ifndef BUILD_ENCODERS
 THEORACONF += --disable-encode