diff --git a/configure.ac b/configure.ac
index 1579e853..88ccfd42 100644
--- a/configure.ac
+++ b/configure.ac
@@ -169,48 +169,6 @@ AS_IF([test "${WEBP}" = "yes" ], [
]
)
-##############################################################################
-### raspberry pi mmal - Optional.
-##############################################################################
-AC_ARG_WITH([mmal],
- AS_HELP_STRING([--with-mmal[=DIR]],[Compile with RasperryPi mmal camera support]),
- [MMAL="$withval"],
- [MMAL="yes"]
-)
-
-AS_IF([test "${MMAL}" = "no"], [
- AC_MSG_CHECKING(for MMAL)
- AC_MSG_RESULT(skipped)
- ],[
- AC_MSG_CHECKING(MMAL pkg-config path)
- TEMP_PATH=$PKG_CONFIG_PATH
- AS_IF([test "${MMAL}" != "yes"], [
- PKG_CONFIG_PATH=${MMAL}/lib/pkgconfig:$PKG_CONFIG_PATH
- MMAL="yes"
- ],[
- PKG_CONFIG_PATH=.:/opt/vc/lib/pkgconfig
- ]
- )
- export PKG_CONFIG_PATH
- AC_MSG_RESULT($PKG_CONFIG_PATH)
-
- AC_MSG_CHECKING(for MMAL)
- AS_IF([pkg-config mmal], [
- TEMP_CPPFLAGS="$TEMP_CPPFLAGS -Irasppicam "`pkg-config --cflags mmal`
- TEMP_LIBS="$TEMP_LIBS "`pkg-config --libs mmal`
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_MMAL], [1], [Define to 1 if MMAL is around])
- ],[
- AC_MSG_RESULT([no])
- MMAL="no"
- ]
- )
- PKG_CONFIG_PATH=$TEMP_PATH
- export PKG_CONFIG_PATH
- ]
-)
-AM_CONDITIONAL([INC_MMAL_SRC],[test x${MMAL} = xyes])
-
##############################################################################
### raspberry pi libcamera - Optional.
##############################################################################
@@ -251,7 +209,6 @@ AS_IF([test "${LIBCAM}" = "no"], [
export PKG_CONFIG_PATH
]
)
-AM_CONDITIONAL([INC_MMAL_SRC],[test x${MMAL} = xyes])
##############################################################################
### Check for ffmpeg
@@ -576,7 +533,6 @@ echo "pthread_getname_np : $PTHREAD_GETNAME_NP"
echo "XSI error : $XSI_STRERROR"
echo "webp support : $WEBP"
echo "V4L2 support : $V4L2"
-echo "MMAL support : $MMAL"
echo "libcamera support : $LIBCAM"
echo "FFmpeg support : $FFMPEG"
echo " libavformat version : $FFMPEG_VER"
diff --git a/doc/motionplus_config.html b/doc/motionplus_config.html
index 0d9a3a32..42b81fe5 100644
--- a/doc/motionplus_config.html
+++ b/doc/motionplus_config.html
@@ -155,8 +155,6 @@
| netcam_proxy |
- mmalcam_name |
- mmalcam_params |
@@ -966,21 +964,6 @@
- mmalcam_name
-
- - Values: String | Default: Not defined
- Name of camera for MMAL. Use vc.ril.camera for the standard Raspberry PI camera.
-
-
-
- mmalcam_params
-
- - Values: String | Default: Not defined
- MMAL control parameters such as -hf, -vf, -rot
-
-
-
-
netcam_url
- Values: String | Default: Not defined
diff --git a/man/motionplus.1 b/man/motionplus.1
index 90697de1..69a226ca 100644
--- a/man/motionplus.1
+++ b/man/motionplus.1
@@ -560,36 +560,6 @@ The UDP transport frequently results in "smeared" corrupt images.
.RE
.RE
-.TP
-.B mmalcam_name
-.RS
-.nf
-Values: User specified string
-Default: Not defined
-Description:
-.fi
-.RS
-Name of camera to use if you are using a camera accessed through OpenMax/MMAL.
-This value is used to specify the use of the PI camera.
-The typical value for the PI camera is vc.ril.camera
-.RE
-.RE
-
-.TP
-.B mmalcam_control_params
-.RS
-.nf
-Values: User specified string
-Default: Not defined
-Description:
-.fi
-.RS
-Camera configuration options to use for the OpenMax/MMAL camera.
-See the raspivid/raspistill tool documentation for full list of options.
-Typical value for the PI camera is -hf
-.RE
-.RE
-
.TP
.B width
.RS
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 7cfea57b..f0705eb0 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -6,7 +6,6 @@ src/event.cpp
src/movie.cpp
src/jpegutils.cpp
src/logger.cpp
-src/mmalcam.cpp
src/motionplus.cpp
src/netcam.cpp
src/picture.cpp
diff --git a/po/da.po b/po/da.po
index 3bcd13cd..9ed105a2 100644
--- a/po/da.po
+++ b/po/da.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam brugerpas"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam navn"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1333,104 +1324,6 @@ msgstr "Brug af logtype (%s) logniveau (%s)"
msgid "Closing logfile (%s)."
msgstr "Lukker logfil (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Modtaget uventet kamerakontrol tilbagekaldshændelse, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-"En høj billedhastighed kan forårsage problemer med eksponering af billeder"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Hvis autoexponering ikke fungerer, kan du prøve en lavere billedhastighed."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Kunne ikke oprette MMAL-kamerakomponent %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL-kamera %s har ikke outputporte"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Kan ikke aktivere kontrolport: fejl %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL opsætning af ingen polstring mislykkedes"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Kameravideoformat kunne ikke indstilles"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "kamerakomponent kunne ikke aktiveres"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL-kamerakomponent oprettet"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "Oprettelse af MMAL-kamerabuffertpude mislykkedes"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "Oprettelse af MMAL-kamerabufferkø mislykkedes"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Kan ikke få en påkrævet buffer %d fra poolkøen"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Kan ikke sende en buffer til port (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr "MMAL Kameratråd starter ... til kamera (%s) på %d x %d ved %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "Kameraparam kunne ikke tildeles"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMAL-kameraoptagelsesport muliggør mislykket"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "MMAL-kameraoptagelsesstart mislykkedes"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMAL-kamera ikke tilgængeligt"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL kameraoprydning"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d-flag %08x størrelse %d / %d ved %08x, img størrelse = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Kan ikke returnere en buffer til kameraets videoport"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1441,10 +1334,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "ringer mmalcam oprydning"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "ringer netcam oprydning"
@@ -1454,16 +1343,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Oprydning af V4L2-enhed"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Ingen kameraenhedens oprydning (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Åbning af MMAL-cam"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL-cam kunne ikke åbnes"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Ingen kameraenhedens oprydning (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1482,12 +1363,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2-enhed kunne ikke åbnes"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Ingen kameraenhed specificeret (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Ingen kameraenhed specificeret (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1674,14 +1555,6 @@ msgstr "webp: tilgængelig"
msgid "webp : not available"
msgstr "webp: ikke tilgængelig"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: tilgængelig"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: ikke tilgængelig"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: tilgængelig"
diff --git a/po/de.po b/po/de.po
index 73c637df..fa8e5304 100644
--- a/po/de.po
+++ b/po/de.po
@@ -195,15 +195,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam name"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1334,108 +1325,6 @@ msgstr "Protokollstufe (%s) verwenden (%s)"
msgid "Closing logfile (%s)."
msgstr "Logdatei wird geschlossen (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Unerwartetes Rückrufereignis für Kamerasteuerung empfangen, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-"Eine hohe Bildrate kann Probleme mit der Belichtung von Bildern verursachen."
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Wenn die automatische Belichtung nicht funktioniert, versuchen Sie es mit "
-"einer niedrigeren Bildrate."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "MMAL-Kamerakomponente %s konnte nicht erstellt werden"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL-Kamera %s hat keine Ausgangsanschlüsse"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Steuerungsanschluss kann nicht aktiviert werden: Fehler %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL-Einrichtung ohne Auffüllung fehlgeschlagen"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Kamera-Videoformat konnte nicht eingestellt werden"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "Kamerakomponente konnte nicht aktiviert werden"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL-Kamerakomponente erstellt"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "MMAL-Kamerapufferpoolerstellung fehlgeschlagen"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "MMAL-Kamerapuffer-Warteschlangenerstellung fehlgeschlagen"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr ""
-"Erforderlicher Puffer %d kann nicht aus der Poolwarteschlange abgerufen "
-"werden"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Senden eines Puffers an Port (%d) nicht möglich"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-"MMAL-Kamerathread wird gestartet ... für Kamera (%s) von %d x %d bei %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "Kamera-Parameter konnten nicht zugewiesen werden"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "Aktivierung des MMAL-Kameraerfassungsports fehlgeschlagen"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "Start der MMAL-Kameraerfassung fehlgeschlagen"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMAL-Kamera nicht verfügbar"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL-Kamerabereinigung"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d kennzeichnet %08x Größe %d / %d bei %08x, img Größe = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Rückgabe eines Puffers an den Kamera-Videoanschluss nicht möglich"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1446,10 +1335,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "mmalcam aufräumen"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "netcam aufräumen"
@@ -1459,16 +1344,8 @@ msgid "Cleaning up V4L2 device"
msgstr "V4L2-Gerät bereinigen"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Keine Bereinigung des Kamerageräts (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "MMAL-Cam öffnen"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL-Cam konnte nicht geöffnet werden"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Keine Bereinigung des Kamerageräts (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1487,12 +1364,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2-Gerät konnte nicht geöffnet werden"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Kein Kameragerät angegeben (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Kein Kameragerät angegeben (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1678,14 +1555,6 @@ msgstr "webp: available"
msgid "webp : not available"
msgstr "webp: nicht verfügbar"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: verfügbar"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: nicht verfügbar"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: available"
diff --git a/po/es.po b/po/es.po
index f9c942cf..8a4f81d7 100644
--- a/po/es.po
+++ b/po/es.po
@@ -195,15 +195,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "nombre de mmalcam"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1336,112 +1327,6 @@ msgstr "Uso del tipo de registro (%s) nivel de registro (%s)"
msgid "Closing logfile (%s)."
msgstr "Archivo de registro de cierre (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr ""
-"Recibió un evento inesperado de devolución de llamada de control de cámara, "
-"0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-"Una velocidad de fotogramas alta puede causar problemas con la exposición de "
-"imágenes"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Si la exposición automática no funciona, intente una velocidad de fotogramas "
-"más baja."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Error al crear el componente de cámara MMAL %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "La cámara MMAL %s no tiene puertos de salida"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "No se puede habilitar el puerto de control: error %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "Falló la configuración de MMAL sin relleno"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "no se pudo establecer el formato de video de la cámara"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "el componente de la cámara no se pudo habilitar"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "Componente de cámara MMAL creado"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr ""
-"Error en la creación de la agrupación de almacenamiento intermedio de la "
-"cámara MMAL"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "Error al crear la cola de almacenamiento intermedio de la cámara MMAL"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "No se puede obtener un búfer requerido %d de la cola del grupo"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "No se puede enviar un búfer al puerto (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-"Se inicia el subproceso de cámara MMAL ... para la cámara (%s) de %d x %d en "
-"%d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "no se pudieron asignar parámetros de cámara"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "Error al habilitar el puerto de captura de la cámara MMAL"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "Error al iniciar la captura de la cámara MMAL"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "Cámara MMAL no disponible"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "Limpieza de la cámara MMAL"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d flags %08x size %d / %d at %08x, img size = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "No se puede devolver un búfer al puerto de video de la cámara"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1452,10 +1337,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "llamando a la limpieza de mmalcam"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "llamando a la limpieza de netcam"
@@ -1465,16 +1346,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Limpieza del dispositivo V4L2"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Sin limpieza del dispositivo de cámara (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Apertura de la cámara MMAL"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "La cámara MMAL no se pudo abrir"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Sin limpieza del dispositivo de cámara (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1493,12 +1366,12 @@ msgid "V4L2 device failed to open"
msgstr "El dispositivo V4L2 no se pudo abrir"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "No se especificó ningún dispositivo de cámara (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "No se especificó ningún dispositivo de cámara (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1689,14 +1562,6 @@ msgstr "webp: disponible"
msgid "webp : not available"
msgstr "webp: no disponible"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: disponible"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: no disponible"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: disponible"
diff --git a/po/fi.po b/po/fi.po
index 801be469..0167bdac 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam name"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1334,102 +1325,6 @@ msgstr "Lokityypin (%s) lokitason käyttäminen (%s)"
msgid "Closing logfile (%s)."
msgstr "Lokitiedoston sulkeminen (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Vastaanotettu odottamaton kameran ohjauksen soittopyyntö, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr "Suuri kuvanopeus voi aiheuttaa ongelmia kuvien valotuksessa"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr "Jos automaattinen valotus ei toimi, kokeile pienempää kuvanopeutta."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "MMAL-kamerakomponentin luominen epäonnistui %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL-kameralla %s ei ole lähtöportteja"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Ohjausporttia ei voi ottaa käyttöön: virhe %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL no-padding-asetus epäonnistui"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "kameran videoformaattia ei voitu asettaa"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "kamerakomponenttia ei voitu ottaa käyttöön"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL-kamerakomponentti luotu"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "MMAL-kameran puskuripoolin luonti epäonnistui"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "MMAL-kamerapuskurijonojonon luonti epäonnistui"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Vaadittua puskuria %d ei voida saada poolijonoon"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Puskuria ei voi lähettää porttiin (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr "MMAL-kameran säie alkaa ... kameralle (%s) %d x %d nopeudella %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "kameraparameja ei voitu allokoida"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMAL-kameran sieppausportti sallittu epäonnistui"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "MMAL-kameran sieppauksen käynnistys epäonnistui"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMAL-kameraa ei saatavilla"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL-kameran puhdistus"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d liput %08x koko %d / %d at %08x, img size = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Puskuria ei voida palauttaa kameran videoporttiin"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1440,10 +1335,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "kutsutaan mmalcam-puhdistusta"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "kutsutaan netcam-puhdistusta"
@@ -1453,16 +1344,8 @@ msgid "Cleaning up V4L2 device"
msgstr "V4L2-laitteen puhdistaminen"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Ei kameralaitteen puhdistusta (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "MMAL-kameran avaaminen"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL-kameran avaaminen epäonnistui"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Ei kameralaitteen puhdistusta (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1481,12 +1364,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2-laite ei avautunut"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Kameralaitetta ei ole määritetty (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Kameralaitetta ei ole määritetty (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1674,14 +1557,6 @@ msgstr "webp: saatavilla"
msgid "webp : not available"
msgstr "webp: ei saatavilla"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: available"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: ei saatavilla"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: saatavilla"
diff --git a/po/fr.po b/po/fr.po
index 8d45861d..5291bfb4 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -193,14 +193,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "nom mmalcam"
-
-#: src/conf.cpp:787
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1333,107 +1325,6 @@ msgstr "Utilisation du niveau de journalisation de type journal (%s) (%s)"
msgid "Closing logfile (%s)."
msgstr "Fermeture du fichier journal (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr ""
-"Réception d'un événement de rappel de contrôle de caméra inattendu, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr "Une cadence élevée peut causer des problèmes d'exposition des images"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Si l'exposition automatique ne fonctionne pas, essayez une cadence d'images "
-"plus faible."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Impossible de créer le composant de caméra MMAL %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "La caméra MMAL %s n'a pas de ports de sortie"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Impossible d'activer le port de contrôle: erreur %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "Echec de l'installation de MMAL sans remplissage"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Le format vidéo de la caméra n'a pas pu être défini"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "Impossible d'activer le composant de la caméra"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "Composant de caméra MMAL créé"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "La création du pool de mémoire tampon de caméra MMAL a échoué"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr ""
-"La création de la file d'attente de mémoire tampon de caméra MMAL a échoué"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Impossible d'obtenir un tampon requis %d de la file d'attente du pool"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Impossible d'envoyer un tampon au port (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-"Fil de caméra MMAL commençant ... pour la caméra (%s) de %d x %d à %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "Les paramètres de la caméra n'ont pas pu être attribués"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "Echec de l'activation du port de capture de caméra MMAL"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "Le démarrage de la capture de la caméra MMAL a échoué"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "Caméra MMAL non disponible"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "Nettoyage de la caméra MMAL"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd drapeaux %d de taille %08x %d / %d à %08x, taille img = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Impossible de renvoyer un tampon sur le port vidéo de la caméra"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1444,10 +1335,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "appel du nettoyage de la caméra"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "appel du nettoyage de netcam"
@@ -1457,16 +1344,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Nettoyage du périphérique V4L2"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Pas de nettoyage de l'appareil photo (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Ouverture de la came MMAL"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "Echec de l'ouverture de la caméra MMAL"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Pas de nettoyage de l'appareil photo (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1485,12 +1364,12 @@ msgid "V4L2 device failed to open"
msgstr "échec de l'ouverture du périphérique V4L2"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Aucun appareil photo spécifié (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Aucun appareil photo spécifié (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1679,14 +1558,6 @@ msgstr "webp: disponible"
msgid "webp : not available"
msgstr "webp: non disponible"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: disponible"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: non disponible"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: disponible"
diff --git a/po/it.po b/po/it.po
index f087760f..7c57326d 100644
--- a/po/it.po
+++ b/po/it.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam name"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1335,106 +1326,6 @@ msgstr "Utilizzo del tipo di registro (%s) livello registro (%s)"
msgid "Closing logfile (%s)."
msgstr "Chiusura del file di registro (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr ""
-"Evento di richiamata del controllo telecamera imprevisto ricevuto, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-"Un frame rate elevato può causare problemi con l'esposizione delle immagini"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Se l'esposizione automatica non funziona, provare una frequenza dei "
-"fotogrammi inferiore."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Impossibile creare il componente della fotocamera MMAL %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "La fotocamera MMAL %s non ha porte di uscita"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Impossibile abilitare la porta di controllo: errore %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "Installazione MMAL senza padding non riuscita"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Impossibile impostare il formato video della videocamera"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "impossibile abilitare il componente fotocamera"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "Componente della fotocamera MMAL creato"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "Creazione del pool buffer della fotocamera MMAL non riuscita"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "Creazione coda coda buffer MMAL non riuscita"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Impossibile ottenere un buffer richiesto %d dalla coda del pool"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Impossibile inviare un buffer alla porta (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr "Avvio thread MMAL Camera ... per telecamera (%s) di %d x %d a %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "Impossibile assegnare i parametri della fotocamera"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "Abilitazione porta di acquisizione telecamera MMAL fallita"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "Avvio acquisizione fotocamera MMAL non riuscito"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "Fotocamera MMAL non disponibile"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "Pulizia fotocamera MMAL"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d flags %08x size %d / %d at %08x, img size = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Impossibile restituire un buffer alla porta video della videocamera"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1445,10 +1336,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "chiamando mmalcam cleanup"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "chiamando netcam cleanup"
@@ -1458,16 +1345,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Pulizia del dispositivo V4L2"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Pulizia dispositivo No Camera (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Apertura camma MMAL"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "Impossibile aprire la cam MMAL"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Pulizia dispositivo No Camera (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1486,12 +1365,12 @@ msgid "V4L2 device failed to open"
msgstr "Impossibile aprire il dispositivo V4L2"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Nessun dispositivo fotocamera specificato (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Nessun dispositivo fotocamera specificato (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1679,14 +1558,6 @@ msgstr "webp: disponibile"
msgid "webp : not available"
msgstr "webp: non disponibile"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: disponibile"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: non disponibile"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: disponibile"
diff --git a/po/ja.po b/po/ja.po
index a474bf55..f90e10b1 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam名"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1341,102 +1332,6 @@ msgstr "ログタイプ(%s)ログレベル(%s)の使用"
msgid "Closing logfile (%s)."
msgstr "ログファイルを閉じています(%s)。"
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "予期しないカメラ制御コールバックイベント、0x%08xを受信しました"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr "自動露出が機能しない場合は、より低いフレームレートを試してください。"
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "MMALカメラコンポーネント%sの作成に失敗しました"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMALカメラ%sには出力ポートがありません"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "制御ポートを有効にできません:エラー%d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMALパディングなしのセットアップに失敗しました"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "カメラのビデオ形式を設定できませんでした"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "カメラコンポーネントを有効にできませんでした"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMALカメラコンポーネントが作成されました"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "MMALカメラバッファプールの作成に失敗しました"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "MMALカメラバッファキューの作成に失敗しました"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "プールキューから必要なバッファ%dを取得できません。"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "ポート(%d)にバッファを送信できません"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "カメラパラメータを割り当てることができませんでした"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMALカメラキャプチャポートの有効化に失敗しました"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "MMALカメラキャプチャの開始に失敗しました"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMALカメラは使用できません"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMALカメラクリーンアップ"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d flags %08x size %d / %d at %08x、img size = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "カメラのビデオポートにバッファを返すことができません"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1447,10 +1342,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "mmalcamクリーンアップの呼び出し"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "netcam cleanupの呼び出し"
@@ -1460,19 +1351,10 @@ msgid "Cleaning up V4L2 device"
msgstr ""
#: src/motion_loop.cpp:387
-#| msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device specified (Netcam, V4L2)"
+msgid "No Camera device cleanup (Netcam, V4L2)"
msgstr ""
-#: src/motion_loop.cpp:404
-#| msgid "Opening Netcam"
-msgid "Opening MMAL cam"
-msgstr ""
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMALカムを開けませんでした"
-
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
msgstr "Netcamを開く"
@@ -1491,12 +1373,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2デバイスを開くことができませんでした"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "カメラデバイスが指定されていません(MMAL、Netcam、V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "カメラデバイスが指定されていません(Netcam、V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device specified (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1682,14 +1564,6 @@ msgstr "webp:available"
msgid "webp : not available"
msgstr "webp:利用できません"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal:available"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal:利用できません"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql:available"
diff --git a/po/ko.po b/po/ko.po
index bb17ec07..c007f38b 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -195,15 +195,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "넷캠 사용자 패스"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam 이름"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
#| msgid "Invalid url: %s"
@@ -1391,103 +1382,6 @@ msgstr "로그 유형 (%s) 로그 레벨 (%s) 사용"
msgid "Closing logfile (%s)."
msgstr "로그 파일 닫기 (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "예기치 않은 카메라 제어 콜백 이벤트, 0x%08x를 수신했습니다."
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr "프레임 속도가 높으면 이미지 노출에 문제가 발생할 수 있습니다"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr "자동 노출이 작동하지 않으면 더 낮은 프레임 속도를 시도하십시오."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "MMAL 카메라 컴포넌트 %s 작성 실패"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL 카메라 %s에 출력 포트가 없습니다"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "제어 포트를 활성화 할 수 없습니다 : 오류 %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL 패딩 없음 설정 실패"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "카메라 비디오 형식을 설정할 수 없습니다"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "카메라 구성 요소를 사용할 수 없습니다"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL 카메라 컴포넌트 생성"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "MMAL 카메라 버퍼 풀 작성 실패"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "MMAL 카메라 버퍼 큐 작성 실패"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "풀 큐에서 필요한 버퍼 %d를 얻을 수 없습니다"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "포트 (%d)에 버퍼를 보낼 수 없습니다"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "카메라 매개 변수를 할당 할 수 없습니다"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMAL 카메라 캡처 포트 활성화 실패"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "MMAL 카메라 캡처 시작 실패"
-
-#: src/mmalcam.cpp:351
-#| msgid "MariaDB: not available"
-msgid "MMAL Camera not available"
-msgstr ""
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL 카메라 정리"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d 플래그 %08x 크기 %d / %d (%08x, img 크기 = %d)"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "카메라 비디오 포트로 버퍼를 되돌릴 수 없습니다"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1498,10 +1392,6 @@ msgstr "%d 항목으로 사전 캡처 버퍼 크기 조정"
msgid "Motion detected - starting event %d"
msgstr "동작 감지-시작 이벤트 %d"
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "mmalcam 정리 호출"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "넷캠 정리 호출"
@@ -1511,16 +1401,8 @@ msgid "Cleaning up V4L2 device"
msgstr "V4L2 장치 정리"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "카메라 장치 정리 없음 (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "MMAL 캠 열기"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL 캠을 열지 못했습니다"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "카메라 장치 정리 없음 (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1539,12 +1421,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2 장치를 열지 못했습니다"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "카메라 장치를 지정하지 않았습니다 (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "카메라 장치를 지정하지 않았습니다 (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
-msgstr "카메라 유형을 결정할 수 없습니다 (MMAL, Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
+msgstr "카메라 유형을 결정할 수 없습니다 (Netcam, V4L2)"
#: src/motion_loop.cpp:516
msgid "Error capturing first image"
@@ -1721,14 +1603,6 @@ msgstr "webp : 사용 가능"
msgid "webp : not available"
msgstr "webp : 사용할 수 없음"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal : 사용 가능"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal : 사용할 수 없음"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql : 사용 가능"
diff --git a/po/li.po b/po/li.po
index e3178780..0b124bf3 100644
--- a/po/li.po
+++ b/po/li.po
@@ -188,14 +188,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr ""
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr ""
-
-#: src/conf.cpp:787
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
#| msgid "Invalid database_type %s"
@@ -1374,104 +1366,6 @@ msgstr "Naudojant žurnalo tipą (%s) žurnalo lygis (%s)"
msgid "Closing logfile (%s)."
msgstr "Uždarymo žurnalo failas (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Gautas netikėtas fotoaparato valdymo atšaukimo įvykis, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr "Didelis kadrų dažnis gali sukelti problemų dėl vaizdų ekspozicijos"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr "Jei automatinė ekspozicija neveikia, išbandykite mažesnę kadrų dažnį."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Nepavyko sukurti MMAL fotoaparato komponento %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL kamera %s neturi išvesties prievadų"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Neįmanoma įjungti valdymo prievado: klaida %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL nepavyko užpildyti sąrankos"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Nepavyko nustatyti vaizdo kameros vaizdo įrašo formato"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "fotoaparato komponento negalima įjungti"
-
-#: src/mmalcam.cpp:200
-#| msgid "camera component couldn't be enabled"
-msgid "MMAL camera component created"
-msgstr ""
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "Nepavyko sukurti MMAL fotoaparato buferio telkinio"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "Nepavyko sukurti MMAL fotoaparato buferio eilės"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Nepavyko gauti reikiamo buferio %d iš baseino eilės"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Neįmanoma nusiųsti buferio į uostą (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "fotoaparatų parametrų nepavyko paskirstyti"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMAL fotoaparato fiksavimo prievadas įgalintas nepavyko"
-
-#: src/mmalcam.cpp:339
-#| msgid "MMAL camera capture port enabling failed"
-msgid "MMAL camera capture start failed"
-msgstr ""
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr ""
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr ""
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d vėliavos %08x dydis %d / %d esant %08x, img size = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Neįmanoma grąžinti buferio į fotoaparato vaizdo prievadą"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1482,10 +1376,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr ""
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr ""
@@ -1496,17 +1386,9 @@ msgid "Cleaning up V4L2 device"
msgstr ""
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Nėra fotoaparato įrenginio valymo (MMAL, Netcam, V4L2)"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Nėra fotoaparato įrenginio valymo (Netcam, V4L2)"
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr ""
-
-#: src/motion_loop.cpp:409
-#| msgid "Failed to open '%s'"
-msgid "MMAL cam failed to open"
-msgstr ""
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1527,12 +1409,12 @@ msgid "V4L2 device failed to open"
msgstr ""
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Nenurodytas fotoaparato įrenginys (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Nenurodytas fotoaparato įrenginys (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1718,16 +1600,6 @@ msgstr ""
msgid "webp : not available"
msgstr ""
-#: src/motionplus.cpp:342
-#| msgid "nls : available"
-msgid "mmal : available"
-msgstr ""
-
-#: src/motionplus.cpp:344
-#| msgid "nls : available"
-msgid "mmal : not available"
-msgstr ""
-
#: src/motionplus.cpp:348
#| msgid "nls : available"
msgid "mysql : available"
diff --git a/po/nl.po b/po/nl.po
index 7adaca5f..089ece4b 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam-naam"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1333,105 +1324,6 @@ msgstr "Log-type (%s) log-niveau (%s) gebruiken"
msgid "Closing logfile (%s)."
msgstr "Logbestand sluiten (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Onverwachte terugbelgebeurtenis van camerabesturing, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-"Een hoge framesnelheid kan problemen veroorzaken met de belichting van "
-"afbeeldingen"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Als automatische belichting niet werkt, probeer dan een lagere framesnelheid."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Kan MMAL-cameracomponent %s niet maken"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL camera %s heeft geen uitvoerpoorten"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Kan controlepoort niet inschakelen: fout %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL instellen zonder padding mislukt"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "video-indeling camera kon niet worden ingesteld"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "cameracomponent kon niet worden ingeschakeld"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL-cameracomponent gemaakt"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "Maken van MMAL camerabufferpool mislukt"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "MMAL aanmaken van camerabufferwachtrij mislukt"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Kon geen vereiste buffer %d uit poolwachtrij verkrijgen"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Kan geen buffer naar poort verzenden (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr "MMAL Cameradraad start ... voor camera (%s) van %d x %d op %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "camera params konden niet worden toegewezen"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMAL camera-opnamepoort inschakelen mislukt"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "MMAL camera-opname start mislukt"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMAL Camera niet beschikbaar"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL Camera opruimen"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d vlaggen %08x maat %d / %d op %08x, img size = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Kan geen buffer terugzenden naar de videopoort van de camera"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1442,10 +1334,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "bellen met mmalcam opruimen"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "opgeroepen netcam opruimen"
@@ -1455,16 +1343,8 @@ msgid "Cleaning up V4L2 device"
msgstr "V4L2-apparaat opruimen"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Geen camera-apparaat opruimen (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "MMAL-cam openen"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL-cam kan niet worden geopend"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Geen camera-apparaat opruimen (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1483,12 +1363,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2-apparaat kan niet worden geopend"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Geen camera-apparaat opgegeven (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Geen camera-apparaat opgegeven (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1675,14 +1555,6 @@ msgstr "webp: beschikbaar"
msgid "webp : not available"
msgstr "webp: niet beschikbaar"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: beschikbaar"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: niet beschikbaar"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: beschikbaar"
diff --git a/po/no.po b/po/no.po
index 65ef93cb..f86097c0 100644
--- a/po/no.po
+++ b/po/no.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam brukerpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam name"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1333,103 +1324,6 @@ msgstr "Bruke loggtype (%s) loggenivå (%s)"
msgid "Closing logfile (%s)."
msgstr "Closing logfile (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Mottatt uventet kamerakontroll tilbakeringingshendelse, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr "En høy bildefrekvens kan forårsake problemer med eksponering av bilder"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Hvis autoexponering ikke fungerer, kan du prøve en lavere bildefrekvens."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Kunne ikke opprette MMAL-kamerakomponent %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL camera %s har ikke utgangsporter"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Kan ikke aktivere kontrollport: feil %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "Oppsett av MMAL-ingen polstring mislyktes"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Kameravideoformat kunne ikke settes"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "kamerakomponent kunne ikke aktiveres"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL-kamerakomponent opprettet"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "Oppretting av MMAL-kamerabufferpool mislyktes"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "Oppretting av MMAL-kamerabufferkø mislyktes"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Kan ikke få en nødvendig buffer %d fra bassengkøen"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Kan ikke sende en buffer til port (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr "MMAL Kameratråd starter ... for kamera (%s) på %d x %d ved %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "Kameraparam kan ikke tildeles"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "Fotograferingsport for MMAL som muliggjør mislyktes"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "Fotograferingsstart for MMAL mislyktes"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMAL-kamera ikke tilgjengelig"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL kameraopprydding"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d flagg %08x størrelse %d / %d ved %08x, img størrelse = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Kan ikke returnere en buffer til kameraets videoport"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1440,10 +1334,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "ringer mmalcam opprydding"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "ringer netcam opprydding"
@@ -1453,16 +1343,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Rensing av V4L2-enhet"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Ingen opprydding av kameraenhet (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Åpning MMAL-kam"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL-kamera kunne ikke åpnes"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Ingen opprydding av kameraenhet (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1481,12 +1363,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2-enheten kunne ikke åpnes"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Ingen kameraenhet spesifisert (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Ingen kameraenhet spesifisert (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1673,14 +1555,6 @@ msgstr "webp: tilgjengelig"
msgid "webp : not available"
msgstr "webp: ikke tilgjengelig"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: tilgjengelig"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: ikke tilgjengelig"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: tilgjengelig"
diff --git a/po/pt.po b/po/pt.po
index 0e53c25c..ff209062 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "nome da mmalcam"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1333,106 +1324,6 @@ msgstr "Usando o nível de log do tipo de log (%s) (%s)"
msgid "Closing logfile (%s)."
msgstr "Fechando o arquivo de log (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Evento inesperado de retorno de chamada de controle da câmera, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-"Uma alta taxa de quadros pode causar problemas com a exposição de imagens"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-"Se a exposição automática não estiver funcionando, tente uma taxa de quadros "
-"menor."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Falha ao criar o componente da câmera MMAL %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "A câmera MMAL %s não possui portas de saída"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Não foi possível ativar a porta de controle: erro %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "A instalação MMAL sem preenchimento falhou"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "não foi possível definir o formato de vídeo da câmera"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "o componente da câmera não pôde ser ativado"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "Componente da câmera MMAL criado"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "Falha na criação do buffer pool da câmera MMAL"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "Falha na criação da fila do buffer da câmera MMAL"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Não foi possível obter um buffer necessário %d da fila do pool"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Não foi possível enviar um buffer para a porta (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-"Thread da câmera MMAL iniciando ... para a câmera (%s) de %d x %d em %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "parâmetros de câmera não puderam ser alocados"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "A ativação da porta de captura da câmera MMAL falhou"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "O início da captura da câmera MMAL falhou"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "Câmera MMAL não disponível"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "Limpeza da câmera MMAL"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d sinaliza %08x tamanho %d / %d em %08x, tamanho de img = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Não foi possível retornar um buffer à porta de vídeo da câmera"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1443,10 +1334,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "chamando a limpeza da mmalcam"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "chamando limpeza de webcam"
@@ -1456,16 +1343,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Limpando o dispositivo V4L2"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Nenhuma limpeza do dispositivo da câmera (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Abrindo cam MMAL"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "A câmera MMAL falhou ao abrir"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Nenhuma limpeza do dispositivo da câmera (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1484,12 +1363,12 @@ msgid "V4L2 device failed to open"
msgstr "Falha ao abrir o dispositivo V4L2"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Nenhum dispositivo de câmera especificado (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Nenhum dispositivo de câmera especificado (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1678,14 +1557,6 @@ msgstr "webp: available"
msgid "webp : not available"
msgstr "webp: não disponível"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: available"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: não disponível"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: disponível"
diff --git a/po/sv.po b/po/sv.po
index a8142ad8..a547da20 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -194,15 +194,6 @@ msgstr ""
msgid "netcam_userpass"
msgstr "netcam userpass"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "mmalcam name"
-
-#: src/conf.cpp:787
-#| msgid "mmalcam_control_params"
-msgid "mmalcam_params"
-msgstr ""
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1333,102 +1324,6 @@ msgstr "Använd loggtyp (%s) loggnivå (%s)"
msgid "Closing logfile (%s)."
msgstr "Stäng loggfil (%s)."
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr "Mottog oväntat återuppringningshändelse för kamerakontroll, 0x%08x"
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr "En hög bildfrekvens kan orsaka problem med exponering av bilder"
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr "Om autoexponering inte fungerar, prova en lägre bildhastighet."
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr "Det gick inte att skapa MMAL-kamerakomponent %s"
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr "MMAL-kamera %s har inte utgångsportar"
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr "Det går inte att aktivera kontrollporten: fel %d"
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr "MMAL-konfiguration för ingen stoppning misslyckades"
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr "Kameravideoformatet kunde inte ställas in"
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr "kamerakomponent kunde inte aktiveras"
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr "MMAL-kamerakomponent skapad"
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr "MMAL-skapande av kamerabuffertpoolen misslyckades"
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr "MMAL-kamerabuffertkö skapades misslyckades"
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr "Det gick inte att få en nödvändig buffert %d från poolkön"
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr "Det går inte att skicka en buffert till porten (%d)"
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr "MMAL Kameratråd startar ... för kamera (%s) av %d x %d vid %d fps"
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr "Kameraparam kunde inte tilldelas"
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr "MMAL-kameraövervakningsport som aktiverar misslyckades"
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr "MMAL-kamerafångstart misslyckades"
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr "MMAL-kamera inte tillgänglig"
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr "MMAL Kamerorengöring"
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr "cmd %d flaggor %08x storlek %d / %d vid %08x, img storlek = %d"
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr "Det går inte att returnera en buffert till kameravideoporten"
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1439,10 +1334,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr "ringer mmalcam-sanering"
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr "calling netcam cleanup"
@@ -1452,16 +1343,8 @@ msgid "Cleaning up V4L2 device"
msgstr "Rengöring av V4L2-enhet"
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr "Ingen rengöring av kameraenheter (MMAL, Netcam, V4L2)"
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr "Öppna MMAL-kam"
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
-msgstr "MMAL-kam kunde inte öppnas"
+msgid "No Camera device cleanup (Netcam, V4L2)"
+msgstr "Ingen rengöring av kameraenheter (Netcam, V4L2)"
#: src/motion_loop.cpp:415
msgid "Opening Netcam"
@@ -1480,12 +1363,12 @@ msgid "V4L2 device failed to open"
msgstr "V4L2-enhet kunde inte öppnas"
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
-msgstr "Ingen kameraenhet specificerad (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
+msgstr "Ingen kameraenhet specificerad (Netcam, V4L2)"
#: src/motion_loop.cpp:491
-#| msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+#| msgid "No Camera device cleanup (Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1672,14 +1555,6 @@ msgstr "webp: tillgängligt"
msgid "webp : not available"
msgstr "webp: not available"
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr "mmal: tillgänglig"
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr "mmal: not available"
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr "mysql: tillgänglig"
diff --git a/po/zh.po b/po/zh.po
index 7b36ff91..c50a9ef8 100644
--- a/po/zh.po
+++ b/po/zh.po
@@ -181,14 +181,6 @@ msgstr "网络摄像机高清参数"
msgid "netcam_userpass"
msgstr "网络摄像机用户名/密码"
-#: src/conf.cpp:774
-msgid "mmalcam_name"
-msgstr "MMAL 摄像机名称"
-
-#: src/conf.cpp:787
-msgid "mmalcam_params"
-msgstr "MMAL 摄像机参数"
-
#: src/conf.cpp:798
#, c-format
msgid "Invalid width %d"
@@ -1297,102 +1289,6 @@ msgstr ""
msgid "Closing logfile (%s)."
msgstr ""
-#: src/mmalcam.cpp:83
-#, c-format
-msgid "Received unexpected camera control callback event, 0x%08x"
-msgstr ""
-
-#: src/mmalcam.cpp:114
-msgid "A high frame rate can cause problems with exposure of images"
-msgstr ""
-
-#: src/mmalcam.cpp:115
-msgid "If autoexposure is not working, try a lower frame rate."
-msgstr ""
-
-#: src/mmalcam.cpp:129
-#, c-format
-msgid "Failed to create MMAL camera component %s"
-msgstr ""
-
-#: src/mmalcam.cpp:135
-#, c-format
-msgid "MMAL camera %s doesn't have output ports"
-msgstr ""
-
-#: src/mmalcam.cpp:145
-#, c-format
-msgid "Unable to enable control port : error %d"
-msgstr ""
-
-#: src/mmalcam.cpp:174
-msgid "MMAL no-padding setup failed"
-msgstr ""
-
-#: src/mmalcam.cpp:180
-msgid "camera video format couldn't be set"
-msgstr ""
-
-#: src/mmalcam.cpp:192
-msgid "camera component couldn't be enabled"
-msgstr ""
-
-#: src/mmalcam.cpp:200
-msgid "MMAL camera component created"
-msgstr ""
-
-#: src/mmalcam.cpp:224
-msgid "MMAL camera buffer pool creation failed"
-msgstr ""
-
-#: src/mmalcam.cpp:230
-msgid "MMAL camera buffer queue creation failed"
-msgstr ""
-
-#: src/mmalcam.cpp:246
-#, c-format
-msgid "Unable to get a required buffer %d from pool queue"
-msgstr ""
-
-#: src/mmalcam.cpp:251
-#, c-format
-msgid "Unable to send a buffer to port (%d)"
-msgstr ""
-
-#: src/mmalcam.cpp:300
-#, c-format
-msgid "MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps"
-msgstr ""
-
-#: src/mmalcam.cpp:305
-msgid "camera params couldn't be allocated"
-msgstr ""
-
-#: src/mmalcam.cpp:331
-msgid "MMAL camera capture port enabling failed"
-msgstr ""
-
-#: src/mmalcam.cpp:339
-msgid "MMAL camera capture start failed"
-msgstr ""
-
-#: src/mmalcam.cpp:351
-msgid "MMAL Camera not available"
-msgstr ""
-
-#: src/mmalcam.cpp:375
-msgid "MMAL Camera cleanup"
-msgstr ""
-
-#: src/mmalcam.cpp:433
-#, c-format
-msgid "cmd %d flags %08x size %d/%d at %08x, img_size=%d"
-msgstr ""
-
-#: src/mmalcam.cpp:450
-msgid "Unable to return a buffer to the camera video port"
-msgstr ""
-
#: src/motion_loop.cpp:60
#, c-format
msgid "Resizing pre_capture buffer to %d items"
@@ -1403,10 +1299,6 @@ msgstr ""
msgid "Motion detected - starting event %d"
msgstr ""
-#: src/motion_loop.cpp:367
-msgid "calling mmalcam_cleanup"
-msgstr ""
-
#: src/motion_loop.cpp:376
msgid "calling netcam_cleanup"
msgstr ""
@@ -1416,15 +1308,7 @@ msgid "Cleaning up V4L2 device"
msgstr ""
#: src/motion_loop.cpp:387
-msgid "No Camera device cleanup (MMAL, Netcam, V4L2)"
-msgstr ""
-
-#: src/motion_loop.cpp:404
-msgid "Opening MMAL cam"
-msgstr ""
-
-#: src/motion_loop.cpp:409
-msgid "MMAL cam failed to open"
+msgid "No Camera device cleanup (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:415
@@ -1444,11 +1328,11 @@ msgid "V4L2 device failed to open"
msgstr ""
#: src/motion_loop.cpp:434
-msgid "No Camera device specified (MMAL, Netcam, V4L2)"
+msgid "No Camera device specified (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:491
-msgid "Unable to determine camera type (MMAL, Netcam, V4L2)"
+msgid "Unable to determine camera type (Netcam, V4L2)"
msgstr ""
#: src/motion_loop.cpp:516
@@ -1623,14 +1507,6 @@ msgstr ""
msgid "webp : not available"
msgstr ""
-#: src/motionplus.cpp:342
-msgid "mmal : available"
-msgstr ""
-
-#: src/motionplus.cpp:344
-msgid "mmal : not available"
-msgstr ""
-
#: src/motionplus.cpp:348
msgid "mysql : available"
msgstr ""
diff --git a/src/Makefile.am b/src/Makefile.am
index a3bb51c1..4ebf6d40 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,10 +20,6 @@
AM_CPPFLAGS= -Dsysconfdir=\"$(sysconfdir)/motionplus\" -DLOCALEDIR=\"$(DESTDIR)$(localedir)\"
-if INC_MMAL_SRC
-MMAL_SRC=raspicam/RaspiCamControl.c raspicam/RaspiCLI.c
-endif
-
LIBS = @LIBINTL@ @LIBS@
bin_PROGRAMS = motionplus
@@ -32,5 +28,5 @@ motionplus_SOURCES = motionplus.cpp motion_loop.cpp logger.cpp conf.cpp util.cpp
video_v4l2.cpp video_common.cpp video_loopback.cpp netcam.cpp jpegutils.cpp exif.cpp \
rotate.cpp draw.cpp event.cpp movie.cpp picture.cpp dbse.cpp \
webu.cpp webu_html.cpp webu_stream.cpp webu_json.cpp webu_post.cpp webu_file.cpp \
- libcam.cpp mmalcam.cpp $(MMAL_SRC)
+ libcam.cpp
diff --git a/src/conf.cpp b/src/conf.cpp
index 2d06dcda..9d13cab9 100644
--- a/src/conf.cpp
+++ b/src/conf.cpp
@@ -62,8 +62,6 @@ ctx_parm config_parms[] = {
{"netcam_high_url", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
{"netcam_high_params", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
{"netcam_userpass", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
- {"mmalcam_name", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
- {"mmalcam_params", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
{"libcam_name", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
{"libcam_params", PARM_TYP_STRING, PARM_CAT_02, WEBUI_LEVEL_ADVANCED },
@@ -808,32 +806,6 @@ static void conf_edit_netcam_userpass(ctx_cam *cam, std::string &parm, enum PARM
MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,"%s:%s","netcam_userpass",_("netcam_userpass"));
}
-static void conf_edit_mmalcam_name(ctx_cam *cam, std::string &parm, enum PARM_ACT pact)
-{
- if (pact == PARM_ACT_DFLT) {
- cam->conf->mmalcam_name = "";
- } else if (pact == PARM_ACT_SET) {
- cam->conf->mmalcam_name = parm;
- } else if (pact == PARM_ACT_GET) {
- parm = cam->conf->mmalcam_name;
- }
- return;
- MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,"%s:%s","mmalcam_name",_("mmalcam_name"));
-}
-
-static void conf_edit_mmalcam_params(ctx_cam *cam, std::string &parm, enum PARM_ACT pact)
-{
- if (pact == PARM_ACT_DFLT) {
- cam->conf->mmalcam_params = "";
- } else if (pact == PARM_ACT_SET) {
- cam->conf->mmalcam_params = parm;
- } else if (pact == PARM_ACT_GET) {
- parm = cam->conf->mmalcam_params;
- }
- return;
- MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,"%s:%s","mmalcam_params",_("mmalcam_params"));
-}
-
static void conf_edit_libcam_name(ctx_cam *cam, std::string &parm, enum PARM_ACT pact)
{
if (pact == PARM_ACT_DFLT) {
@@ -2923,8 +2895,6 @@ static void conf_edit_cat02(ctx_cam *cam, std::string parm_nm
} else if (parm_nm == "netcam_high_url") { conf_edit_netcam_high_url(cam, parm_val, pact);
} else if (parm_nm == "netcam_high_params") { conf_edit_netcam_high_params(cam, parm_val, pact);
} else if (parm_nm == "netcam_userpass") { conf_edit_netcam_userpass(cam, parm_val, pact);
- } else if (parm_nm == "mmalcam_name") { conf_edit_mmalcam_name(cam, parm_val, pact);
- } else if (parm_nm == "mmalcam_params") { conf_edit_mmalcam_params(cam, parm_val, pact);
} else if (parm_nm == "libcam_name") { conf_edit_libcam_name(cam, parm_val, pact);
} else if (parm_nm == "libcam_params") { conf_edit_libcam_params(cam, parm_val, pact);
}
diff --git a/src/conf.hpp b/src/conf.hpp
index f3b5e070..7b791dcf 100644
--- a/src/conf.hpp
+++ b/src/conf.hpp
@@ -41,9 +41,6 @@
std::string netcam_high_params;
std::string netcam_userpass;
- std::string mmalcam_name;
- std::string mmalcam_params;
-
std::string libcam_name;
std::string libcam_params;
diff --git a/src/mmalcam.cpp b/src/mmalcam.cpp
deleted file mode 100644
index eb41cd0e..00000000
--- a/src/mmalcam.cpp
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * This file is part of MotionPlus.
- *
- * MotionPlus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * MotionPlus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with MotionPlus. If not, see .
- *
- * Copyright 2020-2022 MotionMrDave@gmail.com
- * Copyright 2013 by Nicholas Tuckett
- *
- */
-
-#include "motionplus.hpp"
-#include "conf.hpp"
-#include "logger.hpp"
-#include "util.hpp"
-#include "rotate.hpp"
-#include "mmalcam.hpp"
-
-#ifdef HAVE_MMAL
-
-extern "C" {
- #include "interface/vcos/vcos.h"
- #include "interface/mmal/mmal.h"
- #include "interface/mmal/mmal_buffer.h"
- #include "interface/mmal/mmal_port.h"
- #include "interface/mmal/util/mmal_util.h"
- #include "interface/mmal/util/mmal_util_params.h"
- #include "interface/mmal/util/mmal_default_components.h"
- #include "interface/mmal/util/mmal_connection.h"
- #include "raspicam/RaspiCamControl.h"
-}
-
-#define MMALCAM_OK 0
-#define MMALCAM_ERROR -1
-
-#define MMAL_CAMERA_PREVIEW_PORT 0
-#define MMAL_CAMERA_VIDEO_PORT 1
-#define MMAL_CAMERA_CAPTURE_PORT 2
-#define VIDEO_FRAME_RATE_NUM 30
-#define VIDEO_FRAME_RATE_DEN 1
-#define VIDEO_OUTPUT_BUFFERS_NUM 3
-
-const int MAX_BITRATE = 30000000; // 30Mbits/s
-
-static void parse_camera_control_params(const char *control_params_str, RASPICAM_CAMERA_PARAMETERS *camera_params)
-{
- char *control_params_tok =(char*) alloca(strlen(control_params_str) + 1);
- strcpy(control_params_tok, control_params_str);
-
- char *next_param = strtok(control_params_tok, " ");
-
- while (next_param != NULL) {
- char *param_val = strtok(NULL, " ");
- if (raspicamcontrol_parse_cmdline(camera_params, next_param + 1, param_val) < 2) {
- next_param = param_val;
- } else {
- next_param = strtok(NULL, " ");
- }
- }
-}
-
-static void check_disable_port(MMAL_PORT_T *port)
-{
- if (port && port->is_enabled) {
- mmal_port_disable(port);
- }
-}
-
-static void camera_control_callback(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
-{
- if (buffer->cmd != MMAL_EVENT_PARAMETER_CHANGED) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("Received unexpected camera control callback event, 0x%08x"), buffer->cmd);
- }
-
- mmal_buffer_header_release(buffer);
-}
-
-static void camera_buffer_callback(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
-{
- ctx_mmalcam_ptr mmalcam = (ctx_mmalcam_ptr) port->userdata;
- mmal_queue_put(mmalcam->camera_buffer_queue, buffer);
-}
-
-static void set_port_format(ctx_mmalcam_ptr mmalcam, MMAL_ES_FORMAT_T *format)
-{
- format->encoding = MMAL_ENCODING_OPAQUE;
- format->encoding_variant = MMAL_ENCODING_I420;
- format->es->video.width = (unsigned int)mmalcam->width;
- format->es->video.height = (unsigned int)mmalcam->height;
- format->es->video.crop.x = 0;
- format->es->video.crop.y = 0;
- format->es->video.crop.width = (unsigned int)mmalcam->width;
- format->es->video.crop.height = (unsigned int)mmalcam->height;
-}
-
-static void set_video_port_format(ctx_mmalcam_ptr mmalcam, MMAL_ES_FORMAT_T *format)
-{
- set_port_format(mmalcam, format);
- format->es->video.frame_rate.num = mmalcam->framerate;
- format->es->video.frame_rate.den = VIDEO_FRAME_RATE_DEN;
- if (mmalcam->framerate > 30) {
- /* The pi noir camera could not determine autoexpose at high frame rates */
- MOTION_LOG(WRN, TYPE_VIDEO, NO_ERRNO, _("A high frame rate can cause problems with exposure of images"));
- MOTION_LOG(WRN, TYPE_VIDEO, NO_ERRNO, _("If autoexposure is not working, try a lower frame rate."));
- }
-}
-
-static int create_camera_component(ctx_mmalcam_ptr mmalcam, const char *mmalcam_name)
-{
- MMAL_STATUS_T status;
- MMAL_COMPONENT_T *camera_component;
- MMAL_PORT_T *video_port = NULL;
-
- status = mmal_component_create(mmalcam_name, &camera_component);
-
- if (status != MMAL_SUCCESS) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("Failed to create MMAL camera component %s"), mmalcam_name);
- goto error;
- }
-
- if (camera_component->output_num == 0) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("MMAL camera %s doesn't have output ports"), mmalcam_name);
- goto error;
- }
-
- video_port = camera_component->output[MMAL_CAMERA_VIDEO_PORT];
-
- status = mmal_port_enable(camera_component->control, camera_control_callback);
-
- if (status) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("Unable to enable control port : error %d"), status);
- goto error;
- }
-
- // set up the camera configuration
- {
- MMAL_PARAMETER_CAMERA_CONFIG_T cam_config = {
- { MMAL_PARAMETER_CAMERA_CONFIG, sizeof(cam_config) },
- .max_stills_w = (unsigned int)mmalcam->width,
- .max_stills_h = (unsigned int)mmalcam->height,
- .stills_yuv422 = 0,
- .one_shot_stills = 0,
- .max_preview_video_w = (unsigned int)mmalcam->width,
- .max_preview_video_h = (unsigned int)mmalcam->height,
- .num_preview_video_frames = 3,
- .stills_capture_circular_buffer_height = 0,
- .fast_preview_resume = 0,
- .use_stc_timestamp = MMAL_PARAM_TIMESTAMP_MODE_RESET_STC };
- mmal_port_parameter_set(camera_component->control, &cam_config.hdr);
- }
-
- set_video_port_format(mmalcam, video_port->format);
- video_port->format->encoding = MMAL_ENCODING_I420;
- // set buffer size for an aligned/padded frame
- video_port->buffer_size = VCOS_ALIGN_UP(mmalcam->width, 32) *
- VCOS_ALIGN_UP(mmalcam->height, 16) * 3 / 2;
-
- if (mmal_port_parameter_set_boolean(video_port, MMAL_PARAMETER_NO_IMAGE_PADDING, 1)
- != MMAL_SUCCESS) {
- MOTION_LOG(WRN, TYPE_VIDEO, NO_ERRNO, _("MMAL no-padding setup failed"));
- }
-
- status = mmal_port_format_commit(video_port);
-
- if (status) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("camera video format couldn't be set"));
- goto error;
- }
-
- // Ensure there are enough buffers to avoid dropping frames
- if (video_port->buffer_num < VIDEO_OUTPUT_BUFFERS_NUM) {
- video_port->buffer_num = VIDEO_OUTPUT_BUFFERS_NUM;
- }
-
- status = mmal_component_enable(camera_component);
-
- if (status) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("camera component couldn't be enabled"));
- goto error;
- }
-
- raspicamcontrol_set_all_parameters(camera_component, mmalcam->camera_parameters);
- mmalcam->camera_component = camera_component;
- mmalcam->camera_capture_port = video_port;
- mmalcam->camera_capture_port->userdata = (struct MMAL_PORT_USERDATA_T*) mmalcam;
- MOTION_LOG(NTC, TYPE_VIDEO, NO_ERRNO, _("MMAL camera component created"));
- return MMALCAM_OK;
-
- error: if (mmalcam->camera_component != NULL ) {
- mmal_component_destroy(camera_component);
- mmalcam->camera_component = NULL;
- }
-
- return MMALCAM_ERROR;
-}
-
-static void destroy_camera_component(ctx_mmalcam_ptr mmalcam)
-{
- if (mmalcam->camera_component) {
- mmal_component_destroy(mmalcam->camera_component);
- mmalcam->camera_component = NULL;
- }
-}
-
-static int create_camera_buffer_structures(ctx_mmalcam_ptr mmalcam)
-{
- mmalcam->camera_buffer_pool = mmal_pool_create(mmalcam->camera_capture_port->buffer_num,
- mmalcam->camera_capture_port->buffer_size);
- if (mmalcam->camera_buffer_pool == NULL ) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("MMAL camera buffer pool creation failed"));
- return MMALCAM_ERROR;
- }
-
- mmalcam->camera_buffer_queue = mmal_queue_create();
- if (mmalcam->camera_buffer_queue == NULL ) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("MMAL camera buffer queue creation failed"));
- return MMALCAM_ERROR;
- }
-
- return MMALCAM_OK;
-}
-
-static int send_pooled_buffers_to_port(MMAL_POOL_T *pool, MMAL_PORT_T *port)
-{
- int num = mmal_queue_length(pool->queue);
-
- for (int i = 0; i < num; i++) {
- MMAL_BUFFER_HEADER_T *buffer = mmal_queue_get(pool->queue);
-
- if (!buffer) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("Unable to get a required buffer %d from pool queue"), i);
- return MMALCAM_ERROR;
- }
-
- if (mmal_port_send_buffer(port, buffer) != MMAL_SUCCESS) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("Unable to send a buffer to port (%d)"), i);
- return MMALCAM_ERROR;
- }
- }
-
- return MMALCAM_OK;
-}
-
-static void destroy_camera_buffer_structures(ctx_mmalcam_ptr mmalcam)
-{
- if (mmalcam->camera_buffer_queue != NULL ) {
- mmal_queue_destroy(mmalcam->camera_buffer_queue);
- mmalcam->camera_buffer_queue = NULL;
- }
-
- if (mmalcam->camera_buffer_pool != NULL ) {
- mmal_pool_destroy(mmalcam->camera_buffer_pool);
- mmalcam->camera_buffer_pool = NULL;
- }
-}
-
-#endif
-
-void mmalcam_cleanup(ctx_cam *cam)
-{
- #ifdef HAVE_MMAL
- MOTION_LOG(NTC, TYPE_VIDEO, NO_ERRNO, _("MMAL Camera cleanup"));
-
- if (cam->mmalcam != NULL ) {
- if (cam->mmalcam->camera_component) {
- check_disable_port(cam->mmalcam->camera_capture_port);
- mmal_component_disable(cam->mmalcam->camera_component);
- destroy_camera_buffer_structures(cam->mmalcam);
- destroy_camera_component(cam->mmalcam);
- }
- myfree(&cam->mmalcam->camera_parameters);
- myfree(&cam->mmalcam);
- }
- #endif
-
- cam->camera_status = STATUS_CLOSED;
- cam->running_cam = false;
-
-}
-
-void mmalcam_start(ctx_cam *cam)
-{
- #ifdef HAVE_MMAL
-
- ctx_mmalcam_ptr mmalcam;
-
- MOTION_LOG(NTC, TYPE_VIDEO, NO_ERRNO,_("Opening MMAL cam"));
-
- cam->mmalcam = (ctx_mmalcam*) mymalloc(sizeof(ctx_mmalcam));
- memset(cam->mmalcam, 0, sizeof(ctx_mmalcam));
- mmalcam = cam->mmalcam;
- mmalcam->cam = cam;
-
- MOTION_LOG(NTC, TYPE_VIDEO, NO_ERRNO
- ,_("MMAL Camera thread starting... for camera (%s) of %d x %d at %d fps")
- ,cam->conf->mmalcam_name.c_str(), cam->conf->width, cam->conf->height, cam->conf->framerate);
-
- mmalcam->camera_parameters = (RASPICAM_CAMERA_PARAMETERS*)malloc(sizeof(RASPICAM_CAMERA_PARAMETERS));
- if (mmalcam->camera_parameters == NULL) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("camera params couldn't be allocated"));
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO,_("MMAL cam failed to open"));
- mmalcam_cleanup(cam);
- return;
- }
-
- raspicamcontrol_set_defaults(mmalcam->camera_parameters);
- mmalcam->width = cam->conf->width;
- mmalcam->height = cam->conf->height;
- mmalcam->framerate = cam->conf->framerate;
-
- if (cam->conf->mmalcam_params != "") {
- parse_camera_control_params(cam->conf->mmalcam_params.c_str(), mmalcam->camera_parameters);
- }
-
- cam->imgs.width = mmalcam->width;
- cam->imgs.height = mmalcam->height;
- cam->imgs.size_norm = (mmalcam->width * mmalcam->height * 3) / 2;
- cam->imgs.motionsize = mmalcam->width * mmalcam->height;
-
- int retval = create_camera_component(mmalcam, cam->conf->mmalcam_name.c_str());
-
- if (retval == 0) {
- retval = create_camera_buffer_structures(mmalcam);
- }
-
- if (retval == 0) {
- if (mmal_port_enable(mmalcam->camera_capture_port, camera_buffer_callback)) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("MMAL camera capture port enabling failed"));
- retval = MMALCAM_ERROR;
- }
- }
-
- if (retval == 0) {
- if (mmal_port_parameter_set_boolean(mmalcam->camera_capture_port, MMAL_PARAMETER_CAPTURE, 1)
- != MMAL_SUCCESS) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO, _("MMAL camera capture start failed"));
- retval = MMALCAM_ERROR;
- }
- }
-
- if (retval == 0) {
- retval = send_pooled_buffers_to_port(mmalcam->camera_buffer_pool, mmalcam->camera_capture_port);
- }
-
- if (retval == 0) {
- cam->camera_status = STATUS_OPENED;
- } else {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO,_("MMAL cam failed to open"));
- mmalcam_cleanup(cam);
- }
- #else
- cam->camera_status = STATUS_CLOSED;
- MOTION_LOG(NTC, TYPE_VIDEO, NO_ERRNO,_("MMAL Camera not available"));
- #endif
-}
-
-
-/**
- * Return image from mmalcam. Runs on motion_loop thread.
- */
-int mmalcam_next(ctx_cam *cam, ctx_image_data *img_data)
-{
- #ifdef HAVE_MMAL
- ctx_mmalcam_ptr mmalcam;
-
- if ((!cam) || (!cam->mmalcam)) {
- return CAPTURE_FAILURE;
- }
-
- mmalcam = cam->mmalcam;
-
- MMAL_BUFFER_HEADER_T *camera_buffer = mmal_queue_wait(mmalcam->camera_buffer_queue);
-
- if (camera_buffer->cmd == 0 && (camera_buffer->flags & MMAL_BUFFER_HEADER_FLAG_FRAME_END)
- && camera_buffer->length >= cam->imgs.size_norm) {
- mmal_buffer_header_mem_lock(camera_buffer);
- memcpy(img_data->image_norm, camera_buffer->data, cam->imgs.size_norm);
- mmal_buffer_header_mem_unlock(camera_buffer);
- } else {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("cmd %d flags %08x size %d/%d at %08x, img_size=%d")
- ,camera_buffer->cmd, camera_buffer->flags, camera_buffer->length
- ,camera_buffer->alloc_size, camera_buffer->data, cam->imgs.size_norm);
- }
-
- mmal_buffer_header_release(camera_buffer);
-
- if (mmalcam->camera_capture_port->is_enabled) {
- MMAL_STATUS_T status;
- MMAL_BUFFER_HEADER_T *new_buffer = mmal_queue_get(mmalcam->camera_buffer_pool->queue);
-
- if (new_buffer) {
- status = mmal_port_send_buffer(mmalcam->camera_capture_port, new_buffer);
- }
-
- if (!new_buffer || status != MMAL_SUCCESS) {
- MOTION_LOG(ERR, TYPE_VIDEO, NO_ERRNO
- ,_("Unable to return a buffer to the camera video port"));
- }
- }
-
- rotate_map(cam,img_data);
-
- return CAPTURE_SUCCESS;
- #else
- (void)cam;
- (void)img_data;
- return CAPTURE_FAILURE;
- #endif
-}
-
diff --git a/src/mmalcam.hpp b/src/mmalcam.hpp
deleted file mode 100644
index 0d3d9a9b..00000000
--- a/src/mmalcam.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of MotionPlus.
- *
- * MotionPlus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * MotionPlus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with MotionPlus. If not, see .
- *
- * Copyright 2020-2022 MotionMrDave@gmail.com
- * Copyright 2013 by Nicholas Tuckett
- */
-
-#ifndef _INCLUDE_MMALCAM_HPP_
-#define _INCLUDE_MMALCAM_HPP_
-
- typedef struct ctx_mmalcam *ctx_mmalcam_ptr;
-
- typedef struct ctx_mmalcam {
- ctx_cam *cam; /* pointer to parent motion
- context structure */
- int width;
- int height;
- int framerate;
- #ifdef HAVE_MMAL
- struct MMAL_COMPONENT_T *camera_component;
- struct MMAL_PORT_T *camera_capture_port;
- struct MMAL_POOL_T *camera_buffer_pool;
- struct MMAL_QUEUE_T *camera_buffer_queue;
- struct raspicam_camera_parameters_s *camera_parameters;
- #endif
- } ctx_mmalcam;
-
- void mmalcam_start (ctx_cam *cam);
- int mmalcam_next (ctx_cam *cam, ctx_image_data *img_data);
- void mmalcam_cleanup (ctx_cam *cam);
-
-#endif /* _INCLUDE_MMALCAM_HPP_ */
diff --git a/src/motion_loop.cpp b/src/motion_loop.cpp
index ab5dfd40..65cc0ba5 100644
--- a/src/motion_loop.cpp
+++ b/src/motion_loop.cpp
@@ -25,7 +25,6 @@
#include "motion_loop.hpp"
#include "rotate.hpp"
#include "movie.hpp"
-#include "mmalcam.hpp"
#include "libcam.hpp"
#include "video_v4l2.hpp"
#include "video_loopback.hpp"
@@ -365,11 +364,6 @@ static void mlp_mask_privacy(ctx_cam *cam)
/* Close and clean up camera*/
void mlp_cam_close(ctx_cam *cam)
{
- if (cam->mmalcam != NULL) {
- mmalcam_cleanup(cam);
- return;
- }
-
if (cam->libcam != NULL) {
libcam_cleanup(cam);
return;
@@ -393,9 +387,7 @@ void mlp_cam_close(ctx_cam *cam)
/* Start camera */
void mlp_cam_start(ctx_cam *cam)
{
- if (cam->camera_type == CAMERA_TYPE_MMAL) {
- mmalcam_start(cam);
- } else if (cam->camera_type == CAMERA_TYPE_LIBCAM) {
+ if (cam->camera_type == CAMERA_TYPE_LIBCAM) {
libcam_start(cam);
} else if (cam->camera_type == CAMERA_TYPE_NETCAM) {
netcam_start(cam);
@@ -411,9 +403,7 @@ void mlp_cam_start(ctx_cam *cam)
/* Get next image from camera */
int mlp_cam_next(ctx_cam *cam, ctx_image_data *img_data)
{
- if (cam->camera_type == CAMERA_TYPE_MMAL) {
- return mmalcam_next(cam, img_data);
- } else if (cam->camera_type == CAMERA_TYPE_LIBCAM) {
+ if (cam->camera_type == CAMERA_TYPE_LIBCAM) {
return libcam_next(cam, img_data);
} else if (cam->camera_type == CAMERA_TYPE_NETCAM) {
return netcam_next(cam, img_data);
@@ -427,11 +417,6 @@ int mlp_cam_next(ctx_cam *cam, ctx_image_data *img_data)
/* Assign the camera type */
static int init_camera_type(ctx_cam *cam)
{
- if (cam->conf->mmalcam_name != "") {
- cam->camera_type = CAMERA_TYPE_MMAL;
- return 0;
- }
-
if (cam->conf->libcam_name != "") {
cam->camera_type = CAMERA_TYPE_LIBCAM;
return 0;
diff --git a/src/motionplus.cpp b/src/motionplus.cpp
index 53a42f97..221d68ec 100644
--- a/src/motionplus.cpp
+++ b/src/motionplus.cpp
@@ -330,12 +330,6 @@ static void motion_ntc(void)
MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,_("webp : not available"));
#endif
- #ifdef HAVE_MMAL
- MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,_("mmal : available"));
- #else
- MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,_("mmal : not available"));
- #endif
-
#ifdef HAVE_LIBCAM
MOTION_LOG(DBG, TYPE_ALL, NO_ERRNO,_("libcam : available"));
#else
diff --git a/src/motionplus.hpp b/src/motionplus.hpp
index 2d93ad5f..39feca95 100644
--- a/src/motionplus.hpp
+++ b/src/motionplus.hpp
@@ -81,7 +81,6 @@ struct ctx_rotate;
struct ctx_images;
struct ctx_image_data;
struct ctx_dbse;
-struct ctx_mmalcam;
struct ctx_movie;
struct ctx_netcam;
struct ctx_algsec;
@@ -150,7 +149,6 @@ class cls_libcam;
enum CAMERA_TYPE {
CAMERA_TYPE_UNKNOWN,
CAMERA_TYPE_V4L2,
- CAMERA_TYPE_MMAL,
CAMERA_TYPE_LIBCAM,
CAMERA_TYPE_NETCAM
};
@@ -309,7 +307,6 @@ struct ctx_cam {
ctx_config *conf;
ctx_images imgs;
- ctx_mmalcam *mmalcam;
ctx_netcam *netcam; /* this structure contains the context for normal RTSP connection */
ctx_netcam *netcam_high; /* this structure contains the context for high resolution RTSP connection */
ctx_v4l2cam *v4l2cam;
diff --git a/src/raspicam/README.txt b/src/raspicam/README.txt
deleted file mode 100644
index 655a99f7..00000000
--- a/src/raspicam/README.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-The files in this directory are used in the MMAL/RaspberryPI camera
-support code. The files were taken from the Raspberry PI userland git
-repository:
-
-https://github.com/raspberrypi/userland
-
-The files are mostly a straight copy from the userland versions. Only
-the "RaspiCamControl.c" file was altered to include the
-"mmal_status_to_int" function defined in the helper module
-"RaspiHelpers.h". The callout to the helper module was therefore
-removed. The inserted "mmal_status_to_int" function is an exact copy
-from the helper module.
-
-They are used to parse an options string and setup the camera
-parameters appropriately. The format of the string is the same as
-other raspberry pi camera tools.
diff --git a/src/raspicam/RaspiCLI.c b/src/raspicam/RaspiCLI.c
deleted file mode 100644
index 50345111..00000000
--- a/src/raspicam/RaspiCLI.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-Copyright (c) 2013, Broadcom Europe Ltd
-Copyright (c) 2013, James Hughes
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the copyright holder nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/**
- * \file RaspiCLI.c
- * Code for handling command line parameters
- *
- * \date 4th March 2013
- * \Author: James Hughes
- *
- * Description
- *
- * Some functions/structures for command line parameter parsing
- *
- */
-#include
-#include
-#include
-#include
-
-#include "interface/vcos/vcos.h"
-
-#include "RaspiCLI.h"
-
-
-/**
- * Convert a string from command line to a comand_id from the list
- *
- * @param commands Array of command to check
- * @param num_command Number of commands in the array
- * @param arg String to search for in the list
- * @param num_parameters Returns the number of parameters used by the command
- *
- * @return command ID if found, -1 if not found
- *
- */
-int raspicli_get_command_id(const COMMAND_LIST *commands, const int num_commands, const char *arg, int *num_parameters)
-{
- int command_id = -1;
- int j;
-
- vcos_assert(commands);
- vcos_assert(num_parameters);
- vcos_assert(arg);
-
- if (!commands || !num_parameters || !arg)
- return -1;
-
- for (j = 0; j < num_commands; j++)
- {
- if (!strcmp(arg, commands[j].command) ||
- !strcmp(arg, commands[j].abbrev))
- {
- // match
- command_id = commands[j].id;
- *num_parameters = commands[j].num_parameters;
- break;
- }
- }
-
- return command_id;
-}
-
-
-/**
- * Display the list of commands in help format
- *
- * @param commands Array of command to check
- * @param num_command Number of commands in the arry
- *
- *
- */
-void raspicli_display_help(const COMMAND_LIST *commands, const int num_commands)
-{
- int i;
-
- vcos_assert(commands);
-
- if (!commands)
- return;
-
- for (i = 0; i < num_commands; i++)
- {
- fprintf(stdout, "-%s, -%s\t: %s\n", commands[i].abbrev,
- commands[i].command, commands[i].help);
- }
-}
-
-
-/**
- * Function to take a string, a mapping, and return the int equivalent
- * @param str Incoming string to match
- * @param map Mapping data
- * @param num_refs The number of items in the mapping data
- * @return The integer match for the string, or -1 if no match
- */
-int raspicli_map_xref(const char *str, const XREF_T *map, int num_refs)
-{
- int i;
-
- for (i=0; i
-#include
-#include
-
-#include "interface/vcos/vcos.h"
-
-#include "interface/vmcs_host/vc_vchi_gencmd.h"
-#include "interface/mmal/mmal.h"
-#include "interface/mmal/mmal_logging.h"
-#include "interface/mmal/util/mmal_util.h"
-#include "interface/mmal/util/mmal_util_params.h"
-#include "interface/mmal/util/mmal_default_components.h"
-#include "interface/mmal/util/mmal_connection.h"
-
-#include "RaspiCamControl.h"
-#include "RaspiCLI.h"
-
-/// Structure to cross reference exposure strings against the MMAL parameter equivalent
-static XREF_T exposure_map[] =
-{
- {"off", MMAL_PARAM_EXPOSUREMODE_OFF},
- {"auto", MMAL_PARAM_EXPOSUREMODE_AUTO},
- {"night", MMAL_PARAM_EXPOSUREMODE_NIGHT},
- {"nightpreview", MMAL_PARAM_EXPOSUREMODE_NIGHTPREVIEW},
- {"backlight", MMAL_PARAM_EXPOSUREMODE_BACKLIGHT},
- {"spotlight", MMAL_PARAM_EXPOSUREMODE_SPOTLIGHT},
- {"sports", MMAL_PARAM_EXPOSUREMODE_SPORTS},
- {"snow", MMAL_PARAM_EXPOSUREMODE_SNOW},
- {"beach", MMAL_PARAM_EXPOSUREMODE_BEACH},
- {"verylong", MMAL_PARAM_EXPOSUREMODE_VERYLONG},
- {"fixedfps", MMAL_PARAM_EXPOSUREMODE_FIXEDFPS},
- {"antishake", MMAL_PARAM_EXPOSUREMODE_ANTISHAKE},
- {"fireworks", MMAL_PARAM_EXPOSUREMODE_FIREWORKS}
-};
-
-static const int exposure_map_size = sizeof(exposure_map) / sizeof(exposure_map[0]);
-
-/// Structure to cross reference flicker avoid strings against the MMAL parameter equivalent
-
-static XREF_T flicker_avoid_map[] =
-{
- {"off", MMAL_PARAM_FLICKERAVOID_OFF},
- {"auto", MMAL_PARAM_FLICKERAVOID_AUTO},
- {"50hz", MMAL_PARAM_FLICKERAVOID_50HZ},
- {"60hz", MMAL_PARAM_FLICKERAVOID_60HZ}
-};
-
-static const int flicker_avoid_map_size = sizeof(flicker_avoid_map) / sizeof(flicker_avoid_map[0]);
-
-/// Structure to cross reference awb strings against the MMAL parameter equivalent
-static XREF_T awb_map[] =
-{
- {"off", MMAL_PARAM_AWBMODE_OFF},
- {"auto", MMAL_PARAM_AWBMODE_AUTO},
- {"sun", MMAL_PARAM_AWBMODE_SUNLIGHT},
- {"cloud", MMAL_PARAM_AWBMODE_CLOUDY},
- {"shade", MMAL_PARAM_AWBMODE_SHADE},
- {"tungsten", MMAL_PARAM_AWBMODE_TUNGSTEN},
- {"fluorescent", MMAL_PARAM_AWBMODE_FLUORESCENT},
- {"incandescent", MMAL_PARAM_AWBMODE_INCANDESCENT},
- {"flash", MMAL_PARAM_AWBMODE_FLASH},
- {"horizon", MMAL_PARAM_AWBMODE_HORIZON},
- {"greyworld", MMAL_PARAM_AWBMODE_GREYWORLD}
-};
-
-static const int awb_map_size = sizeof(awb_map) / sizeof(awb_map[0]);
-
-/// Structure to cross reference image effect against the MMAL parameter equivalent
-static XREF_T imagefx_map[] =
-{
- {"none", MMAL_PARAM_IMAGEFX_NONE},
- {"negative", MMAL_PARAM_IMAGEFX_NEGATIVE},
- {"solarise", MMAL_PARAM_IMAGEFX_SOLARIZE},
- {"sketch", MMAL_PARAM_IMAGEFX_SKETCH},
- {"denoise", MMAL_PARAM_IMAGEFX_DENOISE},
- {"emboss", MMAL_PARAM_IMAGEFX_EMBOSS},
- {"oilpaint", MMAL_PARAM_IMAGEFX_OILPAINT},
- {"hatch", MMAL_PARAM_IMAGEFX_HATCH},
- {"gpen", MMAL_PARAM_IMAGEFX_GPEN},
- {"pastel", MMAL_PARAM_IMAGEFX_PASTEL},
- {"watercolour", MMAL_PARAM_IMAGEFX_WATERCOLOUR},
- {"film", MMAL_PARAM_IMAGEFX_FILM},
- {"blur", MMAL_PARAM_IMAGEFX_BLUR},
- {"saturation", MMAL_PARAM_IMAGEFX_SATURATION},
- {"colourswap", MMAL_PARAM_IMAGEFX_COLOURSWAP},
- {"washedout", MMAL_PARAM_IMAGEFX_WASHEDOUT},
- {"posterise", MMAL_PARAM_IMAGEFX_POSTERISE},
- {"colourpoint", MMAL_PARAM_IMAGEFX_COLOURPOINT},
- {"colourbalance", MMAL_PARAM_IMAGEFX_COLOURBALANCE},
- {"cartoon", MMAL_PARAM_IMAGEFX_CARTOON}
-};
-
-static const int imagefx_map_size = sizeof(imagefx_map) / sizeof(imagefx_map[0]);
-
-static XREF_T metering_mode_map[] =
-{
- {"average", MMAL_PARAM_EXPOSUREMETERINGMODE_AVERAGE},
- {"spot", MMAL_PARAM_EXPOSUREMETERINGMODE_SPOT},
- {"backlit", MMAL_PARAM_EXPOSUREMETERINGMODE_BACKLIT},
- {"matrix", MMAL_PARAM_EXPOSUREMETERINGMODE_MATRIX}
-};
-
-static const int metering_mode_map_size = sizeof(metering_mode_map)/sizeof(metering_mode_map[0]);
-
-static XREF_T drc_mode_map[] =
-{
- {"off", MMAL_PARAMETER_DRC_STRENGTH_OFF},
- {"low", MMAL_PARAMETER_DRC_STRENGTH_LOW},
- {"med", MMAL_PARAMETER_DRC_STRENGTH_MEDIUM},
- {"high", MMAL_PARAMETER_DRC_STRENGTH_HIGH}
-};
-
-static const int drc_mode_map_size = sizeof(drc_mode_map)/sizeof(drc_mode_map[0]);
-
-static XREF_T stereo_mode_map[] =
-{
- {"off", MMAL_STEREOSCOPIC_MODE_NONE},
- {"sbs", MMAL_STEREOSCOPIC_MODE_SIDE_BY_SIDE},
- {"tb", MMAL_STEREOSCOPIC_MODE_TOP_BOTTOM},
-};
-
-static const int stereo_mode_map_size = sizeof(stereo_mode_map)/sizeof(stereo_mode_map[0]);
-
-enum
-{
- CommandSharpness,
- CommandContrast,
- CommandBrightness,
- CommandSaturation,
- CommandISO,
- CommandVideoStab,
- CommandEVComp,
- CommandExposure,
- CommandAWB,
- CommandImageFX,
- CommandColourFX,
- CommandMeterMode,
- CommandRotation,
- CommandHFlip,
- CommandVFlip,
- CommandROI,
- CommandShutterSpeed,
- CommandAwbGains,
- CommandDRCLevel,
- CommandStatsPass,
- CommandAnnotate,
- CommandStereoMode,
- CommandStereoDecimate,
- CommandStereoSwap,
- CommandAnnotateExtras,
- CommandFlicker,
- CommandAnalogGain,
- CommandDigitalGain,
- CommandSettings
-};
-
-static COMMAND_LIST cmdline_commands[] =
-{
- {CommandSharpness, "-sharpness", "sh", "Set image sharpness (-100 to 100)", 1},
- {CommandContrast, "-contrast", "co", "Set image contrast (-100 to 100)", 1},
- {CommandBrightness, "-brightness","br", "Set image brightness (0 to 100)", 1},
- {CommandSaturation, "-saturation","sa", "Set image saturation (-100 to 100)", 1},
- {CommandISO, "-ISO", "ISO","Set capture ISO", 1},
- {CommandVideoStab, "-vstab", "vs", "Turn on video stabilisation", 0},
- {CommandEVComp, "-ev", "ev", "Set EV compensation - steps of 1/6 stop", 1},
- {CommandExposure, "-exposure", "ex", "Set exposure mode (see Notes)", 1},
- {CommandFlicker, "-flicker", "fli","Set flicker avoid mode (see Notes)", 1},
- {CommandAWB, "-awb", "awb","Set AWB mode (see Notes)", 1},
- {CommandImageFX, "-imxfx", "ifx","Set image effect (see Notes)", 1},
- {CommandColourFX, "-colfx", "cfx","Set colour effect (U:V)", 1},
- {CommandMeterMode, "-metering", "mm", "Set metering mode (see Notes)", 1},
- {CommandRotation, "-rotation", "rot","Set image rotation (0-359)", 1},
- {CommandHFlip, "-hflip", "hf", "Set horizontal flip", 0},
- {CommandVFlip, "-vflip", "vf", "Set vertical flip", 0},
- {CommandROI, "-roi", "roi","Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])", 1},
- {CommandShutterSpeed,"-shutter", "ss", "Set shutter speed in microseconds", 1},
- {CommandAwbGains, "-awbgains", "awbg", "Set AWB gains - AWB mode must be off", 1},
- {CommandDRCLevel, "-drc", "drc", "Set DRC Level (see Notes)", 1},
- {CommandStatsPass, "-stats", "st", "Force recomputation of statistics on stills capture pass"},
- {CommandAnnotate, "-annotate", "a", "Enable/Set annotate flags or text", 1},
- {CommandStereoMode, "-stereo", "3d", "Select stereoscopic mode", 1},
- {CommandStereoDecimate,"-decimate","dec", "Half width/height of stereo image"},
- {CommandStereoSwap, "-3dswap", "3dswap", "Swap camera order for stereoscopic"},
- {CommandAnnotateExtras,"-annotateex","ae", "Set extra annotation parameters (text size, text colour(hex YUV), bg colour(hex YUV), justify, x, y)", 2},
- {CommandAnalogGain, "-analoggain", "ag", "Set the analog gain (floating point)", 1},
- {CommandDigitalGain, "-digitalgain", "dg", "Set the digital gain (floating point)", 1},
- {CommandSettings, "-settings", "set","Retrieve camera settings and write to stdout", 0},
-};
-
-static int cmdline_commands_size = sizeof(cmdline_commands) / sizeof(cmdline_commands[0]);
-
-
-#define parameter_reset -99999
-
-#define zoom_full_16P16 ((unsigned int)(65536 * 0.15))
-#define zoom_increment_16P16 (65536UL / 10)
-
-/**
- * Update the passed in parameter according to the rest of the parameters
- * passed in.
- *
- *
- * @return 0 if reached end of cycle for this parameter, !0 otherwise
- */
-static int update_cycle_parameter(int *option, int min, int max, int increment)
-{
- vcos_assert(option);
- if (!option)
- return 0;
-
- if (*option == parameter_reset)
- *option = min - increment;
-
- *option += increment;
-
- if (*option > max)
- {
- *option = parameter_reset;
- return 0;
- }
- else
- return 1;
-}
-
-
-/**
- * Test/Demo code to cycle through a bunch of camera settings
- * This code is pretty hacky so please don't complain!!
- * It only does stuff that should have a visual impact (hence demo!)
- * This will override any user supplied parameters
- *
- * Each call of this function will move on to the next setting
- *
- * @param camera Pointer to the camera to change settings on.
- * @return 0 if reached end of complete sequence, !0 otherwise
- */
-
-int raspicamcontrol_cycle_test(MMAL_COMPONENT_T *camera)
-{
- static int parameter = 0;
- static int parameter_option = parameter_reset; // which value the parameter currently has
-
- vcos_assert(camera);
-
- // We are going to cycle through all the relevant entries in the parameter block
- // and send options to the camera.
- if (parameter == 0)
- {
- // sharpness
- if (update_cycle_parameter(¶meter_option, -100, 100, 10))
- raspicamcontrol_set_sharpness(camera, parameter_option);
- else
- {
- raspicamcontrol_set_sharpness(camera, 0);
- parameter++;
- }
- }
- else if (parameter == 1)
- {
- // contrast
- if (update_cycle_parameter(¶meter_option, -100, 100, 10))
- raspicamcontrol_set_contrast(camera, parameter_option);
- else
- {
- raspicamcontrol_set_contrast(camera, 0);
- parameter++;
- }
- }
- else if (parameter == 2)
- {
- // brightness
- if (update_cycle_parameter(¶meter_option, 0, 100, 10))
- raspicamcontrol_set_brightness(camera, parameter_option);
- else
- {
- raspicamcontrol_set_brightness(camera, 50);
- parameter++;
- }
- }
- else if (parameter == 3)
- {
- // contrast
- if (update_cycle_parameter(¶meter_option, -100, 100, 10))
- raspicamcontrol_set_saturation(camera, parameter_option);
- else
- {
- parameter++;
- raspicamcontrol_set_saturation(camera, 0);
- }
- }
- else if (parameter == 4)
- {
- // EV
- if (update_cycle_parameter(¶meter_option, -10, 10, 4))
- raspicamcontrol_set_exposure_compensation(camera, parameter_option);
- else
- {
- raspicamcontrol_set_exposure_compensation(camera, 0);
- parameter++;
- }
- }
- else if (parameter == 5)
- {
- // MMAL_PARAM_EXPOSUREMODE_T
- if (update_cycle_parameter(¶meter_option, 0, exposure_map_size, 1))
- raspicamcontrol_set_exposure_mode(camera, exposure_map[parameter_option].mmal_mode);
- else
- {
- raspicamcontrol_set_exposure_mode(camera, MMAL_PARAM_EXPOSUREMODE_AUTO);
- parameter++;
- }
- }
- else if (parameter == 6)
- {
- // MMAL_PARAM_AWB_T
- if (update_cycle_parameter(¶meter_option, 0, awb_map_size, 1))
- raspicamcontrol_set_awb_mode(camera, awb_map[parameter_option].mmal_mode);
- else
- {
- raspicamcontrol_set_awb_mode(camera, MMAL_PARAM_AWBMODE_AUTO);
- parameter++;
- }
- }
- if (parameter == 7)
- {
- // MMAL_PARAM_IMAGEFX_T
- if (update_cycle_parameter(¶meter_option, 0, imagefx_map_size, 1))
- raspicamcontrol_set_imageFX(camera, imagefx_map[parameter_option].mmal_mode);
- else
- {
- raspicamcontrol_set_imageFX(camera, MMAL_PARAM_IMAGEFX_NONE);
- parameter++;
- }
- }
- if (parameter == 8)
- {
- MMAL_PARAM_COLOURFX_T colfx = {0,0,0};
- switch (parameter_option)
- {
- case parameter_reset :
- parameter_option = 1;
- colfx.u = 128;
- colfx.v = 128;
- break;
- case 1 :
- parameter_option = 2;
- colfx.u = 100;
- colfx.v = 200;
- break;
- case 2 :
- parameter_option = parameter_reset;
- colfx.enable = 0;
- parameter++;
- break;
- }
- raspicamcontrol_set_colourFX(camera, &colfx);
- }
-
- // Orientation
- if (parameter == 9)
- {
- switch (parameter_option)
- {
- case parameter_reset:
- raspicamcontrol_set_rotation(camera, 90);
- parameter_option = 1;
- break;
-
- case 1 :
- raspicamcontrol_set_rotation(camera, 180);
- parameter_option = 2;
- break;
-
- case 2 :
- raspicamcontrol_set_rotation(camera, 270);
- parameter_option = 3;
- break;
-
- case 3 :
- {
- raspicamcontrol_set_rotation(camera, 0);
- raspicamcontrol_set_flips(camera, 1,0);
- parameter_option = 4;
- break;
- }
- case 4 :
- {
- raspicamcontrol_set_flips(camera, 0,1);
- parameter_option = 5;
- break;
- }
- case 5 :
- {
- raspicamcontrol_set_flips(camera, 1, 1);
- parameter_option = 6;
- break;
- }
- case 6 :
- {
- raspicamcontrol_set_flips(camera, 0, 0);
- parameter_option = parameter_reset;
- parameter++;
- break;
- }
- }
- }
-
- if (parameter == 10)
- {
- parameter = 1;
- return 0;
- }
-
- return 1;
-}
-
-
-
-/**
- * Convert string to the MMAL parameter for exposure mode
- * @param str Incoming string to match
- * @return MMAL parameter matching the string, or the AUTO option if no match found
- */
-static MMAL_PARAM_EXPOSUREMODE_T exposure_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, exposure_map, exposure_map_size);
-
- if( i != -1)
- return (MMAL_PARAM_EXPOSUREMODE_T)i;
-
- vcos_log_error("Unknown exposure mode: %s", str);
- return MMAL_PARAM_EXPOSUREMODE_AUTO;
-}
-
-/**
- * Convert string to the MMAL parameter for flicker avoid mode
- * @param str Incoming string to match
- * @return MMAL parameter matching the string, or the AUTO option if no match found
- */
-static MMAL_PARAM_FLICKERAVOID_T flicker_avoid_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, flicker_avoid_map, flicker_avoid_map_size);
-
- if( i != -1)
- return (MMAL_PARAM_FLICKERAVOID_T)i;
-
- vcos_log_error("Unknown flicker avoid mode: %s", str);
- return MMAL_PARAM_FLICKERAVOID_OFF;
-}
-
-/**
- * Convert string to the MMAL parameter for AWB mode
- * @param str Incoming string to match
- * @return MMAL parameter matching the string, or the AUTO option if no match found
- */
-static MMAL_PARAM_AWBMODE_T awb_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, awb_map, awb_map_size);
-
- if( i != -1)
- return (MMAL_PARAM_AWBMODE_T)i;
-
- vcos_log_error("Unknown awb mode: %s", str);
- return MMAL_PARAM_AWBMODE_AUTO;
-}
-
-/**
- * Convert string to the MMAL parameter for image effects mode
- * @param str Incoming string to match
- * @return MMAL parameter matching the strong, or the AUTO option if no match found
- */
-MMAL_PARAM_IMAGEFX_T imagefx_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, imagefx_map, imagefx_map_size);
-
- if( i != -1)
- return (MMAL_PARAM_IMAGEFX_T)i;
-
- vcos_log_error("Unknown image fx: %s", str);
- return MMAL_PARAM_IMAGEFX_NONE;
-}
-
-/**
- * Convert string to the MMAL parameter for exposure metering mode
- * @param str Incoming string to match
- * @return MMAL parameter matching the string, or the AUTO option if no match found
- */
-static MMAL_PARAM_EXPOSUREMETERINGMODE_T metering_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, metering_mode_map, metering_mode_map_size);
-
- if( i != -1)
- return (MMAL_PARAM_EXPOSUREMETERINGMODE_T)i;
-
- vcos_log_error("Unknown metering mode: %s", str);
- return MMAL_PARAM_EXPOSUREMETERINGMODE_AVERAGE;
-}
-
-/**
- * Convert string to the MMAL parameter for DRC level
- * @param str Incoming string to match
- * @return MMAL parameter matching the string, or the AUTO option if no match found
- */
-static MMAL_PARAMETER_DRC_STRENGTH_T drc_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, drc_mode_map, drc_mode_map_size);
-
- if( i != -1)
- return (MMAL_PARAMETER_DRC_STRENGTH_T)i;
-
- vcos_log_error("Unknown DRC level: %s", str);
- return MMAL_PARAMETER_DRC_STRENGTH_OFF;
-}
-
-/**
- * Convert string to the MMAL parameter for exposure metering mode
- * @param str Incoming string to match
- * @return MMAL parameter matching the string, or the AUTO option if no match found
- */
-static MMAL_STEREOSCOPIC_MODE_T stereo_mode_from_string(const char *str)
-{
- int i = raspicli_map_xref(str, stereo_mode_map, stereo_mode_map_size);
-
- if( i != -1)
- return (MMAL_STEREOSCOPIC_MODE_T)i;
-
- vcos_log_error("Unknown metering mode: %s", str);
- return MMAL_STEREOSCOPIC_MODE_NONE;
-}
-
-/**
- * Parse a possible command pair - command and parameter
- * @param arg1 Command
- * @param arg2 Parameter (could be NULL)
- * @return How many parameters were used, 0,1,2
- */
-int raspicamcontrol_parse_cmdline(RASPICAM_CAMERA_PARAMETERS *params, const char *arg1, const char *arg2)
-{
- int command_id, used = 0, num_parameters;
-
- if (!arg1)
- return 0;
-
- command_id = raspicli_get_command_id(cmdline_commands, cmdline_commands_size, arg1, &num_parameters);
-
- // If invalid command, or we are missing a parameter, drop out
- if (command_id==-1 || (command_id != -1 && num_parameters > 0 && arg2 == NULL))
- return 0;
-
- switch (command_id)
- {
- case CommandSharpness : // sharpness - needs single number parameter
- sscanf(arg2, "%d", ¶ms->sharpness);
- used = 2;
- break;
-
- case CommandContrast : // contrast - needs single number parameter
- sscanf(arg2, "%d", ¶ms->contrast);
- used = 2;
- break;
-
- case CommandBrightness : // brightness - needs single number parameter
- sscanf(arg2, "%d", ¶ms->brightness);
- used = 2;
- break;
-
- case CommandSaturation : // saturation - needs single number parameter
- sscanf(arg2, "%d", ¶ms->saturation);
- used = 2;
- break;
-
- case CommandISO : // ISO - needs single number parameter
- sscanf(arg2, "%d", ¶ms->ISO);
- used = 2;
- break;
-
- case CommandVideoStab : // video stabilisation - if here, its on
- params->videoStabilisation = 1;
- used = 1;
- break;
-
- case CommandEVComp : // EV - needs single number parameter
- sscanf(arg2, "%d", ¶ms->exposureCompensation);
- used = 2;
- break;
-
- case CommandExposure : // exposure mode - needs string
- params->exposureMode = exposure_mode_from_string(arg2);
- used = 2;
- break;
-
- case CommandFlicker : // flicker avoid mode - needs string
- params->flickerAvoidMode = flicker_avoid_mode_from_string(arg2);
- used = 2;
- break;
-
- case CommandAWB : // AWB mode - needs single number parameter
- params->awbMode = awb_mode_from_string(arg2);
- used = 2;
- break;
-
- case CommandImageFX : // Image FX - needs string
- params->imageEffect = imagefx_mode_from_string(arg2);
- used = 2;
- break;
-
- case CommandColourFX : // Colour FX - needs string "u:v"
- sscanf(arg2, "%d:%d", ¶ms->colourEffects.u, ¶ms->colourEffects.v);
- params->colourEffects.enable = 1;
- used = 2;
- break;
-
- case CommandMeterMode:
- params->exposureMeterMode = metering_mode_from_string(arg2);
- used = 2;
- break;
-
- case CommandRotation : // Rotation - degree
- sscanf(arg2, "%d", ¶ms->rotation);
- used = 2;
- break;
-
- case CommandHFlip :
- params->hflip = 1;
- used = 1;
- break;
-
- case CommandVFlip :
- params->vflip = 1;
- used = 1;
- break;
-
- case CommandROI :
- {
- double x,y,w,h;
- int args;
-
- args = sscanf(arg2, "%lf,%lf,%lf,%lf", &x,&y,&w,&h);
-
- if (args != 4 || x > 1.0 || y > 1.0 || w > 1.0 || h > 1.0)
- {
- return 0;
- }
-
- // Make sure we stay within bounds
- if (x + w > 1.0)
- w = 1 - x;
-
- if (y + h > 1.0)
- h = 1 - y;
-
- params->roi.x = x;
- params->roi.y = y;
- params->roi.w = w;
- params->roi.h = h;
-
- used = 2;
- break;
- }
-
- case CommandShutterSpeed : // Shutter speed needs single number parameter
- {
- sscanf(arg2, "%d", ¶ms->shutter_speed);
- used = 2;
- break;
- }
-
- case CommandAwbGains :
- {
- double r,b;
- int args;
-
- args = sscanf(arg2, "%lf,%lf", &r,&b);
-
- if (args != 2 || r > 8.0 || b > 8.0)
- {
- return 0;
- }
-
- params->awb_gains_r = r;
- params->awb_gains_b = b;
-
- used = 2;
- break;
- }
-
- case CommandDRCLevel:
- {
- params->drc_level = drc_mode_from_string(arg2);
- used = 2;
- break;
- }
-
- case CommandStatsPass:
- {
- params->stats_pass = MMAL_TRUE;
- used = 1;
- break;
- }
-
- case CommandAnnotate:
- {
- char dummy;
- unsigned int bitmask;
- // If parameter is a number, assume its a bitmask, otherwise a string
- if (sscanf(arg2, "%u%c", &bitmask, &dummy) == 1)
- {
- params->enable_annotate |= bitmask;
- }
- else
- {
- params->enable_annotate |= ANNOTATE_USER_TEXT;
- //copy string char by char and replace "\n" with newline character
- unsigned char c;
- char const *s = arg2;
- char *t = ¶ms->annotate_string[0];
- int n=0;
- while ((c = *s++) && n < MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3-1)
- {
- if (c == '\\' && *s)
- {
- switch (c = *s++)
- {
- case 'n':
- c = '\n';
- break;
-
- default:
- c = '\\';
- s--;
- break;
- }
- }
- *(t++) = c;
- n++;
- }
- *t='\0';
-
- //params->annotate_string[MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3-1] = '\0';
- }
- used=2;
- break;
- }
-
- case CommandAnnotateExtras:
- {
- // 3 parameters - text size (6-80), text colour (Hex VVUUYY) and background colour (Hex VVUUYY)
- sscanf(arg2, "%u,%X,%X,%u,%u,%u", ¶ms->annotate_text_size,
- ¶ms->annotate_text_colour,
- ¶ms->annotate_bg_colour,
- ¶ms->annotate_justify,
- ¶ms->annotate_x,
- ¶ms->annotate_y
- );
- used=2;
- break;
- }
-
- case CommandStereoMode:
- {
- params->stereo_mode.mode = stereo_mode_from_string(arg2);
- used = 2;
- break;
- }
-
- case CommandStereoDecimate:
- {
- params->stereo_mode.decimate = MMAL_TRUE;
- used = 1;
- break;
- }
-
- case CommandStereoSwap:
- {
- params->stereo_mode.swap_eyes = MMAL_TRUE;
- used = 1;
- break;
- }
-
- case CommandAnalogGain:
- {
- double gain;
- int args;
-
- args = sscanf(arg2, "%lf", &gain);
-
- if (args != 1 || gain > 16.0)
- {
- return 0;
- }
-
- params->analog_gain = gain;
-
- used = 2;
- break;
- }
- case CommandDigitalGain:
- {
- double gain;
- int args;
-
- args = sscanf(arg2, "%lf", &gain);
-
- if (args != 1 || gain > 64.0)
- {
- return 0;
- }
-
- params->digital_gain = gain;
-
- used = 2;
- break;
- }
-
- case CommandSettings:
- {
- params->settings = 1;
- used = 1;
- break;
- }
-
- }
-
- return used;
-}
-
-/**
- * Display help for command line options
- */
-void raspicamcontrol_display_help()
-{
- int i;
-
- fprintf(stdout, "\nImage parameter commands\n\n");
-
- raspicli_display_help(cmdline_commands, cmdline_commands_size);
-
- fprintf(stdout, "\n\nNotes\n\nExposure mode options :\n%s", exposure_map[0].mode );
-
- for (i=1; iexposureMode, exposure_map, exposure_map_size);
- const char *fl_mode = raspicli_unmap_xref(params->flickerAvoidMode, flicker_avoid_map, flicker_avoid_map_size);
- const char *awb_mode = raspicli_unmap_xref(params->awbMode, awb_map, awb_map_size);
- const char *image_effect = raspicli_unmap_xref(params->imageEffect, imagefx_map, imagefx_map_size);
- const char *metering_mode = raspicli_unmap_xref(params->exposureMeterMode, metering_mode_map, metering_mode_map_size);
-
- fprintf(stderr, "Sharpness %d, Contrast %d, Brightness %d\n", params->sharpness, params->contrast, params->brightness);
- fprintf(stderr, "Saturation %d, ISO %d, Video Stabilisation %s, Exposure compensation %d\n", params->saturation, params->ISO, params->videoStabilisation ? "Yes": "No", params->exposureCompensation);
- fprintf(stderr, "Exposure Mode '%s', AWB Mode '%s', Image Effect '%s'\n", exp_mode, awb_mode, image_effect);
- fprintf(stderr, "Flicker Avoid Mode '%s'\n", fl_mode);
- fprintf(stderr, "Metering Mode '%s', Colour Effect Enabled %s with U = %d, V = %d\n", metering_mode, params->colourEffects.enable ? "Yes":"No", params->colourEffects.u, params->colourEffects.v);
- fprintf(stderr, "Rotation %d, hflip %s, vflip %s\n", params->rotation, params->hflip ? "Yes":"No",params->vflip ? "Yes":"No");
- fprintf(stderr, "ROI x %lf, y %f, w %f h %f\n", params->roi.x, params->roi.y, params->roi.w, params->roi.h);
-}
-
-
-/**
- * This function is copied from "RaspiHelpers.h" module, without any changes
- * It is inserted here only for usage with motion project
- *
- * Convert a MMAL status return value to a simple boolean of success
- * ALso displays a fault if code is not success
- *
- * @param status The error code to convert
- * @return 0 if status is success, 1 otherwise
- */
-int mmal_status_to_int(MMAL_STATUS_T status)
-{
- if (status == MMAL_SUCCESS)
- return 0;
- else
- {
- switch (status)
- {
- case MMAL_ENOMEM :
- vcos_log_error("Out of memory");
- break;
- case MMAL_ENOSPC :
- vcos_log_error("Out of resources (other than memory)");
- break;
- case MMAL_EINVAL:
- vcos_log_error("Argument is invalid");
- break;
- case MMAL_ENOSYS :
- vcos_log_error("Function not implemented");
- break;
- case MMAL_ENOENT :
- vcos_log_error("No such file or directory");
- break;
- case MMAL_ENXIO :
- vcos_log_error("No such device or address");
- break;
- case MMAL_EIO :
- vcos_log_error("I/O error");
- break;
- case MMAL_ESPIPE :
- vcos_log_error("Illegal seek");
- break;
- case MMAL_ECORRUPT :
- vcos_log_error("Data is corrupt \attention FIXME: not POSIX");
- break;
- case MMAL_ENOTREADY :
- vcos_log_error("Component is not ready \attention FIXME: not POSIX");
- break;
- case MMAL_ECONFIG :
- vcos_log_error("Component is not configured \attention FIXME: not POSIX");
- break;
- case MMAL_EISCONN :
- vcos_log_error("Port is already connected ");
- break;
- case MMAL_ENOTCONN :
- vcos_log_error("Port is disconnected");
- break;
- case MMAL_EAGAIN :
- vcos_log_error("Resource temporarily unavailable. Try again later");
- break;
- case MMAL_EFAULT :
- vcos_log_error("Bad address");
- break;
- default :
- vcos_log_error("Unknown status error");
- break;
- }
-
- return 1;
- }
-}
-
-
-/**
- * Give the supplied parameter block a set of default values
- * @params Pointer to parameter block
- */
-void raspicamcontrol_set_defaults(RASPICAM_CAMERA_PARAMETERS *params)
-{
- vcos_assert(params);
-
- params->sharpness = 0;
- params->contrast = 0;
- params->brightness = 50;
- params->saturation = 0;
- params->ISO = 0; // 0 = auto
- params->videoStabilisation = 0;
- params->exposureCompensation = 0;
- params->exposureMode = MMAL_PARAM_EXPOSUREMODE_AUTO;
- params->flickerAvoidMode = MMAL_PARAM_FLICKERAVOID_OFF;
- params->exposureMeterMode = MMAL_PARAM_EXPOSUREMETERINGMODE_AVERAGE;
- params->awbMode = MMAL_PARAM_AWBMODE_AUTO;
- params->imageEffect = MMAL_PARAM_IMAGEFX_NONE;
- params->colourEffects.enable = 0;
- params->colourEffects.u = 128;
- params->colourEffects.v = 128;
- params->rotation = 0;
- params->hflip = params->vflip = 0;
- params->roi.x = params->roi.y = 0.0;
- params->roi.w = params->roi.h = 1.0;
- params->shutter_speed = 0; // 0 = auto
- params->awb_gains_r = 0; // Only have any function if AWB OFF is used.
- params->awb_gains_b = 0;
- params->drc_level = MMAL_PARAMETER_DRC_STRENGTH_OFF;
- params->stats_pass = MMAL_FALSE;
- params->enable_annotate = 0;
- params->annotate_string[0] = '\0';
- params->annotate_text_size = 0; //Use firmware default
- params->annotate_text_colour = -1; //Use firmware default
- params->annotate_bg_colour = -1; //Use firmware default
- params->stereo_mode.mode = MMAL_STEREOSCOPIC_MODE_NONE;
- params->stereo_mode.decimate = MMAL_FALSE;
- params->stereo_mode.swap_eyes = MMAL_FALSE;
- params->annotate_justify = 0;
- params->annotate_x = 0;
- params->annotate_y = 0;
- params->analog_gain = 0;
- params->digital_gain = 0;
- params->settings = 0;
-}
-
-/**
- * Get all the current camera parameters from specified camera component
- * @param camera Pointer to camera component
- * @param params Pointer to parameter block to accept settings
- * @return 0 if successful, non-zero if unsuccessful
- */
-int raspicamcontrol_get_all_parameters(MMAL_COMPONENT_T *camera, RASPICAM_CAMERA_PARAMETERS *params)
-{
- vcos_assert(camera);
- vcos_assert(params);
-
- if (!camera || !params)
- return 1;
-
- /* TODO : Write these get functions
- params->sharpness = raspicamcontrol_get_sharpness(camera);
- params->contrast = raspicamcontrol_get_contrast(camera);
- params->brightness = raspicamcontrol_get_brightness(camera);
- params->saturation = raspicamcontrol_get_saturation(camera);
- params->ISO = raspicamcontrol_get_ISO(camera);
- params->videoStabilisation = raspicamcontrol_get_video_stabilisation(camera);
- params->exposureCompensation = raspicamcontrol_get_exposure_compensation(camera);
- params->exposureMode = raspicamcontrol_get_exposure_mode(camera);
- params->flickerAvoidMode = raspicamcontrol_get_flicker_avoid_mode(camera);
- params->awbMode = raspicamcontrol_get_awb_mode(camera);
- params->imageEffect = raspicamcontrol_get_image_effect(camera);
- params->colourEffects = raspicamcontrol_get_colour_effect(camera);
- params->thumbnailConfig = raspicamcontrol_get_thumbnail_config(camera);
- */
- return 0;
-}
-
-/**
- * Set the specified camera to all the specified settings
- * @param camera Pointer to camera component
- * @param params Pointer to parameter block containing parameters
- * @return 0 if successful, none-zero if unsuccessful.
- */
-int raspicamcontrol_set_all_parameters(MMAL_COMPONENT_T *camera, const RASPICAM_CAMERA_PARAMETERS *params)
-{
- int result;
-
- result = raspicamcontrol_set_saturation(camera, params->saturation);
- result += raspicamcontrol_set_sharpness(camera, params->sharpness);
- result += raspicamcontrol_set_contrast(camera, params->contrast);
- result += raspicamcontrol_set_brightness(camera, params->brightness);
- result += raspicamcontrol_set_ISO(camera, params->ISO);
- result += raspicamcontrol_set_video_stabilisation(camera, params->videoStabilisation);
- result += raspicamcontrol_set_exposure_compensation(camera, params->exposureCompensation);
- result += raspicamcontrol_set_exposure_mode(camera, params->exposureMode);
- result += raspicamcontrol_set_flicker_avoid_mode(camera, params->flickerAvoidMode);
- result += raspicamcontrol_set_metering_mode(camera, params->exposureMeterMode);
- result += raspicamcontrol_set_awb_mode(camera, params->awbMode);
- result += raspicamcontrol_set_awb_gains(camera, params->awb_gains_r, params->awb_gains_b);
- result += raspicamcontrol_set_imageFX(camera, params->imageEffect);
- result += raspicamcontrol_set_colourFX(camera, ¶ms->colourEffects);
- //result += raspicamcontrol_set_thumbnail_parameters(camera, ¶ms->thumbnailConfig); TODO Not working for some reason
- result += raspicamcontrol_set_rotation(camera, params->rotation);
- result += raspicamcontrol_set_flips(camera, params->hflip, params->vflip);
- result += raspicamcontrol_set_ROI(camera, params->roi);
- result += raspicamcontrol_set_shutter_speed(camera, params->shutter_speed);
- result += raspicamcontrol_set_DRC(camera, params->drc_level);
- result += raspicamcontrol_set_stats_pass(camera, params->stats_pass);
- result += raspicamcontrol_set_annotate(camera, params->enable_annotate, params->annotate_string,
- params->annotate_text_size,
- params->annotate_text_colour,
- params->annotate_bg_colour,
- params->annotate_justify,
- params->annotate_x,
- params->annotate_y);
- result += raspicamcontrol_set_gains(camera, params->analog_gain, params->digital_gain);
-
- if (params->settings)
- {
- MMAL_PARAMETER_CHANGE_EVENT_REQUEST_T change_event_request =
- {
- {MMAL_PARAMETER_CHANGE_EVENT_REQUEST, sizeof(MMAL_PARAMETER_CHANGE_EVENT_REQUEST_T)},
- MMAL_PARAMETER_CAMERA_SETTINGS, 1
- };
-
- MMAL_STATUS_T status = mmal_port_parameter_set(camera->control, &change_event_request.hdr);
- if ( status != MMAL_SUCCESS )
- {
- vcos_log_error("No camera settings events");
- }
-
- result += status;
- }
-
- return result;
-}
-
-/**
- * Adjust the saturation level for images
- * @param camera Pointer to camera component
- * @param saturation Value to adjust, -100 to 100
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_saturation(MMAL_COMPONENT_T *camera, int saturation)
-{
- int ret = 0;
-
- if (!camera)
- return 1;
-
- if (saturation >= -100 && saturation <= 100)
- {
- MMAL_RATIONAL_T value = {saturation, 100};
- ret = mmal_status_to_int(mmal_port_parameter_set_rational(camera->control, MMAL_PARAMETER_SATURATION, value));
- }
- else
- {
- vcos_log_error("Invalid saturation value");
- ret = 1;
- }
-
- return ret;
-}
-
-/**
- * Set the sharpness of the image
- * @param camera Pointer to camera component
- * @param sharpness Sharpness adjustment -100 to 100
- */
-int raspicamcontrol_set_sharpness(MMAL_COMPONENT_T *camera, int sharpness)
-{
- int ret = 0;
-
- if (!camera)
- return 1;
-
- if (sharpness >= -100 && sharpness <= 100)
- {
- MMAL_RATIONAL_T value = {sharpness, 100};
- ret = mmal_status_to_int(mmal_port_parameter_set_rational(camera->control, MMAL_PARAMETER_SHARPNESS, value));
- }
- else
- {
- vcos_log_error("Invalid sharpness value");
- ret = 1;
- }
-
- return ret;
-}
-
-/**
- * Set the contrast adjustment for the image
- * @param camera Pointer to camera component
- * @param contrast Contrast adjustment -100 to 100
- * @return
- */
-int raspicamcontrol_set_contrast(MMAL_COMPONENT_T *camera, int contrast)
-{
- int ret = 0;
-
- if (!camera)
- return 1;
-
- if (contrast >= -100 && contrast <= 100)
- {
- MMAL_RATIONAL_T value = {contrast, 100};
- ret = mmal_status_to_int(mmal_port_parameter_set_rational(camera->control, MMAL_PARAMETER_CONTRAST, value));
- }
- else
- {
- vcos_log_error("Invalid contrast value");
- ret = 1;
- }
-
- return ret;
-}
-
-/**
- * Adjust the brightness level for images
- * @param camera Pointer to camera component
- * @param brightness Value to adjust, 0 to 100
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_brightness(MMAL_COMPONENT_T *camera, int brightness)
-{
- int ret = 0;
-
- if (!camera)
- return 1;
-
- if (brightness >= 0 && brightness <= 100)
- {
- MMAL_RATIONAL_T value = {brightness, 100};
- ret = mmal_status_to_int(mmal_port_parameter_set_rational(camera->control, MMAL_PARAMETER_BRIGHTNESS, value));
- }
- else
- {
- vcos_log_error("Invalid brightness value");
- ret = 1;
- }
-
- return ret;
-}
-
-/**
- * Adjust the ISO used for images
- * @param camera Pointer to camera component
- * @param ISO Value to set TODO :
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_ISO(MMAL_COMPONENT_T *camera, int ISO)
-{
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set_uint32(camera->control, MMAL_PARAMETER_ISO, ISO));
-}
-
-/**
- * Adjust the metering mode for images
- * @param camera Pointer to camera component
- * @param saturation Value from following
- * - MMAL_PARAM_EXPOSUREMETERINGMODE_AVERAGE,
- * - MMAL_PARAM_EXPOSUREMETERINGMODE_SPOT,
- * - MMAL_PARAM_EXPOSUREMETERINGMODE_BACKLIT,
- * - MMAL_PARAM_EXPOSUREMETERINGMODE_MATRIX
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_metering_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_EXPOSUREMETERINGMODE_T m_mode )
-{
- MMAL_PARAMETER_EXPOSUREMETERINGMODE_T meter_mode = {{MMAL_PARAMETER_EXP_METERING_MODE,sizeof(meter_mode)},
- m_mode
- };
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &meter_mode.hdr));
-}
-
-
-/**
- * Set the video stabilisation flag. Only used in video mode
- * @param camera Pointer to camera component
- * @param saturation Flag 0 off 1 on
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_video_stabilisation(MMAL_COMPONENT_T *camera, int vstabilisation)
-{
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set_boolean(camera->control, MMAL_PARAMETER_VIDEO_STABILISATION, vstabilisation));
-}
-
-/**
- * Adjust the exposure compensation for images (EV)
- * @param camera Pointer to camera component
- * @param exp_comp Value to adjust, -10 to +10
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_exposure_compensation(MMAL_COMPONENT_T *camera, int exp_comp)
-{
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set_int32(camera->control, MMAL_PARAMETER_EXPOSURE_COMP, exp_comp));
-}
-
-
-/**
- * Set exposure mode for images
- * @param camera Pointer to camera component
- * @param mode Exposure mode to set from
- * - MMAL_PARAM_EXPOSUREMODE_OFF,
- * - MMAL_PARAM_EXPOSUREMODE_AUTO,
- * - MMAL_PARAM_EXPOSUREMODE_NIGHT,
- * - MMAL_PARAM_EXPOSUREMODE_NIGHTPREVIEW,
- * - MMAL_PARAM_EXPOSUREMODE_BACKLIGHT,
- * - MMAL_PARAM_EXPOSUREMODE_SPOTLIGHT,
- * - MMAL_PARAM_EXPOSUREMODE_SPORTS,
- * - MMAL_PARAM_EXPOSUREMODE_SNOW,
- * - MMAL_PARAM_EXPOSUREMODE_BEACH,
- * - MMAL_PARAM_EXPOSUREMODE_VERYLONG,
- * - MMAL_PARAM_EXPOSUREMODE_FIXEDFPS,
- * - MMAL_PARAM_EXPOSUREMODE_ANTISHAKE,
- * - MMAL_PARAM_EXPOSUREMODE_FIREWORKS,
- *
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_exposure_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_EXPOSUREMODE_T mode)
-{
- MMAL_PARAMETER_EXPOSUREMODE_T exp_mode = {{MMAL_PARAMETER_EXPOSURE_MODE,sizeof(exp_mode)}, mode};
-
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &exp_mode.hdr));
-}
-
-
-/**
- * Set flicker avoid mode for images
- * @param camera Pointer to camera component
- * @param mode Exposure mode to set from
- * - MMAL_PARAM_FLICKERAVOID_OFF,
- * - MMAL_PARAM_FLICKERAVOID_AUTO,
- * - MMAL_PARAM_FLICKERAVOID_50HZ,
- * - MMAL_PARAM_FLICKERAVOID_60HZ,
- *
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_flicker_avoid_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_FLICKERAVOID_T mode)
-{
- MMAL_PARAMETER_FLICKERAVOID_T fl_mode = {{MMAL_PARAMETER_FLICKER_AVOID,sizeof(fl_mode)}, mode};
-
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &fl_mode.hdr));
-}
-
-
-/**
- * Set the aWB (auto white balance) mode for images
- * @param camera Pointer to camera component
- * @param awb_mode Value to set from
- * - MMAL_PARAM_AWBMODE_OFF,
- * - MMAL_PARAM_AWBMODE_AUTO,
- * - MMAL_PARAM_AWBMODE_SUNLIGHT,
- * - MMAL_PARAM_AWBMODE_CLOUDY,
- * - MMAL_PARAM_AWBMODE_SHADE,
- * - MMAL_PARAM_AWBMODE_TUNGSTEN,
- * - MMAL_PARAM_AWBMODE_FLUORESCENT,
- * - MMAL_PARAM_AWBMODE_INCANDESCENT,
- * - MMAL_PARAM_AWBMODE_FLASH,
- * - MMAL_PARAM_AWBMODE_HORIZON,
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_awb_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_AWBMODE_T awb_mode)
-{
- MMAL_PARAMETER_AWBMODE_T param = {{MMAL_PARAMETER_AWB_MODE,sizeof(param)}, awb_mode};
-
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, ¶m.hdr));
-}
-
-int raspicamcontrol_set_awb_gains(MMAL_COMPONENT_T *camera, float r_gain, float b_gain)
-{
- MMAL_PARAMETER_AWB_GAINS_T param = {{MMAL_PARAMETER_CUSTOM_AWB_GAINS,sizeof(param)}, {0,0}, {0,0}};
-
- if (!camera)
- return 1;
-
- if (!r_gain || !b_gain)
- return 0;
-
- param.r_gain.num = (unsigned int)(r_gain * 65536);
- param.b_gain.num = (unsigned int)(b_gain * 65536);
- param.r_gain.den = param.b_gain.den = 65536;
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, ¶m.hdr));
-}
-
-/**
- * Set the image effect for the images
- * @param camera Pointer to camera component
- * @param imageFX Value from
- * - MMAL_PARAM_IMAGEFX_NONE,
- * - MMAL_PARAM_IMAGEFX_NEGATIVE,
- * - MMAL_PARAM_IMAGEFX_SOLARIZE,
- * - MMAL_PARAM_IMAGEFX_POSTERIZE,
- * - MMAL_PARAM_IMAGEFX_WHITEBOARD,
- * - MMAL_PARAM_IMAGEFX_BLACKBOARD,
- * - MMAL_PARAM_IMAGEFX_SKETCH,
- * - MMAL_PARAM_IMAGEFX_DENOISE,
- * - MMAL_PARAM_IMAGEFX_EMBOSS,
- * - MMAL_PARAM_IMAGEFX_OILPAINT,
- * - MMAL_PARAM_IMAGEFX_HATCH,
- * - MMAL_PARAM_IMAGEFX_GPEN,
- * - MMAL_PARAM_IMAGEFX_PASTEL,
- * - MMAL_PARAM_IMAGEFX_WATERCOLOUR,
- * - MMAL_PARAM_IMAGEFX_FILM,
- * - MMAL_PARAM_IMAGEFX_BLUR,
- * - MMAL_PARAM_IMAGEFX_SATURATION,
- * - MMAL_PARAM_IMAGEFX_COLOURSWAP,
- * - MMAL_PARAM_IMAGEFX_WASHEDOUT,
- * - MMAL_PARAM_IMAGEFX_POSTERISE,
- * - MMAL_PARAM_IMAGEFX_COLOURPOINT,
- * - MMAL_PARAM_IMAGEFX_COLOURBALANCE,
- * - MMAL_PARAM_IMAGEFX_CARTOON,
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_imageFX(MMAL_COMPONENT_T *camera, MMAL_PARAM_IMAGEFX_T imageFX)
-{
- MMAL_PARAMETER_IMAGEFX_T imgFX = {{MMAL_PARAMETER_IMAGE_EFFECT,sizeof(imgFX)}, imageFX};
-
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &imgFX.hdr));
-}
-
-/* TODO :what to do with the image effects parameters?
- MMAL_PARAMETER_IMAGEFX_PARAMETERS_T imfx_param = {{MMAL_PARAMETER_IMAGE_EFFECT_PARAMETERS,sizeof(imfx_param)},
- imageFX, 0, {0}};
-mmal_port_parameter_set(camera->control, &imfx_param.hdr);
- */
-
-/**
- * Set the colour effect for images (Set UV component)
- * @param camera Pointer to camera component
- * @param colourFX Contains enable state and U and V numbers to set (e.g. 128,128 = Black and white)
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_colourFX(MMAL_COMPONENT_T *camera, const MMAL_PARAM_COLOURFX_T *colourFX)
-{
- MMAL_PARAMETER_COLOURFX_T colfx = {{MMAL_PARAMETER_COLOUR_EFFECT,sizeof(colfx)}, 0, 0, 0};
-
- if (!camera)
- return 1;
-
- colfx.enable = colourFX->enable;
- colfx.u = colourFX->u;
- colfx.v = colourFX->v;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &colfx.hdr));
-
-}
-
-
-/**
- * Set the rotation of the image
- * @param camera Pointer to camera component
- * @param rotation Degree of rotation (any number, but will be converted to 0,90,180 or 270 only)
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_rotation(MMAL_COMPONENT_T *camera, int rotation)
-{
- int ret;
- int my_rotation = ((rotation % 360 ) / 90) * 90;
-
- ret = mmal_port_parameter_set_int32(camera->output[0], MMAL_PARAMETER_ROTATION, my_rotation);
- mmal_port_parameter_set_int32(camera->output[1], MMAL_PARAMETER_ROTATION, my_rotation);
- mmal_port_parameter_set_int32(camera->output[2], MMAL_PARAMETER_ROTATION, my_rotation);
-
- return mmal_status_to_int(ret);
-}
-
-/**
- * Set the flips state of the image
- * @param camera Pointer to camera component
- * @param hflip If true, horizontally flip the image
- * @param vflip If true, vertically flip the image
- *
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_flips(MMAL_COMPONENT_T *camera, int hflip, int vflip)
-{
- MMAL_PARAMETER_MIRROR_T mirror = {{MMAL_PARAMETER_MIRROR, sizeof(MMAL_PARAMETER_MIRROR_T)}, MMAL_PARAM_MIRROR_NONE};
-
- if (hflip && vflip)
- mirror.value = MMAL_PARAM_MIRROR_BOTH;
- else if (hflip)
- mirror.value = MMAL_PARAM_MIRROR_HORIZONTAL;
- else if (vflip)
- mirror.value = MMAL_PARAM_MIRROR_VERTICAL;
-
- mmal_port_parameter_set(camera->output[0], &mirror.hdr);
- mmal_port_parameter_set(camera->output[1], &mirror.hdr);
- return mmal_status_to_int(mmal_port_parameter_set(camera->output[2], &mirror.hdr));
-}
-
-/**
- * Set the ROI of the sensor to use for captures/preview
- * @param camera Pointer to camera component
- * @param rect Normalised coordinates of ROI rectangle
- *
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_ROI(MMAL_COMPONENT_T *camera, PARAM_FLOAT_RECT_T rect)
-{
- MMAL_PARAMETER_INPUT_CROP_T crop = {{MMAL_PARAMETER_INPUT_CROP, sizeof(MMAL_PARAMETER_INPUT_CROP_T)}};
-
- crop.rect.x = (65536 * rect.x);
- crop.rect.y = (65536 * rect.y);
- crop.rect.width = (65536 * rect.w);
- crop.rect.height = (65536 * rect.h);
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &crop.hdr));
-}
-
-/**
- * Zoom in and Zoom out by changing ROI
- * @param camera Pointer to camera component
- * @param zoom_command zoom command enum
- * @return 0 if successful, non-zero otherwise
- */
-int raspicamcontrol_zoom_in_zoom_out(MMAL_COMPONENT_T *camera, ZOOM_COMMAND_T zoom_command, PARAM_FLOAT_RECT_T *roi)
-{
- MMAL_PARAMETER_INPUT_CROP_T crop;
- crop.hdr.id = MMAL_PARAMETER_INPUT_CROP;
- crop.hdr.size = sizeof(crop);
-
- if (mmal_port_parameter_get(camera->control, &crop.hdr) != MMAL_SUCCESS)
- {
- vcos_log_error("mmal_port_parameter_get(camera->control, &crop.hdr) failed, skip it");
- return 0;
- }
-
- if (zoom_command == ZOOM_IN)
- {
- if (crop.rect.width <= (zoom_full_16P16 + zoom_increment_16P16))
- {
- crop.rect.width = zoom_full_16P16;
- crop.rect.height = zoom_full_16P16;
- }
- else
- {
- crop.rect.width -= zoom_increment_16P16;
- crop.rect.height -= zoom_increment_16P16;
- }
- }
- else if (zoom_command == ZOOM_OUT)
- {
- unsigned int increased_size = crop.rect.width + zoom_increment_16P16;
- if (increased_size < crop.rect.width) //overflow
- {
- crop.rect.width = 65536;
- crop.rect.height = 65536;
- }
- else
- {
- crop.rect.width = increased_size;
- crop.rect.height = increased_size;
- }
- }
-
- if (zoom_command == ZOOM_RESET)
- {
- crop.rect.x = 0;
- crop.rect.y = 0;
- crop.rect.width = 65536;
- crop.rect.height = 65536;
- }
- else
- {
- unsigned int centered_top_coordinate = (65536 - crop.rect.width) / 2;
- crop.rect.x = centered_top_coordinate;
- crop.rect.y = centered_top_coordinate;
- }
-
- int ret = mmal_status_to_int(mmal_port_parameter_set(camera->control, &crop.hdr));
-
- if (ret == 0)
- {
- roi->x = roi->y = (double)crop.rect.x/65536;
- roi->w = roi->h = (double)crop.rect.width/65536;
- }
- else
- {
- vcos_log_error("Failed to set crop values, x/y: %u, w/h: %u", crop.rect.x, crop.rect.width);
- ret = 1;
- }
-
- return ret;
-}
-
-/**
- * Adjust the exposure time used for images
- * @param camera Pointer to camera component
- * @param shutter speed in microseconds
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_shutter_speed(MMAL_COMPONENT_T *camera, int speed)
-{
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set_uint32(camera->control, MMAL_PARAMETER_SHUTTER_SPEED, speed));
-}
-
-/**
- * Adjust the Dynamic range compression level
- * @param camera Pointer to camera component
- * @param strength Strength of DRC to apply
- * MMAL_PARAMETER_DRC_STRENGTH_OFF
- * MMAL_PARAMETER_DRC_STRENGTH_LOW
- * MMAL_PARAMETER_DRC_STRENGTH_MEDIUM
- * MMAL_PARAMETER_DRC_STRENGTH_HIGH
- *
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_DRC(MMAL_COMPONENT_T *camera, MMAL_PARAMETER_DRC_STRENGTH_T strength)
-{
- MMAL_PARAMETER_DRC_T drc = {{MMAL_PARAMETER_DYNAMIC_RANGE_COMPRESSION, sizeof(MMAL_PARAMETER_DRC_T)}, strength};
-
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &drc.hdr));
-}
-
-int raspicamcontrol_set_stats_pass(MMAL_COMPONENT_T *camera, int stats_pass)
-{
- if (!camera)
- return 1;
-
- return mmal_status_to_int(mmal_port_parameter_set_boolean(camera->control, MMAL_PARAMETER_CAPTURE_STATS_PASS, stats_pass));
-}
-
-
-/**
- * Set the annotate data
- * @param camera Pointer to camera component
- * @param Bitmask of required annotation data. 0 for off.
- * @param If set, a pointer to text string to use instead of bitmask, max length 32 characters
- *
- * @return 0 if successful, non-zero if any parameters out of range
- */
-int raspicamcontrol_set_annotate(MMAL_COMPONENT_T *camera, const int settings, const char *string,
- const int text_size, const int text_colour, const int bg_colour,
- const unsigned int justify, const unsigned int x, const unsigned int y)
-{
- MMAL_PARAMETER_CAMERA_ANNOTATE_V4_T annotate =
- {{MMAL_PARAMETER_ANNOTATE, sizeof(MMAL_PARAMETER_CAMERA_ANNOTATE_V4_T)}};
-
- if (settings)
- {
- time_t t = time(NULL);
- struct tm tm = *localtime(&t);
- char tmp[MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V4];
- int process_datetime = 1;
-
- annotate.enable = 1;
-
- if (settings & (ANNOTATE_APP_TEXT | ANNOTATE_USER_TEXT))
- {
- if ((settings & (ANNOTATE_TIME_TEXT | ANNOTATE_DATE_TEXT)) && strchr(string,'%') != NULL)
- {
- //string contains strftime parameter?
- strftime(annotate.text, MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3, string, &tm );
- process_datetime = 0;
- }
- else
- {
- strncpy(annotate.text, string, MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3);
- }
- annotate.text[MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3-1] = '\0';
- }
-
- if (process_datetime && (settings & ANNOTATE_TIME_TEXT))
- {
- if(strlen(annotate.text))
- {
- strftime(tmp, 32, " %X", &tm );
- }
- else
- {
- strftime(tmp, 32, "%X", &tm );
- }
- strncat(annotate.text, tmp, MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3 - strlen(annotate.text) - 1);
- }
-
- if (process_datetime && (settings & ANNOTATE_DATE_TEXT))
- {
- if(strlen(annotate.text))
- {
- strftime(tmp, 32, " %x", &tm );
- }
- else
- {
- strftime(tmp, 32, "%x", &tm );
- }
- strncat(annotate.text, tmp, MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V3 - strlen(annotate.text) - 1);
- }
-
- if (settings & ANNOTATE_SHUTTER_SETTINGS)
- annotate.show_shutter = MMAL_TRUE;
-
- if (settings & ANNOTATE_GAIN_SETTINGS)
- annotate.show_analog_gain = MMAL_TRUE;
-
- if (settings & ANNOTATE_LENS_SETTINGS)
- annotate.show_lens = MMAL_TRUE;
-
- if (settings & ANNOTATE_CAF_SETTINGS)
- annotate.show_caf = MMAL_TRUE;
-
- if (settings & ANNOTATE_MOTION_SETTINGS)
- annotate.show_motion = MMAL_TRUE;
-
- if (settings & ANNOTATE_FRAME_NUMBER)
- annotate.show_frame_num = MMAL_TRUE;
-
- if (settings & ANNOTATE_BLACK_BACKGROUND)
- annotate.enable_text_background = MMAL_TRUE;
-
- annotate.text_size = text_size;
-
- if (text_colour != -1)
- {
- annotate.custom_text_colour = MMAL_TRUE;
- annotate.custom_text_Y = text_colour&0xff;
- annotate.custom_text_U = (text_colour>>8)&0xff;
- annotate.custom_text_V = (text_colour>>16)&0xff;
- }
- else
- annotate.custom_text_colour = MMAL_FALSE;
-
- if (bg_colour != -1)
- {
- annotate.custom_background_colour = MMAL_TRUE;
- annotate.custom_background_Y = bg_colour&0xff;
- annotate.custom_background_U = (bg_colour>>8)&0xff;
- annotate.custom_background_V = (bg_colour>>16)&0xff;
- }
- else
- annotate.custom_background_colour = MMAL_FALSE;
-
- annotate.justify = justify;
- annotate.x_offset = x;
- annotate.y_offset = y;
- }
- else
- annotate.enable = 0;
-
- return mmal_status_to_int(mmal_port_parameter_set(camera->control, &annotate.hdr));
-}
-
-int raspicamcontrol_set_stereo_mode(MMAL_PORT_T *port, MMAL_PARAMETER_STEREOSCOPIC_MODE_T *stereo_mode)
-{
- MMAL_PARAMETER_STEREOSCOPIC_MODE_T stereo = { {MMAL_PARAMETER_STEREOSCOPIC_MODE, sizeof(stereo)},
- MMAL_STEREOSCOPIC_MODE_NONE, MMAL_FALSE, MMAL_FALSE
- };
- if (stereo_mode->mode != MMAL_STEREOSCOPIC_MODE_NONE)
- {
- stereo.mode = stereo_mode->mode;
- stereo.decimate = stereo_mode->decimate;
- stereo.swap_eyes = stereo_mode->swap_eyes;
- }
- return mmal_status_to_int(mmal_port_parameter_set(port, &stereo.hdr));
-}
-
-int raspicamcontrol_set_gains(MMAL_COMPONENT_T *camera, float analog, float digital)
-{
- MMAL_RATIONAL_T rational = {0,65536};
- MMAL_STATUS_T status;
-
- if (!camera)
- return 1;
-
- rational.num = (unsigned int)(analog * 65536);
- status = mmal_port_parameter_set_rational(camera->control, MMAL_PARAMETER_ANALOG_GAIN, rational);
- if (status != MMAL_SUCCESS)
- return mmal_status_to_int(status);
-
- rational.num = (unsigned int)(digital * 65536);
- status = mmal_port_parameter_set_rational(camera->control, MMAL_PARAMETER_DIGITAL_GAIN, rational);
- return mmal_status_to_int(status);
-}
-
-/**
- * Asked GPU how much memory it has allocated
- *
- * @return amount of memory in MB
- */
-static int raspicamcontrol_get_mem_gpu(void)
-{
- char response[80] = "";
- int gpu_mem = 0;
- if (vc_gencmd(response, sizeof response, "get_mem gpu") == 0)
- vc_gencmd_number_property(response, "gpu", &gpu_mem);
- return gpu_mem;
-}
-
-/**
- * Ask GPU about its camera abilities
- * @param supported None-zero if software supports the camera
- * @param detected None-zero if a camera has been detected
- */
-static void raspicamcontrol_get_camera(int *supported, int *detected)
-{
- char response[80] = "";
- if (vc_gencmd(response, sizeof response, "get_camera") == 0)
- {
- if (supported)
- vc_gencmd_number_property(response, "supported", supported);
- if (detected)
- vc_gencmd_number_property(response, "detected", detected);
- }
-}
-
-/**
- * Check to see if camera is supported, and we have allocated enough memory
- * Ask GPU about its camera abilities
- * @param supported None-zero if software supports the camera
- * @param detected None-zero if a camera has been detected
- */
-void raspicamcontrol_check_configuration(int min_gpu_mem)
-{
- int gpu_mem = raspicamcontrol_get_mem_gpu();
- int supported = 0, detected = 0;
- raspicamcontrol_get_camera(&supported, &detected);
- if (!supported)
- vcos_log_error("Camera is not enabled in this build. Try running \"sudo raspi-config\" and ensure that \"camera\" has been enabled\n");
- else if (gpu_mem < min_gpu_mem)
- vcos_log_error("Only %dM of gpu_mem is configured. Try running \"sudo raspi-config\" and ensure that \"memory_split\" has a value of %d or greater\n", gpu_mem, min_gpu_mem);
- else if (!detected)
- vcos_log_error("Camera is not detected. Please check carefully the camera module is installed correctly\n");
- else
- vcos_log_error("Failed to run camera app. Please check for firmware updates\n");
-}
-
-
-/** Default camera callback function
- * Handles the --settings
- * @param port
- * @param Callback data
- */
-void default_camera_control_callback(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
-{
- fprintf(stderr, "Camera control callback cmd=0x%08x", buffer->cmd);
-
- if (buffer->cmd == MMAL_EVENT_PARAMETER_CHANGED)
- {
- MMAL_EVENT_PARAMETER_CHANGED_T *param = (MMAL_EVENT_PARAMETER_CHANGED_T *)buffer->data;
- switch (param->hdr.id)
- {
- case MMAL_PARAMETER_CAMERA_SETTINGS:
- {
- MMAL_PARAMETER_CAMERA_SETTINGS_T *settings = (MMAL_PARAMETER_CAMERA_SETTINGS_T*)param;
- vcos_log_error("Exposure now %u, analog gain %u/%u, digital gain %u/%u",
- settings->exposure,
- settings->analog_gain.num, settings->analog_gain.den,
- settings->digital_gain.num, settings->digital_gain.den);
- vcos_log_error("AWB R=%u/%u, B=%u/%u",
- settings->awb_red_gain.num, settings->awb_red_gain.den,
- settings->awb_blue_gain.num, settings->awb_blue_gain.den);
- }
- break;
- }
- }
- else if (buffer->cmd == MMAL_EVENT_ERROR)
- {
- vcos_log_error("No data received from sensor. Check all connections, including the Sunny one on the camera board");
- }
- else
- {
- vcos_log_error("Received unexpected camera control callback event, 0x%08x", buffer->cmd);
- }
-
- mmal_buffer_header_release(buffer);
-}
diff --git a/src/raspicam/RaspiCamControl.h b/src/raspicam/RaspiCamControl.h
deleted file mode 100644
index bf04065f..00000000
--- a/src/raspicam/RaspiCamControl.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
-Copyright (c) 2013, Broadcom Europe Ltd
-Copyright (c) 2013, James Hughes
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the copyright holder nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef RASPICAMCONTROL_H_
-#define RASPICAMCONTROL_H_
-
-/* Various parameters
- *
- * Exposure Mode
- * MMAL_PARAM_EXPOSUREMODE_OFF,
- MMAL_PARAM_EXPOSUREMODE_AUTO,
- MMAL_PARAM_EXPOSUREMODE_NIGHT,
- MMAL_PARAM_EXPOSUREMODE_NIGHTPREVIEW,
- MMAL_PARAM_EXPOSUREMODE_BACKLIGHT,
- MMAL_PARAM_EXPOSUREMODE_SPOTLIGHT,
- MMAL_PARAM_EXPOSUREMODE_SPORTS,
- MMAL_PARAM_EXPOSUREMODE_SNOW,
- MMAL_PARAM_EXPOSUREMODE_BEACH,
- MMAL_PARAM_EXPOSUREMODE_VERYLONG,
- MMAL_PARAM_EXPOSUREMODE_FIXEDFPS,
- MMAL_PARAM_EXPOSUREMODE_ANTISHAKE,
- MMAL_PARAM_EXPOSUREMODE_FIREWORKS,
- *
- * Flicker Avoid Mode
- * MMAL_PARAM_FLICKERAVOID_OFF,
- MMAL_PARAM_FLICKERAVOID_AUTO,
- MMAL_PARAM_FLICKERAVOID_50HZ,
- MMAL_PARAM_FLICKERAVOID_60HZ,
- *
- * AWB Mode
- * MMAL_PARAM_AWBMODE_OFF,
- MMAL_PARAM_AWBMODE_AUTO,
- MMAL_PARAM_AWBMODE_SUNLIGHT,
- MMAL_PARAM_AWBMODE_CLOUDY,
- MMAL_PARAM_AWBMODE_SHADE,
- MMAL_PARAM_AWBMODE_TUNGSTEN,
- MMAL_PARAM_AWBMODE_FLUORESCENT,
- MMAL_PARAM_AWBMODE_INCANDESCENT,
- MMAL_PARAM_AWBMODE_FLASH,
- MMAL_PARAM_AWBMODE_HORIZON,
- MMAL_PARAM_AWBMODE_GREYWORLD
- *
- * Image FX
- MMAL_PARAM_IMAGEFX_NONE,
- MMAL_PARAM_IMAGEFX_NEGATIVE,
- MMAL_PARAM_IMAGEFX_SOLARIZE,
- MMAL_PARAM_IMAGEFX_POSTERIZE,
- MMAL_PARAM_IMAGEFX_WHITEBOARD,
- MMAL_PARAM_IMAGEFX_BLACKBOARD,
- MMAL_PARAM_IMAGEFX_SKETCH,
- MMAL_PARAM_IMAGEFX_DENOISE,
- MMAL_PARAM_IMAGEFX_EMBOSS,
- MMAL_PARAM_IMAGEFX_OILPAINT,
- MMAL_PARAM_IMAGEFX_HATCH,
- MMAL_PARAM_IMAGEFX_GPEN,
- MMAL_PARAM_IMAGEFX_PASTEL,
- MMAL_PARAM_IMAGEFX_WATERCOLOUR,
- MMAL_PARAM_IMAGEFX_FILM,
- MMAL_PARAM_IMAGEFX_BLUR,
- MMAL_PARAM_IMAGEFX_SATURATION,
- MMAL_PARAM_IMAGEFX_COLOURSWAP,
- MMAL_PARAM_IMAGEFX_WASHEDOUT,
- MMAL_PARAM_IMAGEFX_POSTERISE,
- MMAL_PARAM_IMAGEFX_COLOURPOINT,
- MMAL_PARAM_IMAGEFX_COLOURBALANCE,
- MMAL_PARAM_IMAGEFX_CARTOON,
-
- */
-
-/// Annotate bitmask options
-/// Supplied by user on command line
-#define ANNOTATE_USER_TEXT 1
-/// Supplied by app using this module
-#define ANNOTATE_APP_TEXT 2
-/// Insert current date
-#define ANNOTATE_DATE_TEXT 4
-// Insert current time
-#define ANNOTATE_TIME_TEXT 8
-
-#define ANNOTATE_SHUTTER_SETTINGS 16
-#define ANNOTATE_CAF_SETTINGS 32
-#define ANNOTATE_GAIN_SETTINGS 64
-#define ANNOTATE_LENS_SETTINGS 128
-#define ANNOTATE_MOTION_SETTINGS 256
-#define ANNOTATE_FRAME_NUMBER 512
-#define ANNOTATE_BLACK_BACKGROUND 1024
-
-
-// There isn't actually a MMAL structure for the following, so make one
-typedef struct mmal_param_colourfx_s
-{
- int enable; /// Turn colourFX on or off
- int u,v; /// U and V to use
-} MMAL_PARAM_COLOURFX_T;
-
-typedef struct mmal_param_thumbnail_config_s
-{
- int enable;
- int width,height;
- int quality;
-} MMAL_PARAM_THUMBNAIL_CONFIG_T;
-
-typedef struct param_float_rect_s
-{
- double x;
- double y;
- double w;
- double h;
-} PARAM_FLOAT_RECT_T;
-
-/// struct contain camera settings
-typedef struct raspicam_camera_parameters_s
-{
- int sharpness; /// -100 to 100
- int contrast; /// -100 to 100
- int brightness; /// 0 to 100
- int saturation; /// -100 to 100
- int ISO; /// TODO : what range?
- int videoStabilisation; /// 0 or 1 (false or true)
- int exposureCompensation; /// -10 to +10 ?
- MMAL_PARAM_EXPOSUREMODE_T exposureMode;
- MMAL_PARAM_EXPOSUREMETERINGMODE_T exposureMeterMode;
- MMAL_PARAM_AWBMODE_T awbMode;
- MMAL_PARAM_IMAGEFX_T imageEffect;
- MMAL_PARAMETER_IMAGEFX_PARAMETERS_T imageEffectsParameters;
- MMAL_PARAM_COLOURFX_T colourEffects;
- MMAL_PARAM_FLICKERAVOID_T flickerAvoidMode;
- int rotation; /// 0-359
- int hflip; /// 0 or 1
- int vflip; /// 0 or 1
- PARAM_FLOAT_RECT_T roi; /// region of interest to use on the sensor. Normalised [0,1] values in the rect
- int shutter_speed; /// 0 = auto, otherwise the shutter speed in ms
- float awb_gains_r; /// AWB red gain
- float awb_gains_b; /// AWB blue gain
- MMAL_PARAMETER_DRC_STRENGTH_T drc_level; // Strength of Dynamic Range compression to apply
- MMAL_BOOL_T stats_pass; /// Stills capture statistics pass on/off
- int enable_annotate; /// Flag to enable the annotate, 0 = disabled, otherwise a bitmask of what needs to be displayed
- char annotate_string[MMAL_CAMERA_ANNOTATE_MAX_TEXT_LEN_V2]; /// String to use for annotate - overrides certain bitmask settings
- int annotate_text_size; // Text size for annotation
- int annotate_text_colour; // Text colour for annotation
- int annotate_bg_colour; // Background colour for annotation
- unsigned int annotate_justify;
- unsigned int annotate_x;
- unsigned int annotate_y;
-
- MMAL_PARAMETER_STEREOSCOPIC_MODE_T stereo_mode;
- float analog_gain; // Analog gain
- float digital_gain; // Digital gain
-
- int settings;
-} RASPICAM_CAMERA_PARAMETERS;
-
-typedef enum
-{
- ZOOM_IN, ZOOM_OUT, ZOOM_RESET
-} ZOOM_COMMAND_T;
-
-
-void raspicamcontrol_check_configuration(int min_gpu_mem);
-
-int raspicamcontrol_parse_cmdline(RASPICAM_CAMERA_PARAMETERS *params, const char *arg1, const char *arg2);
-void raspicamcontrol_display_help();
-int raspicamcontrol_cycle_test(MMAL_COMPONENT_T *camera);
-
-int raspicamcontrol_set_all_parameters(MMAL_COMPONENT_T *camera, const RASPICAM_CAMERA_PARAMETERS *params);
-int raspicamcontrol_get_all_parameters(MMAL_COMPONENT_T *camera, RASPICAM_CAMERA_PARAMETERS *params);
-void raspicamcontrol_dump_parameters(const RASPICAM_CAMERA_PARAMETERS *params);
-
-void raspicamcontrol_set_defaults(RASPICAM_CAMERA_PARAMETERS *params);
-
-void raspicamcontrol_check_configuration(int min_gpu_mem);
-
-// Individual setting functions
-int raspicamcontrol_set_saturation(MMAL_COMPONENT_T *camera, int saturation);
-int raspicamcontrol_set_sharpness(MMAL_COMPONENT_T *camera, int sharpness);
-int raspicamcontrol_set_contrast(MMAL_COMPONENT_T *camera, int contrast);
-int raspicamcontrol_set_brightness(MMAL_COMPONENT_T *camera, int brightness);
-int raspicamcontrol_set_ISO(MMAL_COMPONENT_T *camera, int ISO);
-int raspicamcontrol_set_metering_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_EXPOSUREMETERINGMODE_T mode);
-int raspicamcontrol_set_video_stabilisation(MMAL_COMPONENT_T *camera, int vstabilisation);
-int raspicamcontrol_set_exposure_compensation(MMAL_COMPONENT_T *camera, int exp_comp);
-int raspicamcontrol_set_exposure_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_EXPOSUREMODE_T mode);
-int raspicamcontrol_set_flicker_avoid_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_FLICKERAVOID_T mode);
-int raspicamcontrol_set_awb_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_AWBMODE_T awb_mode);
-int raspicamcontrol_set_awb_gains(MMAL_COMPONENT_T *camera, float r_gain, float b_gain);
-int raspicamcontrol_set_imageFX(MMAL_COMPONENT_T *camera, MMAL_PARAM_IMAGEFX_T imageFX);
-int raspicamcontrol_set_colourFX(MMAL_COMPONENT_T *camera, const MMAL_PARAM_COLOURFX_T *colourFX);
-int raspicamcontrol_set_rotation(MMAL_COMPONENT_T *camera, int rotation);
-int raspicamcontrol_set_flips(MMAL_COMPONENT_T *camera, int hflip, int vflip);
-int raspicamcontrol_set_ROI(MMAL_COMPONENT_T *camera, PARAM_FLOAT_RECT_T rect);
-int raspicamcontrol_zoom_in_zoom_out(MMAL_COMPONENT_T *camera, ZOOM_COMMAND_T zoom_command, PARAM_FLOAT_RECT_T *roi);
-int raspicamcontrol_set_shutter_speed(MMAL_COMPONENT_T *camera, int speed_ms);
-int raspicamcontrol_set_DRC(MMAL_COMPONENT_T *camera, MMAL_PARAMETER_DRC_STRENGTH_T strength);
-int raspicamcontrol_set_stats_pass(MMAL_COMPONENT_T *camera, int stats_pass);
-int raspicamcontrol_set_annotate(MMAL_COMPONENT_T *camera, const int bitmask, const char *string,
- const int text_size, const int text_colour, const int bg_colour,
- const unsigned int justify, const unsigned int x, const unsigned int y);
-int raspicamcontrol_set_stereo_mode(MMAL_PORT_T *port, MMAL_PARAMETER_STEREOSCOPIC_MODE_T *stereo_mode);
-int raspicamcontrol_set_gains(MMAL_COMPONENT_T *camera, float analog, float digital);
-
-//Individual getting functions
-int raspicamcontrol_get_saturation(MMAL_COMPONENT_T *camera);
-int raspicamcontrol_get_sharpness(MMAL_COMPONENT_T *camera);
-int raspicamcontrol_get_contrast(MMAL_COMPONENT_T *camera);
-int raspicamcontrol_get_brightness(MMAL_COMPONENT_T *camera);
-int raspicamcontrol_get_ISO(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_EXPOSUREMETERINGMODE_T raspicamcontrol_get_metering_mode(MMAL_COMPONENT_T *camera);
-int raspicamcontrol_get_video_stabilisation(MMAL_COMPONENT_T *camera);
-int raspicamcontrol_get_exposure_compensation(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_THUMBNAIL_CONFIG_T raspicamcontrol_get_thumbnail_parameters(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_EXPOSUREMODE_T raspicamcontrol_get_exposure_mode(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_FLICKERAVOID_T raspicamcontrol_get_flicker_avoid_mode(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_AWBMODE_T raspicamcontrol_get_awb_mode(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_IMAGEFX_T raspicamcontrol_get_imageFX(MMAL_COMPONENT_T *camera);
-MMAL_PARAM_COLOURFX_T raspicamcontrol_get_colourFX(MMAL_COMPONENT_T *camera);
-
-/** Default camera callback function
- */
-void default_camera_control_callback(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer);
-
-
-
-#endif /* RASPICAMCONTROL_H_ */