Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
msmpeg4.h
Go to the documentation of this file.
1
/*
2
* MSMPEG4 backend for encoder and decoder
3
* copyright (c) 2007 Aurelien Jacobs <aurel@gnuage.org>
4
*
5
* This file is part of Libav.
6
*
7
* Libav is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* Libav is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVCODEC_MSMPEG4_H
23
#define AVCODEC_MSMPEG4_H
24
25
#include "
config.h
"
26
#include "
avcodec.h
"
27
#include "
dsputil.h
"
28
#include "
mpegvideo.h
"
29
30
#define INTER_INTRA_VLC_BITS 3
31
#define MB_NON_INTRA_VLC_BITS 9
32
#define MB_INTRA_VLC_BITS 9
33
34
extern
VLC
ff_mb_non_intra_vlc
[4];
35
extern
VLC
ff_inter_intra_vlc
;
36
37
void
ff_msmpeg4_code012
(
PutBitContext
*pb,
int
n);
38
void
ff_msmpeg4_encode_block
(
MpegEncContext
* s,
DCTELEM
*
block
,
int
n);
39
void
ff_msmpeg4_handle_slices
(
MpegEncContext
*s);
40
void
ff_msmpeg4_encode_motion
(
MpegEncContext
* s,
int
mx,
int
my);
41
int
ff_msmpeg4_coded_block_pred
(
MpegEncContext
* s,
int
n,
42
uint8_t **coded_block_ptr);
43
int
ff_msmpeg4_decode_motion
(
MpegEncContext
* s,
int
*mx_ptr,
int
*my_ptr);
44
int
ff_msmpeg4_decode_block
(
MpegEncContext
* s,
DCTELEM
*
block
,
45
int
n,
int
coded,
const
uint8_t *scan_table);
46
int
ff_wmv2_decode_mb
(
MpegEncContext
*s,
DCTELEM
block
[6][64]);
47
48
#define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \
49
CONFIG_MSMPEG4V2_DECODER || \
50
CONFIG_MSMPEG4V3_DECODER || \
51
CONFIG_WMV2_DECODER || \
52
CONFIG_VC1_DECODER)
53
#define CONFIG_MSMPEG4_ENCODER (CONFIG_MSMPEG4V2_ENCODER || \
54
CONFIG_MSMPEG4V3_ENCODER || \
55
CONFIG_WMV2_ENCODER)
56
57
#endif
/* AVCODEC_MSMPEG4_H */