Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
b304569a
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b304569a
编写于
3月 06, 2003
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
doxy / cosmetics
Originally committed as revision 1637 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
1ab3d669
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
54 addition
and
26 deletion
+54
-26
libavcodec/libpostproc/postprocess.c
libavcodec/libpostproc/postprocess.c
+5
-0
libavcodec/libpostproc/postprocess.h
libavcodec/libpostproc/postprocess.h
+1
-1
libavcodec/libpostproc/postprocess_internal.h
libavcodec/libpostproc/postprocess_internal.h
+37
-20
libavcodec/libpostproc/postprocess_template.c
libavcodec/libpostproc/postprocess_template.c
+11
-5
未找到文件。
libavcodec/libpostproc/postprocess.c
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录