Skip to content

Instantly share code, notes, and snippets.

View stblr's full-sized avatar

Pablo Stebler stblr

  • Neuchâtel, Switzerland
  • 17:43 (UTC +02:00)
View GitHub Profile

Keybase proof

I hereby claim:

  • I am pablostebler on github.
  • I am pablostebler (https://keybase.io/pablostebler) on keybase.
  • I have a public key ASDt6H8v_mGgetHpVlDHw02HHJ7nAMXgs6RFhePUm94Nowo

To claim this, I am signing this object:

--- TLP 1.1.907 --------------------------------------------
+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
TLP_PERSISTENT_DEFAULT=0
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
--- TLP 1.1.907 --------------------------------------------
+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
TLP_PERSISTENT_DEFAULT=0
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60

GSOC 2019 with VideoLAN - final report

Initial goals

This summer I worked on dav1d, the AV1 decoder in VLC, Firefox, Chromium and many others. My task was to try to add GPU support to it, either because it may be faster, it may use lower power consumption, or simply because the CPU can do other stuff during this time. I wanted to write a shader for one of the decoding stage, and invoke it using the different graphics APIs. Then I planned to make some testing and after that do the same for another decoding stage.

Some preparation

To be accepted in GSoC VideoLAN asked me to write a simple patch to dav1d. I worked to add a few benchmarking options to the dav1d CLI, notably a realtime mode that can be used to benchmark power consumption in realistic playback conditions.

This file has been truncated, but you can view the full file.
--------- beginning of main
03-12 10:47:03.071 429 429 I SELinux : SELinux: Loaded service_contexts from:
03-12 10:47:03.075 429 429 I SELinux : /system/etc/selinux/plat_service_contexts
03-12 10:47:03.083 431 431 I SELinux : SELinux: Loaded service_contexts from:
03-12 10:47:03.083 431 431 I SELinux : /vendor/etc/selinux/vndservice_contexts
03-12 10:47:03.089 432 432 D QSEECOMD: : qseecom listener services process entry PPID = 1
03-12 10:47:03.090 432 432 E QSEECOMD: : Listener: index = 0, hierarchy = 0
03-12 10:47:03.094 432 432 D QSEECOMD: : Init dlopen(librpmb.so, RTLD_NOW) succeeds
03-12 10:47:03.094 432 432 D QSEECOMD: : Init::Init dlsym(g_FSHandle rpmb_init_service) succeeds
03-12 10:47:03.095 432 432 I rpmb_ufs: RPMB Mult (512-byte sector) = 32768, Rel_sec_cnt = 32
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.83-g2457335fb8d4-dirty (pablo@e7470) (gcc version 4.9.x 20150123 (prerelease) (GCC)) #1 SMP PREEMPT Thu Dec 19 10:48:29 CET 2019
[ 0.000000] Boot CPU: AArch64 Processor [51af8014]
[ 0.000000] Machine: SoMC Lilac-ROW(MSM8998 v2.1)
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000017e000000, size 4 MiB
[ 0.000000] OF: reserved mem: initialized node qseecom_ta_region, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000fe800000, size 20 MiB
[ 0.000000] OF: reserved mem: initialized node qseecom_region, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000fe000000, size 8 MiB
[ 0.000000] OF: reserved mem: initialized node adsp_region, compatible id shared-dma-pool
This file has been truncated, but you can view the full file.
--------- beginning of main
03-29 06:45:14.679 465 465 W auditd : type=2000 audit(0.0:1): state=initialized audit_enabled=0 res=1
03-29 06:45:26.027 465 465 I auditd : type=1403 audit(0.0:2): policy loaded auid=4294967295 ses=4294967295
03-29 06:45:27.974 470 470 I SELinux : SELinux: Loaded service_contexts from:
03-29 06:45:27.975 470 470 I SELinux : /system/etc/selinux/plat_service_contexts
03-29 06:45:28.004 471 471 I hwservicemanager: hwservicemanager is ready now.
03-29 06:45:28.008 472 472 I SELinux : SELinux: Loaded service_contexts from:
03-29 06:45:28.009 472 472 I SELinux : /vendor/etc/selinux/vndservice_contexts
03-29 06:45:28.030 475 475 D QSEECOMD: : qseecom listener services process entry PPID = 1
03-29 06:45:28.031 475 475 E QSEECOMD: : Listener: index = 0, hierarchy = 0
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.83-g79753f365f7b-dirty (pablo@e7470) (gcc version 4.9.x 20150123 (prerelease) (GCC)) #4 SMP PREEMPT Mon Jan 6 13:00:45 CET 2020
[ 0.000000] Boot CPU: AArch64 Processor [51af8014]
[ 0.000000] Machine: SoMC Lilac-ROW(MSM8998 v2.1)
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000017e000000, size 4 MiB
[ 0.000000] OF: reserved mem: initialized node qseecom_ta_region, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000fe800000, size 20 MiB
[ 0.000000] OF: reserved mem: initialized node qseecom_region, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000fe000000, size 8 MiB
[ 0.000000] OF: reserved mem: initialized node adsp_region, compatible id shared-dma-pool
03-30 05:48:17.731 715 715 D RILD : **RIL Daemon Started**
03-30 05:48:17.732 715 715 D RILD : **RILd param count=1**
03-30 05:48:17.918 715 715 D RILD : RIL_Init argc = 3 clientId = 0
03-30 05:48:17.924 715 715 E RILQ : log to /data/vendor/radio/ril_log for QCRIL logging is not enabled
03-30 05:48:17.925 715 715 E RILQ : Fail to initialize Diag for QCRIL logging
03-30 05:48:18.339 554 554 D TelephonyManager: No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied)
03-30 05:48:18.339 554 554 D TelephonyManager: /proc/cmdline=
03-30 05:48:19.715 715 943 V RILQ : [settings.cc: 103] [rild(715,943)] main_loop_thread: > main_loop_thread: Starting main Loop thread for settings client
03-30 05:48:19.715 715 943 V libsettings: [ProtoSource.cpp: 48] [rild(715,943)] ProtoSource: > ProtoSource: tag: /dev/socket/settingsd
03-30 05:48:19.716 715 943 D libsettings: [MainLoop.cpp: 43] [rild(715,943)] MainLoop: M
superiotool r4.12-202-g7ed04e460d4
Probing for ALi Super I/O at 0x3f0...
Failed. Returned data: id=0xffff, rev=0xff
Probing for ALi Super I/O at 0x370...
Failed. Returned data: id=0xffff, rev=0xff
Probing for Aspeed Super I/O at 0x2e...
Found Aspeed AST2400 (id=0x00) at 0x2e
Register dump:
idx 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
val ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff