2 Copyright 2012 Marten Richter
\r
4 This file is part of VOMP.
\r
6 VOMP is free software; you can redistribute it and/or modify
\r
7 it under the terms of the GNU General Public License as published by
\r
8 the Free Software Foundation; either version 2 of the License, or
\r
9 (at your option) any later version.
\r
11 VOMP is distributed in the hope that it will be useful,
\r
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
14 GNU General Public License for more details.
\r
16 You should have received a copy of the GNU General Public License
\r
17 along with VOMP; if not, write to the Free Software
\r
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
\r
21 #ifndef GL_MOCOSHADER_H
\r
22 #define GL_MOCOSHADER_H
\r
24 #include "glshader.h"
\r
25 #include <libavcodec/xvmc.h>
\r
28 struct VPE_FrameBuf;
\r
31 class GLMocoShader: public GLShader {
\r
34 virtual ~GLMocoShader();
\r
39 int uploadDataBlocks(short* blocks,unsigned int num_blocks, XvMCMacroBlock *m_blocks,unsigned int num_m_blocks);
\r
41 int doMoCo(VPEOGLFrame *target,VPEOGLFrame *forward,VPEOGLFrame *backward);
\r
44 virtual int BindAttributes();
\r
49 GLint loc_pict_scale;
\r
51 GLint forward_pic_loc;
\r
52 GLint backward_pic_loc;
\r
53 GLint pict_size_loc;
\r
54 unsigned int valid_macro_blocks;
\r