Doxygen Source Code Documentation
        
Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search   
idct_mlib.c
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #include "config.h"
00024 
00025 #ifdef LIBMPEG2_MLIB
00026 
00027 #include <mlib_types.h>
00028 #include <mlib_status.h>
00029 #include <mlib_sys.h>
00030 #include <mlib_video.h>
00031 #include <string.h>
00032 #include <inttypes.h>
00033 
00034 #include "mpeg2.h"
00035 #include "mpeg2_internal.h"
00036 
00037 void mpeg2_idct_add_mlib (const int last, int16_t * const block,
00038                           uint8_t * const dest, const int stride)
00039 {
00040     mlib_VideoIDCT_IEEE_S16_S16 (block, block);
00041     mlib_VideoAddBlock_U8_S16 (dest, block, stride);
00042     memset (block, 0, 64 * sizeof (uint16_t));
00043 }
00044 
00045 void mpeg2_idct_copy_mlib_non_ieee (int16_t * const block,
00046                                     uint8_t * const dest, const int stride)
00047 {
00048     mlib_VideoIDCT8x8_U8_S16 (dest, block, stride);
00049     memset (block, 0, 64 * sizeof (uint16_t));
00050 }
00051 
00052 void mpeg2_idct_add_mlib_non_ieee (const int last, int16_t * const block,
00053                                    uint8_t * const dest, const int stride)
00054 {
00055     mlib_VideoIDCT8x8_S16_S16 (block, block);
00056     mlib_VideoAddBlock_U8_S16 (dest, block, stride);
00057     memset (block, 0, 64 * sizeof (uint16_t));
00058 }
00059 
00060 #endif