diff -pruN 0.8.3.6-1.2/debian/changelog 0.8.3.6-1.2ubuntu3/debian/changelog
--- 0.8.3.6-1.2/debian/changelog	2015-08-17 13:12:56.000000000 +0000
+++ 0.8.3.6-1.2ubuntu3/debian/changelog	2015-08-17 13:12:57.000000000 +0000
@@ -1,3 +1,36 @@
+dvswitch (0.8.3.6-1.2ubuntu3) wily; urgency=medium
+
+  * No-change rebuild against libatkmm-1.6-1v5
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 07 Aug 2015 18:14:35 +0000
+
+dvswitch (0.8.3.6-1.2ubuntu2) utopic; urgency=medium
+
+  * Rebuild against libav11.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 04 Sep 2014 20:14:59 +0100
+
+dvswitch (0.8.3.6-1.2ubuntu1) utopic; urgency=medium
+
+  * Adapt and apply upstream patch (from newer version of dvswitch) to follow
+    renaming of CodecID to AVCodecID and fix FTBFS against libav10.
+  * Also adapt and apply upstream patch to stop using avcodec_encode_video
+    (also fixing the FTBFS against libav10).
+
+ -- Logan Rosen <logan@ubuntu.com>  Sat, 31 May 2014 00:36:20 -0400
+
+dvswitch (0.8.3.6-1.2build2) utopic; urgency=high
+
+  * No change rebuild against boost1.55.
+
+ -- Dimitri John Ledkov <xnox@ubuntu.com>  Mon, 28 Apr 2014 03:57:18 +0100
+
+dvswitch (0.8.3.6-1.2build1) trusty; urgency=low
+
+  * No change rebuild against libav 9.
+
+ -- Dmitrijs Ledkovs <xnox@ubuntu.com>  Mon, 11 Nov 2013 02:01:44 +0000
+
 dvswitch (0.8.3.6-1.2) unstable; urgency=low
 
   * Non-maintainer upload.
diff -pruN 0.8.3.6-1.2/debian/control 0.8.3.6-1.2ubuntu3/debian/control
--- 0.8.3.6-1.2/debian/control	2015-08-17 13:12:56.000000000 +0000
+++ 0.8.3.6-1.2ubuntu3/debian/control	2015-08-17 13:12:57.000000000 +0000
@@ -1,5 +1,6 @@
 Source: dvswitch
-Maintainer: Ben Hutchings <ben@decadent.org.uk>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Ben Hutchings <ben@decadent.org.uk>
 Section: video
 Priority: extra
 Build-Depends: debhelper (>= 5), libasound2-dev, libavcodec-dev, pkg-config, libgtkmm-2.4-dev, libboost-dev, libboost-system-dev, libboost-thread-dev, libxv-dev, cmake
diff -pruN 0.8.3.6-1.2/src/auto_codec.cpp 0.8.3.6-1.2ubuntu3/src/auto_codec.cpp
--- 0.8.3.6-1.2/src/auto_codec.cpp	2015-08-17 13:12:56.000000000 +0000
+++ 0.8.3.6-1.2ubuntu3/src/auto_codec.cpp	2015-08-17 13:12:57.000000000 +0000
@@ -21,7 +21,7 @@ namespace
     } initialiser;
 }
 
-auto_codec auto_codec_open_decoder(CodecID codec_id)
+auto_codec auto_codec_open_decoder(AVCodecID codec_id)
 {
     auto_codec result(avcodec_alloc_context3(NULL));
     if (!result.get())
@@ -30,7 +30,7 @@ auto_codec auto_codec_open_decoder(Codec
     return result;
 }
 
-void auto_codec_open_decoder(const auto_codec & context, CodecID codec_id)
+void auto_codec_open_decoder(const auto_codec & context, AVCodecID codec_id)
 {
     boost::mutex::scoped_lock lock(avcodec_mutex);
     AVCodec * codec = avcodec_find_decoder(codec_id);
@@ -39,7 +39,7 @@ void auto_codec_open_decoder(const auto_
     os_check_error("avcodec_open", -avcodec_open2(context.get(), codec, NULL));
 }
 
-auto_codec auto_codec_open_encoder(CodecID codec_id)
+auto_codec auto_codec_open_encoder(AVCodecID codec_id)
 {
     auto_codec result(avcodec_alloc_context3(NULL));
     if (!result.get())
@@ -48,7 +48,7 @@ auto_codec auto_codec_open_encoder(Codec
     return result;
 }
 
-void auto_codec_open_encoder(const auto_codec & context, CodecID codec_id)
+void auto_codec_open_encoder(const auto_codec & context, AVCodecID codec_id)
 {
     boost::mutex::scoped_lock lock(avcodec_mutex);
     AVCodec * codec = avcodec_find_encoder(codec_id);
diff -pruN 0.8.3.6-1.2/src/auto_codec.hpp 0.8.3.6-1.2ubuntu3/src/auto_codec.hpp
--- 0.8.3.6-1.2/src/auto_codec.hpp	2011-07-15 20:55:37.000000000 +0000
+++ 0.8.3.6-1.2ubuntu3/src/auto_codec.hpp	2015-08-17 13:12:57.000000000 +0000
@@ -19,9 +19,9 @@ struct auto_codec_factory
 typedef auto_handle<AVCodecContext *, auto_codec_closer, auto_codec_factory>
 auto_codec;
 
-auto_codec auto_codec_open_decoder(CodecID);
-void auto_codec_open_decoder(const auto_codec &, CodecID);
-auto_codec auto_codec_open_encoder(CodecID);
-void auto_codec_open_encoder(const auto_codec &, CodecID);
+auto_codec auto_codec_open_decoder(AVCodecID);
+void auto_codec_open_decoder(const auto_codec &, AVCodecID);
+auto_codec auto_codec_open_encoder(AVCodecID);
+void auto_codec_open_encoder(const auto_codec &, AVCodecID);
 
 #endif // !INC_AUTO_CODEC_HPP
diff -pruN 0.8.3.6-1.2/src/dv_display_widget.cpp 0.8.3.6-1.2ubuntu3/src/dv_display_widget.cpp
--- 0.8.3.6-1.2/src/dv_display_widget.cpp	2015-08-17 13:12:56.000000000 +0000
+++ 0.8.3.6-1.2ubuntu3/src/dv_display_widget.cpp	2015-08-17 13:12:57.000000000 +0000
@@ -92,7 +92,7 @@ dv_display_widget::dv_display_widget(int
     if (!decoder)
 	throw std::bad_alloc();
     decoder->lowres = lowres;
-    auto_codec_open_decoder(decoder_, CODEC_ID_DVVIDEO);
+    auto_codec_open_decoder(decoder_, AV_CODEC_ID_DVVIDEO);
     decoder->opaque = this;
     decoder->get_buffer = get_buffer;
     decoder->release_buffer = release_buffer;
diff -pruN 0.8.3.6-1.2/src/mixer.cpp 0.8.3.6-1.2ubuntu3/src/mixer.cpp
--- 0.8.3.6-1.2/src/mixer.cpp	2015-08-17 13:12:56.000000000 +0000
+++ 0.8.3.6-1.2ubuntu3/src/mixer.cpp	2015-08-17 13:12:57.000000000 +0000
@@ -617,7 +617,7 @@ void mixer::run_mixer()
     unsigned serial_num = 0;
     const mix_data * m = 0;
 
-    auto_codec decoder(auto_codec_open_decoder(CODEC_ID_DVVIDEO));
+    auto_codec decoder(auto_codec_open_decoder(AV_CODEC_ID_DVVIDEO));
     AVCodecContext * dec = decoder.get();
     dec->get_buffer = raw_frame_get_buffer;
     dec->release_buffer = raw_frame_release_buffer;
@@ -643,7 +643,7 @@ void mixer::run_mixer()
 	std::cout << "INFO: DV encoder threads: " << enc_thread_count << "\n";
     }
 
-    auto_codec_open_encoder(encoder, CODEC_ID_DVVIDEO);
+    auto_codec_open_encoder(encoder, AV_CODEC_ID_DVVIDEO);
 
     for (;;)
     {
@@ -728,9 +728,12 @@ void mixer::run_mixer()
 	    enc->pix_fmt = mixed_raw->pix_fmt;
 	    mixed_raw->header.pts = serial_num;
   	    mixed_dv = allocate_dv_frame();
-	    int out_size = avcodec_encode_video(enc,
-						mixed_dv->buffer, system->size, 
-						&mixed_raw->header);
+	    AVPacket packet;
+	    memset(&packet, 0, sizeof(AVPacket));
+	    int got_packet;
+	    int out_size = avcodec_encode_video2(enc,
+						&packet,
+						&mixed_raw->header, &got_packet);
 	    assert(size_t(out_size) == system->size);
 	    mixed_dv->serial_num = serial_num;
 
