Commit Graph

448 Commits

Author SHA1 Message Date
Andrey Skvortsov
6a7d2ec85e video: reset button icon to inactive after video processing
In current state after video is processed and saved button has
video-recording icon, that is confusing.

The change handles exit code of movie.sh script and depending on that
notifies UI to set video-inactive icon. video-recording icon is set,
when the user press button to activate video recording.
2025-04-08 22:51:27 +00:00
Andrey Skvortsov
4cbd8c2df7 process_pipeline.c: remove unused static variable 2025-04-08 22:51:27 +00:00
Andrey Skvortsov
53854bdf73 mpegize: add support for dcraw_emu 2025-04-08 22:51:27 +00:00
Andrey Skvortsov
15a999cb87 mpegize: fix double % in output
since there is no format output here double percents are not needed.
2025-04-08 22:51:27 +00:00
Andrey Skvortsov
6cfc9bfc05 video: fix missing directory on video capture
if photo was taken before, then temporary directory in tmpfs was clean
and removed after all files were processed. Internal burst_dir
variable contains old value for directory, that doesn't exist anymore.

Let's create new temporary directory, when video recording is started.
2025-04-08 22:51:27 +00:00
Andrey Skvortsov
8282b4eaca mpegize: force to remove non-empty subdirectories
os.rmdir doesn't remove non-empty directories. m.base/sm subdirectory
contains audio-samples, that were not removed after video is created.
2025-04-08 22:51:27 +00:00
Andrey Skvortsov
978680e5c6 mpegize: remove processed raw files
raw files are save in tmpfs and consume RAM, to avoid extra
RAM-pressure remove these files after they are processed and not
needed anymore.
2025-04-08 22:51:27 +00:00
Andrey Skvortsov
883c16733d video: fix segmentation fault on video capture
If there was no picture capture or camera switch after application start, then
state_proc.configuration is uninitialized. If video capture is started
in this case, then segmentation fault happens.

Thread 8 "megapixels-pr" received signal SIGSEGV, Segmentation fault.
1085	        if (state_proc.configuration->make != NULL &&
(gdb) p state_proc.configuration
$1 = (libmegapixels_devconfig *) 0x0

state.configuration is set in update_state(), but set only after
init_controls(). After update_process_pipeline() is
called from init_controls() pipeline_change flag is reset and changes
after init_controls() (including state.configuration) are not applied to
state_proc. Removing update_process_pipeline from init_controls()
makes all settings to be applied at the end of update_state().
init_controls() is called only from update_state().
2025-04-08 22:38:06 +00:00
Andrey Skvortsov
35b84f0a12 postprocess: fix black images with dcraw
for some reason on Debian dcraw creates black images, when -w (Use
camera white balance) isn't used.

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101360
2025-04-05 23:31:51 +03:00
Andrey Skvortsov
de765137d5 postprocess: remove unneeded FBDD enforcement for convert
If convert is used with dcraw (instead of dcraw_emu), then dcraw
reports error:

    1: No such file or directory

Convert doesn't use '$@' (-fbdd 1), so there is no reason to enforce
it here. postprocess.sh already detects  dcraw
version (dcraw/dcraw_emu) and sets FBDD option. FBDD is supported only
by dcraw_emu.

Fixes: 8867b41a (Support graphicsmagick as alternative to imagemagick)
2025-04-05 23:31:51 +03:00
Martijn Braam
0b407957ed Fix loading the search paths for DCP files and add XDG_CONFIG_HOME as extra path 2025-04-04 02:24:48 +02:00
Egor Shestakov
970f320894 fix pointer type mistake in find_calibration loop 2025-03-20 16:10:41 +07:00
Egor Shestakov
e02b54ec57 add buffer size check in find_calibration
Drop find_calibration_by_model function that was occassionally,
as I suppose, marked not static.
2025-03-12 12:16:04 +00:00
Egor Shestakov
9b1ee0161d generalize find_calibration_by_model with a loop 2025-03-12 12:08:42 +00:00
Egor Shestakov
ae48e07f84 use libmegapixels_get_model in find_calibration 2025-03-12 12:08:09 +00:00
Andrey Skvortsov
dc60446c15 data: metainfo: add 2.0.0-alpha1 pre-release description 2025-03-09 00:10:50 +03:00
Andrey Skvortsov
5239797886 data: metainfo: update homepage url 2025-03-09 00:10:50 +03:00
Andrey Skvortsov
f756a1fd88 Add flatpak packaging
command to build:
flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install builddir flatpak/me.gapixels.Megapixels.yml
2025-03-09 00:10:50 +03:00
Egor Shestakov
29adecb84f use snprintf instead of sprintf in format_movie_name to prevent OOB 2025-03-07 18:47:06 +07:00
Arnaud Ferraris
9acea2849d config: make DCP files non-executable 2025-02-17 12:45:23 +01:00
Arnaud Ferraris
059ac4edc5 data: metainfo: fix validation errors 2025-02-17 12:45:23 +01:00
Arnaud Ferraris
ffaad5fa50 data: desktop: add keywords 2025-02-17 12:45:23 +01:00
Egor Shestakov
2f2929800b initialize struct v4l2_plane in mp_camera_*_buffer functions
without it ioctl parameter points to uninitialized value
2025-02-11 21:18:43 +07:00
Egor Shestakov
ae1faec57d fix memory leak in process_aaa 2025-01-16 18:58:48 +07:00
Pavel Machek
1378973cd1 Fix meson.build to work with older meson
Robot suggested this, and it seems to do the trick.
2024-12-27 12:13:49 +01:00
Martijn Braam
541dd2f9c3 Add the other three YUV formats to the shader 2024-12-24 22:39:05 +01:00
Ferass El Hafidi
f5248b388e process_pipeline.c: fix call to libdng_write 2024-12-24 16:29:58 +00:00
Martijn Braam
d1f9b88839 Bump version to 2.0.0-alpha1 2024-12-24 13:23:30 +01:00
Martijn Braam
4791d38061 Fix data dependency in cmake 2024-12-23 17:38:23 +01:00
Martijn Braam
79eab3fe1a Fix .jpg vs .jpeg file extension for YUV captures 2024-12-23 17:34:18 +01:00
Martijn Braam
8fbea82b2b Rewrite YUV processing pipeline.
Use a 4-channel texture instead for packed YUV data so
every pixel in the texture has all the 4:2:2 color data
available.
2024-12-23 17:29:46 +01:00
Martijn Braam
1b5a871641 Don't make the missing movie.sh file fatal 2024-12-23 15:40:34 +01:00
Takuya Wakazono
a9f6291c3e Explicitly declare function parameters for GCC 15 compatibility
In GCC 15, where C23 is the default, void foo() is equivalent to void
foo(void). Therefore, functions must explicitly declare their
parameters.
2024-11-30 22:38:05 +09:00
Kristian Vos
95ae684d9f Pass color/forward matrices to libdng 2024-11-04 18:44:28 +01:00
Kristian Vos
22fc1309c5 Fix wrong rotation being used for DNG 2024-11-04 15:04:30 +01:00
Kristian Vos
98ae16848c Fix preview not working after switching windows 2024-09-30 14:38:08 +02:00
Martijn Braam
2a328e4f2d Add helper script for setting up a full megapixels system on a phone 2024-09-11 17:13:57 +02:00
Pavel Machek
bd1a19f66f ae: fix problem uncovered by alpine build 2024-09-07 23:04:32 +02:00
Pavel Machek
95f474076c ae: don't go over 1/100 sec exposure too easily 2024-09-07 22:52:31 +02:00
Pavel Machek
bfe76b7568 ui: disable for now, gtk does not like cross-calls 2024-09-07 22:52:30 +02:00
Pavel Machek
474b2db2c9 ui: display focus information, too. 2024-09-07 22:52:30 +02:00
Pavel Machek
cccfdb18c7 ui: take digital gain into consideration, too 2024-09-07 22:52:30 +02:00
Pavel Machek
13264d6b1c ui: display exposure/gain settings 2024-09-07 22:52:30 +02:00
Pavel Machek
9e4b760b77 ui: Add button with camera status. 2024-09-07 22:52:30 +02:00
Pavel Machek
47772bde2e ae: use gain/dgain minimum values 2024-09-07 22:52:30 +02:00
Pavel Machek
b5dbc416b5 ae: start using minimum values for controls, too 2024-09-07 22:52:30 +02:00
Pavel Machek
16092880d0 auto: display values in known units 2024-09-07 22:52:30 +02:00
Pavel Machek
eeca8fe4cc auto: cleanups 2024-09-07 22:52:30 +02:00
Pavel Machek
5fd1e09059 auto: tweak debugging 2024-09-07 22:52:30 +02:00
Pavel Machek
def6e19b5e ae: debugging note when out of options. 7.67 sec to "full dark". 2024-09-07 22:52:30 +02:00