SuccessChanges

Summary

  1. crop_rec: 1040p48 appears to work after latest changes (1060p48 also works with some tweaking)
  2. Raw backend: attempt to handle raw_lv_request called outside LiveView (race condition?)
  3. mlv_lite: blacken H.264 frames not covered by RAW recording (poor man's sync between RAW and H.264 proxy - just trim the black frames from H.264)
  4. fps-engio: experimental support for bias frames (with zero exposure time)
  5. mlv_lite: H.264 proxy works again
  6. console: enable in LiveView alongside with ML overlays (experimental)
  7. exmem, gui-common: simplified UILock handling; debug info
  8. mlv_lite: keep memory allocated during standby (experiment) advantages: - recording starts right away, with minimal delay (allocating the entire RAM is slow - 1 or 2 seconds - now it's done in advance) - we always have temporary RAM for estimating compression ratio (estimating compression ratio in dummy mode - without actual output - was unreliable, giving corrupted frames) - possible to implement full-time pre-recording, without pressing REC twice (todo) problems: - possible thread safety issues (to be tested) - SRM use after free is disabled, needs more work - H.264 proxy also needs more work
  9. mlv_lite: renamed raw_preview_lock to settings_sem; more thread safety annotations
  10. lossless: backout d50e3ab (disable dummy operation - unreliable)
  11. cropmarks: minor boundary fix
  12. mlv_lite: fix audio meters with H.264 proxy (change required after 0475c45)
  13. mlv_lite: report all compression errors
  14. mlv_lite: silence thread safety warnings in measure_compression_ratio
  15. mlv_lite: cleaned up some raw_rec_task variables
  16. mlv_lite: ignore thread safety warnings for buffer_full (0 when recording starts; set to 1 from either LiveViewTask or compress_task; read from many places )
  17. mlv_lite: fix possible race condition (identified by thread safety analysis)
  18. mlv_lite: fix possible lockup (identified by thread safety analysis)
  19. mlv_lite: updated some thread safety annotations
  20. Merged thread-safety into crop_rec_4k
  21. Makefile: workaround for compiling backtrace.t (fixme: what's going on?)
  22. Makefile: fix dependency rules (regression) note: -Wp,-MP conflicts with backtrace rules from Makefile.src
  23. mlv_lite: forgot to call init_vsync_vars; ignore thread safety warning for this call
  24. mutex.h: macro to skip thread safety analysis on some particular function call
  25. mlv_lite: more thread safety annotations
  26. property.h: annotated PROP_HANDLER with thread role
  27. Merged lua_fix into thread-safety
  28. Merged lua_fix into crop_rec_4k
  29. Merged unified into lua_fix
  30. menu: do not discard customization data for menus that are not yet loaded (e.g. for modules/scripts and other dynamic menus)
  31. menu: do not overwrite existing customization data when reloading (only reload data for newly added menu entries)
  32. menu: fix usage counters for menu items with placeholders
  33. menu: allow simple submenus in Recent menu
  34. menu: allow Debug entries in Junkie mode
  35. Modules: make sure we can really use up to 64 of them (fix commit 8ad0912)
  36. file_man: show status in main menu, if busy
  37. file_man: disable powersaving during long copy/move operations
  38. file_man: unified FileCopy and FileMove tasks to avoid duplicate code; report all errors to console and show a simple progress indicator
  39. file_man: show timestamp for each file; align date/time column
  40. menu: fix Junkie short text overflowing in some cases
  41. menu: attempt to balance the automatic My Menu in Junkie mode (with many submenu entries used frequently, this menu could end up a lot more cluttered than regular menus)
  42. menu: fix submenu entries disappearing in Junkie menu (frequently used submenu items shouldn't be moved to My Menu; they should be just copied)
  43. menu: better duplicate menu warning; minor rename
  44. mlv_lite: pause LiveView while flushing the buffers at the end of recording; simple progress indicator http://www.magiclantern.fm/forum/index.php?topic=19300.msg185905#msg185905 note: undoing the Frozen LV hack is no longer needed, as pausing/resuming LiveView takes care of that
  45. crop_rec: reduced resolution from 1080p48 to 1020 to avoid corrupted frames (to get the old configuration, set Target YRES to 1080 and Delta HEAD3 to -20 in the crop_rec submenu)
  46. mlv_lite: annotate new functions, fix thread safety warnings
  47. lvinfo.c: updated with EXCLUDES(lvinfo_sem) (just for consistency)
  48. menu.c: updated to prevent taking menu_sem twice
  49. mutex-test: updated to prevent taking a semaphore twice
  50. menu.c: fix orphaned give_semaphore call
  51. Merged lua_fix into thread-safety
  52. Merged lua_fix into thread-safety
  53. selftest: compile-time option to test the behavior of DryOS tasks with identical priorities
  54. selftest: experimental thread safety tests (WIP)
  55. Merged task_name into thread-safety
  56. ml-cbr: fix warning
  57. lvinfo: annotated for thread safety analysis (all OK, just a false warning)
  58. Thread safety analysis: ignore read warnings for now
  59. mlv_lite: annotated some variables for thread safety analysis (experiment)
  60. mutex.h: some common thread roles
  61. Merged unified into thread-safety
  62. arm-mcr.h: annotated cli/sei for clang thread safety analysis
  63. Experiment: clang thread safety warnings during compilation Had to use gcc preprocessor (conflicts with clang includes?) make PREPRO=1
  64. Internal vsync functions are now private (not exposed to modules)
  65. dryos.h: annotated semaphores for clang thread safety analysis
  66. Makefile: always allow .i rules (they no longer conflict with .c dependency rules)
  67. lens.h: fix compiling with clang
  68. Minimal example of clang's thread safety analysis
  69. check-tasks.py: do not tag PROP_INTs
  70. check-tasks.py: show function name when it's not obvious from the context
  71. Removed some pycparser workarounds
  72. Integrated task annotations script in the build process, as suggested by g3gg0
  73. Makefile: experiment - save preprocessed C files during compilation (*.c -> *.i -> *.o) To enable, run "make PREPRO=y" or set PREPRO=y in Makefile.user
  74. Makefile: remove *.i and *.s on make clean
  75. Makefile: cleaned up file rules a bit
  76. Merged dynamic-my-menu into thread-safety
  77. Experiment: tag each ML function with the task(s) where it's called from (static analysis with pycparser)
  78. Some patches to allow parsing ML code with pycparser
  79. Updated some macros to allow pycparser compatibility
Changeset 13400:cffeb4898221 by alex@thinkpad:
crop_rec: 1040p48 appears to work after latest changes<br>(1060p48 also works with some tweaking)
The file was modifiedmodules/crop_rec/crop_rec.c (diff)
Changeset 13399:f2315ca0d143 by alex@thinkpad:
Raw backend: attempt to handle raw_lv_request called outside LiveView (race condition?)
The file was modifiedsrc/raw.c (diff)
Changeset 13398:489a20fbd1f1 by alex@thinkpad:
mlv_lite: blacken H.264 frames not covered by RAW recording<br>(poor man&#039;s sync between RAW and H.264 proxy - just trim the black frames from H.264)
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13397:1fbf31b50f9d by alex@thinkpad:
fps-engio: experimental support for bias frames (with zero exposure time)
The file was modifiedsrc/fps-engio.c (diff)
The file was modifiedsrc/lens.c (diff)
Changeset 13396:71a6676c0159 by alex@thinkpad:
mlv_lite: H.264 proxy works again
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13395:884437092c68 by alex@thinkpad:
console: enable in LiveView alongside with ML overlays (experimental)
The file was modifiedsrc/console.c (diff)
The file was modifiedsrc/zebra.c (diff)
Changeset 13394:aef72e4c90ea by alex@thinkpad:
exmem, gui-common: simplified UILock handling; debug info
The file was modifiedsrc/exmem.c (diff)
The file was modifiedsrc/gui-common.c (diff)
Changeset 13393:e33b082feb95 by alex@thinkpad:
mlv_lite: keep memory allocated during standby (experiment)<br>advantages:<br>- recording starts right away, with minimal delay<br>&nbsp; (allocating the entire RAM is slow - 1 or 2 seconds - now it&#039;s done in advance)<br>- we always have temporary RAM for estimating compression ratio<br>&nbsp; (estimating compression ratio in dummy mode - without actual output - was unreliable, giving corrupted frames)<br>- possible to implement full-time pre-recording, without pressing REC twice (todo)<br>problems:<br>- possible thread safety issues (to be tested)<br>- SRM use after free is disabled, needs more work<br>- H.264 proxy also needs more work
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13392:b041efa9176d by alex@thinkpad:
mlv_lite: renamed raw_preview_lock to settings_sem; more thread safety annotations
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13391:0405354e0f10 by alex@thinkpad:
lossless: backout d50e3ab (disable dummy operation - unreliable)
The file was modifiedmodules/silent/lossless.c (diff)
Changeset 13390:201397064e9c by alex@thinkpad:
cropmarks: minor boundary fix
The file was modifiedsrc/cropmarks.c (diff)
Changeset 13389:0caf354af999 by alex@thinkpad:
mlv_lite: fix audio meters with H.264 proxy<br>(change required after 0475c45)
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13388:1ff859a37d74 by alex@thinkpad:
mlv_lite: report all compression errors
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13387:a4df632543ed by alex@thinkpad:
mlv_lite: silence thread safety warnings in measure_compression_ratio
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13386:a7dc3fd72b56 by alex@thinkpad:
mlv_lite: cleaned up some raw_rec_task variables
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13385:ee2469c30796 by alex@thinkpad:
mlv_lite: ignore thread safety warnings for buffer_full<br>(0 when recording starts; set to 1 from either LiveViewTask or compress_task; read from many places )
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13384:ea90866be222 by alex@thinkpad:
mlv_lite: fix possible race condition<br>(identified by thread safety analysis)
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13383:b7c2340ae792 by alex@thinkpad:
mlv_lite: fix possible lockup<br>(identified by thread safety analysis)
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13382:1927a7ad8245 by alex@thinkpad:
mlv_lite: updated some thread safety annotations
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13381:188c0ac0c079 by alex@thinkpad:
Merged thread-safety into crop_rec_4k
Changeset 13380:53f9ce1954a9 by alex@thinkpad:
Makefile: workaround for compiling backtrace.t<br>(fixme: what&#039;s going on?)
The file was modifiedsrc/Makefile.src (diff)
Changeset 13379:13b8818b78e0 by alex@thinkpad:
Makefile: fix dependency rules (regression)<br>note: -Wp,-MP conflicts with backtrace rules from Makefile.src
The file was modifiedMakefile.filerules (diff)
The file was modifiedMakefile.setup (diff)
Changeset 13378:5d00f1f1a50d by alex@thinkpad:
mlv_lite: forgot to call init_vsync_vars; ignore thread safety warning for this call
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13377:7aa191b10c2c by alex@thinkpad:
mutex.h: macro to skip thread safety analysis on some particular function call
The file was modifiedsrc/mutex.h (diff)
Changeset 13376:59bffa44ef1e by alex@thinkpad:
mlv_lite: more thread safety annotations
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13375:56a3533adb3b by alex@thinkpad:
property.h: annotated PROP_HANDLER with thread role
The file was modifiedsrc/module.h (diff)
The file was modifiedsrc/property.h (diff)
Changeset 13374:5a54da9729b9 by alex@thinkpad:
Merged lua_fix into thread-safety
Changeset 13373:f41de6888a5f by alex@thinkpad:
Merged lua_fix into crop_rec_4k
Changeset 13372:ad1009d91648 by alex@thinkpad:
Merged unified into lua_fix
Changeset 13371:9809beeddd2a by alex@thinkpad:
menu: do not discard customization data for menus that are not yet loaded<br>(e.g. for modules/scripts and other dynamic menus)
The file was modifiedsrc/menu.c (diff)
Changeset 13370:e3cb96722fec by alex@thinkpad:
menu: do not overwrite existing customization data when reloading<br>(only reload data for newly added menu entries)
The file was modifiedsrc/menu.c (diff)
The file was modifiedsrc/menu.h (diff)
Changeset 13369:6c7c55b79896 by alex@thinkpad:
menu: fix usage counters for menu items with placeholders
The file was modifiedsrc/menu.c (diff)
Changeset 13368:4dce9250fdd1 by alex@thinkpad:
menu: allow simple submenus in Recent menu
The file was modifiedsrc/menu.c (diff)
Changeset 13367:c393f745a0c1 by alex@thinkpad:
menu: allow Debug entries in Junkie mode
The file was modifiedsrc/menu.c (diff)
Changeset 13366:0b9dcd1e05c2 by alex@thinkpad:
Modules: make sure we can really use up to 64 of them (fix commit 8ad0912)
The file was modifiedsrc/module.c (diff)
Changeset 13365:de4f36fd9d65 by alex@thinkpad:
file_man: show status in main menu, if busy
The file was modifiedmodules/file_man/file_man.c (diff)
Changeset 13364:33010395e10c by alex@thinkpad:
file_man: disable powersaving during long copy/move operations
The file was modifiedmodules/file_man/file_man.c (diff)
Changeset 13363:7c4eb2a047fd by alex@thinkpad:
file_man: unified FileCopy and FileMove tasks to avoid duplicate code;<br>report all errors to console and show a simple progress indicator
The file was modifiedmodules/file_man/file_man.c (diff)
Changeset 13362:b1e14e0f1205 by alex@thinkpad:
file_man: show timestamp for each file; align date/time column
The file was modifiedmodules/file_man/file_man.c (diff)
Changeset 13361:b049e25052ae by alex@thinkpad:
menu: fix Junkie short text overflowing in some cases
The file was modifiedsrc/menu.c (diff)
Changeset 13360:dca163d2ef15 by alex@thinkpad:
menu: attempt to balance the automatic My Menu in Junkie mode<br>(with many submenu entries used frequently, this menu could end up a lot more cluttered than regular menus)
The file was modifiedsrc/menu.c (diff)
Changeset 13359:53e1cc94bcce by alex@thinkpad:
menu: fix submenu entries disappearing in Junkie menu<br>(frequently used submenu items shouldn&#039;t be moved to My Menu; they should be just copied)
The file was modifiedsrc/menu.c (diff)
Changeset 13358:b5de547ca297 by alex@thinkpad:
menu: better duplicate menu warning; minor rename
The file was modifiedsrc/menu.c (diff)
Changeset 13357:a5773712e636 by alex@thinkpad:
mlv_lite: pause LiveView while flushing the buffers at the end of recording; simple progress indicator<br>http://www.magiclantern.fm/forum/index.php?topic=19300.msg185905#msg185905<br>note: undoing the Frozen LV hack is no longer needed, as pausing/resuming LiveView takes care of that
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13356:faaaaf5961d1 by alex@thinkpad:
crop_rec: reduced resolution from 1080p48 to 1020 to avoid corrupted frames<br>(to get the old configuration, set Target YRES to 1080 and Delta HEAD3 to -20 in the crop_rec submenu)
The file was modifiedmodules/crop_rec/crop_rec.c (diff)
Changeset 13355:8d2b8ffe5abd by alex@thinkpad:
mlv_lite: annotate new functions, fix thread safety warnings
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13354:47d8c0d0a009 by alex@thinkpad:
lvinfo.c: updated with EXCLUDES(lvinfo_sem)<br>(just for consistency)
The file was modifiedsrc/lvinfo.c (diff)
Changeset 13353:c175eb5d1d33 by alex@thinkpad:
menu.c: updated to prevent taking menu_sem twice
The file was modifiedsrc/menu.c (diff)
Changeset 13352:5c774fa4f1f6 by alex@thinkpad:
mutex-test: updated to prevent taking a semaphore twice
The file was modifiedsrc/mutex-test.c (diff)
Changeset 13351:24d1bfc3c387 by alex@thinkpad:
menu.c: fix orphaned give_semaphore call
The file was modifiedsrc/menu.c (diff)
Changeset 13350:0eeec22944cd by alex@thinkpad:
Merged lua_fix into thread-safety
Changeset 13349:81cac01dc448 by alex@thinkpad:
Merged lua_fix into thread-safety
Changeset 13348:0d3bec31e9b8 by alex@thinkpad:
selftest: compile-time option to test the behavior of DryOS tasks with identical priorities
The file was modifiedmodules/selftest/selftest.c (diff)
Changeset 13347:81e3a65f049f by alex@thinkpad:
selftest: experimental thread safety tests (WIP)
The file was modifiedmodules/selftest/selftest.c (diff)
Changeset 13346:db07eceb6d64 by alex@thinkpad:
Merged task_name into thread-safety
Changeset 13345:a44d32a5c318 by alex@thinkpad:
ml-cbr: fix warning
The file was modifiedsrc/ml-cbr.c (diff)
Changeset 13344:d0b195b43ff6 by alex@thinkpad:
lvinfo: annotated for thread safety analysis<br>(all OK, just a false warning)
The file was modifiedsrc/lvinfo.c (diff)
Changeset 13343:5840f7b904d4 by alex@thinkpad:
Thread safety analysis: ignore read warnings for now
The file was modifiedMakefile.filerules (diff)
Changeset 13342:560612405e8e by alex@thinkpad:
mlv_lite: annotated some variables for thread safety analysis (experiment)
The file was modifiedmodules/mlv_lite/mlv_lite.c (diff)
Changeset 13341:c789a3d3dd57 by alex@thinkpad:
mutex.h: some common thread roles
The file was modifiedsrc/mutex.h (diff)
Changeset 13340:43d8dc6c37ae by alex@thinkpad:
Merged unified into thread-safety
Changeset 13339:6d547a658042 by alex@thinkpad:
arm-mcr.h: annotated cli/sei for clang thread safety analysis
The file was modifiedsrc/arm-mcr.h (diff)
Changeset 13338:55b03ca613e0 by alex@thinkpad:
Experiment: clang thread safety warnings during compilation<br>Had to use gcc preprocessor (conflicts with clang includes?)<br>make PREPRO=1
The file was modifiedMakefile.filerules (diff)
The file was modifiedsrc/mutex.h (diff)
Changeset 13337:ee03c07660a4 by alex@thinkpad:
Internal vsync functions are now private (not exposed to modules)
The file was modifiedsrc/state-object.c (diff)
The file was modifiedsrc/vsync-lite.c (diff)
The file was modifiedsrc/zebra.c (diff)
The file was modifiedsrc/zebra.h (diff)
Changeset 13336:5d176b0433f4 by alex@thinkpad:
dryos.h: annotated semaphores for clang thread safety analysis
The file was modifiedsrc/dryos.h (diff)
Changeset 13335:c8edd872c343 by alex@thinkpad:
Makefile: always allow .i rules<br>(they no longer conflict with .c dependency rules)
The file was modifiedMakefile.filerules (diff)
Changeset 13334:a6a3753d2098 by alex@thinkpad:
lens.h: fix compiling with clang
The file was modifiedsrc/lens.h (diff)
Changeset 13333:57b252212f04 by alex@thinkpad:
Minimal example of clang&#039;s thread safety analysis
The file was addedsrc/mutex-test.c
The file was addedsrc/mutex.h
The file was modifiedMakefile (diff)
Changeset 13332:539529a9906d by alex@thinkpad:
check-tasks.py: do not tag PROP_INTs
The file was modifiedbuild_tools/check_tasks.py (diff)
Changeset 13331:d8b97d2c81fd by alex@thinkpad:
check-tasks.py: show function name when it&#039;s not obvious from the context
The file was modifiedbuild_tools/check_tasks.py (diff)
Changeset 13330:e13306633d40 by alex@thinkpad:
Removed some pycparser workarounds
The file was modifiedbuild_tools/check_tasks.py (diff)
The file was modifiedmodules/bench/mem_perf.c (diff)
The file was modifiedmodules/selftest/selftest.c (diff)
The file was modifiedsrc/module.c (diff)
Changeset 13329:6f833f12f437 by alex@thinkpad:
Integrated task annotations script in the build process, as suggested by g3gg0
The file was modifiedMakefile (diff)
The file was modifiedMakefile.setup (diff)
The file was modifiedMakefile.user.default (diff)
The file was modifiedbuild_tools/check_tasks.py (diff)
Changeset 13328:0124e76a6847 by alex@thinkpad:
Makefile: experiment - save preprocessed C files during compilation (*.c -&gt; *.i -&gt; *.o)<br>To enable, run &quot;make PREPRO=y&quot; or set PREPRO=y in Makefile.user
The file was modifiedMakefile.filerules (diff)
The file was modifiedMakefile.setup (diff)
The file was modifiedMakefile.user.default (diff)
Changeset 13327:4914fa5a740d by alex@thinkpad:
Makefile: remove *.i and *.s on make clean
The file was modifiedmodules/Makefile.modules (diff)
The file was modifiedsrc/Makefile.src (diff)
Changeset 13326:203e315850ae by alex@thinkpad:
Makefile: cleaned up file rules a bit
The file was modifiedMakefile.filerules (diff)
Changeset 13325:c108ac2f5a82 by alex@thinkpad:
Merged dynamic-my-menu into thread-safety
Changeset 13324:a1b282e40366 by alex@thinkpad:
Experiment: tag each ML function with the task(s) where it&#039;s called from<br>(static analysis with pycparser)
The file was addedbuild_tools/check_tasks.py
The file was modifiedMakefile (diff)
Changeset 13323:41bf38f94f3a by alex@thinkpad:
Some patches to allow parsing ML code with pycparser
The file was modifiedmodules/adv_int/adv_int.c (diff)
The file was modifiedmodules/bench/mem_perf.c (diff)
The file was modifiedmodules/selftest/selftest.c (diff)
The file was modifiedsrc/bmp.c (diff)
The file was modifiedsrc/console.c (diff)
The file was modifiedsrc/imath.h (diff)
The file was modifiedsrc/module.c (diff)
Changeset 13322:f14034a0dd57 by alex@thinkpad:
Updated some macros to allow pycparser compatibility
The file was modifiedmodules/lv_rec/raw2dng.c (diff)
The file was modifiedsrc/dryos.h (diff)
The file was modifiedsrc/menu.c (diff)
The file was modifiedsrc/menu.h (diff)