Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
b304569a
Commit
b304569a
authored
Mar 06, 2003
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doxy / cosmetics
Originally committed as revision 1637 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
1ab3d669
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
26 deletions
+54
-26
postprocess.c
libavcodec/libpostproc/postprocess.c
+5
-0
postprocess.h
libavcodec/libpostproc/postprocess.h
+1
-1
postprocess_internal.h
libavcodec/libpostproc/postprocess_internal.h
+37
-20
postprocess_template.c
libavcodec/libpostproc/postprocess_template.c
+11
-5
No files found.
libavcodec/libpostproc/postprocess.c
View file @
b304569a
...
...
@@ -16,6 +16,11 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* @file postprocess.c
* postprocessing.
*/
/*
C MMX MMX2 3DNow
isVertDC Ec Ec
...
...
libavcodec/libpostproc/postprocess.h
View file @
b304569a
...
...
@@ -36,7 +36,7 @@ extern "C" {
typedef
void
pp_context_t
;
typedef
void
pp_mode_t
;
extern
char
*
pp_help
;
//a simple help text
extern
char
*
pp_help
;
//
/<
a simple help text
void
pp_postprocess
(
uint8_t
*
src
[
3
],
int
srcStride
[
3
],
uint8_t
*
dst
[
3
],
int
dstStride
[
3
],
...
...
libavcodec/libpostproc/postprocess_internal.h
View file @
b304569a
...
...
@@ -16,10 +16,15 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* @file postprocess_internal.h
* internal api header.
*/
#define V_DEBLOCK 0x01
#define H_DEBLOCK 0x02
#define DERING 0x04
#define LEVEL_FIX 0x08
/
* Brightness & Contrast */
#define LEVEL_FIX 0x08 /
//< Brightness & Contrast
#define LUM_V_DEBLOCK V_DEBLOCK // 1
#define LUM_H_DEBLOCK H_DEBLOCK // 2
...
...
@@ -36,7 +41,7 @@
// Experimental horizontal filters
#define H_X1_FILTER 0x2000 // 8192
// select between full y range (255-0) or standart one (234-16)
//
/
select between full y range (255-0) or standart one (234-16)
#define FULL_Y_RANGE 0x8000 // 32768
//Deinterlacing Filters
...
...
@@ -56,47 +61,59 @@
//filters on
//#define COMPILE_TIME_MODE 0x77
/**
* Postprocessng filter.
*/
struct
PPFilter
{
char
*
shortName
;
char
*
longName
;
int
chromDefault
;
// is chrominance filtering on by default if this filter is manually activated
int
minLumQuality
;
// minimum quality to turn luminance filtering on
int
minChromQuality
;
// minimum quality to turn chrominance filtering on
int
mask
;
// Bitmask to turn this filter on
int
chromDefault
;
//
/<
is chrominance filtering on by default if this filter is manually activated
int
minLumQuality
;
//
/<
minimum quality to turn luminance filtering on
int
minChromQuality
;
//
/<
minimum quality to turn chrominance filtering on
int
mask
;
//
/<
Bitmask to turn this filter on
};
/**
* Postprocessng mode.
*/
typedef
struct
PPMode
{
int
lumMode
;
// acivates filters for luminance
int
chromMode
;
// acivates filters for chrominance
int
error
;
// non zero on error
int
lumMode
;
//
/<
acivates filters for luminance
int
chromMode
;
//
/<
acivates filters for chrominance
int
error
;
//
/<
non zero on error
int
minAllowedY
;
// for brigtness correction
int
maxAllowedY
;
// for brihtness correction
float
maxClippedThreshold
;
// amount of "black" u r willing to loose to get a brightness corrected picture
int
minAllowedY
;
//
/<
for brigtness correction
int
maxAllowedY
;
//
/<
for brihtness correction
float
maxClippedThreshold
;
//
/<
amount of "black" u r willing to loose to get a brightness corrected picture
int
maxTmpNoise
[
3
];
// for Temporal Noise Reducing filter (Maximal sum of abs differences)
int
maxTmpNoise
[
3
];
//
/<
for Temporal Noise Reducing filter (Maximal sum of abs differences)
int
baseDcDiff
;
int
flatnessThreshold
;
int
forcedQuant
;
// quantizer if FORCE_QUANT is used
int
forcedQuant
;
//
/<
quantizer if FORCE_QUANT is used
}
PPMode
;
/**
* postprocess context.
*/
typedef
struct
PPContext
{
uint8_t
*
tempBlocks
;
//used for the horizontal code
uint8_t
*
tempBlocks
;
//
/<
used for the horizontal code
/* we need 64bit here otherwise well going to have a problem
after watching a black picture for 5 hours*/
/**
* luma histogram.
* we need 64bit here otherwise we'll going to have a problem
* after watching a black picture for 5 hours
*/
uint64_t
*
yHistogram
;
uint64_t
__attribute__
((
aligned
(
8
)))
packedYOffset
;
uint64_t
__attribute__
((
aligned
(
8
)))
packedYScale
;
/* Temporal noise reducing buffers */
/*
*
Temporal noise reducing buffers */
uint8_t
*
tempBlured
[
3
];
int32_t
*
tempBluredPast
[
3
];
/* Temporary buffers for handling the last row(s) */
/*
*
Temporary buffers for handling the last row(s) */
uint8_t
*
tempDst
;
uint8_t
*
tempSrc
;
...
...
@@ -118,7 +135,7 @@ typedef struct PPContext{
int
cpuCaps
;
int
stride
;
//size of some buffers (needed to realloc them if needed)
int
stride
;
//
/<
size of some buffers (needed to realloc them if needed)
int
hChromaSubSample
;
int
vChromaSubSample
;
...
...
libavcodec/libpostproc/postprocess_template.c
View file @
b304569a
...
...
@@ -16,6 +16,12 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* @file postprocess_template.c
* mmx/mmx2/3dnow postprocess code.
*/
#undef PAVGB
#undef PMINUB
#undef PMAXUB
...
...
@@ -1523,7 +1529,7 @@ DERING_CORE((%0, %1, 8),(%%edx, %1, 4) ,%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm
}
/**
* Deinterlaces the given block
* Deinterlaces the given block
by linearly interpolating every second line.
* will be called for every 8x8 block and can read & write from line 4-15
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
...
...
@@ -1570,7 +1576,7 @@ static inline void RENAME(deInterlaceInterpolateLinear)(uint8_t src[], int strid
}
/**
* Deinterlaces the given block
* Deinterlaces the given block
by cubic interpolating every second line.
* will be called for every 8x8 block and can read & write from line 4-15
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
...
...
@@ -1635,7 +1641,7 @@ DEINT_CUBIC((%%edx, %1), (%0, %1, 8), (%%edx, %1, 4), (%%ecx), (%%ecx, %1, 2))
}
/**
* Deinterlaces the given block
* Deinterlaces the given block
by filtering every second line with a (-1 4 2 4 -1) filter.
* will be called for every 8x8 block and can read & write from line 4-15
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
...
...
@@ -1714,7 +1720,7 @@ DEINT_FF((%%edx, %1), (%%edx, %1, 2), (%0, %1, 8), (%%edx, %1, 4))
}
/**
* Deinterlaces the given block
* Deinterlaces the given block
by filtering all lines with a (1 2 1) filter.
* will be called for every 8x8 block and can read & write from line 4-15
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
...
...
@@ -1789,7 +1795,7 @@ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride)
}
/**
* Deinterlaces the given block
* Deinterlaces the given block
by applying a median filter to every second line.
* will be called for every 8x8 block and can read & write from line 4-15,
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
...
...
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