⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpeg.hpp

📁 H.264完整的C语言代码和DCT的代码
💻 HPP
字号:
#ifndef _mpeg
#define _mpeg

// do not change this
#include "idb_types.hpp"
#include "idb_deftypes.hpp"

kernel idxGen(ostream<uint>   indices,
              uc<int>&        uc_size,
              uc<int>&        uc_params);
KERNELDECL(idxGen);
#define idxGen KERNELCALL(idxGen)

kernel icolor(istream<ubyte4> datain,
              ostream<half2> Yout,
              ostream<half2> CrCbout);
KERNELDECL(icolor);
#define icolor KERNELCALL(icolor)

kernel pcolor(istream<ubyte4> datain,
              ostream<ubyte4> Yout,
              ostream<half2> CrCbout);
KERNELDECL(pcolor);
#define pcolor KERNELCALL(pcolor)

kernel dct(istream<half2> datain,
           istream<uhalf2> consts,
           ostream<half2> out,
           uc<uhalf2>& uc_quantizer_scale);
KERNELDECL(dct);
#define dct KERNELCALL(dct)

kernel idct(istream<half2> datain,
            istream<uhalf2> consts,
            ostream<half2> out,
            uc<half2>& uc_quantizer_scale);
KERNELDECL(idct);
#define idct KERNELCALL(idct)

kernel rle(istream<half2> Yin,
           istream<half2> CrCbin,
           istream<int> indices,
           cistream<half2> motion,
           costream<half2> out,
           uc<uint>& pframe,
           uc<uint>& quant_scale);
KERNELDECL(rle);
#define rle KERNELCALL(rle)

kernel difference(istream<ubyte4> curryblks,
                  istream<half2> currcblks,
                  istream<ubyte4> refyblks,
                  istream<half2> refcblks,
                  ostream<half2> diffyblks,
                  ostream<half2> diffcblks);
KERNELDECL(difference);
#define difference KERNELCALL(difference)

kernel correlate(istream<half2> diffyblks,
                 istream<half2> diffcblks,
                 istream<ubyte4> refyblks,
                 istream<half2> refcblks,
                 ostream<ubyte4> newrefyblks,
                 ostream<half2> newrefcblks,
                 uc<uint>& uc_pframe);
KERNELDECL(correlate);
#define correlate KERNELCALL(correlate)

kernel MV2idx(cistream<half2> motion,      
              ostream<uint>   yindices,    
              ostream<uint>   crcbindices, 
              uc<int>&        uc_offsets,  
              uc<int>&        uc_mblks,    
              uc<int>&        uc_mb_width);
KERNELDECL(MV2idx);
#define MV2idx KERNELCALL(MV2idx)

kernel blocksearch(istream<ubyte4> row0,
                   istream<ubyte4> row1,
                   istream<ubyte4> row2,
                   istream<ubyte4> mblocks,
                   costream<half2> motions,
                   uc<int>& location);
KERNELDECL(blocksearch);
#define blocksearch KERNELCALL(blocksearch)

kernel mb_encode(istream<byte4> datain,
                 istream<half2> consts,
                 ostream<half2> color_out,
                 ostream<half2> dct_out,
                 costream<int> out);
KERNELDECL(mb_encode);
#define mb_encode KERNELCALL(mb_encode)

// do not change this
#include "idb_undeftypes.hpp"

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -