FFmpeg
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
c
d
g
h
i
o
q
r
s
v
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
a
d
e
f
h
i
j
l
m
n
p
r
s
v
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
libavcodec
speedhqenc.h
Go to the documentation of this file.
1
/*
2
* SpeedHQ encoder
3
* Copyright (c) 2000, 2001 Fabrice Bellard
4
* Copyright (c) 2003 Alex Beregszaszi
5
* Copyright (c) 2003-2004 Michael Niedermayer
6
*
7
* This file is part of FFmpeg.
8
*
9
* FFmpeg is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU Lesser General Public
11
* License as published by the Free Software Foundation; either
12
* version 2.1 of the License, or (at your option) any later version.
13
*
14
* FFmpeg is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* Lesser General Public License for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with FFmpeg; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
*/
23
24
/**
25
* @file
26
* SpeedHQ encoder.
27
*/
28
29
#ifndef AVCODEC_SPEEDHQENC_H
30
#define AVCODEC_SPEEDHQENC_H
31
32
typedef
struct
MPVEncContext
MPVEncContext
;
33
34
void
ff_speedhq_end_slice
(
MPVEncContext
*
s
);
35
36
static
inline
int
ff_speedhq_mb_rows_in_slice
(
int
slice_num,
int
mb_height)
37
{
38
return
mb_height / 4 + (slice_num < (mb_height % 4));
39
}
40
41
static
inline
int
ff_speedhq_mb_y_order_to_mb
(
int
mb_y_order,
int
mb_height,
int
*first_in_slice)
42
{
43
int
slice_num = 0;
44
while
(mb_y_order >=
ff_speedhq_mb_rows_in_slice
(slice_num, mb_height)) {
45
mb_y_order -=
ff_speedhq_mb_rows_in_slice
(slice_num, mb_height);
46
slice_num++;
47
}
48
*first_in_slice = (mb_y_order == 0);
49
return
mb_y_order * 4 + slice_num;
50
}
51
52
#endif
/* AVCODEC_SPEEDHQENC_H */
MPVEncContext
Definition:
mpegvideoenc.h:45
s
#define s(width, name)
Definition:
cbs_vp9.c:198
ff_speedhq_mb_y_order_to_mb
static int ff_speedhq_mb_y_order_to_mb(int mb_y_order, int mb_height, int *first_in_slice)
Definition:
speedhqenc.h:41
ff_speedhq_mb_rows_in_slice
static int ff_speedhq_mb_rows_in_slice(int slice_num, int mb_height)
Definition:
speedhqenc.h:36
ff_speedhq_end_slice
void ff_speedhq_end_slice(MPVEncContext *s)
Definition:
speedhqenc.c:113
Generated on Sun Apr 13 2025 19:22:16 for FFmpeg by
1.8.17