Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
d6cc6ac6
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,发现更多精彩内容 >>
提交
d6cc6ac6
编写于
6月 28, 2011
作者:
R
Ronald S. Bultje
提交者:
Diego Biurrun
6月 28, 2011
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
swscale: Add Doxygen for yuv2planar*/yuv2packed* functions.
上级
7ac6910d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
98 addition
and
0 deletion
+98
-0
libswscale/swscale_internal.h
libswscale/swscale_internal.h
+98
-0
未找到文件。
libswscale/swscale_internal.h
浏览文件 @
d6cc6ac6
...
...
@@ -57,24 +57,122 @@ typedef int (*SwsFunc)(struct SwsContext *context, const uint8_t* src[],
int
srcStride
[],
int
srcSliceY
,
int
srcSliceH
,
uint8_t
*
dst
[],
int
dstStride
[]);
/**
* Write one line of horizontally scaled Y/U/V/A to planar output
* without any additional vertical scaling (or point-scaling).
*
* @param c SWS scaling context
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the 4 output planes (Y/U/V/A)
* @param dstW width of dest[0], dest[3], lumSrc and alpSrc in pixels
* @param chrDstW width of dest[1], dest[2], chrUSrc and chrVSrc
*/
typedef
void
(
*
yuv2planar1_fn
)
(
struct
SwsContext
*
c
,
const
int16_t
*
lumSrc
,
const
int16_t
*
chrUSrc
,
const
int16_t
*
chrVSrc
,
const
int16_t
*
alpSrc
,
uint8_t
*
dest
[
4
],
int
dstW
,
int
chrDstW
);
/**
* Write one line of horizontally scaled Y/U/V/A to planar output
* with multi-point vertical scaling between input pixels.
*
* @param c SWS scaling context
* @param lumFilter vertical luma/alpha scaling coefficients, 12bit [0,4096]
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param lumFilterSize number of vertical luma/alpha input lines to scale
* @param chrFilter vertical chroma scaling coefficients, 12bit [0,4096]
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param chrFilterSize number of vertical chroma input lines to scale
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the 4 output planes (Y/U/V/A)
* @param dstW width of dest[0], dest[3], lumSrc and alpSrc in pixels
* @param chrDstW width of dest[1], dest[2], chrUSrc and chrVSrc
*/
typedef
void
(
*
yuv2planarX_fn
)
(
struct
SwsContext
*
c
,
const
int16_t
*
lumFilter
,
const
int16_t
**
lumSrc
,
int
lumFilterSize
,
const
int16_t
*
chrFilter
,
const
int16_t
**
chrUSrc
,
const
int16_t
**
chrVSrc
,
int
chrFilterSize
,
const
int16_t
**
alpSrc
,
uint8_t
*
dest
[
4
],
int
dstW
,
int
chrDstW
);
/**
* Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB
* output without any additional vertical scaling (or point-scaling). Note
* that this function may do chroma scaling, see the "uvalpha" argument.
*
* @param c SWS scaling context
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the output plane
* @param dstW width of lumSrc and alpSrc in pixels, number of pixels
* to write into dest[]
* @param uvalpha chroma scaling coefficient for the second line of chroma
* pixels, either 2048 or 0. If 0, one chroma input is used
* for 2 output pixels (or if the SWS_FLAG_FULL_CHR_INT flag
* is set, it generates 1 output pixel). If 2048, two chroma
* input pixels should be averaged for 2 output pixels (this
* only happens if SWS_FLAG_FULL_CHR_INT is not set)
* @param y vertical line number for this output. This does not need
* to be used to calculate the offset in the destination,
* but can be used to generate comfort noise using dithering
* for some output formats.
*/
typedef
void
(
*
yuv2packed1_fn
)
(
struct
SwsContext
*
c
,
const
int16_t
*
lumSrc
,
const
int16_t
*
chrUSrc
[
2
],
const
int16_t
*
chrVSrc
[
2
],
const
int16_t
*
alpSrc
,
uint8_t
*
dest
,
int
dstW
,
int
uvalpha
,
int
y
);
/**
* Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB
* output by doing bilinear scaling between two input lines.
*
* @param c SWS scaling context
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the output plane
* @param dstW width of lumSrc and alpSrc in pixels, number of pixels
* to write into dest[]
* @param yalpha luma/alpha scaling coefficients for the second input line.
* The first line's coefficients can be calculated by using
* 4096 - yalpha
* @param uvalpha chroma scaling coefficient for the second input line. The
* first line's coefficients can be calculated by using
* 4096 - uvalpha
* @param y vertical line number for this output. This does not need
* to be used to calculate the offset in the destination,
* but can be used to generate comfort noise using dithering
* for some output formats.
*/
typedef
void
(
*
yuv2packed2_fn
)
(
struct
SwsContext
*
c
,
const
int16_t
*
lumSrc
[
2
],
const
int16_t
*
chrUSrc
[
2
],
const
int16_t
*
chrVSrc
[
2
],
const
int16_t
*
alpSrc
[
2
],
uint8_t
*
dest
,
int
dstW
,
int
yalpha
,
int
uvalpha
,
int
y
);
/**
* Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB
* output by doing multi-point vertical scaling between input pixels.
*
* @param c SWS scaling context
* @param lumFilter vertical luma/alpha scaling coefficients, 12bit [0,4096]
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param lumFilterSize number of vertical luma/alpha input lines to scale
* @param chrFilter vertical chroma scaling coefficients, 12bit [0,4096]
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param chrFilterSize number of vertical chroma input lines to scale
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the output plane
* @param dstW width of lumSrc and alpSrc in pixels, number of pixels
* to write into dest[]
* @param y vertical line number for this output. This does not need
* to be used to calculate the offset in the destination,
* but can be used to generate comfort noise using dithering
* or some output formats.
*/
typedef
void
(
*
yuv2packedX_fn
)
(
struct
SwsContext
*
c
,
const
int16_t
*
lumFilter
,
const
int16_t
**
lumSrc
,
int
lumFilterSize
,
const
int16_t
*
chrFilter
,
const
int16_t
**
chrUSrc
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录