From f48d6e1b44e591b337c10080480ae642488b1d1d Mon Sep 17 00:00:00 2001
From: Kostya Shishkov <kostya.shishkov@gmail.com>
Date: Thu, 7 Dec 2006 04:17:01 +0000
Subject: [PATCH] ZMBV encoder

Originally committed as revision 7242 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 Changelog              | 2 +-
 doc/ffmpeg-doc.texi    | 2 +-
 libavcodec/Makefile    | 1 +
 libavcodec/allcodecs.c | 4 +++-
 libavcodec/avcodec.h   | 5 +++--
 5 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/Changelog b/Changelog
index 5267b53214c..c50cf6af013 100644
--- a/Changelog
+++ b/Changelog
@@ -38,7 +38,7 @@ version <next>
 - ADTS AAC file reading and writing
 - Creative VOC file reading and writing
 - American Laser Games multimedia (*.mm) playback system
-- Zip Blocks Motion Video decoder
+- Zip Blocks Motion Video decoder and encoder
 - Improved Theora/VP3 decoder
 - True Audio (TTA) decoder
 - AVS demuxer and video decoder
diff --git a/doc/ffmpeg-doc.texi b/doc/ffmpeg-doc.texi
index 2d814c0fb96..6f42f33b80e 100644
--- a/doc/ffmpeg-doc.texi
+++ b/doc/ffmpeg-doc.texi
@@ -989,7 +989,7 @@ following image formats are supported:
 @item Fraps FPS1             @tab     @tab  X @tab
 @item CamStudio              @tab     @tab  X @tab fourcc: CSCD
 @item American Laser Games Video  @tab    @tab X @tab Used in games like Mad Dog McCree
-@item ZMBV                   @tab     @tab  X @tab
+@item ZMBV                   @tab   X @tab  X @tab Encoder works only on PAL8
 @item AVS Video              @tab     @tab  X @tab Video encoding used by the Creature Shock game.
 @item Smacker Video          @tab     @tab  X @tab Video encoding used in Smacker.
 @item RTjpeg                 @tab     @tab  X @tab Video encoding used in NuppelVideo files.
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 03c1ae43dcd..1aa29950bcc 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -167,6 +167,7 @@ OBJS-$(CONFIG_XL_DECODER)              += xl.o
 OBJS-$(CONFIG_ZLIB_DECODER)            += lcl.o
 OBJS-$(CONFIG_ZLIB_ENCODER)            += lcl.o
 OBJS-$(CONFIG_ZMBV_DECODER)            += zmbv.o
+OBJS-$(CONFIG_ZMBV_ENCODER)            += zmbvenc.o
 
 OBJS-$(CONFIG_PCM_S32LE_DECODER)       += pcm.o
 OBJS-$(CONFIG_PCM_S32LE_ENCODER)       += pcm.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 9678f6bee4e..7bfa2d49705 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -155,7 +155,9 @@ void avcodec_register_all(void)
     REGISTER_ENCODER(XVID, xvid);
 #endif
     REGISTER_ENCDEC (ZLIB, zlib);
-    REGISTER_DECODER(ZMBV, zmbv);
+#ifdef CONFIG_ZLIB
+    REGISTER_ENCDEC (ZMBV, zmbv);
+#endif
 
     /* audio codecs */
 #ifdef CONFIG_FAAD
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 4fefcb11a2a..cbf29c8a58b 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -37,8 +37,8 @@ extern "C" {
 #define AV_STRINGIFY(s)         AV_TOSTRING(s)
 #define AV_TOSTRING(s) #s
 
-#define LIBAVCODEC_VERSION_INT  ((51<<16)+(25<<8)+0)
-#define LIBAVCODEC_VERSION      51.25.0
+#define LIBAVCODEC_VERSION_INT  ((51<<16)+(26<<8)+0)
+#define LIBAVCODEC_VERSION      51.26.0
 #define LIBAVCODEC_BUILD        LIBAVCODEC_VERSION_INT
 
 #define LIBAVCODEC_IDENT        "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
@@ -2303,6 +2303,7 @@ extern AVCodec libgsm_decoder;
 extern AVCodec bmp_decoder;
 extern AVCodec mmvideo_decoder;
 extern AVCodec zmbv_decoder;
+extern AVCodec zmbv_encoder;
 extern AVCodec avs_decoder;
 extern AVCodec smacker_decoder;
 extern AVCodec smackaud_decoder;
-- 
GitLab