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
132b8e6f
Commit
132b8e6f
authored
Dec 05, 2008
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow decoder/packetizer to output meta data.
They are ignored for now.
parent
da0ee427
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
36 additions
and
5 deletions
+36
-5
include/vlc_codec.h
include/vlc_codec.h
+8
-2
modules/stream_out/mosaic_bridge.c
modules/stream_out/mosaic_bridge.c
+4
-0
modules/stream_out/transcode.c
modules/stream_out/transcode.c
+9
-0
src/input/decoder.c
src/input/decoder.c
+8
-3
src/input/demux.c
src/input/demux.c
+3
-0
src/misc/image.c
src/misc/image.c
+4
-0
No files found.
include/vlc_codec.h
View file @
132b8e6f
...
@@ -62,10 +62,10 @@ struct decoder_t
...
@@ -62,10 +62,10 @@ struct decoder_t
es_format_t
fmt_out
;
es_format_t
fmt_out
;
/* Some decoders only accept packetized data (ie. not truncated) */
/* Some decoders only accept packetized data (ie. not truncated) */
bool
b_need_packetized
;
bool
b_need_packetized
;
/* Tell the decoder if it is allowed to drop frames */
/* Tell the decoder if it is allowed to drop frames */
bool
b_pace_control
;
bool
b_pace_control
;
/* */
/* */
picture_t
*
(
*
pf_decode_video
)(
decoder_t
*
,
block_t
**
);
picture_t
*
(
*
pf_decode_video
)(
decoder_t
*
,
block_t
**
);
...
@@ -81,6 +81,12 @@ struct decoder_t
...
@@ -81,6 +81,12 @@ struct decoder_t
* globaly, not necessary for the current packet */
* globaly, not necessary for the current packet */
block_t
*
(
*
pf_get_cc
)
(
decoder_t
*
,
bool
pb_present
[
4
]
);
block_t
*
(
*
pf_get_cc
)
(
decoder_t
*
,
bool
pb_present
[
4
]
);
/* Meta data at codec level
* The decoder owner set it back to NULL once it has retreived what it needs.
* The decoder owner is responsible of its release except when you overwrite it.
*/
vlc_meta_t
*
p_description
;
/*
/*
* Owner fields
* Owner fields
* XXX You MUST not use them directly.
* XXX You MUST not use them directly.
...
...
modules/stream_out/mosaic_bridge.c
View file @
132b8e6f
...
@@ -37,6 +37,7 @@
...
@@ -37,6 +37,7 @@
#include <vlc_sout.h>
#include <vlc_sout.h>
#include <vlc_block.h>
#include <vlc_block.h>
#include <vlc_codec.h>
#include <vlc_codec.h>
#include <vlc_meta.h>
#include <vlc_image.h>
#include <vlc_image.h>
#include <vlc_filter.h>
#include <vlc_filter.h>
...
@@ -473,6 +474,9 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
...
@@ -473,6 +474,9 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
if
(
p_sys
->
p_decoder
->
p_module
)
if
(
p_sys
->
p_decoder
->
p_module
)
module_unneed
(
p_sys
->
p_decoder
,
p_sys
->
p_decoder
->
p_module
);
module_unneed
(
p_sys
->
p_decoder
,
p_sys
->
p_decoder
->
p_module
);
if
(
p_sys
->
p_decoder
->
p_description
)
vlc_meta_Delete
(
p_sys
->
p_decoder
->
p_description
);
vlc_object_detach
(
p_sys
->
p_decoder
);
vlc_object_detach
(
p_sys
->
p_decoder
);
vlc_object_release
(
p_sys
->
p_decoder
);
vlc_object_release
(
p_sys
->
p_decoder
);
...
...
modules/stream_out/transcode.c
View file @
132b8e6f
...
@@ -38,6 +38,7 @@
...
@@ -38,6 +38,7 @@
#include <vlc_aout.h>
#include <vlc_aout.h>
#include <vlc_vout.h>
#include <vlc_vout.h>
#include <vlc_codec.h>
#include <vlc_codec.h>
#include <vlc_meta.h>
#include <vlc_block.h>
#include <vlc_block.h>
#include <vlc_filter.h>
#include <vlc_filter.h>
#include <vlc_osd.h>
#include <vlc_osd.h>
...
@@ -1275,6 +1276,10 @@ static void transcode_audio_close( sout_stream_id_t *id )
...
@@ -1275,6 +1276,10 @@ static void transcode_audio_close( sout_stream_id_t *id )
module_unneed
(
id
->
p_decoder
,
id
->
p_decoder
->
p_module
);
module_unneed
(
id
->
p_decoder
,
id
->
p_decoder
->
p_module
);
id
->
p_decoder
->
p_module
=
NULL
;
id
->
p_decoder
->
p_module
=
NULL
;
if
(
id
->
p_decoder
->
p_description
)
vlc_meta_Delete
(
id
->
p_decoder
->
p_description
);
id
->
p_decoder
->
p_description
=
NULL
;
/* Close encoder */
/* Close encoder */
if
(
id
->
p_encoder
->
p_module
)
if
(
id
->
p_encoder
->
p_module
)
module_unneed
(
id
->
p_encoder
,
id
->
p_encoder
->
p_module
);
module_unneed
(
id
->
p_encoder
,
id
->
p_encoder
->
p_module
);
...
@@ -1770,6 +1775,8 @@ static void transcode_video_close( sout_stream_t *p_stream,
...
@@ -1770,6 +1775,8 @@ static void transcode_video_close( sout_stream_t *p_stream,
/* Close decoder */
/* Close decoder */
if
(
id
->
p_decoder
->
p_module
)
if
(
id
->
p_decoder
->
p_module
)
module_unneed
(
id
->
p_decoder
,
id
->
p_decoder
->
p_module
);
module_unneed
(
id
->
p_decoder
,
id
->
p_decoder
->
p_module
);
if
(
id
->
p_decoder
->
p_description
)
vlc_meta_Delete
(
id
->
p_decoder
->
p_description
);
if
(
id
->
p_decoder
->
p_owner
)
if
(
id
->
p_decoder
->
p_owner
)
{
{
...
@@ -2315,6 +2322,8 @@ static void transcode_spu_close( sout_stream_id_t *id)
...
@@ -2315,6 +2322,8 @@ static void transcode_spu_close( sout_stream_id_t *id)
/* Close decoder */
/* Close decoder */
if
(
id
->
p_decoder
->
p_module
)
if
(
id
->
p_decoder
->
p_module
)
module_unneed
(
id
->
p_decoder
,
id
->
p_decoder
->
p_module
);
module_unneed
(
id
->
p_decoder
,
id
->
p_decoder
->
p_module
);
if
(
id
->
p_decoder
->
p_description
)
vlc_meta_Delete
(
id
->
p_decoder
->
p_description
);
/* Close encoder */
/* Close encoder */
if
(
id
->
p_encoder
->
p_module
)
if
(
id
->
p_encoder
->
p_module
)
...
...
src/input/decoder.c
View file @
132b8e6f
...
@@ -687,13 +687,15 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
...
@@ -687,13 +687,15 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
p_dec
->
pf_get_cc
=
NULL
;
p_dec
->
pf_get_cc
=
NULL
;
p_dec
->
pf_packetize
=
NULL
;
p_dec
->
pf_packetize
=
NULL
;
/* Initialize the decoder
fifo
*/
/* Initialize the decoder */
p_dec
->
p_module
=
NULL
;
p_dec
->
p_module
=
NULL
;
memset
(
&
null_es_format
,
0
,
sizeof
(
es_format_t
)
);
memset
(
&
null_es_format
,
0
,
sizeof
(
es_format_t
)
);
es_format_Copy
(
&
p_dec
->
fmt_in
,
fmt
);
es_format_Copy
(
&
p_dec
->
fmt_in
,
fmt
);
es_format_Copy
(
&
p_dec
->
fmt_out
,
&
null_es_format
);
es_format_Copy
(
&
p_dec
->
fmt_out
,
&
null_es_format
);
p_dec
->
p_description
=
NULL
;
/* Allocate our private structure for the decoder */
/* Allocate our private structure for the decoder */
p_dec
->
p_owner
=
p_owner
=
malloc
(
sizeof
(
decoder_owner_sys_t
)
);
p_dec
->
p_owner
=
p_owner
=
malloc
(
sizeof
(
decoder_owner_sys_t
)
);
if
(
p_dec
->
p_owner
==
NULL
)
if
(
p_dec
->
p_owner
==
NULL
)
...
@@ -2053,6 +2055,9 @@ static void DeleteDecoder( decoder_t * p_dec )
...
@@ -2053,6 +2055,9 @@ static void DeleteDecoder( decoder_t * p_dec )
es_format_Clean
(
&
p_dec
->
fmt_in
);
es_format_Clean
(
&
p_dec
->
fmt_in
);
es_format_Clean
(
&
p_dec
->
fmt_out
);
es_format_Clean
(
&
p_dec
->
fmt_out
);
if
(
p_dec
->
p_description
)
vlc_meta_Delete
(
p_dec
->
p_description
);
es_format_Clean
(
&
p_owner
->
fmt_description
);
if
(
p_owner
->
p_packetizer
)
if
(
p_owner
->
p_packetizer
)
{
{
...
@@ -2060,12 +2065,12 @@ static void DeleteDecoder( decoder_t * p_dec )
...
@@ -2060,12 +2065,12 @@ static void DeleteDecoder( decoder_t * p_dec )
p_owner
->
p_packetizer
->
p_module
);
p_owner
->
p_packetizer
->
p_module
);
es_format_Clean
(
&
p_owner
->
p_packetizer
->
fmt_in
);
es_format_Clean
(
&
p_owner
->
p_packetizer
->
fmt_in
);
es_format_Clean
(
&
p_owner
->
p_packetizer
->
fmt_out
);
es_format_Clean
(
&
p_owner
->
p_packetizer
->
fmt_out
);
if
(
p_owner
->
p_packetizer
->
p_description
)
vlc_meta_Delete
(
p_owner
->
p_packetizer
->
p_description
);
vlc_object_detach
(
p_owner
->
p_packetizer
);
vlc_object_detach
(
p_owner
->
p_packetizer
);
vlc_object_release
(
p_owner
->
p_packetizer
);
vlc_object_release
(
p_owner
->
p_packetizer
);
}
}
es_format_Clean
(
&
p_owner
->
fmt_description
);
vlc_cond_destroy
(
&
p_owner
->
wait
);
vlc_cond_destroy
(
&
p_owner
->
wait
);
vlc_mutex_destroy
(
&
p_owner
->
lock
);
vlc_mutex_destroy
(
&
p_owner
->
lock
);
...
...
src/input/demux.c
View file @
132b8e6f
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
#include "demux.h"
#include "demux.h"
#include <libvlc.h>
#include <libvlc.h>
#include <vlc_codec.h>
#include <vlc_codec.h>
#include <vlc_meta.h>
static
bool
SkipID3Tag
(
demux_t
*
);
static
bool
SkipID3Tag
(
demux_t
*
);
static
bool
SkipAPETag
(
demux_t
*
p_demux
);
static
bool
SkipAPETag
(
demux_t
*
p_demux
);
...
@@ -602,6 +603,8 @@ void demux_PacketizerDestroy( decoder_t *p_packetizer )
...
@@ -602,6 +603,8 @@ void demux_PacketizerDestroy( decoder_t *p_packetizer )
if
(
p_packetizer
->
p_module
)
if
(
p_packetizer
->
p_module
)
module_unneed
(
p_packetizer
,
p_packetizer
->
p_module
);
module_unneed
(
p_packetizer
,
p_packetizer
->
p_module
);
es_format_Clean
(
&
p_packetizer
->
fmt_in
);
es_format_Clean
(
&
p_packetizer
->
fmt_in
);
if
(
p_packetizer
->
p_description
)
vlc_meta_Delete
(
p_packetizer
->
p_description
);
vlc_object_release
(
p_packetizer
);
vlc_object_release
(
p_packetizer
);
}
}
...
...
src/misc/image.c
View file @
132b8e6f
...
@@ -39,6 +39,7 @@
...
@@ -39,6 +39,7 @@
#include <vlc_common.h>
#include <vlc_common.h>
#include <vlc_codec.h>
#include <vlc_codec.h>
#include <vlc_meta.h>
#include <vlc_filter.h>
#include <vlc_filter.h>
#include <vlc_es.h>
#include <vlc_es.h>
#include <vlc_image.h>
#include <vlc_image.h>
...
@@ -642,6 +643,9 @@ static void DeleteDecoder( decoder_t * p_dec )
...
@@ -642,6 +643,9 @@ static void DeleteDecoder( decoder_t * p_dec )
es_format_Clean
(
&
p_dec
->
fmt_in
);
es_format_Clean
(
&
p_dec
->
fmt_in
);
es_format_Clean
(
&
p_dec
->
fmt_out
);
es_format_Clean
(
&
p_dec
->
fmt_out
);
if
(
p_dec
->
p_description
)
vlc_meta_Delete
(
p_dec
->
p_description
);
vlc_object_release
(
p_dec
);
vlc_object_release
(
p_dec
);
p_dec
=
NULL
;
p_dec
=
NULL
;
}
}
...
...
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