• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

libavcodec/msmpeg4.h

Go to the documentation of this file.
00001 /*
00002  * MSMPEG4 backend for ffmpeg encoder and decoder
00003  * copyright (c) 2007 Aurelien Jacobs <aurel@gnuage.org>
00004  *
00005  * This file is part of FFmpeg.
00006  *
00007  * FFmpeg is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * FFmpeg is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with FFmpeg; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00020  */
00021 
00026 #ifndef AVCODEC_MSMPEG4_H
00027 #define AVCODEC_MSMPEG4_H
00028 
00029 #include "config.h"
00030 #include "avcodec.h"
00031 #include "dsputil.h"
00032 #include "mpegvideo.h"
00033 
00034 #define INTER_INTRA_VLC_BITS 3
00035 #define MB_NON_INTRA_VLC_BITS 9
00036 #define MB_INTRA_VLC_BITS 9
00037 
00038 extern VLC ff_mb_non_intra_vlc[4];
00039 extern VLC ff_inter_intra_vlc;
00040 
00041 void ff_msmpeg4_code012(PutBitContext *pb, int n);
00042 void ff_msmpeg4_encode_block(MpegEncContext * s, DCTELEM * block, int n);
00043 void ff_msmpeg4_handle_slices(MpegEncContext *s);
00044 void ff_msmpeg4_encode_motion(MpegEncContext * s, int mx, int my);
00045 int ff_msmpeg4_coded_block_pred(MpegEncContext * s, int n,
00046                                 uint8_t **coded_block_ptr);
00047 int ff_msmpeg4_decode_motion(MpegEncContext * s, int *mx_ptr, int *my_ptr);
00048 int ff_msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
00049                             int n, int coded, const uint8_t *scan_table);
00050 int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
00051 
00052 #define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \
00053                                 CONFIG_MSMPEG4V2_DECODER || \
00054                                 CONFIG_MSMPEG4V3_DECODER || \
00055                                 CONFIG_WMV2_DECODER      || \
00056                                 CONFIG_VC1_DECODER)
00057 #define CONFIG_MSMPEG4_ENCODER (CONFIG_MSMPEG4V1_ENCODER || \
00058                                 CONFIG_MSMPEG4V2_ENCODER || \
00059                                 CONFIG_MSMPEG4V3_ENCODER || \
00060                                 CONFIG_WMV2_ENCODER)
00061 
00062 #endif /* AVCODEC_MSMPEG4_H */

Generated on Fri Sep 16 2011 17:17:41 for FFmpeg by  doxygen 1.7.1