Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
1984f635
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,发现更多精彩内容 >>
提交
1984f635
编写于
3月 22, 2003
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
user setable quantizer bias
Originally committed as revision 1701 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
65f7062d
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
38 addition
and
15 deletion
+38
-15
libavcodec/avcodec.h
libavcodec/avcodec.h
+18
-3
libavcodec/h263.c
libavcodec/h263.c
+0
-8
libavcodec/mjpeg.c
libavcodec/mjpeg.c
+0
-1
libavcodec/mpeg12.c
libavcodec/mpeg12.c
+0
-2
libavcodec/mpegvideo.c
libavcodec/mpegvideo.c
+16
-0
libavcodec/mpegvideo.h
libavcodec/mpegvideo.h
+1
-1
libavcodec/utils.c
libavcodec/utils.c
+3
-0
未找到文件。
libavcodec/avcodec.h
浏览文件 @
1984f635
...
...
@@ -15,8 +15,8 @@ extern "C" {
#define LIBAVCODEC_VERSION_INT 0x000406
#define LIBAVCODEC_VERSION "0.4.6"
#define LIBAVCODEC_BUILD 466
2
#define LIBAVCODEC_BUILD_STR "466
2
"
#define LIBAVCODEC_BUILD 466
3
#define LIBAVCODEC_BUILD_STR "466
3
"
#define LIBAVCODEC_IDENT "FFmpeg" LIBAVCODEC_VERSION "b" LIBAVCODEC_BUILD_STR
...
...
@@ -1038,8 +1038,23 @@ typedef struct AVCodecContext {
* - decoding: set by lavc.
* @todo move this after frame_rate
*/
int
frame_rate_base
;
int
frame_rate_base
;
/**
* intra quantizer bias.
* - encoding: set by user.
* - decoding: unused
*/
int
intra_quant_bias
;
#define FF_DEFAULT_QUANT_BIAS 999999
/**
* inter quantizer bias.
* - encoding: set by user.
* - decoding: unused
*/
int
inter_quant_bias
;
}
AVCodecContext
;
...
...
libavcodec/h263.c
浏览文件 @
1984f635
...
...
@@ -1484,14 +1484,6 @@ void h263_encode_init(MpegEncContext *s)
s
->
y_dc_scale_table
=
s
->
c_dc_scale_table
=
ff_mpeg1_dc_scale_table
;
}
if
(
s
->
mpeg_quant
){
s
->
intra_quant_bias
=
3
<<
(
QUANT_BIAS_SHIFT
-
3
);
//(a + x*3/8)/x
s
->
inter_quant_bias
=
0
;
}
else
{
s
->
intra_quant_bias
=
0
;
s
->
inter_quant_bias
=-
(
1
<<
(
QUANT_BIAS_SHIFT
-
2
));
//(a - x/4)/x
}
}
/**
...
...
libavcodec/mjpeg.c
浏览文件 @
1984f635
...
...
@@ -251,7 +251,6 @@ int mjpeg_init(MpegEncContext *s)
s
->
min_qcoeff
=-
1023
;
s
->
max_qcoeff
=
1023
;
s
->
intra_quant_bias
=
1
<<
(
QUANT_BIAS_SHIFT
-
1
);
//(a + x/2)/x
/* build all the huffman tables */
build_huffman_codes
(
m
->
huff_size_dc_luminance
,
...
...
libavcodec/mpeg12.c
浏览文件 @
1984f635
...
...
@@ -702,8 +702,6 @@ void ff_mpeg1_encode_init(MpegEncContext *s)
s
->
fcode_tab
=
fcode_tab
;
s
->
min_qcoeff
=-
255
;
s
->
max_qcoeff
=
255
;
s
->
intra_quant_bias
=
3
<<
(
QUANT_BIAS_SHIFT
-
3
);
//(a + x*3/8)/x
s
->
inter_quant_bias
=
0
;
s
->
intra_ac_vlc_length
=
s
->
inter_ac_vlc_length
=
uni_mpeg1_ac_vlc_len
;
}
...
...
libavcodec/mpegvideo.c
浏览文件 @
1984f635
...
...
@@ -551,6 +551,22 @@ int MPV_encode_init(AVCodecContext *avctx)
s
->
progressive_sequence
=
!
(
avctx
->
flags
&
CODEC_FLAG_INTERLACED_DCT
);
if
(
s
->
codec_id
==
CODEC_ID_MJPEG
){
s
->
intra_quant_bias
=
1
<<
(
QUANT_BIAS_SHIFT
-
1
);
//(a + x/2)/x
s
->
inter_quant_bias
=
0
;
}
else
if
(
s
->
mpeg_quant
||
s
->
codec_id
==
CODEC_ID_MPEG1VIDEO
){
s
->
intra_quant_bias
=
3
<<
(
QUANT_BIAS_SHIFT
-
3
);
//(a + x*3/8)/x
s
->
inter_quant_bias
=
0
;
}
else
{
s
->
intra_quant_bias
=
0
;
s
->
inter_quant_bias
=-
(
1
<<
(
QUANT_BIAS_SHIFT
-
2
));
//(a - x/4)/x
}
if
(
avctx
->
intra_quant_bias
!=
FF_DEFAULT_QUANT_BIAS
)
s
->
intra_quant_bias
=
avctx
->
intra_quant_bias
;
if
(
avctx
->
inter_quant_bias
!=
FF_DEFAULT_QUANT_BIAS
)
s
->
inter_quant_bias
=
avctx
->
inter_quant_bias
;
switch
(
avctx
->
codec
->
id
)
{
case
CODEC_ID_MPEG1VIDEO
:
s
->
out_format
=
FMT_MPEG1
;
...
...
libavcodec/mpegvideo.h
浏览文件 @
1984f635
...
...
@@ -360,7 +360,7 @@ typedef struct MpegEncContext {
uint16_t
chroma_intra_matrix
[
64
];
uint16_t
inter_matrix
[
64
];
uint16_t
chroma_inter_matrix
[
64
];
#define QUANT_BIAS_SHIFT
4
#define QUANT_BIAS_SHIFT
8
int
intra_quant_bias
;
///< bias for the quantizer
int
inter_quant_bias
;
///< bias for the quantizer
int
min_qcoeff
;
///< minimum encodable coefficient
...
...
libavcodec/utils.c
浏览文件 @
1984f635
...
...
@@ -244,6 +244,9 @@ void avcodec_get_context_defaults(AVCodecContext *s){
s
->
release_buffer
=
avcodec_default_release_buffer
;
s
->
get_format
=
avcodec_default_get_format
;
s
->
me_subpel_quality
=
8
;
s
->
intra_quant_bias
=
FF_DEFAULT_QUANT_BIAS
;
s
->
inter_quant_bias
=
FF_DEFAULT_QUANT_BIAS
;
}
/**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录