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
022e118e
Commit
022e118e
authored
Dec 18, 2012
by
Stefano Sabatini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavfi/setpts: enable debug logs, and improve/extend debug messages
parent
ec4a0845
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
16 deletions
+31
-16
f_setpts.c
libavfilter/f_setpts.c
+31
-16
No files found.
libavfilter/f_setpts.c
View file @
022e118e
...
...
@@ -24,8 +24,6 @@
* video presentation timestamp (PTS) modification filter
*/
/* #define DEBUG */
#include "libavutil/eval.h"
#include "libavutil/internal.h"
#include "libavutil/mathematics.h"
...
...
@@ -123,6 +121,17 @@ static int config_input(AVFilterLink *inlink)
#define TS2D(ts) ((ts) == AV_NOPTS_VALUE ? NAN : (double)(ts))
#define TS2T(ts, tb) ((ts) == AV_NOPTS_VALUE ? NAN : (double)(ts)*av_q2d(tb))
#define BUF_SIZE 64
static
inline
char
*
double2int64str
(
char
*
buf
,
double
v
)
{
if
(
isnan
(
v
))
snprintf
(
buf
,
BUF_SIZE
,
"nan"
);
else
snprintf
(
buf
,
BUF_SIZE
,
"%"
PRId64
,
(
int64_t
)
v
);
return
buf
;
}
#define d2istr(v) double2int64str((char[BUF_SIZE]){0}, v)
static
int
filter_frame
(
AVFilterLink
*
inlink
,
AVFilterBufferRef
*
frame
)
{
SetPTSContext
*
setpts
=
inlink
->
dst
->
priv
;
...
...
@@ -148,26 +157,32 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *frame)
}
d
=
av_expr_eval
(
setpts
->
expr
,
setpts
->
var_values
,
NULL
);
av_log
(
inlink
->
dst
,
AV_LOG_DEBUG
,
"N:%"
PRId64
" PTS:%s T:%f POS:%s"
,
(
int64_t
)
setpts
->
var_values
[
VAR_N
],
d2istr
(
setpts
->
var_values
[
VAR_PTS
]),
setpts
->
var_values
[
VAR_T
],
d2istr
(
setpts
->
var_values
[
VAR_POS
]));
switch
(
inlink
->
type
)
{
case
AVMEDIA_TYPE_VIDEO
:
av_log
(
inlink
->
dst
,
AV_LOG_DEBUG
,
" INTERLACED:%"
PRId64
,
(
int64_t
)
setpts
->
var_values
[
VAR_INTERLACED
]);
break
;
case
AVMEDIA_TYPE_AUDIO
:
av_log
(
inlink
->
dst
,
AV_LOG_DEBUG
,
" NB_SAMPLES:%"
PRId64
" NB_CONSUMED_SAMPLES:%"
PRId64
,
(
int64_t
)
setpts
->
var_values
[
VAR_NB_SAMPLES
],
(
int64_t
)
setpts
->
var_values
[
VAR_NB_CONSUMED_SAMPLES
]);
break
;
}
av_log
(
inlink
->
dst
,
AV_LOG_DEBUG
,
" -> PTS:%s T:%f
\n
"
,
d2istr
(
d
),
TS2T
(
d
,
inlink
->
time_base
));
frame
->
pts
=
D2TS
(
d
);
setpts
->
var_values
[
VAR_PREV_INPTS
]
=
TS2D
(
in_pts
);
setpts
->
var_values
[
VAR_PREV_INT
]
=
TS2T
(
in_pts
,
inlink
->
time_base
);
setpts
->
var_values
[
VAR_PREV_OUTPTS
]
=
TS2D
(
frame
->
pts
);
setpts
->
var_values
[
VAR_PREV_OUTT
]
=
TS2T
(
frame
->
pts
,
inlink
->
time_base
);
av_dlog
(
inlink
->
dst
,
"n:%"
PRId64
" interlaced:%d nb_samples:%d nb_consumed_samples:%d "
"pos:%"
PRId64
" pts:%"
PRId64
" t:%f -> pts:%"
PRId64
" t:%f
\n
"
,
(
int64_t
)
setpts
->
var_values
[
VAR_N
],
(
int
)
setpts
->
var_values
[
VAR_INTERLACED
],
(
int
)
setpts
->
var_values
[
VAR_NB_SAMPLES
],
(
int
)
setpts
->
var_values
[
VAR_NB_CONSUMED_SAMPLES
],
(
int64_t
)
setpts
->
var_values
[
VAR_POS
],
(
int64_t
)
setpts
->
var_values
[
VAR_PREV_INPTS
],
setpts
->
var_values
[
VAR_PREV_INT
],
(
int64_t
)
setpts
->
var_values
[
VAR_PREV_OUTPTS
],
setpts
->
var_values
[
VAR_PREV_OUTT
]);
setpts
->
var_values
[
VAR_N
]
+=
1
.
0
;
if
(
setpts
->
type
==
AVMEDIA_TYPE_AUDIO
)
{
setpts
->
var_values
[
VAR_NB_CONSUMED_SAMPLES
]
+=
frame
->
audio
->
nb_samples
;
...
...
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