Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
78f9a878
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,发现更多精彩内容 >>
提交
78f9a878
编写于
2月 14, 2009
作者:
I
Ivan Kalvachev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use ff_xvmc for function names instead of XVMC_
Originally committed as revision 17254 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
c1a5aa29
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
16 deletion
+16
-16
libavcodec/mpeg12.c
libavcodec/mpeg12.c
+9
-9
libavcodec/mpegvideo.c
libavcodec/mpegvideo.c
+2
-2
libavcodec/mpegvideo_xvmc.c
libavcodec/mpegvideo_xvmc.c
+5
-5
未找到文件。
libavcodec/mpeg12.c
浏览文件 @
78f9a878
...
...
@@ -61,10 +61,10 @@ static inline int mpeg2_fast_decode_block_intra(MpegEncContext *s, DCTELEM *bloc
static
int
mpeg_decode_motion
(
MpegEncContext
*
s
,
int
fcode
,
int
pred
);
static
void
exchange_uv
(
MpegEncContext
*
s
);
int
XVMC
_field_start
(
MpegEncContext
*
s
,
AVCodecContext
*
avctx
);
int
XVMC
_field_end
(
MpegEncContext
*
s
);
void
XVMC
_pack_pblocks
(
MpegEncContext
*
s
,
int
cbp
);
void
XVMC
_init_block
(
MpegEncContext
*
s
);
//set s->block
int
ff_xvmc
_field_start
(
MpegEncContext
*
s
,
AVCodecContext
*
avctx
);
int
ff_xvmc
_field_end
(
MpegEncContext
*
s
);
void
ff_xvmc
_pack_pblocks
(
MpegEncContext
*
s
,
int
cbp
);
void
ff_xvmc
_init_block
(
MpegEncContext
*
s
);
//set s->block
static
const
enum
PixelFormat
pixfmt_xvmc_mpg2_420
[]
=
{
PIX_FMT_XVMC_MPEG2_IDCT
,
...
...
@@ -304,7 +304,7 @@ static int mpeg_decode_mb(MpegEncContext *s,
#if CONFIG_MPEG_XVMC_DECODER
//if 1, we memcpy blocks in xvmcvideo
if
(
s
->
avctx
->
xvmc_acceleration
>
1
){
XVMC
_pack_pblocks
(
s
,
-
1
);
//inter are always full blocks
ff_xvmc
_pack_pblocks
(
s
,
-
1
);
//inter are always full blocks
if
(
s
->
swap_uv
){
exchange_uv
(
s
);
}
...
...
@@ -517,7 +517,7 @@ static int mpeg_decode_mb(MpegEncContext *s,
#if CONFIG_MPEG_XVMC_DECODER
//if 1, we memcpy blocks in xvmcvideo
if
(
s
->
avctx
->
xvmc_acceleration
>
1
){
XVMC
_pack_pblocks
(
s
,
cbp
);
ff_xvmc
_pack_pblocks
(
s
,
cbp
);
if
(
s
->
swap_uv
){
exchange_uv
(
s
);
}
...
...
@@ -1652,7 +1652,7 @@ static int mpeg_field_start(MpegEncContext *s){
// MPV_frame_start will call this function too,
// but we need to call it on every field
if
(
s
->
avctx
->
xvmc_acceleration
)
XVMC
_field_start
(
s
,
avctx
);
ff_xvmc
_field_start
(
s
,
avctx
);
#endif
return
0
;
...
...
@@ -1742,7 +1742,7 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
#if CONFIG_MPEG_XVMC_DECODER
//If 1, we memcpy blocks in xvmcvideo.
if
(
s
->
avctx
->
xvmc_acceleration
>
1
)
XVMC
_init_block
(
s
);
//set s->block
ff_xvmc
_init_block
(
s
);
//set s->block
#endif
if
(
mpeg_decode_mb
(
s
,
s
->
block
)
<
0
)
...
...
@@ -1923,7 +1923,7 @@ static int slice_end(AVCodecContext *avctx, AVFrame *pict)
#if CONFIG_MPEG_XVMC_DECODER
if
(
s
->
avctx
->
xvmc_acceleration
)
XVMC
_field_end
(
s
);
ff_xvmc
_field_end
(
s
);
#endif
/* end of slice reached */
if
(
/*s->mb_y<<field_pic == s->mb_height &&*/
!
s
->
first_field
)
{
...
...
libavcodec/mpegvideo.c
浏览文件 @
78f9a878
...
...
@@ -56,7 +56,7 @@ static void dct_unquantize_h263_inter_c(MpegEncContext *s,
int
XVMC_field_start
(
MpegEncContext
*
s
,
AVCodecContext
*
avctx
);
void
XVMC_field_end
(
MpegEncContext
*
s
);
void
XVMC
_decode_mb
(
MpegEncContext
*
s
);
void
ff_xvmc
_decode_mb
(
MpegEncContext
*
s
);
/* enable all paranoid tests for rounding, overflows, etc... */
...
...
@@ -1738,7 +1738,7 @@ void MPV_decode_mb_internal(MpegEncContext *s, DCTELEM block[12][64],
const
int
mb_xy
=
s
->
mb_y
*
s
->
mb_stride
+
s
->
mb_x
;
#if CONFIG_MPEG_XVMC_DECODER
if
(
s
->
avctx
->
xvmc_acceleration
){
XVMC
_decode_mb
(
s
);
//xvmc uses pblocks
ff_xvmc
_decode_mb
(
s
);
//xvmc uses pblocks
return
;
}
#endif
...
...
libavcodec/mpegvideo_xvmc.c
浏览文件 @
78f9a878
...
...
@@ -36,7 +36,7 @@
#include "xvmc.h"
//set s->block
void
XVMC
_init_block
(
MpegEncContext
*
s
)
void
ff_xvmc
_init_block
(
MpegEncContext
*
s
)
{
struct
xvmc_render_state
*
render
;
render
=
(
struct
xvmc_render_state
*
)
s
->
current_picture
.
data
[
2
];
...
...
@@ -48,7 +48,7 @@ void XVMC_init_block(MpegEncContext *s)
s
->
block
=
(
DCTELEM
*
)(
render
->
data_blocks
+
(
render
->
next_free_data_block_num
)
*
64
);
}
void
XVMC
_pack_pblocks
(
MpegEncContext
*
s
,
int
cbp
)
void
ff_xvmc
_pack_pblocks
(
MpegEncContext
*
s
,
int
cbp
)
{
int
i
,
j
;
const
int
mb_block_count
=
4
+
(
1
<<
s
->
chroma_format
);
...
...
@@ -67,7 +67,7 @@ void XVMC_pack_pblocks(MpegEncContext *s, int cbp)
//These functions should be called on every new field and/or frame.
//They should be safe if they are called a few times for the same field!
int
XVMC
_field_start
(
MpegEncContext
*
s
,
AVCodecContext
*
avctx
)
int
ff_xvmc
_field_start
(
MpegEncContext
*
s
,
AVCodecContext
*
avctx
)
{
struct
xvmc_render_state
*
render
,
*
last
,
*
next
;
...
...
@@ -112,7 +112,7 @@ int XVMC_field_start(MpegEncContext*s, AVCodecContext *avctx)
return
-
1
;
}
void
XVMC
_field_end
(
MpegEncContext
*
s
)
void
ff_xvmc
_field_end
(
MpegEncContext
*
s
)
{
struct
xvmc_render_state
*
render
;
render
=
(
struct
xvmc_render_state
*
)
s
->
current_picture
.
data
[
2
];
...
...
@@ -122,7 +122,7 @@ void XVMC_field_end(MpegEncContext *s)
ff_draw_horiz_band
(
s
,
0
,
0
);
}
void
XVMC
_decode_mb
(
MpegEncContext
*
s
)
void
ff_xvmc
_decode_mb
(
MpegEncContext
*
s
)
{
XvMCMacroBlock
*
mv_block
;
struct
xvmc_render_state
*
render
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录