Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
313acca3
Commit
313acca3
authored
Oct 22, 2004
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/codec/ffmpeg/postprocessing: removed deprecated postprocessing code.
parent
b15eda88
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
0 additions
and
2783 deletions
+0
-2783
configure.ac
configure.ac
+0
-1
modules/codec/ffmpeg/postprocessing/Modules.am
modules/codec/ffmpeg/postprocessing/Modules.am
+0
-20
modules/codec/ffmpeg/postprocessing/postprocessing.c
modules/codec/ffmpeg/postprocessing/postprocessing.c
+0
-223
modules/codec/ffmpeg/postprocessing/postprocessing.h
modules/codec/ffmpeg/postprocessing/postprocessing.h
+0
-56
modules/codec/ffmpeg/postprocessing/postprocessing_c.c
modules/codec/ffmpeg/postprocessing/postprocessing_c.c
+0
-625
modules/codec/ffmpeg/postprocessing/postprocessing_common.h
modules/codec/ffmpeg/postprocessing/postprocessing_common.h
+0
-52
modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c
modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c
+0
-889
modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c
modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c
+0
-917
No files found.
configure.ac
View file @
313acca3
...
...
@@ -4138,7 +4138,6 @@ AC_CONFIG_FILES([
modules/codec/cmml/Makefile
modules/codec/dmo/Makefile
modules/codec/ffmpeg/Makefile
modules/codec/ffmpeg/postprocessing/Makefile
modules/codec/ogt/Makefile
modules/codec/spudec/Makefile
modules/control/Makefile
...
...
modules/codec/ffmpeg/postprocessing/Modules.am
deleted
100644 → 0
View file @
b15eda88
SOURCES_postprocessing_c = \
postprocessing.c \
postprocessing_c.c \
$(NULL)
SOURCES_postprocessing_mmx = \
postprocessing.c \
postprocessing_mmx.c \
$(NULL)
SOURCES_postprocessing_mmxext = \
postprocessing.c \
postprocessing_mmxext.c \
$(NULL)
noinst_HEADERS += \
postprocessing.h \
postprocessing_common.h \
$(NULL)
modules/codec/ffmpeg/postprocessing/postprocessing.c
deleted
100644 → 0
View file @
b15eda88
/*****************************************************************************
* postprocessing.c
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id$
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <stdlib.h>
#include <string.h>
#include <vlc/vlc.h>
#include <vlc/vout.h>
#include "postprocessing.h"
#include "postprocessing_common.h"
static
int
Open
(
vlc_object_t
*
p_this
);
static
uint32_t
pp_getmode
(
int
i_quality
,
int
b_autolevel
);
static
int
pp_postprocess
(
picture_t
*
,
QT_STORE_T
*
,
unsigned
int
,
unsigned
int
i_mode
);
/*****************************************************************************
* Module descriptor
*****************************************************************************/
vlc_module_begin
();
#ifdef MODULE_NAME_IS_postprocessing_c
set_description
(
_
(
"C post processing"
)
);
set_capability
(
"postprocessing"
,
50
);
add_shortcut
(
"c"
);
#elif defined( MODULE_NAME_IS_postprocessing_mmx )
set_description
(
_
(
"MMX post processing"
)
);
set_capability
(
"postprocessing"
,
100
);
add_requirement
(
MMX
);
add_shortcut
(
"mmx"
);
#elif defined( MODULE_NAME_IS_postprocessing_mmxext )
set_description
(
_
(
"MMX EXT post processing"
)
);
set_capability
(
"postprocessing"
,
150
);
add_requirement
(
MMXEXT
);
add_shortcut
(
"mmxext"
);
add_shortcut
(
"mmx2"
);
#endif
set_callbacks
(
Open
,
NULL
);
vlc_module_end
();
/*****************************************************************************
* Module initializer
*****************************************************************************/
static
int
Open
(
vlc_object_t
*
p_this
)
{
postprocessing_t
*
p_pp
=
(
postprocessing_t
*
)
p_this
;
p_pp
->
pf_getmode
=
pp_getmode
;
p_pp
->
pf_postprocess
=
pp_postprocess
;
return
VLC_SUCCESS
;
}
static
uint32_t
pp_getmode
(
int
i_quality
,
int
b_autolevel
)
{
uint32_t
i_mode
;
i_quality
=
i_quality
<
0
?
0
:
i_quality
;
i_quality
=
i_quality
>
6
?
6
:
i_quality
;
switch
(
i_quality
)
{
case
(
0
):
i_mode
=
0
;
break
;
case
(
1
):
i_mode
=
PP_DEBLOCK_Y_H
;
break
;
case
(
2
):
i_mode
=
PP_DEBLOCK_Y_H
|
PP_DEBLOCK_Y_V
;
break
;
case
(
3
):
i_mode
=
PP_DEBLOCK_Y_H
|
PP_DEBLOCK_Y_V
|
PP_DEBLOCK_C_H
;
break
;
case
(
4
):
i_mode
=
PP_DEBLOCK_Y_H
|
PP_DEBLOCK_Y_V
|
PP_DEBLOCK_C_H
|
PP_DEBLOCK_C_V
;
break
;
case
(
5
):
i_mode
=
PP_DEBLOCK_Y_H
|
PP_DEBLOCK_Y_V
|
PP_DEBLOCK_C_H
|
PP_DEBLOCK_C_V
|
PP_DERING_Y
;
break
;
case
(
6
):
i_mode
=
PP_DEBLOCK_Y_H
|
PP_DEBLOCK_Y_V
|
PP_DEBLOCK_C_H
|
PP_DEBLOCK_C_V
|
PP_DERING_Y
|
PP_DERING_C
;
break
;
default:
i_mode
=
0
;
}
if
(
b_autolevel
)
{
i_mode
|=
PP_AUTOLEVEL
;
}
return
(
i_mode
);
}
/*****************************************************************************
* pp_postprocess : make post-filter as defined in MPEG4-ISO
*****************************************************************************
*****************************************************************************/
static
int
pp_postprocess
(
picture_t
*
p_pic
,
QT_STORE_T
*
p_QP_store
,
unsigned
int
i_QP_stride
,
unsigned
int
i_mode
)
{
/* Some sanity checks */
/* if( ( p_pic->i_height&0x0f )||( p_pic->i_width&0x0f )||*/
if
(
(
p_pic
->
p_heap
->
i_chroma
!=
VLC_FOURCC
(
'I'
,
'4'
,
'2'
,
'0'
)
)
&&
(
p_pic
->
p_heap
->
i_chroma
!=
VLC_FOURCC
(
'Y'
,
'V'
,
'1'
,
'2'
)
)
)
{
return
(
PP_ERR_INVALID_PICTURE
);
}
if
(
(
!
p_QP_store
)
||
(
i_QP_stride
<
p_pic
->
p_heap
->
i_width
>>
4
)
)
{
return
(
PP_ERR_INVALID_QP
);
}
/* First do vertical deblocking and then horizontal */
/* Luminance */
if
(
i_mode
&
PP_DEBLOCK_Y_V
)
{
E_
(
pp_deblock_V
)(
p_pic
->
Y_PIXELS
,
p_pic
->
p_heap
->
i_width
,
p_pic
->
p_heap
->
i_height
,
p_pic
->
Y_PITCH
,
p_QP_store
,
i_QP_stride
,
0
);
}
if
(
i_mode
&
PP_DEBLOCK_Y_H
)
{
E_
(
pp_deblock_H
)(
p_pic
->
Y_PIXELS
,
p_pic
->
p_heap
->
i_width
,
p_pic
->
p_heap
->
i_height
,
p_pic
->
Y_PITCH
,
p_QP_store
,
i_QP_stride
,
0
);
}
/* Chrominance */
if
(
i_mode
&
PP_DEBLOCK_C_V
)
{
E_
(
pp_deblock_V
)(
p_pic
->
U_PIXELS
,
p_pic
->
p_heap
->
i_width
>>
1
,
p_pic
->
p_heap
->
i_height
>>
1
,
p_pic
->
U_PITCH
,
p_QP_store
,
i_QP_stride
,
1
);
E_
(
pp_deblock_V
)(
p_pic
->
V_PIXELS
,
p_pic
->
p_heap
->
i_width
>>
1
,
p_pic
->
p_heap
->
i_height
>>
1
,
p_pic
->
V_PITCH
,
p_QP_store
,
i_QP_stride
,
1
);
}
if
(
i_mode
&
PP_DEBLOCK_C_H
)
{
E_
(
pp_deblock_H
)(
p_pic
->
U_PIXELS
,
p_pic
->
p_heap
->
i_width
>>
1
,
p_pic
->
p_heap
->
i_height
>>
1
,
p_pic
->
U_PITCH
,
p_QP_store
,
i_QP_stride
,
1
);
E_
(
pp_deblock_H
)(
p_pic
->
V_PIXELS
,
p_pic
->
p_heap
->
i_width
>>
1
,
p_pic
->
p_heap
->
i_height
>>
1
,
p_pic
->
V_PITCH
,
p_QP_store
,
i_QP_stride
,
1
);
}
/* After deblocking do dering */
/* TODO check for min size */
if
(
i_mode
&
PP_DERING_Y
)
{
E_
(
pp_dering_Y
)(
p_pic
->
Y_PIXELS
,
p_pic
->
p_heap
->
i_width
,
p_pic
->
p_heap
->
i_height
,
p_pic
->
Y_PITCH
,
p_QP_store
,
i_QP_stride
);
}
if
(
i_mode
&
PP_DERING_C
)
{
E_
(
pp_dering_C
)(
p_pic
->
U_PIXELS
,
p_pic
->
p_heap
->
i_width
>>
1
,
p_pic
->
p_heap
->
i_height
>>
1
,
p_pic
->
U_PITCH
,
p_QP_store
,
i_QP_stride
);
E_
(
pp_dering_C
)(
p_pic
->
V_PIXELS
,
p_pic
->
p_heap
->
i_width
>>
1
,
p_pic
->
p_heap
->
i_height
>>
1
,
p_pic
->
V_PITCH
,
p_QP_store
,
i_QP_stride
);
}
#if defined( MODULE_NAME_IS_postprocessing_mmx )||defined( MODULE_NAME_IS_postprocessing_mmxext )
/* We have used MMX so return to safe FPU state */
__asm__
__volatile__
(
"emms"
);
#endif
return
(
PP_ERR_OK
);
}
modules/codec/ffmpeg/postprocessing/postprocessing.h
deleted
100644 → 0
View file @
b15eda88
/*****************************************************************************
* postprocessing.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: postprocessing.h,v 1.3 2003/10/25 00:49:14 sam Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#define QT_STORE_T int8_t
/* postprocessing available using to create i_mode */
#define PP_DEBLOCK_Y_H 0x00000001
#define PP_DEBLOCK_Y_V 0x00000002
#define PP_DEBLOCK_C_H 0x00000004
#define PP_DEBLOCK_C_V 0x00000008
#define PP_DERING_Y 0x00000010
#define PP_DERING_C 0x00000020
#define PP_AUTOLEVEL 0x80000000
/* error code, not really used */
#define PP_ERR_OK 0
/* no problem */
#define PP_ERR_INVALID_PICTURE 1
/* wrong picture size or chroma */
#define PP_ERR_INVALID_QP 2
/* need valid QP to make the postprocess */
#define PP_ERR_UNKNOWN 255
typedef
struct
postprocessing_s
{
VLC_COMMON_MEMBERS
module_t
*
p_module
;
uint32_t
(
*
pf_getmode
)(
int
i_quality
,
int
b_autolevel
);
int
(
*
pf_postprocess
)(
picture_t
*
p_pic
,
QT_STORE_T
*
p_QP_store
,
unsigned
int
i_QP_stride
,
unsigned
int
i_mode
);
}
postprocessing_t
;
modules/codec/ffmpeg/postprocessing/postprocessing_c.c
deleted
100644 → 0
View file @
b15eda88
This diff is collapsed.
Click to expand it.
modules/codec/ffmpeg/postprocessing/postprocessing_common.h
deleted
100644 → 0
View file @
b15eda88
/*****************************************************************************
* postprocessing_common.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: postprocessing_common.h,v 1.2 2002/08/08 22:28:22 sam Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#if 0
#define PP_USE_3DNOW /* Nothing done yet */
#define PP_USE_MMX /* when only MMX is supported */
#define PP_USE_MMXEXT /* when MMXEXT is also supported, imply MMX */
#endif
/* thresholds for deblocking, I've taken value given by ISO */
#define PP_THR1 2ULL
/* threshold for deblocking */
#define PP_2xTHR1 ( 2 * PP_THR1 )
/* internal usage */
#define PP_THR2 6ULL
/* Some usefull macros */
#define PP_MAX( a, b ) ( a > b ? (a) : (b) )
#define PP_MIN( a, b ) ( a < b ? (a) : (b) )
#define PP_ABS( x ) ( ( x < 0 ) ? (-(x)) : (x) )
#define PP_SGN( x ) ( ( x < 0 ) ? -1 : 1 )
#define PP_MIN3( a, b, c ) ( PP_MIN( (a), PP_MIN( (b), (c) ) ) )
#define PP_CLIP( x, a, b ) ( PP_MAX( (a), PP_MIN( (x), (b) ) ) )
void
E_
(
pp_deblock_V
)();
void
E_
(
pp_deblock_H
)();
void
E_
(
pp_dering_Y
)();
void
E_
(
pp_dering_C
)();
modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c
deleted
100644 → 0
View file @
b15eda88
This diff is collapsed.
Click to expand it.
modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c
deleted
100644 → 0
View file @
b15eda88
This diff is collapsed.
Click to expand it.
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