Commit Graph

371 Commits

Author SHA1 Message Date
Kristian Vos
e41dc80a71 Fix various compile errors 2024-06-29 18:04:42 +02:00
Kristian Vos
cd3266466e Improve readability of shader selecting based on pixel format, add more bayer formats 2024-06-08 16:10:38 +00:00
Kristian Vos
ac80896c0c Improve gain/exposure controls 2024-05-11 13:59:48 +02:00
Pavel Machek
8d74a7da06 rmdir can be easily done without calling the shell. 2024-05-10 22:07:28 +02:00
Pavel Machek
48a4b8db2a Get rid of fragile recursive rm, move cleanup to mpegize. This way
"mpegize stop" does not have to wait for "mpegize start".
2024-05-10 10:19:56 +02:00
Pavel Machek
b77064dda0 Start encoding while the recording is running in the YUV case. This
allows "unlimited" video length. PinePhone OG is able to do the
encoding with ~180% CPU use.
2024-05-10 10:19:50 +02:00
Pavel Machek
1395f823a0 Pass start/stop down to mpegize script. 2024-05-10 10:11:07 +02:00
Pavel Machek
63a77bb557 Add robustness against out of disk space.
Shell is ugly programing language, and by continuing after error, we
were creating recording in wrong directory. Fix that up.
2024-05-10 10:10:26 +02:00
Pavel Machek
864d3c0c2a Cleanups: remove unused code. 2024-05-09 21:50:27 +02:00
Pavel Machek
4a124688d1 mkv is better extension for the video, as we are using mkv envelope. 2024-05-07 16:01:59 +02:00
Pavel Machek
0e8adec2a3 Display progress while encoding movie. 2024-05-07 15:59:40 +02:00
Pavel Machek
99eab6ee54 Prepare for supporting multiple YUV formats. 2024-05-07 14:22:50 +02:00
Pavel Machek
bc9085ffad Pass dng/grw mode down to mpegize. 2024-05-06 22:18:45 +02:00
Pavel Machek
c9dceb170b Hack: we have data from debayer -- square -- but yuv uses block of
four pixels -- YUYV.
2024-05-06 22:11:42 +02:00
Pavel Machek
875cd8dfcd fixme: naming in debayer is confusing. 2024-05-06 22:11:10 +02:00
Pavel Machek
a3dea3503d Switch to gstreamer for video encoding
This will enable better progress indication, and on-line recording in
future.
2024-05-06 13:56:07 +02:00
Pavel Machek
950d11fd96 Use Python version of Jpegize as a preparation 2024-05-06 13:56:04 +02:00
Pavel Machek
00f40b52df Audio recording fixes
Fix audio recording to correct 48kHz, don't split files in middle of
the sample.
2024-05-06 13:56:00 +02:00
Pavel Machek
f0d8834b4a Pipe for scripts<->application communication, write UYVY files
Got pipe to work between movie subprocess and main code. We use it to
display progress from the scripts. Write "gstreamer raw" files, that
can be worked with easily from gstreamer.
2024-05-06 13:50:44 +02:00
Kristian Vos
df7e7e9eed Updated Matrix address, and added links to libmegapixels, libdng and postprocessd 2024-04-30 18:13:49 +00:00
Martijn Braam
e524c4f885 Add libpulse-simple dependency to CI 2024-04-30 18:09:42 +00:00
Pavel Machek
1c9202c4cf Add support for short movies
Short movies can now be recorded (~30 seconds, depending on disk
space), with audio. New button is added, for that, depending on state
it shows "Rec" (you can record), "Stop" (you are recording) and "Busy"
(movie is being converted).
2024-04-30 18:09:42 +00:00
Pavel Machek
fcba2b33c2 Add support files that will be used for video recording. 2024-04-30 18:09:42 +00:00
Pavel Machek
b23ec208f0 Comment mentions different filenames than code, fix that. 2024-04-30 18:09:42 +00:00
Pavel Machek
0cf1eb996f Prevent segfault when reasonable configuration can not be found. 2024-04-30 18:09:42 +00:00
Kristian Vos
98108a7f74 Fix and improve switch camera and its error handling 2024-04-26 15:04:11 +02:00
Pavel Machek
76569c7b19 Better description of build / install procedure 2024-04-24 14:07:44 +02:00
Martijn Braam
003c4d04e8 Change style of control icons 2024-04-13 02:36:28 +02:00
Martijn Braam
421c4afdfa Show user-visible error when no camera is available. 2024-04-13 01:53:42 +02:00
Martijn Braam
b615d23de1 Replace segfault with actual error message 2024-02-07 13:50:29 +01:00
Martijn Braam
7e3d9e9063 Change control loop for AAA 2024-01-23 17:30:34 +01:00
Martijn Braam
b140ebd9b7 Use the aaav2 code in libmegapixels 2024-01-18 15:57:18 +01:00
Martijn Braam
65f18b81d1 Malloc before memcpy in DCP parser 2024-01-18 15:45:04 +01:00
Martijn Braam
8925f732fb Remove leftover testing file 2024-01-18 14:40:24 +01:00
Martijn Braam
07d428178c Implement YUV sources in postprocess.sh 2024-01-18 14:38:16 +01:00
Martijn Braam
dbacf8a005 Write YUV frames to jpeg directly instead of DNG 2024-01-18 03:12:57 +01:00
Martijn Braam
e0e94a62b2 Set names for the pipeline threads 2024-01-18 02:35:51 +01:00
Martijn Braam
4032b53592 Don't update metadata faster than the framerate 2024-01-18 02:34:51 +01:00
Martijn Braam
8ca9028d45 Change app-id to me.gapixels.Megapixels 2023-12-02 12:30:06 +01:00
Martijn Braam
7f5c7c1c4c Use libdng to parse the calibration file 2023-12-02 12:30:05 +01:00
Martijn Braam
803c7910c9 Pull in libdng during CI builds 2023-12-02 12:30:05 +01:00
Martijn Braam
da68a1c96a Write more metadata using libdng 2023-12-02 12:30:04 +01:00
Martijn Braam
90321888c8 Use libdng to write the output images 2023-12-02 12:30:03 +01:00
Martijn Braam
aba8eace21 Replace libtiff dependency by libdng 2023-12-02 12:30:02 +01:00
Martijn Braam
b2e8b04d26 Fix GTK4 deprecations in main.c 2023-11-26 14:32:44 +01:00
Martijn Braam
c3ad5c3dfb Fix GTK4 deprecations in flash.c 2023-11-26 14:27:03 +01:00
Martijn Braam
9d189b88b4 Support rendering YUV formatted frames 2023-11-26 14:19:29 +01:00
Martijn Braam
8a3f1a5540 Remove outdated documentation 2023-11-14 15:02:34 +01:00
Martijn Braam
def837b635 Add libmegapixels dependency to CI 2023-08-16 16:47:29 +02:00
Martijn Braam
e964b923c7 Write WB gains to the DNG file 2023-08-16 15:18:34 +02:00