aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mss2dsp.h
diff options
context:
space:
mode:
authorAlberto Delmás <adelmas@gmail.com>2012-08-24 17:45:57 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2012-08-31 07:37:16 +0200
commitee769c6a7c1d4ec6560f5e5a6f457b770b10fb33 (patch)
treec1a3fc95ccfc0d84bfa9edfa22adc85cdcdbd6da /libavcodec/mss2dsp.h
parentd96d6ba61888c6a97d9426ca80bf36f3812cac76 (diff)
downloadffmpeg-ee769c6a7c1d4ec6560f5e5a6f457b770b10fb33.tar.gz
MSS2 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Diffstat (limited to 'libavcodec/mss2dsp.h')
-rw-r--r--libavcodec/mss2dsp.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/libavcodec/mss2dsp.h b/libavcodec/mss2dsp.h
new file mode 100644
index 0000000000..b3d67a1e57
--- /dev/null
+++ b/libavcodec/mss2dsp.h
@@ -0,0 +1,50 @@
+/*
+ * Microsoft Screen 2 (aka Windows Media Video V9 Screen) decoder
+ *
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * Microsoft Screen 2 (aka Windows Media Video V9 Screen) decoder DSP routines
+ */
+
+#ifndef AVCODEC_MSS2DSP_H
+#define AVCODEC_MSS2DSP_H
+
+#include "dsputil.h"
+
+typedef struct MSS2DSPContext {
+ void (*mss2_blit_wmv9)(uint8_t *dst, int dst_stride,
+ const uint8_t *srcy, int srcy_stride,
+ const uint8_t *srcu, const uint8_t *srcv,
+ int srcuv_stride, int w, int h);
+ void (*mss2_blit_wmv9_masked)(uint8_t *dst, int dst_stride,
+ int maskcolor, const uint8_t *mask,
+ int mask_stride,
+ const uint8_t *srcy, int srcy_stride,
+ const uint8_t *srcu, const uint8_t *srcv,
+ int srcuv_stride, int w, int h);
+ void (*mss2_gray_fill_masked)(uint8_t *dst, int dst_stride,
+ int maskcolor, const uint8_t *mask,
+ int mask_stride, int w, int h);
+ void (*upsample_plane)(uint8_t *plane, int plane_stride, int w, int h);
+} MSS2DSPContext;
+
+av_cold void ff_mss2dsp_init(MSS2DSPContext* dsp);
+
+#endif /* AVCODEC_MSS2DSP_H */