crop_rec_4k_100D_lossless_FRSPver2

View source
crop_rec_4k_100D_lossless_FRSPver2
  • Contributors
    1. Loading...
Author Commit Message Date Builds
145 commits behind unified.
danne
Supposedly fixes following: http://www.magiclantern.fm/forum/index.php?topic=16040.msg191138#msg191138
danne
Latest
Alex
Merged 100D_merge_fw101 into crop_rec_4k
Alex
100D: minor typo
Alex
Merged new-dryos-task-hooks into 100D_merge_fw101
Alex
tskmon: in null pointer check, retrieve last last task name directly, rather than calling is_taskid_valid also fixed some possible null pointer bugs in the... null pointer checking code (fixes crash when reporting null pointer on 100D and likely on all other cameras with new-style DryOS hooks)
nikfreak
100D: fix MAX_ISO_BV
Alex
Merged in daniel_fort/magic-lantern/crop_rec_4k_audio_meters_EOSM (pull request #868) EOSM audio meters fix Approved-by: Daniel Fort <dan@digiola.com>
Daniel Fort
Issue similar to 700D but StopASIFDMAADC is still needed on the EOSM.
Alex
Merged unified into 100D_merge_fw101
Alex
Merged in nikfreak/magic-lantern/100D_merge_fw101 (pull request #867) 100D merge fw101 update
nikfreak
100D: AbortEDmac stub
nikfreak
100D: fix ADTG/CMOS_WRITE_FUNC
Georg Hofstetter
mlv_dump: handle MLVI writing only once
Georg Hofstetter
mlv_dump: allow x64 builds on WSL, fix module_strings.h dependency
Georg Hofstetter
mlv_dump: part 1 of a bigger rework. currently breaks metadata mode. reduces huge amounts of redundant code, improves maintainability
Alex
mlv_snd: experiment for 6D, EOSM, 100D, 70D - "will the real SoundDevShutDownIn please stand up?" http://www.magiclantern.fm/forum/index.php?topic=20597
danne
Added crop_rec 3x3 720p Thanks Nikfreak :)
Alex
Merged in Dannephoto/magic-lantern/crop_rec_4k_EOS100D_lossless (pull request #864) Crop rec 4k EOS100D lossless * Lossless recording working for eos 100D. Tested. Also added latest audio fix stub from Nikfreak. Big thanks to dfort for disassembly files and pointers. * Consistency fix.
Alex
Histogram: use only the last bin for clipping warnings - sorry CineStyle users :)
Alex
Raw backend: histogram-based white level detection (experimental)
Alex
Merged in Dannephoto/magic-lantern/100D_merge_fw101_SOUND (pull request #863) Fix for audio issues on eos 100D, possibly other cameras too. * Fix for audio issues on eos 100D, possibly other cameras too. http://www.magiclantern.fm/forum/index.php?topic=16040.msg190513#msg190513 Thanks too dfort for code. * Nikfreak found the correct stub http://www.magiclantern.fm/forum/index.php?topic=16040.msg190532#msg190532 Approved-by: nikfreak <mlnikfreak@gmail.com>
Alex
Raw backend: start autodetecting white level from Canon's estimation, instead of our own initial guess - it appears to underestimate the true value consistently, by up to 0.38 EV - to be tested with raw_diag - also needs testing on models other than 5D3 (check the console after taking a CR2 picture with raw overlays, at different ISOs
Alex
Raw backend: attempt to fix false clip warnings with non-overexposed ETTR'd images experimental, might break with dual_iso or iso_regs (to be tested) http://www.magiclantern.fm/forum/index.php?topic=20579.msg190330#msg190330
Alex
mlv_lite: reworded Rec trigger menu, hopefully in a less confusing way
Georg Hofstetter
mlv_dump: mask out uneven vertical resolutions
Alex
lossless: cleaned up EDMAC connections on 5D3 (todo: find out why ResLock 0x30001 used to lock up the camera)
Alex
lossless: use EDMAC R/W channels from edmac-memcpy on all models (to be tested)
Daniel Fort
lossless compression working on 700D.115
Daniel Fort
crop_rec works on 700D.115
Alex
Merged unified into crop_rec_4k
Alex
Merged 70D_merge_112 into crop_rec_4k
Alex
70D: fix ARMLIB_OVERFLOWING_BUFFER (caught by bfa1b22)
Alex
70D: fix task hooks (new-style DryOS must not have HIJACK_TASK_ADDR)
nikfreak
add 70D stubs for sf_dump module
Alex
70D: enabled CONFIG_TSKMON
Alex
70D: use the correct task_dispatch_hook
Alex
70D: enabled CONFIG_ALLOCATE_MEMORY_POOL and classic boot process (similar to 6D, reserved 592K at the beginning of AllocateMemory pool)
Alex
Merged patchmgr into 70D_merge_fw112
Alex
reloc: allow up to 16 fixups; fix stop condition
Alex
reloc: handle PC-relative add (ADR) (also updated sign handling in LDR, for consistency)
Alex
patchmgr: fix bad merge in reloc.c (52b733594b2e)
Alex
Merged new-dryos-task-hooks into 70D_merge_112
Georg Hofstetter
mlv_dump: play safe after freeing buffers - set variables NULL and soothe static analyzers
Georg Hofstetter
mlv_dump: fix crash situation when averaging as active in dng output mode
Alex
Merged 100D_merge_101 into crop_rec_4k (used DEFAULT_RAW_BUFFER_SIZE and SRM_BUFFER_SIZE from 700D; not sure if correct)
Alex
Merged qemu into crop_rec_4k
Alex
mlv_dump: backout 9ce0339 http://www.magiclantern.fm/forum/index.php?topic=19300.msg189600#msg189600
Alex
mlv_lite: fix - some frames were written twice when recording was about to stop (bug introduced with variable frame size support)
Alex
mlv_play: experimental check for duplicate frames (warnings printed to console; false positives on overexposed footage)
Alex
550D: SRM_BUFFER_SIZE (tecgen)
Alex
mlv_lite: reallocate memory on video mode change
Alex
mlv_lite: fix memory configuration not updating when changing pre-recording settings
Alex
Memory backend: allow smaller buffers from SRM (experimental)
Alex
exmem: fix srm_malloc
Alex
Merged lua_fix into crop_rec_4k
Alex
Merged in daniel_fort/magic-lantern/crop_rec_4k_EOSM_700D_SRM_BUFFER_SIZE (pull request #852) SRM_BUFFER_SIZE for EOSM and 700D
Daniel Fort
Found SRM_BUFFER_SIZE for EOSM and 700D
Alex
menu: fix null pointer issue in dynamic menus
Alex
menu: fix regression in Modified menu (with API tests)
Alex
Merged in Licaon_Kter/magic-lantern-1/Licaon_Kter/mlv_recc-raw_force_aspect_ratio_1to1-ra-1503794292880 (pull request #851) mlv_rec.c: raw_force_aspect_ratio_1to1(); -> raw_force_aspect_ratio(1,1); Approved-by: Daniel Fort <dan@digiola.com> Approved-by: Lars Steenhoff <larssteenhoff@gmail.com>
Licaon Kter
mlv_rec.c: raw_force_aspect_ratio_1to1(); -> raw_force_aspect_ratio(1,1);
Alex
Removed use-after-free hacks from raw backend, mlv_lite and silent modules
Alex
exmem: test to make sure the SRM use-after-free method is safe for raw recording (requires compiling with CONFIG_RSCMGR_UNUSED_SPACE_TEST, which will increase the startup time)
Alex
exmem: free one SRM buffer (use-after-free) to avoid the BUSY screen with Shoot memory also allocated, Canon firmware does not appear to change the memory layout or allocate memory from this pool - it won't record H.264, won't take pictures, won't enter/exit LiveView therefore, this kind of usage hopefully carries a very low risk of overwriting or being overwritten (still hackish)
Alex
mlv_lite: only report compression errors while recording
Alex
Merged thread-safety into crop_rec_4k
Alex
Merged lua_fix into crop_rec_4k
Alex
5D3: Preferred Card disabled by default (no longer needed with H.264 proxy - RAW now goes to CF by default anyway)
Alex
exmem: hardcoded SRM buffer size in consts.h for speed (5D3; to be ported to other models) note: the SRM allocator is very slow, so autodetection may not be the best way
Alex
exmem: reworked SRM routines to allow multiple calls in any order, either as memory suites or plain buffers (todo: add tests)
Alex
Raw backend: make sure raw_info.buffer is always cacheable
Alex
uilock: fix going from some locked state to a different locked state
Alex
mlv_dump: minor whitespace fixes
Alex
menu: removed obsolete menu screenshots
Alex
menu: workaround for file_man (fixme: still relying on name lookup to find submenus)
Alex
menu: store submenu parent in the menu structure; more submenu fixes
Alex
Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections)
Alex
Merged lua_fix into thread-safety
Alex
raw.c: thread safety annotations
Alex
ml-cbr: thread safety annotations; minor refactor
Alex
menu: allow is_menu_entry_selected to operate on submenus (for Lua menu.select; updated api_test.lua)
Alex
menu: refactored submenu selection to avoid duplicate code; minor rename
Alex
menu: removed side effects from get_current_submenu
Alex
menu: allow submenu selection by name (updated api_test.lua)
Alex
menu: fix parent menu issues in composite submenus
Alex
menu: refactored to fix thread safety in menu_add
Alex
menu: fix parent menu issues in most menus (todo: composite submenus)
Alex
menu: check whether each submenu entry actually has a parent (fixme: most don't)
Alex
menu: if the value field is very long, do not display the name (the value is probably verbose enough to figure out what it is)
Alex
Modules: moved Show console to top level
Alex
Memory backend: when checking available memory, allocate both Shoot ans SRM at the same time (they may overlap)
Alex
debug: reworked "Show GUI Events" to use the console
Alex
gui_common: removed unused ui_lock (everything calls gui_uilock instead)
Alex
console: enable in LiveView alongside with ML overlays (experimental)
Alex
Memory backend: fix initialization
Alex
Menu: use submenu_height for scrolling
Alex
ettr: fix debug code
Alex
Makefile: option for strict thread safety checking example: make mlv_lite.t STRICT=y
Georg Hofstetter
mlv_dump: remove 32 bit mode enforcement for mlv_dump binary
Georg Hofstetter
raw.h/mlv_rec: use new type raw_info_t for host programs to decouple file format and native camera structures
Alex
crop_rec: 1040p48 appears to work after latest changes (1060p48 also works with some tweaking)
Alex
Raw backend: attempt to handle raw_lv_request called outside LiveView (race condition?)
Alex
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)
Alex
fps-engio: experimental support for bias frames (with zero exposure time)
Alex
mlv_lite: H.264 proxy works again
Alex
console: enable in LiveView alongside with ML overlays (experimental)
Alex
exmem, gui-common: simplified UILock handling; debug info
Alex
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 (to…
Alex
mlv_lite: renamed raw_preview_lock to settings_sem; more thread safety annotations
Alex
lossless: backout d50e3ab (disable dummy operation - unreliable)
Alex
cropmarks: minor boundary fix
Alex
mlv_lite: fix audio meters with H.264 proxy (change required after 0475c45)
Alex
mlv_lite: report all compression errors
Alex
mlv_lite: silence thread safety warnings in measure_compression_ratio
Alex
mlv_lite: cleaned up some raw_rec_task variables
Alex
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 )
Alex
mlv_lite: fix possible race condition (identified by thread safety analysis)
Alex
mlv_lite: fix possible lockup (identified by thread safety analysis)
Alex
mlv_lite: updated some thread safety annotations
Alex
Merged thread-safety into crop_rec_4k
Alex
Makefile: workaround for compiling backtrace.t (fixme: what's going on?)
Alex
Makefile: fix dependency rules (regression) note: -Wp,-MP conflicts with backtrace rules from Makefile.src
Alex
mlv_lite: forgot to call init_vsync_vars; ignore thread safety warning for this call
Alex
mutex.h: macro to skip thread safety analysis on some particular function call
Alex
mlv_lite: more thread safety annotations
Alex
property.h: annotated PROP_HANDLER with thread role
Alex
Merged lua_fix into thread-safety
Alex
Merged lua_fix into crop_rec_4k
Alex
Merged unified into lua_fix
Alex
menu: do not discard customization data for menus that are not yet loaded (e.g. for modules/scripts and other dynamic menus)
Alex
menu: do not overwrite existing customization data when reloading (only reload data for newly added menu entries)
Alex
menu: fix usage counters for menu items with placeholders
Alex
menu: allow simple submenus in Recent menu
Alex
menu: allow Debug entries in Junkie mode
Alex
Modules: make sure we can really use up to 64 of them (fix commit 8ad0912)
Alex
file_man: show status in main menu, if busy
Alex
file_man: disable powersaving during long copy/move operations
Alex
file_man: unified FileCopy and FileMove tasks to avoid duplicate code; report all errors to console and show a simple progress indicator
Alex
file_man: show timestamp for each file; align date/time column
Alex
menu: fix Junkie short text overflowing in some cases
Alex
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)
Alex
menu: fix submenu entries disappearing in Junkie menu (frequently used submenu items shouldn't be moved to My Menu; they should be just copied)
Alex
menu: better duplicate menu warning; minor rename
Alex
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
Alex
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)
Alex
mlv.c: fix buffer overflow in mlv_build_vers
Alex
lossless: fix operation in dummy mode
Alex
lossless: quick check whether the operation was successful (a few frames did not start with a valid JPEG marker; figure out why)
Alex
Patch manager: typo (fix 56f1d7c)
Alex
silent pictures: basic DNG metadata (aperture not exact, figure out why)
Alex
fps-engio: use latest timer values when computing shutter speed (the difference is visible only right after changing a video mode) (compile-time warning for models that still use old methods)
Alex
fps-engio: get_frame_aperture
Alex
silent: handle image review time from Canon menu (incomplete)
Alex
mlv_lite: fine-tuned pre-recording time indicator
Alex
mlv_lite: fix time indicator when pre-recording is used
Alex
Patch manager: disabled name lookup to avoid duplicate menu errors
Alex
menu: better duplicate menu warning; minor rename
Alex
Merged unified into 100D_merge_fw101
Alex
mlv_lite: fix typo (70D)
Alex
edmac-memcpy: fix compilation (does the 70D really need EDMAC write channel 1?)
Alex
70D: enabled CONFIG_EDMAC_RAW_SLURP
nikfreak
adtg_gui.mo: fix 100D (tested, confirmed working)
nikfreak
fix wrong stub (thx @dfort for the note)
nikfreak
manual focus: allow moving focus box
Alex
silent: make sure Fullres LV captures a full-res image, even when triggered from x5/x10 zoom
Alex
Null pointer check is only needed for 5D3 (other models are extremely unlikely to be affected)
Alex
raw.c: fix memory management without CONFIG_ALLOCATE_RAW_LV_BUFFER
Alex
mlv_play: fix compilation
Alex
lossless.c: minor cleanups
Alex
raw.c: removed unused/incorrect RAW_LV_BUFFER_ALLOC_SIZE on 700D/EOSM (they are only required for full-res LiveView, and their value will be the max raw buffer size in this mode)
Daniel Fort
Lossless compression working on EOSM. mlv_play doesn't build.
Alex
Merged ErwinH's 700D changes (without null pointer workarounds)
Erwin Houtsma
Playback of compressed raw footage. Fix of malloc error.
Erwin Houtsma
* Changes for running crop_rec_4k on 700d including lossless DNG. * Different resources for different camera's didn't work (for now) so only usable for 700D. * Resources for 5D3 and 700D by calling CreateResLockEntry inside if-statement.
Alex
pic_view: lossless DNG support (experimental)
Alex
exmem: fix typo (very large malloc works again)
Alex
silent: experimental full-res LV automation, via crop_rec load silent.mo and crop_rec.mo, leave Crop Mode OFF, set Silent Mode to Full-Res LV and press shutter halfway advantage: preview disadvantage: shutter lag (while switching LiveView modes)
Alex
Merged patchmgr into crop_rec_4k
Alex
Patch manager: ensure valid menu name for all entries
Alex
Merged lua_fix into crop_rec_4k
Alex
ResumeLiveView: return as soon as we have a valid frame and display is back on
Alex
silent: always show preview (and pause LiveView)
Alex
silent: do not compress DNGs in place (fixes various issues, but memory management is more difficult)
Alex
exmem: do not keep track of full shoot memory allocations (allows reserving some memory in advance and allocating all the remaining RAM afterwards)
Alex
Merged unified into crop_rec_4k
Alex
Merged unified into crop_rec_4k
Alex
Merged crop_rec into crop_rec_4k (700D, not tested)
Alex
Merged in daniel_fort/magic-lantern/crop_rec-700D (pull request #824) crop_rec for 700D
Daniel Fort
a1ex - "Actually it's binning horizontally (only lines are skipped)."
Daniel Fort
crop_rec for 700D
Alex
Merged raw_capture_info into crop_rec_4k
Alex
lossless: decompression support for 5D3 1.2.3
Alex
mlv_play: moved decompression routines to lossless.c
Alex
mlv_play: fix memory allocation for some FIO_ReadFile calls (fio_malloc)
Alex
Merged unified into crop_rec_4k
Alex
mlv_lite: always show the Preview option; proper warning if global draw is off
Alex
edmac-memcpy: experiment - use connection 7, since 6 appears to be used
Alex
null pointer check: ignore some false warnings
Alex
QEMU tests: very basic Dry-shell test
Alex
QEMU: experimental UART support in main firmware (Dry-shell working on all DIGIC 4 and 5 models)
Alex
QEMU: option to highlight certain MMIO registers (requires editing the source code)
Alex
QEMU: option to export MMIO reads as dm-spy entries (dm-spy-experiments branch) this allows cross-checking the values with the ones from actual hardware usage: - ./run_canon_fw.sh 5D3 [...] -d io,nochain -singlestep - copy/paste some entries into dm-spy-extra.c (grep for mmio_log to find them) - get logs from both camera and QEMU (dm-spy-experiments branch, CONFIG_DEBUG_INTERCEPT_STARTUP=y, maybe also CONFIG_QEMU=y) - adjust the emulation until the logs match
Alex
QEMU: require verbose (e.g. -d io,int,verbose) to show DryOS timer interrupts and DIGIC timer
Alex
QEMU: incomplete 5D3 1.2.3 GUI (boots with black screen, no menus)
Alex
QEMU logging: option to identify tail function calls (heuristic)
Alex
QEMU tests: trimming should work now
Alex
QEMU tests: trimming must be done on useful lines, not on raw input lines (otherwise the test will be sensitive to any additional info in the raw log)
Alex
QEMU tests: call/return trace tests first (they are more likely to fail or require frequent updates)
Alex
QEMU tests: include interrupts in main firmware call/return test (this allows counting related stats from the filtered log - smaller)
Alex
QEMU tests: use ansi2txt only once in the main firmware call/return test (speed optimization)
Alex
QEMU tests: IDC needs trimming as well in order to get deterministic results
Alex
QEMU tests: trim calls-main-basic.idc until matching the "needle" md5 (hopefully this trick will get repeatable results on faster PCs)
Alex
QEMU tests: 5D2 IDC test not deterministic (functions are the same, but comments are not)
Alex
QEMU: do not use non-printable task names (VxWorks: current_task is set before it has a valid name)
Alex
QEMU: backout parts of 8e29c15 large timeout didn't solve the repeatability issue - results are still sensitive to processing speed some models keep running in a loop, and after 10-20 seconds, they "discover" a new function and so on
Alex
patch.c: fix warning
Alex
Merged unified into patchmgr
Alex
QEMU tests: let's try a larger timeout; minor fine-tunings
Alex
QEMU tests: found a way to get deterministic execution (icount option) - reworked the call/return trace tests to also run on main firmware (with -icount) - fixme: CF models do not have deterministic execution, even with -icount - fromutility tests also enabled on CF models (IDC only) - "first interrupt" test replaced with full call/return trace on main firmware - removed "sorted IDC" tests (the regular IDC + call/return trace tests are much stronger)
Alex
wait_log.sh: script to wait for a string to appear in a log file, with timeout since last update of the log file
Alex
remove_end_loop.py: minor fixes
Alex
Moved my_fprintf to fio-ml.c (fixes compilation of minimal/qemu-frsp)
Alex
QEMU logging: always name DebugMsg, even if no symbols are loaded
Alex
QEMU logging: fix loading symbol names on Thumb code
Alex
QEMU: fix off by one error when loading ML stub names
Alex
boot-hack: check whether we can reach anything in the ROM with relative jumps
Alex
boot-hack: self-check for ARMLIB_OVERFLOWING_BUFFER
Alex
100D: enabled CONFIG_TSKMON
Alex
100D: fix task_dispatch_hook
Alex
100D: enabled CONFIG_ALLOCATE_MEMORY_POOL and classic boot process (similar to 6D, reserved 592K at the beginning of AllocateMemory pool)
Alex
Merged new-dryos-task-hooks into 100D_merge_fw101 (note: 100D will not boot until fixing memory allocation)
Alex
6D: 592K reserved at the beginning of AllocateMemory (simpler code)
Alex
100D: enabled CONFIG_EDMAC_RAW_SLURP
Alex
Merged qemu into new-dryos-task-hooks
Alex
Merged unified into new-dryos-task-hooks