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
84821085
Commit
84821085
authored
Apr 15, 2002
by
Christophe Massiot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* Support for pictures with a pitch different from the picture width,
inspired by Gildas Bazin.
parent
051e23d9
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
161 additions
and
160 deletions
+161
-160
include/vdec_ext-plugins.h
include/vdec_ext-plugins.h
+1
-2
include/video.h
include/video.h
+4
-1
plugins/mpeg_system/mpeg_ps.c
plugins/mpeg_system/mpeg_ps.c
+4
-5
plugins/mpeg_vdec/video_decoder.c
plugins/mpeg_vdec/video_decoder.c
+39
-67
plugins/mpeg_vdec/video_parser.h
plugins/mpeg_vdec/video_parser.h
+5
-3
plugins/mpeg_vdec/vpar_blocks.c
plugins/mpeg_vdec/vpar_blocks.c
+86
-78
plugins/mpeg_vdec/vpar_headers.c
plugins/mpeg_vdec/vpar_headers.c
+8
-3
src/video_output/vout_pictures.c
src/video_output/vout_pictures.c
+14
-1
No files found.
include/vdec_ext-plugins.h
View file @
84821085
...
...
@@ -2,7 +2,7 @@
* vdec_ext-plugins.h : structures from the video decoder exported to plug-ins
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: vdec_ext-plugins.h,v 1.1
0 2002/04/05 01:05:22 gbazin
Exp $
* $Id: vdec_ext-plugins.h,v 1.1
1 2002/04/15 23:04:08 massiot
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -60,7 +60,6 @@ typedef struct macroblock_s
yuv_data_t
*
p_v_data
;
/* pointers to the position
* in the final picture */
/* Motion compensation information */
motion_inner_t
p_motions
[
8
];
int
i_nb_motions
;
...
...
include/video.h
View file @
84821085
...
...
@@ -4,7 +4,7 @@
* includes all common video types and constants.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: video.h,v 1.4
8 2002/04/05 01:05:22 gbazin
Exp $
* $Id: video.h,v 1.4
9 2002/04/15 23:04:08 massiot
Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
...
...
@@ -182,8 +182,11 @@ typedef struct picture_heap_s
/* Shortcuts */
#define Y_PIXELS p[Y_PLANE].p_pixels
#define Y_PITCH p[Y_PLANE].i_pitch
#define U_PIXELS p[U_PLANE].p_pixels
#define U_PITCH p[U_PLANE].i_pitch
#define V_PIXELS p[V_PLANE].p_pixels
#define V_PITCH p[V_PLANE].i_pitch
static
__inline__
int
vout_ChromaCmp
(
u32
i_chroma
,
u32
i_amorhc
)
{
...
...
plugins/mpeg_system/mpeg_ps.c
View file @
84821085
...
...
@@ -2,7 +2,7 @@
* mpeg_ps.c : Program Stream input module for vlc
*****************************************************************************
* Copyright (C) 2000-2001 VideoLAN
* $Id: mpeg_ps.c,v 1.1
0 2002/04/10 17:47:58 jobi
Exp $
* $Id: mpeg_ps.c,v 1.1
1 2002/04/15 23:04:08 massiot
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -114,8 +114,7 @@ static int PSInit( input_thread_t * p_input )
}
else
{
intf_WarnMsg
(
2
,
"input: PS plug-in discarded (no startcode)"
);
return
(
-
1
);
intf_WarnMsg
(
2
,
"input error: this doesn't look like an MPEG PS stream, but continuing anyway"
);
}
}
else
if
(
*
(
p_peek
+
3
)
<=
0xb9
)
...
...
@@ -128,8 +127,8 @@ static int PSInit( input_thread_t * p_input )
}
else
{
intf_WarnMsg
(
2
,
"input
: PS plug-in discarded (ES startcode)"
);
return
(
-
1
);
intf_WarnMsg
(
2
,
"input
error: this seems to be an elementary stream (ES plug-in ?),"
);
intf_WarnMsg
(
2
,
"but continuing"
);
}
}
...
...
plugins/mpeg_vdec/video_decoder.c
View file @
84821085
This diff is collapsed.
Click to expand it.
plugins/mpeg_vdec/video_parser.h
View file @
84821085
...
...
@@ -2,7 +2,7 @@
* video_parser.h : video parser thread
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: video_parser.h,v 1.
3 2002/01/02 14:37:42 sam
Exp $
* $Id: video_parser.h,v 1.
4 2002/04/15 23:04:08 massiot
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Jean-Marc Dressler <polux@via.ecp.fr>
...
...
@@ -160,7 +160,7 @@ typedef struct picture_parsing_s
boolean_t
b_top_field_first
,
b_concealment_mv
;
boolean_t
b_repeat_first_field
;
/* Relative to the current field */
int
i_coding_type
,
i_structure
;
int
i_coding_type
,
i_structure
,
i_field_width
;
boolean_t
b_frame_structure
;
/* i_structure == FRAME_STRUCTURE */
boolean_t
b_current_field
;
/* i_structure == TOP_FIELD */
boolean_t
b_second_field
;
...
...
@@ -168,8 +168,10 @@ typedef struct picture_parsing_s
picture_t
*
p_picture
;
/* picture buffer from vout */
int
i_current_structure
;
/* current parsed structure of
* p_picture (second field ?) */
int
i_field_width
;
boolean_t
b_error
;
/* parsing error, try to recover */
/* Given by the video output */
int
i_lum_stride
,
i_chrom_stride
;
}
picture_parsing_t
;
/*****************************************************************************
...
...
plugins/mpeg_vdec/vpar_blocks.c
View file @
84821085
This diff is collapsed.
Click to expand it.
plugins/mpeg_vdec/vpar_headers.c
View file @
84821085
...
...
@@ -2,7 +2,7 @@
* vpar_headers.c : headers parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: vpar_headers.c,v 1.1
7 2002/03/17 17:00:38 sam
Exp $
* $Id: vpar_headers.c,v 1.1
8 2002/04/15 23:04:08 massiot
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Stphane Borel <stef@via.ecp.fr>
...
...
@@ -843,8 +843,6 @@ static void PictureHeader( vpar_thread_t * p_vpar )
/* Initialize values. */
vpar_SynchroDecode
(
p_vpar
,
p_vpar
->
picture
.
i_coding_type
,
i_structure
);
P_picture
->
i_matrix_coefficients
=
p_vpar
->
sequence
.
i_matrix_coefficients
;
p_vpar
->
picture
.
i_field_width
=
(
p_vpar
->
sequence
.
i_width
<<
(
1
-
p_vpar
->
picture
.
b_frame_structure
)
);
/* Update the reference pointers. */
ReferenceUpdate
(
p_vpar
,
p_vpar
->
picture
.
i_coding_type
,
P_picture
);
...
...
@@ -857,6 +855,13 @@ static void PictureHeader( vpar_thread_t * p_vpar )
(
i_structure
!=
p_vpar
->
picture
.
i_current_structure
);
p_vpar
->
picture
.
b_current_field
=
(
i_structure
==
BOTTOM_FIELD
);
p_vpar
->
picture
.
i_lum_stride
=
p_vpar
->
picture
.
p_picture
->
Y_PITCH
<<
(
1
-
p_vpar
->
picture
.
b_frame_structure
);
p_vpar
->
picture
.
i_chrom_stride
=
p_vpar
->
picture
.
p_picture
->
U_PITCH
<<
(
1
-
p_vpar
->
picture
.
b_frame_structure
);
/* We suppose the pitch is the same for U and V planes. */
p_vpar
->
picture
.
i_field_width
=
p_vpar
->
sequence
.
i_width
<<
(
1
-
p_vpar
->
picture
.
b_frame_structure
);
if
(
!
p_vpar
->
p_config
->
p_stream_ctrl
->
b_grayscale
)
{
...
...
src/video_output/vout_pictures.c
View file @
84821085
...
...
@@ -2,7 +2,7 @@
* vout_pictures.c : picture management functions
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id: vout_pictures.c,v 1.2
0 2002/04/05 01:05:22 gbazin
Exp $
* $Id: vout_pictures.c,v 1.2
1 2002/04/15 23:04:08 massiot
Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
...
...
@@ -427,36 +427,46 @@ void vout_AllocatePicture( picture_t *p_pic,
case
FOURCC_IYUV
:
p_pic
->
p
[
Y_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
Y_PLANE
].
i_pitch
=
i_width
;
p_pic
->
p
[
Y_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
Y_PLANE
].
i_pitch
;
p_pic
->
p
[
U_PLANE
].
i_lines
=
i_height
/
2
;
p_pic
->
p
[
U_PLANE
].
i_pitch
=
i_width
/
2
;
p_pic
->
p
[
U_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
U_PLANE
].
i_pitch
;
p_pic
->
p
[
V_PLANE
].
i_lines
=
i_height
/
2
;
p_pic
->
p
[
V_PLANE
].
i_pitch
=
i_width
/
2
;
p_pic
->
p
[
V_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
V_PLANE
].
i_pitch
;
p_pic
->
i_planes
=
3
;
break
;
case
FOURCC_I422
:
p_pic
->
p
[
Y_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
Y_PLANE
].
i_pitch
=
i_width
;
p_pic
->
p
[
Y_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
Y_PLANE
].
i_pitch
;
p_pic
->
p
[
U_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
U_PLANE
].
i_pitch
=
i_width
/
2
;
p_pic
->
p
[
U_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
U_PLANE
].
i_pitch
;
p_pic
->
p
[
V_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
V_PLANE
].
i_pitch
=
i_width
/
2
;
p_pic
->
p
[
V_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
V_PLANE
].
i_pitch
;
p_pic
->
i_planes
=
3
;
break
;
case
FOURCC_I444
:
p_pic
->
p
[
Y_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
Y_PLANE
].
i_pitch
=
i_width
;
p_pic
->
p
[
Y_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
Y_PLANE
].
i_pitch
;
p_pic
->
p
[
U_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
U_PLANE
].
i_pitch
=
i_width
;
p_pic
->
p
[
U_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
U_PLANE
].
i_pitch
;
p_pic
->
p
[
V_PLANE
].
i_lines
=
i_height
;
p_pic
->
p
[
V_PLANE
].
i_pitch
=
i_width
;
p_pic
->
p
[
V_PLANE
].
i_visible_bytes
=
p_pic
->
p
[
V_PLANE
].
i_pitch
;
p_pic
->
i_planes
=
3
;
break
;
case
FOURCC_Y211
:
p_pic
->
p
->
i_lines
=
i_height
;
p_pic
->
p
->
i_pitch
=
i_width
;
p_pic
->
p
->
i_visible_bytes
=
p_pic
->
p
->
i_pitch
;
p_pic
->
p
->
i_pixel_bytes
=
4
;
p_pic
->
i_planes
=
1
;
break
;
...
...
@@ -464,6 +474,7 @@ void vout_AllocatePicture( picture_t *p_pic,
case
FOURCC_RV15
:
p_pic
->
p
->
i_lines
=
i_height
;
p_pic
->
p
->
i_pitch
=
i_width
*
2
;
p_pic
->
p
->
i_visible_bytes
=
p_pic
->
p
->
i_pitch
;
p_pic
->
p
->
i_pixel_bytes
=
2
;
p_pic
->
p_heap
->
i_rmask
=
0x001f
;
p_pic
->
p_heap
->
i_gmask
=
0x03e0
;
...
...
@@ -474,6 +485,7 @@ void vout_AllocatePicture( picture_t *p_pic,
case
FOURCC_RV16
:
p_pic
->
p
->
i_lines
=
i_height
;
p_pic
->
p
->
i_pitch
=
i_width
*
2
;
p_pic
->
p
->
i_visible_bytes
=
p_pic
->
p
->
i_pitch
;
p_pic
->
p
->
i_pixel_bytes
=
2
;
p_pic
->
p_heap
->
i_rmask
=
0x001f
;
p_pic
->
p_heap
->
i_gmask
=
0x07e0
;
...
...
@@ -484,6 +496,7 @@ void vout_AllocatePicture( picture_t *p_pic,
case
FOURCC_RV32
:
p_pic
->
p
->
i_lines
=
i_height
;
p_pic
->
p
->
i_pitch
=
i_width
*
4
;
p_pic
->
p
->
i_visible_bytes
=
p_pic
->
p
->
i_pitch
;
p_pic
->
p
->
i_pixel_bytes
=
4
;
p_pic
->
p_heap
->
i_rmask
=
0xff0000
;
p_pic
->
p_heap
->
i_gmask
=
0x00ff00
;
...
...
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