Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
38e40dfa
I
ijkplayer
项目概览
qq_25606643
/
ijkplayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
ijkplayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
38e40dfa
编写于
6月 24, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ijksdl: fix incorrect memset
上级
775b5e79
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
11 deletion
+25
-11
ijkmediaplayer/jni/ijksdl/android/ijksdl_vout_android_nativewindow.c
...yer/jni/ijksdl/android/ijksdl_vout_android_nativewindow.c
+2
-0
ijkmediaplayer/jni/ijksdl/ijksdl_vout_internal.h
ijkmediaplayer/jni/ijksdl/ijksdl_vout_internal.h
+4
-2
ijkmediaplayer/jni/ijksdl/ijksdl_vout_overlay_ffmpeg.c
ijkmediaplayer/jni/ijksdl/ijksdl_vout_overlay_ffmpeg.c
+19
-9
未找到文件。
ijkmediaplayer/jni/ijksdl/android/ijksdl_vout_android_nativewindow.c
浏览文件 @
38e40dfa
...
...
@@ -110,6 +110,7 @@ static SDL_VoutSurface *vout_set_video_mode(SDL_Vout *vout, int w, int h, int bp
static
void
vout_copy_image_yv12
(
ANativeWindow_Buffer
*
out_buffer
,
const
SDL_VoutOverlay
*
overlay
)
{
SDLTRACE
(
"SDL_VoutAndroid: vout_copy_image_yv12(%p)"
,
overlay
);
assert
(
overlay
->
format
==
SDL_YV12_OVERLAY
);
assert
(
overlay
->
planes
==
3
);
...
...
@@ -145,6 +146,7 @@ static void vout_copy_image_yv12(ANativeWindow_Buffer *out_buffer, const SDL_Vou
static
int
voud_display_overlay_l
(
SDL_Vout
*
vout
,
SDL_VoutOverlay
*
overlay
)
{
SDLTRACE
(
"SDL_VoutAndroid: display(%p)"
,
overlay
);
SDL_Vout_Opaque
*
opaque
=
vout
->
opaque
;
ANativeWindow
*
native_window
=
opaque
->
native_window
;
int
curr_w
,
curr_h
,
curr_format
;
...
...
ijkmediaplayer/jni/ijksdl/ijksdl_vout_internal.h
浏览文件 @
38e40dfa
...
...
@@ -38,7 +38,7 @@ inline static SDL_Vout *SDL_Vout_CreateInternal(size_t opaque_size)
free
(
vout
);
return
NULL
;
}
memset
(
vout
->
opaque
,
0
,
sizeof
(
vout
->
opaque
)
);
memset
(
vout
->
opaque
,
0
,
opaque_size
);
vout
->
mutex
=
SDL_CreateMutex
();
if
(
vout
->
mutex
==
NULL
)
{
...
...
@@ -76,7 +76,7 @@ inline static SDL_VoutOverlay *SDL_VoutOverlay_CreateInternal(size_t opaque_size
free
(
overlay
);
return
NULL
;
}
memset
(
overlay
->
opaque
,
0
,
sizeof
(
overlay
->
opaque
)
);
memset
(
overlay
->
opaque
,
0
,
opaque_size
);
return
overlay
;
}
...
...
@@ -92,4 +92,6 @@ inline static void SDL_VoutOverlay_FreeInternal(SDL_VoutOverlay *overlay)
free
(
overlay
);
}
#define SDLTRACE ALOGW
#endif
ijkmediaplayer/jni/ijksdl/ijksdl_vout_overlay_ffmpeg.c
浏览文件 @
38e40dfa
...
...
@@ -62,6 +62,7 @@ static AVFrame *alloc_avframe(SDL_VoutOverlay_Opaque* opaque, enum AVPixelFormat
static
void
overlay_free_l
(
SDL_VoutOverlay
*
overlay
)
{
ALOGE
(
"SDL_Overlay(ffmpeg): overlay_free_l(%p)"
,
overlay
);
if
(
!
overlay
)
return
;
...
...
@@ -109,9 +110,13 @@ static int overlay_unlock(SDL_VoutOverlay *overlay)
SDL_VoutOverlay
*
SDL_VoutCreateFFmpegYUVOverlay
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
display
)
{
SDLTRACE
(
"SDL_VoutCreateFFmpegYUVOverlay(w=%d, h=%d, fmt=%.4s(0x%x, dp=%p)"
,
width
,
height
,
(
const
char
*
)
&
format
,
format
,
display
);
SDL_VoutOverlay
*
overlay
=
SDL_VoutOverlay_CreateInternal
(
sizeof
(
SDL_VoutOverlay_Opaque
));
if
(
!
overlay
)
if
(
!
overlay
)
{
ALOGE
(
"SDL_VoutCreateFFmpegYUVOverlay(...)=NULL"
);
return
NULL
;
}
overlay
->
format
=
format
;
...
...
@@ -123,17 +128,21 @@ SDL_VoutOverlay *SDL_VoutCreateFFmpegYUVOverlay(int width, int height, Uint32 fo
AVPicture
*
pic
=
NULL
;
switch
(
format
)
{
case
SDL_YV12_OVERLAY
:
SDLTRACE
(
"SDL_VoutCreateFFmpegYUVOverlay(...): SDL_YV12_OVERLAY (swap UV)"
);
frame
=
alloc_avframe
(
opaque
,
AV_PIX_FMT_YUV420P
,
width
,
height
);
overlay_fill
(
overlay
,
frame
,
format
,
3
);
/* swap U,V */
pic
=
(
AVPicture
*
)
frame
;
overlay
->
pixels
[
2
]
=
pic
->
data
[
1
];
overlay
->
pixels
[
1
]
=
pic
->
data
[
2
];
overlay
->
pitches
[
2
]
=
pic
->
linesize
[
1
];
overlay
->
pitches
[
1
]
=
pic
->
linesize
[
2
];
if
(
frame
)
{
overlay_fill
(
overlay
,
frame
,
format
,
3
);
/* swap U,V */
pic
=
(
AVPicture
*
)
frame
;
overlay
->
pixels
[
2
]
=
pic
->
data
[
1
];
overlay
->
pixels
[
1
]
=
pic
->
data
[
2
];
overlay
->
pitches
[
2
]
=
pic
->
linesize
[
1
];
overlay
->
pitches
[
1
]
=
pic
->
linesize
[
2
];
}
break
;
default:
ALOGE
(
"SDL_VoutCreateFFmpegYUVOverlay(...): unknown format"
);
break
;
}
...
...
@@ -148,5 +157,6 @@ SDL_VoutOverlay *SDL_VoutCreateFFmpegYUVOverlay(int width, int height, Uint32 fo
overlay
=
NULL
;
}
SDLTRACE
(
"SDL_VoutCreateFFmpegYUVOverlay(...)=%p"
,
overlay
);
return
overlay
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录