Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
981f6fc9
Commit
981f6fc9
authored
Jul 25, 2011
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ffmpeg: better timebase guessing for stream copy
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
158eb859
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
7 deletions
+17
-7
ffmpeg.c
ffmpeg.c
+17
-7
No files found.
ffmpeg.c
View file @
981f6fc9
...
...
@@ -2237,13 +2237,23 @@ static int transcode(AVFormatContext **output_files,
goto
fail
;
memcpy
(
codec
->
extradata
,
icodec
->
extradata
,
icodec
->
extradata_size
);
codec
->
extradata_size
=
icodec
->
extradata_size
;
if
(
!
copy_tb
&&
av_q2d
(
icodec
->
time_base
)
*
icodec
->
ticks_per_frame
>
av_q2d
(
ist
->
st
->
time_base
)
&&
av_q2d
(
ist
->
st
->
time_base
)
<
1
.
0
/
500
){
codec
->
time_base
=
icodec
->
time_base
;
codec
->
time_base
.
num
*=
icodec
->
ticks_per_frame
;
av_reduce
(
&
codec
->
time_base
.
num
,
&
codec
->
time_base
.
den
,
codec
->
time_base
.
num
,
codec
->
time_base
.
den
,
INT_MAX
);
}
else
codec
->
time_base
=
ist
->
st
->
time_base
;
codec
->
time_base
=
ist
->
st
->
time_base
;
if
(
!
strcmp
(
os
->
oformat
->
name
,
"avi"
))
{
if
(
!
copy_tb
&&
av_q2d
(
icodec
->
time_base
)
*
icodec
->
ticks_per_frame
>
2
*
av_q2d
(
ist
->
st
->
time_base
)
&&
av_q2d
(
ist
->
st
->
time_base
)
<
1
.
0
/
500
){
codec
->
time_base
=
icodec
->
time_base
;
codec
->
time_base
.
num
*=
icodec
->
ticks_per_frame
;
codec
->
time_base
.
den
*=
2
;
}
}
else
if
(
!
(
os
->
oformat
->
flags
&
AVFMT_VARIABLE_FPS
))
{
if
(
!
copy_tb
&&
av_q2d
(
icodec
->
time_base
)
*
icodec
->
ticks_per_frame
>
av_q2d
(
ist
->
st
->
time_base
)
&&
av_q2d
(
ist
->
st
->
time_base
)
<
1
.
0
/
500
){
codec
->
time_base
=
icodec
->
time_base
;
codec
->
time_base
.
num
*=
icodec
->
ticks_per_frame
;
}
}
av_reduce
(
&
codec
->
time_base
.
num
,
&
codec
->
time_base
.
den
,
codec
->
time_base
.
num
,
codec
->
time_base
.
den
,
INT_MAX
);
switch
(
codec
->
codec_type
)
{
case
AVMEDIA_TYPE_AUDIO
:
if
(
audio_volume
!=
256
)
{
...
...
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