Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
816d3cc4
Commit
816d3cc4
authored
Oct 15, 2008
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merged vout_DatePicture into vout_DisplayPicture.
parent
96588cbc
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
55 additions
and
99 deletions
+55
-99
include/vlc_vout.h
include/vlc_vout.h
+29
-19
modules/video_filter/clone.c
modules/video_filter/clone.c
+1
-2
modules/video_filter/crop.c
modules/video_filter/crop.c
+1
-1
modules/video_filter/deinterlace.c
modules/video_filter/deinterlace.c
+3
-9
modules/video_filter/logo.c
modules/video_filter/logo.c
+4
-5
modules/video_filter/magnify.c
modules/video_filter/magnify.c
+1
-2
modules/video_filter/opencv_wrapper.c
modules/video_filter/opencv_wrapper.c
+1
-1
modules/video_filter/panoramix.c
modules/video_filter/panoramix.c
+3
-5
modules/video_filter/puzzle.c
modules/video_filter/puzzle.c
+1
-1
modules/video_filter/transform.c
modules/video_filter/transform.c
+1
-1
modules/video_filter/wall.c
modules/video_filter/wall.c
+1
-2
modules/visualization/goom.c
modules/visualization/goom.c
+2
-2
modules/visualization/visual/visual.c
modules/visualization/visual/visual.c
+1
-2
src/input/decoder.c
src/input/decoder.c
+0
-2
src/libvlccore.sym
src/libvlccore.sym
+0
-1
src/video_output/vout_pictures.c
src/video_output/vout_pictures.c
+6
-44
No files found.
include/vlc_vout.h
View file @
816d3cc4
...
...
@@ -245,34 +245,45 @@ struct picture_heap_t
* Flags used to describe the status of a picture
*****************************************************************************/
/* Picture type */
#define EMPTY_PICTURE 0
/* empty buffer */
#define MEMORY_PICTURE 100
/* heap-allocated buffer */
#define DIRECT_PICTURE 200
/* direct buffer */
/* Picture type
* FIXME are the values meaningfull ? */
enum
{
EMPTY_PICTURE
=
0
,
/* empty buffer */
MEMORY_PICTURE
=
100
,
/* heap-allocated buffer */
DIRECT_PICTURE
=
200
,
/* direct buffer */
};
/* Picture status */
#define FREE_PICTURE 0
/* free and not allocated */
#define RESERVED_PICTURE 1
/* allocated and reserved */
#define RESERVED_DATED_PICTURE 2
/* waiting for DisplayPicture */
#define RESERVED_DISP_PICTURE 3
/* waiting for a DatePicture */
#define READY_PICTURE 4
/* ready for display */
#define DISPLAYED_PICTURE 5
/* been displayed but is linked */
#define DESTROYED_PICTURE 6
/* allocated but no more used */
enum
{
FREE_PICTURE
,
/* free and not allocated */
RESERVED_PICTURE
,
/* allocated and reserved */
READY_PICTURE
,
/* ready for display */
DISPLAYED_PICTURE
,
/* been displayed but is linked */
DESTROYED_PICTURE
,
/* allocated but no more used */
};
/* Quantification type */
#define QTYPE_MPEG1 0
#define QTYPE_MPEG2 1
#define QTYPE_H264 2
enum
{
QTYPE_MPEG1
,
QTYPE_MPEG2
,
QTYPE_H264
,
};
/*****************************************************************************
* Shortcuts to access image components
*****************************************************************************/
/* Plane indices */
#define Y_PLANE 0
#define U_PLANE 1
#define V_PLANE 2
#define A_PLANE 3
enum
{
Y_PLANE
=
0
,
U_PLANE
=
1
,
V_PLANE
=
2
,
A_PLANE
=
3
,
};
/* Shortcuts */
#define Y_PIXELS p[Y_PLANE].p_pixels
...
...
@@ -655,7 +666,6 @@ VLC_EXPORT( picture_t *, vout_CreatePicture, ( vout_thread_t *, bool, bool,
VLC_EXPORT
(
void
,
vout_InitFormat
,
(
video_frame_format_t
*
,
uint32_t
,
int
,
int
,
int
)
);
VLC_EXPORT
(
void
,
vout_DestroyPicture
,
(
vout_thread_t
*
,
picture_t
*
)
);
VLC_EXPORT
(
void
,
vout_DisplayPicture
,
(
vout_thread_t
*
,
picture_t
*
)
);
VLC_EXPORT
(
void
,
vout_DatePicture
,
(
vout_thread_t
*
,
picture_t
*
,
mtime_t
)
);
VLC_EXPORT
(
void
,
vout_LinkPicture
,
(
vout_thread_t
*
,
picture_t
*
)
);
VLC_EXPORT
(
void
,
vout_UnlinkPicture
,
(
vout_thread_t
*
,
picture_t
*
)
);
VLC_EXPORT
(
void
,
vout_PlacePicture
,
(
vout_thread_t
*
,
unsigned
int
,
unsigned
int
,
unsigned
int
*
,
unsigned
int
*
,
unsigned
int
*
,
unsigned
int
*
)
);
...
...
modules/video_filter/clone.c
View file @
816d3cc4
...
...
@@ -337,8 +337,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
],
p_outpic
,
p_pic
->
date
);
p_outpic
->
date
=
p_pic
->
date
;
vout_LinkPicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
],
p_outpic
);
for
(
i_plane
=
0
;
i_plane
<
p_pic
->
i_planes
;
i_plane
++
)
...
...
modules/video_filter/crop.c
View file @
816d3cc4
...
...
@@ -513,7 +513,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
,
p_pic
->
date
)
;
p_outpic
->
date
=
p_pic
->
date
;
vout_LinkPicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
);
for
(
i_plane
=
0
;
i_plane
<
p_pic
->
i_planes
;
i_plane
++
)
...
...
modules/video_filter/deinterlace.c
View file @
816d3cc4
...
...
@@ -511,7 +511,7 @@ static void Render ( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
pp_outpic
[
0
],
p_pic
->
date
)
;
pp_outpic
[
0
]
->
date
=
p_pic
->
date
;
/* If we are using double rate, get an additional new picture */
if
(
p_vout
->
p_sys
->
b_double_rate
)
...
...
@@ -531,15 +531,9 @@ static void Render ( vout_thread_t *p_vout, picture_t *p_pic )
/* 20ms is a bit arbitrary, but it's only for the first image we get */
if
(
!
p_vout
->
p_sys
->
last_date
)
{
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
pp_outpic
[
1
],
p_pic
->
date
+
20000
);
}
pp_outpic
[
1
]
->
date
=
p_pic
->
date
+
20000
;
else
{
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
pp_outpic
[
1
],
(
3
*
p_pic
->
date
-
p_vout
->
p_sys
->
last_date
)
/
2
);
}
pp_outpic
[
1
]
->
date
=
(
3
*
p_pic
->
date
-
p_vout
->
p_sys
->
last_date
)
/
2
;
p_vout
->
p_sys
->
last_date
=
p_pic
->
date
;
}
...
...
modules/video_filter/logo.c
View file @
816d3cc4
...
...
@@ -584,13 +584,12 @@ static void Render( vout_thread_t *p_vout, picture_t *p_inpic )
}
picture_Copy
(
p_outpic
,
p_inpic
);
vout_DatePicture
(
p_sys
->
p_vout
,
p_outpic
,
p_inpic
->
date
);
if
(
p_pic
)
p_sys
->
p_blend
->
pf_video_blend
(
p_sys
->
p_blend
,
p_outpic
,
p_pic
,
p_sys
->
posx
,
p_sys
->
posy
,
p_logo
->
i_alpha
!=
-
1
?
p_logo
->
i_alpha
:
p_logo_list
->
i_alpha
);
p_sys
->
p_blend
->
pf_video_blend
(
p_sys
->
p_blend
,
p_outpic
,
p_pic
,
p_sys
->
posx
,
p_sys
->
posy
,
p_logo
->
i_alpha
!=
-
1
?
p_logo
->
i_alpha
:
p_logo_list
->
i_alpha
);
vout_DisplayPicture
(
p_sys
->
p_vout
,
p_outpic
);
}
...
...
modules/video_filter/magnify.c
View file @
816d3cc4
...
...
@@ -256,8 +256,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_sys
->
p_vout
,
p_outpic
,
p_pic
->
date
);
p_outpic
->
date
=
p_pic
->
date
;
vlc_mutex_lock
(
&
p_sys
->
lock
);
const
bool
b_visible
=
p_sys
->
b_visible
;
...
...
modules/video_filter/opencv_wrapper.c
View file @
816d3cc4
...
...
@@ -589,7 +589,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msg_Dbg
(
p_vout
,
"Render took %2.4f seconds
\n
"
,
duration
);
ReleaseImages
(
p_vout
);
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
,
p_pic
->
date
)
;
p_outpic
->
date
=
p_pic
->
date
;
vout_UnlinkPicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
);
vout_DisplayPicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
);
...
...
modules/video_filter/panoramix.c
View file @
816d3cc4
...
...
@@ -960,7 +960,7 @@ static void RenderPlanarYUV( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_entry
->
p_vout
,
p_outpic
,
p_pic
->
date
)
;
p_outpic
->
date
=
p_pic
->
date
;
vout_LinkPicture
(
p_entry
->
p_vout
,
p_outpic
);
for
(
i_plane
=
0
;
i_plane
<
p_pic
->
i_planes
;
i_plane
++
)
...
...
@@ -1262,8 +1262,7 @@ static void RenderPackedRGB( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
].
p_vout
,
p_outpic
,
p_pic
->
date
);
p_outpic
->
date
=
p_pic
->
date
;
vout_LinkPicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
].
p_vout
,
p_outpic
);
...
...
@@ -1598,8 +1597,7 @@ static void RenderPackedYUV( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
].
p_vout
,
p_outpic
,
p_pic
->
date
);
p_outpic
->
date
=
p_pic
->
date
;
vout_LinkPicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
].
p_vout
,
p_outpic
);
...
...
modules/video_filter/puzzle.c
View file @
816d3cc4
...
...
@@ -366,7 +366,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
,
p_pic
->
date
)
;
p_outpic
->
date
=
p_pic
->
date
;
for
(
i_plane
=
0
;
i_plane
<
p_outpic
->
i_planes
;
i_plane
++
)
{
...
...
modules/video_filter/transform.c
View file @
816d3cc4
...
...
@@ -324,7 +324,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
vout_DatePicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
,
p_pic
->
date
)
;
p_outpic
->
date
=
p_pic
->
date
;
vout_LinkPicture
(
p_vout
->
p_sys
->
p_vout
,
p_outpic
);
p_vout
->
p_sys
->
pf_filter
(
p_vout
,
p_pic
,
p_outpic
);
...
...
modules/video_filter/wall.c
View file @
816d3cc4
...
...
@@ -522,9 +522,8 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
msleep
(
VOUT_OUTMEM_SLEEP
);
}
p_outpic
->
date
=
p_pic
->
date
;
vout_DatePicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
].
p_vout
,
p_outpic
,
p_pic
->
date
);
vout_LinkPicture
(
p_vout
->
p_sys
->
pp_vout
[
i_vout
].
p_vout
,
p_outpic
);
...
...
modules/visualization/goom.c
View file @
816d3cc4
...
...
@@ -370,8 +370,8 @@ static void* Thread( vlc_object_t *p_this )
if
(
p_pic
==
NULL
)
break
;
memcpy
(
p_pic
->
p
[
0
].
p_pixels
,
plane
,
width
.
i_int
*
height
.
i_int
*
4
);
vout_DatePicture
(
p_thread
->
p_vout
,
p_pic
,
aout_DateGet
(
&
i_pts
)
+
GOOM_DELAY
)
;
p_pic
->
date
=
aout_DateGet
(
&
i_pts
)
+
GOOM_DELAY
;
vout_DisplayPicture
(
p_thread
->
p_vout
,
p_pic
);
}
...
...
modules/visualization/visual/visual.c
View file @
816d3cc4
...
...
@@ -370,8 +370,7 @@ static void DoWork( aout_instance_t *p_aout, aout_filter_t *p_filter,
#undef p_effect
}
vout_DatePicture
(
p_sys
->
p_vout
,
p_outpic
,
(
p_in_buf
->
start_date
+
p_in_buf
->
end_date
)
/
2
);
p_outpic
->
date
=
(
p_in_buf
->
start_date
+
p_in_buf
->
end_date
)
/
2
;
vout_DisplayPicture
(
p_sys
->
p_vout
,
p_outpic
);
}
...
...
src/input/decoder.c
View file @
816d3cc4
...
...
@@ -1260,8 +1260,6 @@ static void DecoderPlayVideo( decoder_t *p_dec, picture_t *p_picture,
p_owner
->
i_last_rate
=
i_rate
;
}
vout_DatePicture
(
p_vout
,
p_picture
,
p_picture
->
date
);
vout_DisplayPicture
(
p_vout
,
p_picture
);
}
else
...
...
src/libvlccore.sym
View file @
816d3cc4
...
...
@@ -519,7 +519,6 @@ vout_Close
vout_ControlWindow
__vout_Create
vout_CreatePicture
vout_DatePicture
vout_DestroyPicture
vout_DisplayPicture
vout_EnableFilter
...
...
src/video_output/vout_pictures.c
View file @
816d3cc4
...
...
@@ -43,56 +43,20 @@
* Display a picture
*
* Remove the reservation flag of a picture, which will cause it to be ready
* for display. The picture won't be displayed until vout_DatePicture has been
* called.
* for display.
*/
void
vout_DisplayPicture
(
vout_thread_t
*
p_vout
,
picture_t
*
p_pic
)
{
vlc_mutex_lock
(
&
p_vout
->
picture_lock
);
switch
(
p_pic
->
i_status
)
if
(
p_pic
->
i_status
==
RESERVED_PICTURE
)
{
case
RESERVED_PICTURE
:
p_pic
->
i_status
=
RESERVED_DISP_PICTURE
;
break
;
case
RESERVED_DATED_PICTURE
:
p_pic
->
i_status
=
READY_PICTURE
;
break
;
default:
msg_Err
(
p_vout
,
"picture to display %p has invalid status %d"
,
p_pic
,
p_pic
->
i_status
);
break
;
}
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
}
/**
* Date a picture
*
* Remove the reservation flag of a picture, which will cause it to be ready
* for display. The picture won't be displayed until vout_DisplayPicture has
* been called.
* \param p_vout The vout in question
* \param p_pic The picture to date
* \param date The date to display the picture
*/
void
vout_DatePicture
(
vout_thread_t
*
p_vout
,
picture_t
*
p_pic
,
mtime_t
date
)
{
vlc_mutex_lock
(
&
p_vout
->
picture_lock
);
p_pic
->
date
=
date
;
switch
(
p_pic
->
i_status
)
else
{
case
RESERVED_PICTURE
:
p_pic
->
i_status
=
RESERVED_DATED_PICTURE
;
break
;
case
RESERVED_DISP_PICTURE
:
p_pic
->
i_status
=
READY_PICTURE
;
break
;
default:
msg_Err
(
p_vout
,
"picture to date %p has invalid status %d"
,
msg_Err
(
p_vout
,
"picture to display %p has invalid status %d"
,
p_pic
,
p_pic
->
i_status
);
break
;
}
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
...
...
@@ -252,9 +216,7 @@ void vout_DestroyPicture( vout_thread_t *p_vout, picture_t *p_pic )
#ifndef NDEBUG
/* Check if picture status is valid */
if
(
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
&&
(
p_pic
->
i_status
!=
RESERVED_DATED_PICTURE
)
&&
(
p_pic
->
i_status
!=
RESERVED_DISP_PICTURE
)
)
if
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
{
msg_Err
(
p_vout
,
"picture to destroy %p has invalid status %d"
,
p_pic
,
p_pic
->
i_status
);
...
...
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