libavcodec/mss2dsp.h
ee769c6a
 /*
  * Microsoft Screen 2 (aka Windows Media Video V9 Screen) decoder
  *
c617bed3
  * This file is part of FFmpeg.
ee769c6a
  *
c617bed3
  * FFmpeg is free software; you can redistribute it and/or
ee769c6a
  * 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.
  *
c617bed3
  * FFmpeg is distributed in the hope that it will be useful,
ee769c6a
  * 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
c617bed3
  * License along with FFmpeg; if not, write to the Free Software
ee769c6a
  * 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
 
15b4f494
 #include <stddef.h>
c242bbd8
 #include <stdint.h>
ee769c6a
 
 typedef struct MSS2DSPContext {
15b4f494
     void (*mss2_blit_wmv9)(uint8_t *dst, ptrdiff_t dst_stride,
                            const uint8_t *srcy, ptrdiff_t srcy_stride,
ee769c6a
                            const uint8_t *srcu, const uint8_t *srcv,
15b4f494
                            ptrdiff_t srcuv_stride, int w, int h);
     void (*mss2_blit_wmv9_masked)(uint8_t *dst, ptrdiff_t dst_stride,
ee769c6a
                                   int maskcolor, const uint8_t *mask,
15b4f494
                                   ptrdiff_t mask_stride,
                                   const uint8_t *srcy, ptrdiff_t srcy_stride,
ee769c6a
                                   const uint8_t *srcu, const uint8_t *srcv,
15b4f494
                                   ptrdiff_t srcuv_stride, int w, int h);
     void (*mss2_gray_fill_masked)(uint8_t *dst, ptrdiff_t dst_stride,
ee769c6a
                                   int maskcolor, const uint8_t *mask,
15b4f494
                                   ptrdiff_t mask_stride, int w, int h);
     void (*upsample_plane)(uint8_t *plane, ptrdiff_t plane_stride,
                            int w, int h);
ee769c6a
 } MSS2DSPContext;
 
94ee7da0
 void ff_mss2dsp_init(MSS2DSPContext *dsp);
ee769c6a
 
 #endif /* AVCODEC_MSS2DSP_H */