Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
488d59cc
Commit
488d59cc
authored
Apr 26, 2005
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/stream_out/transcode.c: new hurry-up option that drops video frames if encoder is late.
parent
d501ce7f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
2 deletions
+24
-2
modules/stream_out/transcode.c
modules/stream_out/transcode.c
+24
-2
No files found.
modules/stream_out/transcode.c
View file @
488d59cc
...
...
@@ -125,6 +125,10 @@
"This option will drop/duplicate video frames to synchronise the video " \
"track on the audio track." )
#define HURRYUP_TEXT N_( "Hurry up" )
#define HURRYUP_LONGTEXT N_( "Allows you to specify if the transcoder " \
"should drop frames if your CPU can't keep up with the encoding rate." )
static
int
Open
(
vlc_object_t
*
);
static
void
Close
(
vlc_object_t
*
);
...
...
@@ -149,6 +153,8 @@ vlc_module_begin();
SCALE_LONGTEXT
,
VLC_FALSE
);
add_float
(
SOUT_CFG_PREFIX
"fps"
,
0
,
NULL
,
FPS_TEXT
,
FPS_LONGTEXT
,
VLC_FALSE
);
add_bool
(
SOUT_CFG_PREFIX
"hurry-up"
,
VLC_TRUE
,
NULL
,
HURRYUP_TEXT
,
HURRYUP_LONGTEXT
,
VLC_FALSE
);
add_bool
(
SOUT_CFG_PREFIX
"deinterlace"
,
0
,
NULL
,
DEINTERLACE_TEXT
,
DEINTERLACE_LONGTEXT
,
VLC_FALSE
);
add_integer
(
SOUT_CFG_PREFIX
"width"
,
0
,
NULL
,
WIDTH_TEXT
,
...
...
@@ -198,7 +204,7 @@ vlc_module_end();
static
const
char
*
ppsz_sout_options
[]
=
{
"venc"
,
"vcodec"
,
"vb"
,
"croptop"
,
"cropbottom"
,
"cropleft"
,
"cropright"
,
"scale"
,
"fps"
,
"width"
,
"height"
,
"deinterlace"
,
"threads"
,
"scale"
,
"fps"
,
"width"
,
"height"
,
"deinterlace"
,
"threads"
,
"hurry-up"
,
"aenc"
,
"acodec"
,
"ab"
,
"samplerate"
,
"channels"
,
"senc"
,
"scodec"
,
"soverlay"
,
"sfilter"
,
"audio-sync"
,
NULL
...
...
@@ -285,6 +291,7 @@ struct sout_stream_sys_t
int
i_height
;
vlc_bool_t
b_deinterlace
;
int
i_threads
;
vlc_bool_t
b_hurry_up
;
int
i_crop_top
;
int
i_crop_bottom
;
...
...
@@ -409,6 +416,9 @@ static int Open( vlc_object_t *p_this )
var_Get
(
p_stream
,
SOUT_CFG_PREFIX
"fps"
,
&
val
);
p_sys
->
f_fps
=
val
.
f_float
;
var_Get
(
p_stream
,
SOUT_CFG_PREFIX
"hurry-up"
,
&
val
);
p_sys
->
b_hurry_up
=
val
.
b_bool
;
var_Get
(
p_stream
,
SOUT_CFG_PREFIX
"width"
,
&
val
);
p_sys
->
i_width
=
val
.
i_int
;
...
...
@@ -1483,6 +1493,18 @@ static int transcode_video_process( sout_stream_t *p_stream,
{
subpicture_t
*
p_subpic
=
0
;
if
(
p_stream
->
p_sout
->
i_out_pace_nocontrol
&&
p_sys
->
b_hurry_up
)
{
mtime_t
current_date
=
mdate
();
if
(
current_date
+
100000
>
p_pic
->
date
)
{
msg_Dbg
(
p_stream
,
"late picture skipped ("
I64Fd
")"
,
current_date
+
100000
-
p_pic
->
date
);
p_pic
->
pf_release
(
p_pic
);
continue
;
}
}
if
(
p_sys
->
b_master_sync
)
{
mtime_t
i_video_drift
;
...
...
@@ -1509,7 +1531,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
(int)(i_video_drift - i_master_drift) );
#endif
p_pic
->
pf_release
(
p_pic
);
return
VLC_EGENERIC
;
continue
;
}
else
if
(
i_video_drift
>
i_master_drift
+
50000
)
{
...
...
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