android_hardware_sprd's Issues
Doze support for cm 13.0
Hello,
I'm trying to build cm 13.0 for kanas (core 2, SM-G355H) using this source and from ih24n69's commits
.
I'm happy with the self-built rom until when 'modemd' decides to selfishly reboot the system at random times (I'll try to post another issue on sprd-common if I couldn't solve it. Pretty sure it was because of RILJ)
.
So, I was wondering how does one enable support for doze power saving. I used the check doze app from xda forums and got all reds in three categories:
I understand the second and third (since I haven't enabled the config installed gapps yet), but how come the sensor support is in red'? Doesn't the phone has a accelerometer for this.
Videos supported by avc hardware decoder(?) doesn't work in Android O
Thanks for reading this, again. I've been trying to play a video with the mp4 format but it does not work. It works on nougat and older though. Also, recording camera videos or even opening the camera doesn't work :( .
I'm using the scx15 code instead of the sc8830 as the stock libraries .sc8830.so naming suggests or else they won't compile.
Here's snippet of logcat (default + kernel) :
08-08 17:45:56.673 1778 1863 V SprdSimpleOMXComponent: Port 1 now enabled.
08-08 17:45:56.676 1778 1933 I SprdSimpleOMXComponent: fillThisBuffer, buffer: 0xb5423e60, header: 0xb5423b80, iRefCount: 0
08-08 17:45:56.676 1778 1933 I SPRDAVCDecoder: onQueueFilled, 937, outHeader:0xb5423b80, inHeader: 0xb54239a0, len: 31, nOffset: 0, time: 0, EOS: 0
08-08 17:45:56.676 1778 1933 V SPRDAVCDecoder: onQueueFilled, 977, dec_in.dataLen: 31, mPicId: 6
08-08 17:45:56.677 1778 1933 E MemoryHeapIon: Get_phy_addr_from_ion: Getphyaddr error!
08-08 17:45:56.677 1778 1933 V SPRDAVCDecoder: onQueueFilled, 1003, outHeader: 0xb5423b80, pBuffer: 0xb5419260, phyAddr: 0x0
08-08 17:45:56.677 1778 1933 D vndksupport: Loading /vendor/lib/hw/gralloc.sc8830.so from current namespace instead of sphal namespace.
08-08 17:45:56.679 1778 1933 V SPRDAVCDecoder: onQueueFilled, 1019, pBuffer: 0xb5419260, vaddr: 0xb20d5000
08-08 17:45:56.704 0 0 E : [1:rd.h264.decoder: 1933] [c1] ion_phys: ion_phys is not implemented by this heap.
08-08 17:45:56.679 1778 1933 V SPRDAVCDecoder: onQueueFilled, 1022, yuv: b20d5000, mPicId: 6, outHeader: b5423b80, outHeader->pBuffer: b5419260, outHeader->nTimeStamp: 0
08-08 17:45:56.704 0 0 E : [1:rd.h264.decoder: 1933] [c1] sprd_heap_ioctl alloc ret=0xffffffed error!
08-08 17:45:56.680 1778 1933 D VSP : VSP_ACQUIRE_Dev, 199
08-08 17:45:56.680 1778 1933 D VSP : H264DecDecode, 387, g_stream_offset: 4, g_slice_datalen: 27, g_nalu_ptr->len: 25, destuffing_num: 2
08-08 17:45:56.680 1778 1933 D VSP : H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x67.
08-08 17:45:56.680 1778 1933 D VSP : H264DecDecode_NALU, 908, finished decoding one NALU
08-08 17:45:56.680 1778 1933 D VSP : H264DecDecode, 408, g_nalu_ptr->len: 25, frame_dec_finish: 0,ret: -9
08-08 17:45:56.680 1778 1933 D VSP : H264DecDecode, 446, exit decoder, error_flag: 0
08-08 17:45:56.680 1778 1933 D VSP : VSP_RELEASE_Dev, 257, ret: 0
08-08 17:45:56.680 1778 1933 I SPRDAVCDecoder: onQueueFilled, 1033, decRet: -9, 0ms, dec_out.frameEffective: 0, needIVOP: 1
08-08 17:45:56.680 1778 1933 D vndksupport: Loading /vendor/lib/hw/gralloc.sc8830.so from current namespace instead of sphal namespace.
08-08 17:45:56.682 1778 1933 I SPRDAVCDecoder: now, we don't take care of the decoder return: -9
08-08 17:45:56.683 1778 1933 I SPRDAVCDecoder: handlePortSettingChangeEvent, 1145, mWidth: 1920, mHeight: 1088, info->picWidth: 1920, info->picHeight: 1088
08-08 17:45:56.683 1778 1933 E SPRDAVCDecoder: set ddr freq to 500000khz
08-08 17:45:56.683 1778 1933 I SPRDAVCDecoder: handlePortSettingChangeEvent, 1154, info->numRefFrames: 3, info->has_b_frames: 1, def->nBufferCountActual: 6
08-08 17:45:56.683 1778 1933 I VSP : H264Dec_ReleaseRefBuffers, 32
08-08 17:45:56.683 1778 1933 I SprdSimpleOMXComponent: fillThisBuffer, buffer: 0xb5423e68, header: 0xb5423bd0, iRefCount: 0
08-08 17:45:56.689 1778 1860 V SprdSimpleOMXComponent: Port 1 now disabled.
Then some lines after I also get this:
08-08 17:45:56.792 0 0 E : [2:rd.h264.decoder: 1933] [c2] ion_phys: ion_phys is not implemented by this heap.
08-08 17:45:56.792 0 0 E : [2:rd.h264.decoder: 1933] [c2] sprd_heap_ioctl alloc ret=0xffffffed error!
Then I thought of changing this line's ION_HEAP_TYPE_SYSTEM to ION_HEAP_TYPE_CUSTOM: https://github.com/remilia15/android_kernel_samsung_core33g/blob/lineage-15.1/arch/arm/mach-sc/devices-sc8830.c#L1154 . (I'm not using this kernel source but they have similar content)
The line above disappeared. Camera app can be opened, but still unable to record a video yet it can shoot pictures. Here's another short snippet of logcat (default + kernel):
08-08 17:27:29.267 1582 1838 V SPRDAVCDecoder: onQueueFilled, 1019, pBuffer: 0xa6619260, vaddr: 0xa322a000
08-08 17:27:29.267 1582 1838 V SPRDAVCDecoder: onQueueFilled, 1022, yuv: a322a000, mPicId: 21, outHeader: a6623b80, outHeader->pBuffer: a6619260, outHeader->nTimeStamp: 0
08-08 17:27:29.268 1582 1838 D VSP : VSP_ACQUIRE_Dev, 199
08-08 17:27:29.268 1582 1838 D VSP : H264DecDecode, 387, g_stream_offset: 4, g_slice_datalen: 27, g_nalu_ptr->len: 25, destuffing_num: 2
08-08 17:27:29.268 1582 1838 D VSP : H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x67.
08-08 17:27:29.268 1582 1838 D VSP : H264DecDecode_NALU, 908, finished decoding one NALU
08-08 17:27:29.268 1582 1838 D VSP : H264DecDecode, 408, g_nalu_ptr->len: 25, frame_dec_finish: 0,ret: -9
08-08 17:27:29.268 1582 1838 D VSP : H264DecDecode, 446, exit decoder, error_flag: 0
08-08 17:27:29.268 1582 1838 D VSP : VSP_RELEASE_Dev, 257, ret: 0
08-08 17:27:29.268 1582 1838 I SPRDAVCDecoder: onQueueFilled, 1033, decRet: -9, 0ms, dec_out.frameEffective: 0, needIVOP: 1
08-08 17:27:29.268 1582 1838 D vndksupport: Loading /vendor/lib/hw/gralloc.sc8830.so from current namespace instead of sphal namespace.
08-08 17:27:29.269 0 0 W : [0: Binder:262_2: 279] [c0] ion: malloc from cma mem: size=002fd000,phy addr=9d700000, time=15ms
08-08 17:27:29.269 1582 1838 I SPRDAVCDecoder: now, we don't take care of the decoder return: -9
Error when compiling
scx30g_v2: Codecs don't work
The recorded videos are just like the TV when it's out-of-signal
hwcomposer
target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/SprdHWComposer.cpp target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/SprdFrameBufferHAL.cpp In file included from hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/../OverlayComposer/OverlayNativeWindow.h:36:0, from hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/../OverlayComposer/OverlayComposer.h:91, from hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/SprdPrimaryDisplayDevice.h:61, from hardware/sprd/hwcomposer/sc8830/SprdHWComposer.h:53, from hardware/sprd/hwcomposer/sc8830/SprdHWComposer.cpp:37: frameworks/native/include/ui/FramebufferNativeWindow.h:18:2: warning: #warning "FramebufferNativeWindow is deprecated" [-Wcpp] #warning "FramebufferNativeWindow is deprecated" ^ target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp In file included from hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:40:0: system/core/libion/include/ion/ion.h:34:35: error: 'ion_user_handle_t' has not been declared unsigned int flags, ion_user_handle_t *handle); ^ system/core/libion/include/ion/ion.h:38:22: error: 'ion_user_handle_t' has not been declared int ion_free(int fd, ion_user_handle_t handle); ^ system/core/libion/include/ion/ion.h:39:21: error: 'ion_user_handle_t' has not been declared int ion_map(int fd, ion_user_handle_t handle, size_t length, int prot, ^ system/core/libion/include/ion/ion.h:41:23: error: 'ion_user_handle_t' has not been declared int ion_share(int fd, ion_user_handle_t handle, int *share_fd); ^ system/core/libion/include/ion/ion.h:42:38: error: 'ion_user_handle_t' has not been declared int ion_import(int fd, int share_fd, ion_user_handle_t *handle); ^ target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/SprdDisplayPlane.cpp hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:63:27: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration int sprd_fence_build(enum SPRD_DEVICE_SYNC_TYPE type, struct HWC_fence_data *HWCData) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int sprd_fence_build(int, HWC_fence_data*)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:81:10: error: 'struct ion_fence_data' has no member named 'device_type' data.device_type = type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:82:10: error: 'struct ion_fence_data' has no member named 'life_value' data.life_value = 1; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:83:10: error: 'struct ion_fence_data' has no member named 'release_fence_fd' data.release_fence_fd = -1; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:84:10: error: 'struct ion_fence_data' has no member named 'retired_fence_fd' data.retired_fence_fd = -1; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:96:14: error: 'struct ion_fence_data' has no member named 'release_fence_fd' if (data.release_fence_fd < 0 || data.retired_fence_fd < 0) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:96:43: error: 'struct ion_fence_data' has no member named 'retired_fence_fd' if (data.release_fence_fd < 0 || data.retired_fence_fd < 0) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:102:38: error: 'struct ion_fence_data' has no member named 'release_fence_fd' HWCData->release_fence_fd = data.release_fence_fd; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:103:38: error: 'struct ion_fence_data' has no member named 'retired_fence_fd' HWCData->retired_fence_fd = data.retired_fence_fd; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: At global scope: hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:108:28: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration int sprd_fence_signal(enum SPRD_DEVICE_SYNC_TYPE type) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int sprd_fence_signal(int)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:121:10: error: 'struct ion_fence_data' has no member named 'device_type' data.device_type = type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int HWCBufferSyncBuild(hwc_display_contents_1_t*, int)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:241:10: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_PRIMARY_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:241:44: error: invalid type in declaration before '=' token enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_PRIMARY_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:241:46: error: 'SPRD_DEVICE_PRIMARY_SYNC' was not declared in this scope enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_PRIMARY_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:246:23: error: 'SPRD_DEVICE_VIRTUAL_SYNC' was not declared in this scope device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int HWCBufferSyncBuildForVirtualDisplay(hwc_display_contents_1_t*)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:319:10: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration enum SPRD_DEVICE_SYNC_TYPE device_type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:319:43: error: invalid type in declaration before ';' token enum SPRD_DEVICE_SYNC_TYPE device_type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:322:19: error: 'SPRD_DEVICE_VIRTUAL_SYNC' was not declared in this scope device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int HWCBufferSyncReleaseForVirtualDisplay(hwc_display_contents_1_t*)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:374:10: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:374:44: error: invalid type in declaration before '=' token enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:374:46: error: 'SPRD_DEVICE_VIRTUAL_SYNC' was not declared in this scope enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: At global scope: hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:364:69: warning: unused parameter 'list' [-Wunused-parameter] int HWCBufferSyncReleaseForVirtualDisplay(hwc_display_contents_1_t *list)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.