FFmpeg
libavcodec
h261.h
Go to the documentation of this file.
1
/*
2
* H.261 codec
3
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
4
* Copyright (c) 2004 Maarten Daniels
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
28
#ifndef AVCODEC_H261_H
29
#define AVCODEC_H261_H
30
31
#include "
mpegvideo.h
"
32
#include "
rl.h
"
33
37
typedef
struct
H261Context
{
38
MpegEncContext
s;
39
40
int
current_mba;
41
int
mba_diff;
42
int
mtype;
43
int
current_mv_x;
44
int
current_mv_y;
45
int
gob_number;
46
int
gob_start_code_skipped;
// 1 if gob start code is already read before gob header is read
47
}
H261Context
;
48
49
#define MB_TYPE_H261_FIL 0x800000
50
51
extern
uint8_t ff_h261_rl_table_store[2][2 * MAX_RUN + MAX_LEVEL + 3];
52
53
extern
const
uint8_t ff_h261_mba_code[35];
54
extern
const
uint8_t ff_h261_mba_bits[35];
55
extern
const
uint8_t ff_h261_mtype_code[10];
56
extern
const
uint8_t ff_h261_mtype_bits[10];
57
extern
const
int
ff_h261_mtype_map[10];
58
extern
const
uint8_t ff_h261_mv_tab[17][2];
59
extern
const
uint8_t ff_h261_cbp_tab[63][2];
60
extern
RLTable
ff_h261_rl_tcoeff;
61
62
void
ff_h261_loop_filter(
MpegEncContext
*s);
63
void
ff_h261_common_init(
void
);
64
65
int
ff_h261_get_picture_format(
int
width,
int
height);
66
void
ff_h261_reorder_mb_index(
MpegEncContext
*s);
67
void
ff_h261_encode_mb(
MpegEncContext
*s, int16_t block[6][64],
68
int
motion_x,
int
motion_y);
69
void
ff_h261_encode_picture_header(
MpegEncContext
*s,
int
picture_number);
70
void
ff_h261_encode_init(
MpegEncContext
*s);
71
72
#endif
/* AVCODEC_H261_H */
H261Context
struct H261Context H261Context
H261Context.
H261Context
H261Context.
Definition:
h261.h:37
mpegvideo.h
mpegvideo header.
RLTable
RLTable.
Definition:
rl.h:39
rl.h
rl header.
MpegEncContext
MpegEncContext.
Definition:
mpegvideo.h:81
Generated by
1.8.12