Firefly开源社区

标题: rk3288 android平台是否支持硬解jpeg [打印本页]

作者: duoduo    时间: 2015-4-21 09:49
标题: rk3288 android平台是否支持硬解jpeg
我在external/skia目录下找到有调用hw_jpeg_decode接口,请问是硬解码接口吗,是的话,能否提供这个接口的demo,里面的参数不知道该如何传。
谢谢
作者: zhansb    时间: 2015-4-21 09:59
Android下是支持Jpeg硬解
作者: duoduo    时间: 2015-4-21 12:17
请问有调用hw_jpeg_decode接口的demo吗?
作者: duoduo    时间: 2015-4-22 15:03
调用jpeg硬件的接口后,是如何显示的呢,用libjpeg库中的接口可以吗,谢谢。
作者: duoduo    时间: 2015-4-23 16:04
在spice源码里调用硬解码接口,Android.mk中引用了libjpeghwdec.so,用ndk-build编译时报错,
[armeabi-v7a] SharedLibrary  : libspice.so
/home/hsw/java/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: DIV usage mismatch between ./libjpeghwdec.so and output
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi-v7a/libspice.so] Error 1
    请问libjpeghwdec.so 是用ndk-build编译的,用的哪个版本呢,谢谢。


作者: zhansb    时间: 2015-4-23 16:32
没用过这个接口,可以试试模块编译mmm
作者: duoduo    时间: 2015-4-24 18:37
请问用过这个库吗libjpeghwdec.so
Android.mk中
LOCAL_LDLIBS += \
              -L. \
              -ltest -ljpeghwdec
用ndk-build编译报错,我是在平台的目录下编译出来的libtest.so,我在其他平台编译的libtest.so,再用ndk-build编译就没有问题。
请问你们的平台编译时加什么参数了,怎么会有这么奇怪的现象,另外libjpeghwdec.so这个库是怎么编译出来的。
我们正在验证这个硬解码接口是否能改变云桌面播视频卡顿的问题,谢谢了。
作者: duoduo    时间: 2015-4-24 19:30
能不能用ndk-build编译个库给我们啊,真的很需要。
作者: lynn3653    时间: 2015-4-25 10:18
你的完整的Android.mk能不能发上来看看?
作者: lynn3653    时间: 2015-4-25 10:19
duoduo 发表于 2015-4-24 18:37
请问用过这个库吗libjpeghwdec.so
Android.mk中
LOCAL_LDLIBS += \

你的完整的Android.mk能不能发上来看看?
作者: lynn3653    时间: 2015-4-25 11:44
duoduo 发表于 2015-4-24 19:30
能不能用ndk-build编译个库给我们啊,真的很需要。

这个libjpeghwdec.so库没有源码,无法重新编译,你可以试试用mm的方式在SDK里面完成编译,或者你可以提供一下你的spice源码给我们试试~
作者: duoduo    时间: 2015-4-29 10:30
LOCAL_PATH         := $(call my-dir)

include $(CLEAR_VARS)
LIB_PATH := $(LOCAL_PATH)/../../libs/armeabi
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
SPICE_CLIENT_ANDROID_DEPS   := $(LOCAL_PATH)/../libs/deps



CROSS_DIR  := /opt/gstreamer
spice_objs := \
    $(SPICE_CLIENT_ANDROID_DEPS)/lib/libjpeg.a \
    $(SPICE_CLIENT_ANDROID_DEPS)/lib/libssl.a \
    $(SPICE_CLIENT_ANDROID_DEPS)/lib/libcrypto.a


LOCAL_MODULE    := spice

LOCAL_SRC_FILES := gtk/channel-record.c gtk/channel-playback.c gtk/channel-cursor.c \
                   gtk/spice-client.c gtk/spice-audio.c gtk/spice-gstaudio.c \
                   gtk/usb-device-manager.c gtk/usbutil.c gtk/channel-usbredir.c \
                   virt-viewer/virt-viewer-file.c virt-viewer/virt-viewer-util.c \
                   android/android-service.c android/android-spicy.c android/android-spice-widget.c \
                   android/android-io.c

LOCAL_LDLIBS         += $(spice_objs) \
                   -ljnigraphics -llog -ldl -lstdc++ -lz \
                   -malign-double -malign-loops
LOCAL_LDLIBS += \
                   -L. \
                   -ljpeghwdec

LOCAL_CPPFLAGS         += -DG_LOG_DOMAIN=\"GSpice\" \
                   -DSW_CANVAS_CACHE \
                   -DSPICE_GTK_LOCALEDIR=\"/usr/local/share/locale\" \
                   -DHAVE_CONFIG_H -UHAVE_SYS_SHM_H -DSW_CANVAS_CACHE  \
                   -D_REENTRANT -DWITH_GSTAUDIO

LOCAL_C_INCLUDES += \
                    $(LOCAL_PATH)/gtk                    

LOCAL_CFLAGS         :=  $(LOCAL_CPPFLAGS) \
                   -std=gnu99 -Wall -Wno-sign-compare -Wno-deprecated-declarations -Wl,--no-undefined \
                   -fPIC -DPIC -O3 -funroll-loops -ffast-math
LOCAL_CFLAGS  += -DHAVE_SASL

LOCAL_EXPORT_CFLAGS += $(LOCAL_CFLAGS)
LOCAL_EXPORT_LDLIBS += $(LOCAL_LDLIBS)
LOCAL_ARM_MODE := arm
LOCAL_SHARED_LIBRARIES := gstreamer_android
include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
GSTREAMER_SDK_ROOT_ANDROID := /opt/gstreamer
ifndef GSTREAMER_SDK_ROOT
ifndef GSTREAMER_SDK_ROOT_ANDROID
$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!)
endif
GSTREAMER_SDK_ROOT        := $(GSTREAMER_SDK_ROOT_ANDROID)
endif
GSTREAMER_NDK_BUILD_PATH  := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/
include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS         := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS)
G_IO_MODULES              := gnutls
GSTREAMER_EXTRA_DEPS      := pixman-1 gstreamer-app-0.10 libsoup-2.4 libxml-2.0 gthread-2.0 gobject-2.0

include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk

作者: duoduo    时间: 2015-4-29 10:31
帮忙分析下,红色部分是我添加的
作者: duoduo    时间: 2015-4-29 14:08
请问有没有这个库的使用说明,我现在用的frameworks/base/media/tests/omxjpegdecoder/jpeg_decoder_bench.cpp生成的可执行程序,根据打印信息,得到if(hw_jpeg_decode(&hwInfo,&outInfo, &reuseBitmap, bm->width(), bm->height()) >= 0),这个hw_jpeg_decode调用返回的是负值。
作者: q373149369    时间: 2015-7-14 09:08
duoduo 发表于 2015-4-21 12:17
请问有调用hw_jpeg_decode接口的demo吗?

楼主,请问您的测试Demo写完了吗? 能否借我参考!谢谢~
作者: duoduo    时间: 2015-7-27 09:13
不好意思,调用hw_jpeg_decode接口的demo没有实现啊
作者: q373149369    时间: 2015-7-27 15:42
duoduo 发表于 2015-7-27 09:13
不好意思,调用hw_jpeg_decode接口的demo没有实现啊

樓主,你也在弄spice嗎?是基於spice-gtk麼?播視頻卡噸,您是如何實現硬件解碼的?能否提供幫助與支持?謝謝~




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1