Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
ccbd0b6b
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,发现更多精彩内容 >>
提交
ccbd0b6b
编写于
9月 24, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ffplay: do not call ffmpeg overlay directly
上级
d5c8c7f5
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
27 addition
and
2 deletion
+27
-2
ijkmedia/ijkplayer/ff_ffplay.c
ijkmedia/ijkplayer/ff_ffplay.c
+1
-1
ijkmedia/ijksdl/android/ijksdl_vout_android_nativewindow.c
ijkmedia/ijksdl/android/ijksdl_vout_android_nativewindow.c
+14
-0
ijkmedia/ijksdl/ffmpeg/ijksdl_vout_overlay_ffmpeg.h
ijkmedia/ijksdl/ffmpeg/ijksdl_vout_overlay_ffmpeg.h
+1
-1
ijkmedia/ijksdl/ijksdl_vout.c
ijkmedia/ijksdl/ijksdl_vout.c
+9
-0
ijkmedia/ijksdl/ijksdl_vout.h
ijkmedia/ijksdl/ijksdl_vout.h
+2
-0
未找到文件。
ijkmedia/ijkplayer/ff_ffplay.c
浏览文件 @
ccbd0b6b
...
@@ -740,7 +740,7 @@ static void alloc_picture(FFPlayer *ffp)
...
@@ -740,7 +740,7 @@ static void alloc_picture(FFPlayer *ffp)
video_open
(
ffp
,
0
,
vp
);
video_open
(
ffp
,
0
,
vp
);
#endif
#endif
vp
->
bmp
=
SDL_Vout
FFmpeg
_CreateOverlay
(
vp
->
width
,
vp
->
height
,
vp
->
bmp
=
SDL_Vout_CreateOverlay
(
vp
->
width
,
vp
->
height
,
ffp
->
overlay_format
,
ffp
->
overlay_format
,
ffp
->
vout
);
ffp
->
vout
);
#ifdef FFP_MERGE
#ifdef FFP_MERGE
...
...
ijkmedia/ijksdl/android/ijksdl_vout_android_nativewindow.c
浏览文件 @
ccbd0b6b
...
@@ -39,6 +39,19 @@ typedef struct SDL_Vout_Opaque {
...
@@ -39,6 +39,19 @@ typedef struct SDL_Vout_Opaque {
ANativeWindow
*
native_window
;
ANativeWindow
*
native_window
;
}
SDL_Vout_Opaque
;
}
SDL_Vout_Opaque
;
static
SDL_VoutOverlay
*
vout_create_overlay_l
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
vout
)
{
return
SDL_VoutFFmpeg_CreateOverlay
(
width
,
height
,
format
,
vout
);
}
static
SDL_VoutOverlay
*
vout_create_overlay
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
vout
)
{
SDL_LockMutex
(
vout
->
mutex
);
SDL_VoutOverlay
*
overlay
=
vout_create_overlay_l
(
width
,
height
,
format
,
vout
);
SDL_UnlockMutex
(
vout
->
mutex
);
return
overlay
;
}
static
void
vout_free_l
(
SDL_Vout
*
vout
)
static
void
vout_free_l
(
SDL_Vout
*
vout
)
{
{
if
(
!
vout
)
if
(
!
vout
)
...
@@ -94,6 +107,7 @@ SDL_Vout *SDL_VoutAndroid_CreateForANativeWindow()
...
@@ -94,6 +107,7 @@ SDL_Vout *SDL_VoutAndroid_CreateForANativeWindow()
SDL_Vout_Opaque
*
opaque
=
vout
->
opaque
;
SDL_Vout_Opaque
*
opaque
=
vout
->
opaque
;
opaque
->
native_window
=
NULL
;
opaque
->
native_window
=
NULL
;
vout
->
create_overlay
=
vout_create_overlay
;
vout
->
free_l
=
vout_free_l
;
vout
->
free_l
=
vout_free_l
;
vout
->
display_overlay
=
voud_display_overlay
;
vout
->
display_overlay
=
voud_display_overlay
;
...
...
ijkmedia/ijksdl/ffmpeg/ijksdl_vout_overlay_ffmpeg.h
浏览文件 @
ccbd0b6b
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
#include "ijksdl_inc_ffmpeg.h"
#include "ijksdl_inc_ffmpeg.h"
// TODO: 9 alignment to speed up memcpy when display
// TODO: 9 alignment to speed up memcpy when display
SDL_VoutOverlay
*
SDL_VoutFFmpeg_CreateOverlay
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
display
);
SDL_VoutOverlay
*
SDL_VoutFFmpeg_CreateOverlay
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
vout
);
int
SDL_VoutFFmpeg_ConvertFrame
(
int
SDL_VoutFFmpeg_ConvertFrame
(
SDL_VoutOverlay
*
overlay
,
AVFrame
*
frame
,
SDL_VoutOverlay
*
overlay
,
AVFrame
*
frame
,
...
...
ijkmedia/ijksdl/ijksdl_vout.c
浏览文件 @
ccbd0b6b
...
@@ -57,6 +57,15 @@ int SDL_VoutDisplayYUVOverlay(SDL_Vout *vout, SDL_VoutOverlay *overlay)
...
@@ -57,6 +57,15 @@ int SDL_VoutDisplayYUVOverlay(SDL_Vout *vout, SDL_VoutOverlay *overlay)
return
-
1
;
return
-
1
;
}
}
SDL_VoutOverlay
*
SDL_Vout_CreateOverlay
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
vout
)
{
if
(
vout
&&
vout
->
create_overlay
)
return
vout
->
create_overlay
(
width
,
height
,
format
,
vout
);
return
NULL
;
}
int
SDL_VoutLockYUVOverlay
(
SDL_VoutOverlay
*
overlay
)
int
SDL_VoutLockYUVOverlay
(
SDL_VoutOverlay
*
overlay
)
{
{
if
(
overlay
&&
overlay
->
lock
)
if
(
overlay
&&
overlay
->
lock
)
...
...
ijkmedia/ijksdl/ijksdl_vout.h
浏览文件 @
ccbd0b6b
...
@@ -50,6 +50,7 @@ typedef struct SDL_Vout {
...
@@ -50,6 +50,7 @@ typedef struct SDL_Vout {
SDL_mutex
*
mutex
;
SDL_mutex
*
mutex
;
SDL_Vout_Opaque
*
opaque
;
SDL_Vout_Opaque
*
opaque
;
SDL_VoutOverlay
*
(
*
create_overlay
)(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
vout
);
void
(
*
free_l
)(
SDL_Vout
*
vout
);
void
(
*
free_l
)(
SDL_Vout
*
vout
);
int
(
*
display_overlay
)(
SDL_Vout
*
vout
,
SDL_VoutOverlay
*
overlay
);
int
(
*
display_overlay
)(
SDL_Vout
*
vout
,
SDL_VoutOverlay
*
overlay
);
}
SDL_Vout
;
}
SDL_Vout
;
...
@@ -58,6 +59,7 @@ void SDL_VoutFree(SDL_Vout *vout);
...
@@ -58,6 +59,7 @@ void SDL_VoutFree(SDL_Vout *vout);
void
SDL_VoutFreeP
(
SDL_Vout
**
pvout
);
void
SDL_VoutFreeP
(
SDL_Vout
**
pvout
);
int
SDL_VoutDisplayYUVOverlay
(
SDL_Vout
*
vout
,
SDL_VoutOverlay
*
overlay
);
int
SDL_VoutDisplayYUVOverlay
(
SDL_Vout
*
vout
,
SDL_VoutOverlay
*
overlay
);
SDL_VoutOverlay
*
SDL_Vout_CreateOverlay
(
int
width
,
int
height
,
Uint32
format
,
SDL_Vout
*
vout
);
int
SDL_VoutLockYUVOverlay
(
SDL_VoutOverlay
*
overlay
);
int
SDL_VoutLockYUVOverlay
(
SDL_VoutOverlay
*
overlay
);
int
SDL_VoutUnlockYUVOverlay
(
SDL_VoutOverlay
*
overlay
);
int
SDL_VoutUnlockYUVOverlay
(
SDL_VoutOverlay
*
overlay
);
void
SDL_VoutFreeYUVOverlay
(
SDL_VoutOverlay
*
overlay
);
void
SDL_VoutFreeYUVOverlay
(
SDL_VoutOverlay
*
overlay
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录