From cd3fe8cc1ae9028acb4f630ed16c12f4fb327f3c Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期四, 10 十月 2019 17:35:12 +0800 Subject: [PATCH] add interface out --- libcffmpeg.c | 52 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 12 deletions(-) diff --git a/libcffmpeg.c b/libcffmpeg.c index e1858ba..8f9bd3f 100644 --- a/libcffmpeg.c +++ b/libcffmpeg.c @@ -19,12 +19,12 @@ if(lib){ fn_create = (lib_cffmpeg_create)dlsym(lib, "c_ffmpeg_create"); release_if_err(fn_create, lib); + fn_create2 = (lib_cffmpeg_create)dlsym(lib, "c_ffmpeg_create2"); + release_if_err(fn_create2, lib); fn_destroy = (lib_cffmpeg_destroy)dlsym(lib, "c_ffmpeg_destroy"); release_if_err(fn_destroy, lib); fn_run = (lib_cffmpeg_run)dlsym(lib, "c_ffmpeg_run"); release_if_err(fn_run, lib); - fn_scale = (lib_cffmpeg_scale)dlsym(lib, "c_ffmpeg_scale"); - release_if_err(fn_scale, lib); fn_gb28181 = (lib_cffmpeg_gb28181)dlsym(lib, "c_ffmpeg_run_gb28181"); release_if_err(fn_gb28181, lib); fn_cpu = (lib_cffmpeg_cpu)dlsym(lib, "c_ffmepg_use_cpu"); @@ -41,8 +41,8 @@ release_if_err(fn_decoder_pic, lib); fn_get_avpacket = (lib_cffmpeg_avpacket)dlsym(lib, "c_ffmpeg_get_avpacket"); release_if_err(fn_get_avpacket, lib); - fn_dec_jpeg = (lib_cffmpeg_decode_jpeg)dlsym(lib, "c_ffmpeg_decode_jpeg"); - release_if_err(fn_dec_jpeg, lib); + fn_decode = (lib_cffmpeg_decode)dlsym(lib, "c_ffmpeg_decode"); + release_if_err(fn_decode, lib); fn_create_encoder = (lib_cffmpeg_create_encoder)dlsym(lib, "c_ffmpeg_create_encoder"); release_if_err(fn_create_encoder, lib); @@ -50,6 +50,16 @@ release_if_err(fn_destroy_encoder, lib); fn_encode = (lib_cffmpeg_encode)dlsym(lib, "c_ffmpeg_encode"); release_if_err(fn_encode, lib); + + fn_create_conv = (lib_cffmpeg_create_conv)dlsym(lib, "c_ffmpeg_create_conv"); + release_if_err(fn_create_conv, lib); + fn_destroy_conv = (lib_cffmpeg_destroy_conv)dlsym(lib, "c_ffmpeg_destroy_conv"); + release_if_err(fn_destroy_conv, lib); + fn_conv = (lib_cffmpeg_conv)dlsym(lib, "c_ffmpeg_conv"); + release_if_err(fn_conv, lib); + + fn_gpu_conv = (lib_gpu_conv)dlsym(lib, "c_gpu_conv"); + release_if_err(fn_gpu_conv, lib); }else{ printf("dlopen - %s\n", dlerror()); @@ -67,16 +77,16 @@ return fn_create(); } +cffmpeg wrap_fn_create2(const char *logfile){ + return fn_create2(logfile); +} + void wrap_fn_destroy(const cffmpeg h){ fn_destroy(h); } void wrap_fn_run(const cffmpeg h, const char* input){ fn_run(h, input); -} - -void wrap_fn_scale(const cffmpeg h, const int wid, const int hei, const int flags){ - fn_scale(h, wid, hei, flags); } void wrap_fn_run_gb28181(const cffmpeg h){ @@ -103,16 +113,21 @@ fn_decoder(h); } -void* wrap_fn_decoder_pic(const cffmpeg h, int* wid, int* hei, int64_t *id){ - return fn_decoder_pic(h, wid, hei, id); +void* wrap_fn_decoder_pic(const cffmpeg h, int *wid, int *hei, int *format, int *length, int64_t *id){ + return fn_decoder_pic(h, wid, hei, format, length, id); } void* wrap_fn_get_avpacket(const cffmpeg h, int* size, int* key){ return fn_get_avpacket(h, size, key); } -void* wrap_fn_decode_jpeg(const char* file, int* wid, int* hei){ - return fn_dec_jpeg(file, wid, hei); +// return val: -1 open error; -2, find stream error; -3, converter create error +void* wrap_fn_decode(const char* file, const int gb, int* wid, int* hei){ + return fn_decode(file, gb, wid, hei); +} + +void* wran_fn_gpu_conv(void *in, const int w, const int h, const int dst_w, const int dst_h, int *length){ + return fn_gpu_conv(in, w, h, dst_w, dst_h, length); } // for encoder @@ -134,3 +149,16 @@ *key = 0; return NULL; } + +// for conv +cconv wrap_fn_create_conv(const int srcW, const int srcH, const int srcFormat, + const int dstW, const int dstH, const int dstFormat, const int flag){ + return fn_create_conv(srcW, srcH, srcFormat, dstW, dstH, dstFormat, flag); +} + +void wrap_fn_destroy_conv(const cconv h){ + fn_destroy_conv(h); +} +void* wrap_fn_conv(const cconv h, uint8_t *in){ + return fn_conv(h, in); +} -- Gitblit v1.8.0