提交 3db74331 编写于 作者: Z Zhang Rui

android/MediaCodec: improve vdps caculate

上级 da0114b3
......@@ -102,8 +102,7 @@ typedef struct IJKFF_Pipenode_Opaque {
int off_buf_out;
double last_queued_pts;
Uint64 benchmark_start_time;
Uint64 benchmark_frame_count;
SDL_SpeedSampler sampler;
} IJKFF_Pipenode_Opaque;
static SDL_AMediaCodec *create_codec_l(JNIEnv *env, IJKFF_Pipenode *node)
......@@ -795,6 +794,8 @@ static int drain_output_buffer_l(JNIEnv *env, IJKFF_Pipenode *node, int64_t time
}
}
} else if (output_buffer_index >= 0) {
SDL_SpeedSamplerAdd(&opaque->sampler, FFP_SHOW_VDPS_MEDIACODEC, "vdps[MediaCodec]");
if (dequeue_count)
++*dequeue_count;
......@@ -1169,6 +1170,7 @@ IJKFF_Pipenode *ffpipenode_create_video_decoder_from_android_mediacodec(FFPlayer
opaque->amc_buf_out[i].pts = AV_NOPTS_VALUE;
}
SDL_SpeedSamplerReset(&opaque->sampler);
return node;
fail:
ffpipenode_free_p(&node);
......
......@@ -25,11 +25,12 @@
#define FFP_XPS_PERIOD (3)
#define FFP_SHOW_VFPS_FFPLAY 1
#define FFP_SHOW_VDPS_AVCODEC 1
#define FFP_SHOW_VDPS_VIDEOTOOLBOX 1
#define FFP_SHOW_VPS_DPS (0
#define FFP_SHOW_VFPS_FFPLAY (FFP_SHOW_VPS_DPS)
#define FFP_SHOW_VDPS_AVCODEC (FFP_SHOW_VPS_DPS)
#define FFP_SHOW_VDPS_VIDEOTOOLBOX (FFP_SHOW_VPS_DPS)
#define FFP_SHOW_VDPS_MEDIACODEC (FFP_SHOW_VPS_DPS)
// #define FFP_SHOW_VDPS
// #define FFP_SHOW_AUDIO_DELAY
// #define FFP_SHOW_DEMUX_CACHE
// #define FFP_SHOW_BUF_POS
......@@ -39,10 +40,8 @@
// #define FFP_NOTIFY_BUF_BYTES
// #define FFP_SHOW_VTB_IN_DECODING
// #define FFP_SHOW_VTB_VDPS
// #define FFP_VTB_DISABLE_OUTPUT
// #define FFP_SHOW_AMC_VDPS
// #define FFP_SHOW_AMC_DROPS
// #define FFP_AMC_DISABLE_OUTPUT
......
......@@ -30,8 +30,6 @@
#if defined(__APPLE__)
#include <mach/mach_time.h>
#include "ijksdl_log.h"
static int g_is_mach_base_info_inited = 0;
static kern_return_t g_mach_base_info_ret = 0;
static mach_timebase_info_data_t g_mach_base_info;
......@@ -40,6 +38,8 @@ static mach_timebase_info_data_t g_mach_base_info;
int nanosleep(const struct timespec *, struct timespec *) __DARWIN_ALIAS_C(nanosleep);
#endif
#include "ijksdl_log.h"
void SDL_Delay(Uint32 ms)
{
int was_error;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册