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
23
/**
24
* @file
25
* H.261 codec.
26
*/
27
28
#ifndef AVCODEC_H261_H
29
#define AVCODEC_H261_H
30
31
#include "
mpegvideo.h
"
32
#include "
rl.h
"
33
34
/**
35
* H261Context
36
*/
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::mtype
int mtype
Definition:
h261.h:42
MAX_RUN
#define MAX_RUN
Definition:
rl.h:35
H261Context::gob_number
int gob_number
Definition:
h261.h:45
H261Context::current_mv_y
int current_mv_y
Definition:
h261.h:44
ff_h261_encode_init
void ff_h261_encode_init(MpegEncContext *s)
Definition:
h261enc.c:365
ff_h261_rl_table_store
uint8_t ff_h261_rl_table_store[2][2 *MAX_RUN+MAX_LEVEL+3]
Definition:
h261.c:33
mpegvideo.h
ff_h261_loop_filter
void ff_h261_loop_filter(MpegEncContext *s)
Definition:
h261.c:63
ff_h261_mtype_map
const int ff_h261_mtype_map[10]
Definition:
h261data.c:75
RLTable
RLTable.
Definition:
rl.h:39
ff_h261_get_picture_format
int ff_h261_get_picture_format(int width, int height)
Definition:
h261enc.c:40
width
#define width
s
#define s(width, name)
Definition:
cbs_vp9.c:257
ff_h261_mba_code
const uint8_t ff_h261_mba_code[35]
Definition:
h261data.c:34
ff_h261_mv_tab
const uint8_t ff_h261_mv_tab[17][2]
Definition:
h261data.c:89
H261Context::s
MpegEncContext s
Definition:
h261.h:38
MAX_LEVEL
#define MAX_LEVEL
Definition:
rl.h:36
height
#define height
H261Context
H261Context.
Definition:
h261.h:37
ff_h261_cbp_tab
const uint8_t ff_h261_cbp_tab[63][2]
Definition:
h261data.c:95
uint8_t
uint8_t
Definition:
audio_convert.c:194
ff_h261_mtype_code
const uint8_t ff_h261_mtype_code[10]
Definition:
h261data.c:63
ff_h261_common_init
void ff_h261_common_init(void)
Definition:
h261.c:83
ff_h261_encode_mb
void ff_h261_encode_mb(MpegEncContext *s, int16_t block[6][64], int motion_x, int motion_y)
Definition:
h261enc.c:237
ff_h261_rl_tcoeff
RLTable ff_h261_rl_tcoeff
Definition:
h261data.c:150
ff_h261_mtype_bits
const uint8_t ff_h261_mtype_bits[10]
Definition:
h261data.c:69
H261Context::gob_start_code_skipped
int gob_start_code_skipped
Definition:
h261.h:46
rl.h
block
The exact code depends on how similar the blocks are and how related they are to the block
Definition:
filter_design.txt:207
H261Context::current_mba
int current_mba
Definition:
h261.h:40
H261Context::mba_diff
int mba_diff
Definition:
h261.h:41
ff_h261_reorder_mb_index
void ff_h261_reorder_mb_index(MpegEncContext *s)
Definition:
h261enc.c:108
ff_h261_mba_bits
const uint8_t ff_h261_mba_bits[35]
Definition:
h261data.c:48
MpegEncContext
MpegEncContext.
Definition:
mpegvideo.h:81
ff_h261_encode_picture_header
void ff_h261_encode_picture_header(MpegEncContext *s, int picture_number)
Definition:
h261enc.c:53
H261Context::current_mv_x
int current_mv_x
Definition:
h261.h:43
Generated on Wed Aug 24 2022 21:26:41 for FFmpeg by
1.8.17