Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
de69aedf
Commit
de69aedf
authored
May 01, 2014
by
Luca Barbato
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mathematics: K&R formatting cosmetics
parent
3a177a9c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
53 additions
and
42 deletions
+53
-42
mathematics.c
libavutil/mathematics.c
+53
-42
No files found.
libavutil/mathematics.c
View file @
de69aedf
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
#include "version.h"
#include "version.h"
#if FF_API_AV_REVERSE
#if FF_API_AV_REVERSE
const
uint8_t
av_reverse
[
256
]
=
{
const
uint8_t
av_reverse
[
256
]
=
{
0x00
,
0x80
,
0x40
,
0xC0
,
0x20
,
0xA0
,
0x60
,
0xE0
,
0x10
,
0x90
,
0x50
,
0xD0
,
0x30
,
0xB0
,
0x70
,
0xF0
,
0x00
,
0x80
,
0x40
,
0xC0
,
0x20
,
0xA0
,
0x60
,
0xE0
,
0x10
,
0x90
,
0x50
,
0xD0
,
0x30
,
0xB0
,
0x70
,
0xF0
,
0x08
,
0x88
,
0x48
,
0xC8
,
0x28
,
0xA8
,
0x68
,
0xE8
,
0x18
,
0x98
,
0x58
,
0xD8
,
0x38
,
0xB8
,
0x78
,
0xF8
,
0x08
,
0x88
,
0x48
,
0xC8
,
0x28
,
0xA8
,
0x68
,
0xE8
,
0x18
,
0x98
,
0x58
,
0xD8
,
0x38
,
0xB8
,
0x78
,
0xF8
,
0x04
,
0x84
,
0x44
,
0xC4
,
0x24
,
0xA4
,
0x64
,
0xE4
,
0x14
,
0x94
,
0x54
,
0xD4
,
0x34
,
0xB4
,
0x74
,
0xF4
,
0x04
,
0x84
,
0x44
,
0xC4
,
0x24
,
0xA4
,
0x64
,
0xE4
,
0x14
,
0x94
,
0x54
,
0xD4
,
0x34
,
0xB4
,
0x74
,
0xF4
,
...
@@ -50,47 +50,53 @@ const uint8_t av_reverse[256]={
...
@@ -50,47 +50,53 @@ const uint8_t av_reverse[256]={
};
};
#endif
#endif
int64_t
av_gcd
(
int64_t
a
,
int64_t
b
){
int64_t
av_gcd
(
int64_t
a
,
int64_t
b
)
if
(
b
)
return
av_gcd
(
b
,
a
%
b
);
{
else
return
a
;
if
(
b
)
return
av_gcd
(
b
,
a
%
b
);
else
return
a
;
}
}
int64_t
av_rescale_rnd
(
int64_t
a
,
int64_t
b
,
int64_t
c
,
enum
AVRounding
rnd
){
int64_t
av_rescale_rnd
(
int64_t
a
,
int64_t
b
,
int64_t
c
,
enum
AVRounding
rnd
)
int64_t
r
=
0
;
{
int64_t
r
=
0
;
if
(
c
<=
0
||
b
<
0
||
rnd
==
4
||
rnd
>
5
)
if
(
c
<=
0
||
b
<
0
||
rnd
==
4
||
rnd
>
5
)
return
INT64_MIN
;
return
INT64_MIN
;
if
(
a
<
0
&&
a
!=
INT64_MIN
)
return
-
av_rescale_rnd
(
-
a
,
b
,
c
,
rnd
^
((
rnd
>>
1
)
&
1
));
if
(
a
<
0
&&
a
!=
INT64_MIN
)
return
-
av_rescale_rnd
(
-
a
,
b
,
c
,
rnd
^
((
rnd
>>
1
)
&
1
));
if
(
rnd
==
AV_ROUND_NEAR_INF
)
r
=
c
/
2
;
if
(
rnd
==
AV_ROUND_NEAR_INF
)
else
if
(
rnd
&
1
)
r
=
c
-
1
;
r
=
c
/
2
;
else
if
(
rnd
&
1
)
r
=
c
-
1
;
if
(
b
<=
INT_MAX
&&
c
<=
INT_MAX
)
{
if
(
b
<=
INT_MAX
&&
c
<=
INT_MAX
)
{
if
(
a
<=
INT_MAX
)
if
(
a
<=
INT_MAX
)
return
(
a
*
b
+
r
)
/
c
;
return
(
a
*
b
+
r
)
/
c
;
else
else
return
a
/
c
*
b
+
(
a
%
c
*
b
+
r
)
/
c
;
return
a
/
c
*
b
+
(
a
%
c
*
b
+
r
)
/
c
;
}
else
{
}
else
{
#if 1
#if 1
uint64_t
a0
=
a
&
0xFFFFFFFF
;
uint64_t
a0
=
a
&
0xFFFFFFFF
;
uint64_t
a1
=
a
>>
32
;
uint64_t
a1
=
a
>>
32
;
uint64_t
b0
=
b
&
0xFFFFFFFF
;
uint64_t
b0
=
b
&
0xFFFFFFFF
;
uint64_t
b1
=
b
>>
32
;
uint64_t
b1
=
b
>>
32
;
uint64_t
t1
=
a0
*
b1
+
a1
*
b0
;
uint64_t
t1
=
a0
*
b1
+
a1
*
b0
;
uint64_t
t1a
=
t1
<<
32
;
uint64_t
t1a
=
t1
<<
32
;
int
i
;
int
i
;
a0
=
a0
*
b0
+
t1a
;
a0
=
a0
*
b0
+
t1a
;
a1
=
a1
*
b1
+
(
t1
>>
32
)
+
(
a0
<
t1a
);
a1
=
a1
*
b1
+
(
t1
>>
32
)
+
(
a0
<
t1a
);
a0
+=
r
;
a0
+=
r
;
a1
+=
a0
<
r
;
a1
+=
a0
<
r
;
for
(
i
=
63
;
i
>=
0
;
i
--
){
for
(
i
=
63
;
i
>=
0
;
i
--
)
{
// int o= a1 & 0x8000000000000000ULL;
a1
+=
a1
+
((
a0
>>
i
)
&
1
);
a1
+=
a1
+
((
a0
>>
i
)
&
1
);
t1
+=
t1
;
t1
+=
t1
;
if
(
c
<=
a1
)
{
if
(
/*o || */
c
<=
a1
){
a1
-=
c
;
a1
-=
c
;
t1
++
;
t1
++
;
}
}
...
@@ -99,23 +105,24 @@ int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd){
...
@@ -99,23 +105,24 @@ int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd){
}
}
#else
#else
AVInteger
ai
;
AVInteger
ai
;
ai
=
av_mul_i
(
av_int2i
(
a
),
av_int2i
(
b
));
ai
=
av_mul_i
(
av_int2i
(
a
),
av_int2i
(
b
));
ai
=
av_add_i
(
ai
,
av_int2i
(
r
));
ai
=
av_add_i
(
ai
,
av_int2i
(
r
));
return
av_i2int
(
av_div_i
(
ai
,
av_int2i
(
c
)));
return
av_i2int
(
av_div_i
(
ai
,
av_int2i
(
c
)));
}
}
#endif
#endif
}
}
int64_t
av_rescale
(
int64_t
a
,
int64_t
b
,
int64_t
c
){
int64_t
av_rescale
(
int64_t
a
,
int64_t
b
,
int64_t
c
)
{
return
av_rescale_rnd
(
a
,
b
,
c
,
AV_ROUND_NEAR_INF
);
return
av_rescale_rnd
(
a
,
b
,
c
,
AV_ROUND_NEAR_INF
);
}
}
int64_t
av_rescale_q_rnd
(
int64_t
a
,
AVRational
bq
,
AVRational
cq
,
int64_t
av_rescale_q_rnd
(
int64_t
a
,
AVRational
bq
,
AVRational
cq
,
enum
AVRounding
rnd
)
enum
AVRounding
rnd
)
{
{
int64_t
b
=
bq
.
num
*
(
int64_t
)
cq
.
den
;
int64_t
b
=
bq
.
num
*
(
int64_t
)
cq
.
den
;
int64_t
c
=
cq
.
num
*
(
int64_t
)
bq
.
den
;
int64_t
c
=
cq
.
num
*
(
int64_t
)
bq
.
den
;
return
av_rescale_rnd
(
a
,
b
,
c
,
rnd
);
return
av_rescale_rnd
(
a
,
b
,
c
,
rnd
);
}
}
...
@@ -124,17 +131,21 @@ int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
...
@@ -124,17 +131,21 @@ int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
return
av_rescale_q_rnd
(
a
,
bq
,
cq
,
AV_ROUND_NEAR_INF
);
return
av_rescale_q_rnd
(
a
,
bq
,
cq
,
AV_ROUND_NEAR_INF
);
}
}
int
av_compare_ts
(
int64_t
ts_a
,
AVRational
tb_a
,
int64_t
ts_b
,
AVRational
tb_b
){
int
av_compare_ts
(
int64_t
ts_a
,
AVRational
tb_a
,
int64_t
ts_b
,
AVRational
tb_b
)
int64_t
a
=
tb_a
.
num
*
(
int64_t
)
tb_b
.
den
;
{
int64_t
b
=
tb_b
.
num
*
(
int64_t
)
tb_a
.
den
;
int64_t
a
=
tb_a
.
num
*
(
int64_t
)
tb_b
.
den
;
if
(
av_rescale_rnd
(
ts_a
,
a
,
b
,
AV_ROUND_DOWN
)
<
ts_b
)
return
-
1
;
int64_t
b
=
tb_b
.
num
*
(
int64_t
)
tb_a
.
den
;
if
(
av_rescale_rnd
(
ts_b
,
b
,
a
,
AV_ROUND_DOWN
)
<
ts_a
)
return
1
;
if
(
av_rescale_rnd
(
ts_a
,
a
,
b
,
AV_ROUND_DOWN
)
<
ts_b
)
return
-
1
;
if
(
av_rescale_rnd
(
ts_b
,
b
,
a
,
AV_ROUND_DOWN
)
<
ts_a
)
return
1
;
return
0
;
return
0
;
}
}
int64_t
av_compare_mod
(
uint64_t
a
,
uint64_t
b
,
uint64_t
mod
){
int64_t
av_compare_mod
(
uint64_t
a
,
uint64_t
b
,
uint64_t
mod
)
int64_t
c
=
(
a
-
b
)
&
(
mod
-
1
);
{
if
(
c
>
(
mod
>>
1
))
int64_t
c
=
(
a
-
b
)
&
(
mod
-
1
);
c
-=
mod
;
if
(
c
>
(
mod
>>
1
))
c
-=
mod
;
return
c
;
return
c
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment