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
b317f945
Commit
b317f945
authored
Jan 03, 2014
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avutil/mathematics: add av_add_stable()
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
de5b6c73
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
1 deletion
+32
-1
APIchanges
doc/APIchanges
+3
-0
mathematics.c
libavutil/mathematics.c
+14
-0
mathematics.h
libavutil/mathematics.h
+14
-0
version.h
libavutil/version.h
+1
-1
No files found.
doc/APIchanges
View file @
b317f945
...
@@ -15,6 +15,9 @@ libavutil: 2012-10-22
...
@@ -15,6 +15,9 @@ libavutil: 2012-10-22
API changes, most recent first:
API changes, most recent first:
2014-01-04 - xxxxxxx - lavu 52.60.100 - mathematics.h
Add av_add_stable() function.
2013-12-22 - xxxxxxx - lavu 52.59.100 - avstring.h
2013-12-22 - xxxxxxx - lavu 52.59.100 - avstring.h
Add av_strnlen() function.
Add av_strnlen() function.
...
...
libavutil/mathematics.c
View file @
b317f945
...
@@ -174,3 +174,17 @@ simple_round:
...
@@ -174,3 +174,17 @@ simple_round:
return
av_rescale_q
(
this
,
fs_tb
,
out_tb
);
return
av_rescale_q
(
this
,
fs_tb
,
out_tb
);
}
}
int64_t
av_add_stable
(
AVRational
ts_tb
,
int64_t
ts
,
AVRational
inc_tb
,
int64_t
inc
)
{
AVRational
step
=
av_mul_q
(
inc_tb
,
(
AVRational
)
{
inc
,
1
});
if
(
av_cmp_q
(
step
,
ts_tb
)
<
0
)
{
//increase step is too small for even 1 step to be representable
return
ts
;
}
else
{
int64_t
old
=
av_rescale_q
(
ts
,
ts_tb
,
step
);
int64_t
old_ts
=
av_rescale_q
(
old
,
step
,
ts_tb
);
return
av_rescale_q
(
old
+
1
,
step
,
ts_tb
)
+
(
ts
-
old_ts
);
}
}
libavutil/mathematics.h
View file @
b317f945
...
@@ -141,6 +141,20 @@ int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
...
@@ -141,6 +141,20 @@ int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
int64_t
av_rescale_delta
(
AVRational
in_tb
,
int64_t
in_ts
,
AVRational
fs_tb
,
int
duration
,
int64_t
*
last
,
AVRational
out_tb
);
int64_t
av_rescale_delta
(
AVRational
in_tb
,
int64_t
in_ts
,
AVRational
fs_tb
,
int
duration
,
int64_t
*
last
,
AVRational
out_tb
);
/**
/**
* Add a value to a timestamp.
*
* This function gurantees that when the same value is repeatly added that
* no accumulation of rounding errors occurs.
*
* @param ts Input timestamp
* @param ts_tb Input timestamp timebase
* @param inc value to add to ts
* @param inc_tb inc timebase
*/
int64_t
av_add_stable
(
AVRational
ts_tb
,
int64_t
ts
,
AVRational
inc_tb
,
int64_t
inc
);
/**
* @}
* @}
*/
*/
...
...
libavutil/version.h
View file @
b317f945
...
@@ -56,7 +56,7 @@
...
@@ -56,7 +56,7 @@
*/
*/
#define LIBAVUTIL_VERSION_MAJOR 52
#define LIBAVUTIL_VERSION_MAJOR 52
#define LIBAVUTIL_VERSION_MINOR
59
#define LIBAVUTIL_VERSION_MINOR
60
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
...
...
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