diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/ChangeLog guvcview-2.0.4+ubuntu2~ppa1+1380/ChangeLog --- guvcview-2.0.3+ubuntu2~ppa1+1334/ChangeLog 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/ChangeLog 2016-04-25 16:35:21.000000000 +0000 @@ -1,3 +1,18 @@ +guvcview (2.0.4) + + * drop support for internal 422 packed format (use only 420 planar) + * add support for extra pixel formats, including be formats + * add command line option for requesting fps + * add support for control events + * add support for string, int64, bitmask and integer menu controls + * make sure we can't select unsuported pix formats from the gui + * fix status message for QT5 interface + * move mutexes to device handlers (context) + * v4l2core and audio api - don't access device data directly (use opaque structures) + * add constructor and destructor functions for v4l2core and encoder + + -- Paulo Assis Mon, 22 Feb 2016 10:10:00 +0100 + guvcview (2.0.3) * Add Qt5 interface (--enable-qt5) diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/configure.ac guvcview-2.0.4+ubuntu2~ppa1+1380/configure.ac --- guvcview-2.0.3+ubuntu2~ppa1+1334/configure.ac 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/configure.ac 2016-04-25 16:35:21.000000000 +0000 @@ -10,7 +10,7 @@ dnl -------------------------------- m4_define([guvcview_major], [2]) m4_define([guvcview_minor], [0]) -m4_define([guvcview_micro], [3]) +m4_define([guvcview_micro], [4]) m4_define([guvcview_version], [guvcview_major.guvcview_minor.guvcview_micro]) @@ -109,16 +109,16 @@ AC_SUBST(GVIEWV4L2CORE_LD_NAME) #release versioning -GVIEWV4L2CORE_MAJOR_VERSION=1 -GVIEWV4L2CORE_MINOR_VERSION=1 -GVIEWV4L2CORE_MICRO_VERSION=1 +GVIEWV4L2CORE_CURRENT_VERSION=2 +GVIEWV4L2CORE_REVISION_VERSION=0 +GVIEWV4L2CORE_AGE_VERSION=0 #API version (SONAME) -GVIEWV4L2CORE_API_VERSION=$GVIEWV4L2CORE_MAJOR_VERSION.$GVIEWV4L2CORE_MINOR_VERSION +GVIEWV4L2CORE_API_VERSION=$GVIEWV4L2CORE_CURRENT_VERSION.$GVIEWV4L2CORE_REVISION_VERSION AC_SUBST(GVIEWV4L2CORE_API_VERSION) #shared library versioning -GVIEWV4L2CORE_LIBRARY_VERSION=$GVIEWV4L2CORE_MAJOR_VERSION:$GVIEWV4L2CORE_MINOR_VERSION:$GVIEWV4L2CORE_MICRO_VERSION +GVIEWV4L2CORE_LIBRARY_VERSION=$GVIEWV4L2CORE_CURRENT_VERSION:$GVIEWV4L2CORE_REVISION_VERSION:$GVIEWV4L2CORE_AGE_VERSION # # current:revision:age # | | | @@ -140,24 +140,6 @@ AC_SUBST(GVIEWV4L2CORE_LIBS) dnl -------------------------------------------------------------------------- -dnl check internal yuv format (packed yuyv - default) or planar (iyuv) -dnl -------------------------------------------------------------------------- -AC_MSG_CHECKING(if you want to enable yuyv (packed) as internal format) -AC_ARG_ENABLE(yuyv, AS_HELP_STRING([--enable-yuyv], - [enable yuyv (packed) as internal format (default: iyuv (420 planar))]), - [enable_yuyv=$enableval], - [enable_yuyv=no]) - -AC_MSG_RESULT($enable_yuyv) - -if test $enable_yuyv = yes; then - yuv_format=yuyv -else - AC_DEFINE(USE_PLANAR_YUV, 1, [set to 1 if iyuv is enabled]) - yuv_format=iyuv -fi - -dnl -------------------------------------------------------------------------- dnl Check for avcodec.h installation path dnl -------------------------------------------------------------------------- @@ -201,16 +183,16 @@ AC_SUBST(GVIEWRENDER_LD_NAME) #release versioning -GVIEWRENDER_MAJOR_VERSION=1 -GVIEWRENDER_MINOR_VERSION=1 -GVIEWRENDER_MICRO_VERSION=1 +GVIEWRENDER_CURRENT_VERSION=2 +GVIEWRENDER_REVISION_VERSION=0 +GVIEWRENDER_AGE_VERSION=0 #API version (SONAME) -GVIEWRENDER_API_VERSION=$GVIEWRENDER_MAJOR_VERSION.$GVIEWRENDER_MINOR_VERSION +GVIEWRENDER_API_VERSION=$GVIEWRENDER_CURRENT_VERSION.$GVIEWRENDER_REVISION_VERSION AC_SUBST(GVIEWRENDER_API_VERSION) #shared library versioning -GVIEWRENDER_LIBRARY_VERSION=$GVIEWRENDER_MAJOR_VERSION:$GVIEWRENDER_MINOR_VERSION:$GVIEWRENDER_MICRO_VERSION +GVIEWRENDER_LIBRARY_VERSION=$GVIEWRENDER_CURRENT_VERSION:$GVIEWRENDER_REVISION_VERSION:$GVIEWRENDER_AGE_VERSION # # current:revision:age # | | | @@ -293,16 +275,16 @@ AC_SUBST(GVIEWAUDIO_LD_NAME) #release versioning -GVIEWAUDIO_MAJOR_VERSION=1 -GVIEWAUDIO_MINOR_VERSION=1 -GVIEWAUDIO_MICRO_VERSION=1 +GVIEWAUDIO_CURRENT_VERSION=2 +GVIEWAUDIO_REVISION_VERSION=0 +GVIEWAUDIO_AGE_VERSION=0 #API version (SONAME) -GVIEWAUDIO_API_VERSION=$GVIEWAUDIO_MAJOR_VERSION.$GVIEWAUDIO_MINOR_VERSION +GVIEWAUDIO_API_VERSION=$GVIEWAUDIO_CURRENT_VERSION.$GVIEWAUDIO_REVISION_VERSION AC_SUBST(GVIEWAUDIO_API_VERSION) #shared library versioning -GVIEWAUDIO_LIBRARY_VERSION=$GVIEWAUDIO_MAJOR_VERSION:$GVIEWAUDIO_MINOR_VERSION:$GVIEWAUDIO_MICRO_VERSION +GVIEWAUDIO_LIBRARY_VERSION=$GVIEWAUDIO_CURRENT_VERSION:$GVIEWAUDIO_REVISION_VERSION:$GVIEWAUDIO_AGE_VERSION # # current:revision:age # | | | @@ -358,16 +340,16 @@ AC_SUBST(GVIEWENCODER_LD_NAME) #release versioning -GVIEWENCODER_MAJOR_VERSION=1 -GVIEWENCODER_MINOR_VERSION=1 -GVIEWENCODER_MICRO_VERSION=1 +GVIEWENCODER_CURRENT_VERSION=2 +GVIEWENCODER_REVISION_VERSION=0 +GVIEWENCODER_AGE_VERSION=0 #API version (SONAME) -GVIEWENCODER_API_VERSION=$GVIEWENCODER_MAJOR_VERSION.$GVIEWENCODER_MINOR_VERSION +GVIEWENCODER_API_VERSION=$GVIEWENCODER_CURRENT_VERSION.$GVIEWENCODER_REVISION_VERSION AC_SUBST(GVIEWENCODER_API_VERSION) #shared library versioning -GVIEWENCODER_LIBRARY_VERSION=$GVIEWENCODER_MAJOR_VERSION:$GVIEWENCODER_MINOR_VERSION:$GVIEWENCODER_MICRO_VERSION +GVIEWENCODER_LIBRARY_VERSION=$GVIEWENCODER_CURRENT_VERSION:$GVIEWENCODER_REVISION_VERSION:$GVIEWENCODER_AGE_VERSION # # current:revision:age # | | | @@ -522,7 +504,6 @@ Prefix : ${prefix} Pulseaudio : ${enable_pulse} - internal format : ${yuv_format} gsl : ${enable_gsl} sdl2 : ${enable_sdl2} mjpg decoder : ${mjpg_decoder} diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/data/guvcview.appdata.xml.in.in guvcview-2.0.4+ubuntu2~ppa1+1380/data/guvcview.appdata.xml.in.in --- guvcview-2.0.3+ubuntu2~ppa1+1334/data/guvcview.appdata.xml.in.in 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/data/guvcview.appdata.xml.in.in 2016-04-25 16:35:21.000000000 +0000 @@ -4,25 +4,23 @@ guvcview.desktop CC0-1.0 GPL-2.0+ - Gtk+ UVC Viewer - <_summary>capture video from v4l2 devices + Simple UVC Viewer + <_summary>Capture video from v4l2 devices - <_p> - Video capture tool for video4linux2 compliant cameras, - with special emphasis on the linux uvc driver. - It provides Image (jpg, png, bmp) and Video - (mjpeg, flv1, wmv1, mpg2, mpg4,...) capture with sound - in several formats( currently: avi and matroska). - I also supports a control panel option (--control_only) - that is compatible with any other v4l2 app. - + <_p>Video capture tool for video4linux2 compliant cameras. + <_p>With a special emphasis on the linux uvc driver, + it provides Image (jpg, png, bmp) and + Video (mjpeg, flv1, wmv1, mpg2, mpg4,...) capture + with sound in several formats( currently: avi and matroska). + <_p>It also supports a control panel option (--control_only) + that is compatible with any other v4l2 app. - https://sourceforge.net/p/guvcview/screenshot/guvcview_image_tab.png - https://sourceforge.net/p/guvcview/screenshot/guvcview_h264_tab.png - https://sourceforge.net/p/guvcview/screenshot/guvcview_video_tab.png - https://sourceforge.net/p/guvcview/screenshot/guvcview_audio_tab.png - https://a.fsdn.com/con/app/proj/guvcview/screenshots/guvcview_video_preview.png + https://sourceforge.net/p/guvcview/screenshot/guvcview_image_tab.png + https://sourceforge.net/p/guvcview/screenshot/guvcview_h264_tab.png + https://sourceforge.net/p/guvcview/screenshot/guvcview_video_tab.png + https://sourceforge.net/p/guvcview/screenshot/guvcview_audio_tab.png + https://a.fsdn.com/con/app/proj/guvcview/screenshots/guvcview_video_preview.png http://guvcview.sourceforge.net/ assisp@gmail.com diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/debian/bzr-builder.manifest guvcview-2.0.4+ubuntu2~ppa1+1380/debian/bzr-builder.manifest --- guvcview-2.0.3+ubuntu2~ppa1+1334/debian/bzr-builder.manifest 2016-01-22 17:11:08.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/debian/bzr-builder.manifest 2016-04-25 16:35:23.000000000 +0000 @@ -1,3 +1,3 @@ -# bzr-builder format 0.3 deb-version {debupstream}+1334-0ubuntu1~201601221711 -lp:guvcview revid:git-v1:b21507f92f5128d397649f5674e80aaa910c0249 -nest-part packaging lp:~pj-assis/guvcview/debian debian debian revid:paulo@cm-lagos.pt-20160122170917-rvq1s4l0z3k62823 +# bzr-builder format 0.3 deb-version {debupstream}+1380-0ubuntu1~201604251635 +lp:guvcview revid:git-v1:d14e9aecc1fff40e023fcdc5bae2d2f288ec8ca1 +nest-part packaging lp:~pj-assis/guvcview/debian debian debian revid:paulo@cm-lagos.pt-20160222104206-13iqebt658ag0q8x diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/debian/changelog guvcview-2.0.4+ubuntu2~ppa1+1380/debian/changelog --- guvcview-2.0.3+ubuntu2~ppa1+1334/debian/changelog 2016-01-22 17:11:08.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/debian/changelog 2016-04-25 16:35:23.000000000 +0000 @@ -1,8 +1,15 @@ -guvcview (2.0.3+ubuntu2~ppa1+1334-0ubuntu1~201601221711~ubuntu15.04.1) vivid; urgency=low +guvcview (2.0.4+ubuntu2~ppa1+1380-0ubuntu1~201604251635~ubuntu15.04.1) vivid; urgency=low * Auto build. - -- Paulo Assis Fri, 22 Jan 2016 17:11:08 +0000 + -- Paulo Assis Mon, 25 Apr 2016 16:35:23 +0000 + +guvcview (2.0.4+ubuntu2~ppa1) vivid; urgency=low + + * bump to new upstream version + * update lib version + + -- Paulo Assis Mon, 22 Feb 2016 10:24:00 +0100 guvcview (2.0.3+ubuntu2~ppa1) vivid; urgency=low diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/debian/control guvcview-2.0.4+ubuntu2~ppa1+1380/debian/control --- guvcview-2.0.3+ubuntu2~ppa1+1334/debian/control 2016-01-22 17:11:08.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/debian/control 2016-04-25 16:35:23.000000000 +0000 @@ -48,13 +48,13 @@ v4l2 devices with special emphasis on the Linux UVC driver. This package provides the Qt5 interface. -Package: libguvcview-1.1-1 +Package: libguvcview-2.0-0 Section: libs Architecture: linux-any Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Conflicts: libguvcview-1.1-0 -Replaces: libguvcview-1.1-0 +Conflicts: libguvcview-1.1-0, libguvcview-1.1-1 +Replaces: libguvcview-1.1-0, libguvcview-1.1-1 Multi-Arch: same Description: GUVCView - runtime guvcview is a simple interface for capturing and viewing video from diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/debian/libguvcview-1.1-1.install guvcview-2.0.4+ubuntu2~ppa1+1380/debian/libguvcview-1.1-1.install --- guvcview-2.0.3+ubuntu2~ppa1+1334/debian/libguvcview-1.1-1.install 2016-01-22 17:11:08.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/debian/libguvcview-1.1-1.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/*/lib*.so.* diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/debian/libguvcview-2.0-0.install guvcview-2.0.4+ubuntu2~ppa1+1380/debian/libguvcview-2.0-0.install --- guvcview-2.0.3+ubuntu2~ppa1+1334/debian/libguvcview-2.0-0.install 1970-01-01 00:00:00.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/debian/libguvcview-2.0-0.install 2016-04-25 16:35:23.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/lib*.so.* diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/debian/rules guvcview-2.0.4+ubuntu2~ppa1+1380/debian/rules --- guvcview-2.0.3+ubuntu2~ppa1+1334/debian/rules 2016-01-22 17:11:08.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/debian/rules 2016-04-25 16:35:23.000000000 +0000 @@ -25,7 +25,7 @@ override_dh_install: dh_install -p guvcview --sourcedir=debian/guvcview-default - dh_install -p libguvcview-1.1-1 --sourcedir=debian/guvcview-default + dh_install -p libguvcview-2.0-0 --sourcedir=debian/guvcview-default dh_install -p libguvcview-dev --sourcedir=debian/guvcview-default dh_install -p guvcview-qt --sourcedir=debian/guvcview-qt5 diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/config.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/config.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/config.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/config.c 2016-04-25 16:35:21.000000000 +0000 @@ -41,7 +41,7 @@ { .width = 640, .height = 480, - .format = "MJPG", + .format = V4L2_PIX_FMT_MJPEG, .render = "sdl", #if HAS_GTK3 .gui = "gtk3", @@ -118,7 +118,7 @@ fprintf(fp, "#video input height\n"); fprintf(fp, "height=%i\n", my_config.height); fprintf(fp, "#video input format\n"); - fprintf(fp, "format=%s\n", my_config.format); + fprintf(fp, "v4l2_format=%u\n", my_config.format); fprintf(fp, "#video input capture method\n"); fprintf(fp, "capture=%s\n", my_config.capture); fprintf(fp, "#audio api\n"); @@ -255,8 +255,8 @@ my_config.width = (int) strtoul(value, NULL, 10); else if(strcmp(token, "height") == 0) my_config.height = (int) strtoul(value, NULL, 10); - else if(strcmp(token, "format") == 0) - strncpy(my_config.format, value, 4); + else if(strcmp(token, "v4l2_format") == 0) + my_config.format = (uint32_t) strtoul(value, NULL, 10); else if(strcmp(token, "capture") == 0) strncpy(my_config.capture, value, 4); else if(strcmp(token, "audio") == 0) @@ -369,6 +369,12 @@ if(my_options->height > 0) my_config.height = my_options->height; + /*check for resolution options*/ + if(my_options->fps_num > 0) + my_config.fps_num = my_options->fps_num; + if(my_options->fps_denom > 0) + my_config.fps_denom = my_options->fps_denom; + /*capture method*/ if(strlen(my_options->capture) > 3) strncpy(my_config.capture, my_options->capture, 4); @@ -391,8 +397,11 @@ /*input format*/ if(strlen(my_options->format) > 2) - strncpy(my_config.format, my_options->format, 5); - + { + //convert to v4l2_format + my_config.format = v4l2core_fourcc_2_v4l2_pixelformat(my_options->format); + } + /*video codec*/ if(strlen(my_options->video_codec) > 2) strncpy(my_config.video_codec, my_options->video_codec, 4); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/config.h guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/config.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/config.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/config.h 2016-04-25 16:35:21.000000000 +0000 @@ -28,7 +28,7 @@ { int width; /*width*/ int height; /*height*/ - char format[5]; /*pixelformat fourcc*/ + uint32_t format; /*pixelformat - v4l2 fourcc*/ char render[5]; /*render api*/ char gui[5]; /*gui api*/ char audio[6]; /*audio api - none; port; pulse*/ diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_audioctrls.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_audioctrls.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_audioctrls.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_audioctrls.c 2016-04-25 16:35:21.000000000 +0000 @@ -118,7 +118,7 @@ int api = AUDIO_NONE; if(audio_ctx != NULL) - api = audio_ctx->api; + api = audio_get_api(audio_ctx); gtk_combo_box_set_active(GTK_COMBO_BOX(my_audio_widgets.api), api); @@ -149,15 +149,15 @@ if(audio_ctx != NULL) { int i = 0; - for(i = 0; i < audio_ctx->num_input_dev; ++i) + for(i = 0; i < audio_get_num_inp_devices(audio_ctx); ++i) { gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(my_audio_widgets.device), - audio_ctx->list_devices[i].description); + audio_get_device(audio_ctx,i)->description); } gtk_widget_set_sensitive (my_audio_widgets.device, TRUE); - gtk_combo_box_set_active(GTK_COMBO_BOX(my_audio_widgets.device), audio_ctx->device); + gtk_combo_box_set_active(GTK_COMBO_BOX(my_audio_widgets.device), audio_get_device_index(audio_ctx)); } else gtk_widget_set_sensitive (my_audio_widgets.device, FALSE); @@ -268,7 +268,7 @@ double latency = 0.0; if(audio_ctx != NULL) - latency = audio_ctx->latency; + latency = audio_get_latency(audio_ctx); if(debug_level > 2) printf("GUVCVIEW: audio latency is set to %f\n", latency); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3.c 2016-04-25 16:35:21.000000000 +0000 @@ -66,6 +66,8 @@ static GtkWidget *wgtDevices = NULL; /*timer id for devce list events check*/ static int gtk_devices_timer_id = 0; +/*timer id for control events check*/ +static int gtk_control_events_timer_id = 0; /* @@ -411,9 +413,8 @@ /*fatal error message*/ - v4l2_device_list *device_list = v4l2core_get_device_list(); /*add device list (more than one device)*/ - int show_dev_list = (device_list->num_devices >= 1) ? 1: 0; + int show_dev_list = (v4l2core_get_num_devices() >= 1) ? 1: 0; GtkWidget *errdialog = NULL; if(show_dev_list) @@ -514,13 +515,13 @@ gtk_widget_set_hexpand (wgtDevices, TRUE); int i = 0; - for(i = 0; i < (device_list->num_devices); i++) + for(i = 0; i < v4l2core_get_num_devices(); i++) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtDevices), - device_list->list_devices[i].name); + v4l2core_get_device_sys_data(i)->name); } /*select the last listed device by default*/ - gtk_combo_box_set_active(GTK_COMBO_BOX(wgtDevices), device_list->num_devices - 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(wgtDevices), v4l2core_get_num_devices() - 1); gtk_grid_attach(GTK_GRID(table), wgtDevices, 1, 3, 1, 1); gtk_widget_show (wgtDevices); @@ -542,7 +543,7 @@ int index = gtk_combo_box_get_active(GTK_COMBO_BOX(wgtDevices)); char videodevice[30]; - strncpy(videodevice, device_list->list_devices[index].device, 29); + strncpy(videodevice, v4l2core_get_device_sys_data(index)->device, 29); gchar *command = g_strjoin("", g_get_prgname(), @@ -778,7 +779,7 @@ gtk_notebook_append_page(GTK_NOTEBOOK(tab_box), scroll_1, tab_1); /*----------------------------H264 Controls Tab --------------------------*/ - if(v4l2core_get_h264_unit_id() > 0) + if(v4l2core_get_h264_unit_id(get_v4l2_device_handler()) > 0) { GtkWidget *scroll_2 = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW(scroll_2), GTK_CORNER_TOP_LEFT); @@ -911,6 +912,8 @@ * devices */ gtk_devices_timer_id = g_timeout_add( 1000, check_device_events, NULL); + /*controls*/ + gtk_control_events_timer_id = g_timeout_add(1000, check_control_events, NULL); return 0; } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_callbacks.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_callbacks.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_callbacks.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_callbacks.c 2016-04-25 16:35:21.000000000 +0000 @@ -47,6 +47,8 @@ extern int debug_level; +static int entry_has_focus = 0; + /* * delete event (close window) * args: @@ -115,7 +117,7 @@ */ void control_defaults_clicked (GtkWidget *item, void *data) { - v4l2core_set_control_defaults(); + v4l2core_set_control_defaults(get_v4l2_device_handler()); gui_gtk3_update_controls_state(); } @@ -240,11 +242,11 @@ if(save_or_load > 0) { - v4l2core_save_control_profile(filename); + v4l2core_save_control_profile(get_v4l2_device_handler(), filename); } else { - v4l2core_load_control_profile(filename); + v4l2core_load_control_profile(get_v4l2_device_handler(), filename); gui_gtk3_update_controls_state(); } @@ -768,9 +770,9 @@ int val = gtk_spin_button_get_value_as_int (spin); if(id == V4L2_CID_PAN_RELATIVE) - v4l2core_set_pan_step(val); + v4l2core_set_pan_step(get_v4l2_device_handler(), val); if(id == V4L2_CID_TILT_RELATIVE) - v4l2core_set_tilt_step(val); + v4l2core_set_tilt_step(get_v4l2_device_handler(), val); } /* @@ -788,14 +790,14 @@ { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (Button), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); if(id == V4L2_CID_PAN_RELATIVE) - control->value = v4l2core_get_pan_step(); + control->value = v4l2core_get_pan_step(get_v4l2_device_handler()); else - control->value = v4l2core_get_tilt_step(); + control->value = v4l2core_get_tilt_step(get_v4l2_device_handler()); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt\n"); } @@ -814,14 +816,14 @@ { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (Button), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); if(id == V4L2_CID_PAN_RELATIVE) - control->value = - v4l2core_get_pan_step(); + control->value = - v4l2core_get_pan_step(get_v4l2_device_handler()); else - control->value = - v4l2core_get_tilt_step(); + control->value = - v4l2core_get_tilt_step(get_v4l2_device_handler()); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt\n"); } @@ -840,17 +842,16 @@ { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (Button), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); control->value = 1; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting button value\n"); gui_gtk3_update_controls_state(); } -#ifdef V4L2_CTRL_TYPE_STRING /* * a string control apply button clicked * args: @@ -867,18 +868,16 @@ int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (Button), "control_info")); GtkWidget *entry = (GtkWidget *) g_object_get_data (G_OBJECT (Button), "control_entry"); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); assert(control->string != NULL); - strncpy(control->string, gtk_entry_get_text(GTK_ENTRY(entry)), control->control.maximum); + strncpy(control->string, gtk_entry_get_text(GTK_ENTRY(entry)), control->control.maximum + 1); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting string value\n"); } -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 /* * a int64 control apply button clicked * args: @@ -895,29 +894,30 @@ int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (Button), "control_info")); GtkWidget *entry = (GtkWidget *) g_object_get_data (G_OBJECT (Button), "control_entry"); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); char* text_input = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry))); text_input = g_strstrip(text_input); if( g_str_has_prefix(text_input, "0x")) //hex format { - text_input = g_strcanon(text_input, "0123456789ABCDEFabcdef", '\0'); + text_input = g_strcanon(text_input, "0123456789ABCDEFabcdef", '0'); control->value64 = g_ascii_strtoll(text_input, NULL, 16); } else //decimal or hex ? { - text_input = g_strcanon(text_input, "0123456789ABCDEFabcdef", '\0'); + text_input = g_strcanon(text_input, "0123456789ABCDEFabcdef", '0'); control->value64 = g_ascii_strtoll(text_input, NULL, 0); } g_free(text_input); - if(v4l2core_set_control_value_by_id(id)) + if(debug_level > 1) + printf("GUVCVIEW: applying int64 value: %" PRId64 "\n", control->value64); + + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting string value\n"); } -#endif -#ifdef V4L2_CTRL_TYPE_BITMASK /* * a bitmask control apply button clicked * args: @@ -934,17 +934,16 @@ int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (Button), "control_info")); GtkWidget *entry = (GtkWidget *) g_object_get_data (G_OBJECT (Button), "control_entry"); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); char* text_input = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry))); - text_input = g_strcanon(text_input,"0123456789ABCDEFabcdef", '\0'); + text_input = g_strcanon(text_input,"0123456789ABCDEFabcdef", '0'); control->value = (int32_t) g_ascii_strtoll(text_input, NULL, 16); g_free(text_input); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting string value\n"); } -#endif /* * slider changed event @@ -960,13 +959,13 @@ void slider_changed (GtkRange * range, void *data) { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (range), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); int val = (int) gtk_range_get_value (range); control->value = val; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting slider value\n"); /* @@ -997,12 +996,12 @@ void spin_changed (GtkSpinButton * spin, void *data) { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (spin), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); int val = gtk_spin_button_get_value_as_int (spin); control->value = val; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting spin value\n"); /* @@ -1034,12 +1033,12 @@ void combo_changed (GtkComboBox * combo, void *data) { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (combo), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); int index = gtk_combo_box_get_active (combo); control->value = control->menu[index].index; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting menu value\n"); gui_gtk3_update_controls_state(); @@ -1061,7 +1060,7 @@ //int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (combo), "control_info")); int index = gtk_combo_box_get_active (combo); - v4l2core_set_bayer_pix_order(index); + v4l2core_set_bayer_pix_order(get_v4l2_device_handler(), index); } /* @@ -1078,28 +1077,28 @@ void check_changed (GtkToggleButton *toggle, void *data) { int id = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (toggle), "control_info")); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); int val = gtk_toggle_button_get_active (toggle) ? 1 : 0; control->value = val; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting menu value\n"); if(id == V4L2_CID_DISABLE_PROCESSING_LOGITECH) { if (control->value > 0) - v4l2core_set_isbayer(1); + v4l2core_set_isbayer(get_v4l2_device_handler(), 1); else - v4l2core_set_isbayer(0); + v4l2core_set_isbayer(get_v4l2_device_handler(), 0); /* * must restart stream and requeue * the buffers for changes to take effect * (updating fps provides all that is needed) */ - v4l2core_request_framerate_update (); + v4l2core_request_framerate_update (get_v4l2_device_handler()); } gui_gtk3_update_controls_state(); @@ -1121,11 +1120,9 @@ GError *error = NULL; int index = gtk_combo_box_get_active(wgtDevices); - if(index == v4l2core_get_this_device_index()) + if(index == v4l2core_get_this_device_index(get_v4l2_device_handler())) return; - v4l2_device_list *device_list = v4l2core_get_device_list(); - GtkWidget *restartdialog = gtk_dialog_new_with_buttons (_("start new"), GTK_WINDOW(get_main_window_gtk3()), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, @@ -1146,7 +1143,7 @@ /*check device index only after dialog response*/ char videodevice[30]; - strncpy(videodevice, device_list->list_devices[index].device, 29); + strncpy(videodevice, v4l2core_get_device_sys_data(index)->device, 29); gchar *command = g_strjoin("", g_get_prgname(), " --device=", @@ -1182,7 +1179,8 @@ break; } /*reset to current device*/ - gtk_combo_box_set_active(GTK_COMBO_BOX(wgtDevices), v4l2core_get_this_device_index()); + gtk_combo_box_set_active(GTK_COMBO_BOX(wgtDevices), + v4l2core_get_this_device_index(get_v4l2_device_handler())); gtk_widget_destroy (restartdialog); g_free(command); @@ -1201,26 +1199,27 @@ */ void frame_rate_changed (GtkComboBox *wgtFrameRate, void *data) { - int format_index = v4l2core_get_frame_format_index(v4l2core_get_requested_frame_format()); + int format_index = v4l2core_get_frame_format_index(get_v4l2_device_handler(), v4l2core_get_requested_frame_format(get_v4l2_device_handler())); int resolu_index = v4l2core_get_format_resolution_index( + get_v4l2_device_handler(), format_index, - v4l2core_get_frame_width(), - v4l2core_get_frame_height()); + v4l2core_get_frame_width(get_v4l2_device_handler()), + v4l2core_get_frame_height(get_v4l2_device_handler())); int index = gtk_combo_box_get_active (wgtFrameRate); - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); int fps_denom = list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[index]; int fps_num = list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[index]; - v4l2core_define_fps(fps_num, fps_denom); + v4l2core_define_fps(get_v4l2_device_handler(), fps_num, fps_denom); int fps[2] = {fps_num, fps_denom}; gui_set_fps(fps); - v4l2core_request_framerate_update (); + v4l2core_request_framerate_update (get_v4l2_device_handler()); } /* @@ -1236,7 +1235,9 @@ */ void resolution_changed (GtkComboBox *wgtResolution, void *data) { - int format_index = v4l2core_get_frame_format_index(v4l2core_get_requested_frame_format()); + int format_index = v4l2core_get_frame_format_index( + get_v4l2_device_handler(), + v4l2core_get_requested_frame_format(get_v4l2_device_handler())); int cmb_index = gtk_combo_box_get_active(wgtResolution); @@ -1250,7 +1251,7 @@ GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model (GTK_COMBO_BOX(wgtFrameRate))); gtk_list_store_clear(store); - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); int width = list_stream_formats[format_index].list_stream_cap[cmb_index].width; int height = list_stream_formats[format_index].list_stream_cap[cmb_index].height; @@ -1270,8 +1271,8 @@ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtFrameRate), temp_str); - if (( v4l2core_get_fps_num() == list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_num[i]) && - ( v4l2core_get_fps_denom() == list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_denom[i])) + if (( v4l2core_get_fps_num(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_num[i]) && + ( v4l2core_get_fps_denom(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_denom[i])) deffps=i; } @@ -1282,13 +1283,18 @@ g_signal_handlers_unblock_by_func(GTK_COMBO_BOX_TEXT(wgtFrameRate), G_CALLBACK (frame_rate_changed), NULL); if (list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_num) - v4l2core_define_fps(list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_num[deffps], -1); + v4l2core_define_fps( + get_v4l2_device_handler(), + list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_num[deffps], -1); if (list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_denom) - v4l2core_define_fps(-1, list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_denom[deffps]); + v4l2core_define_fps( + get_v4l2_device_handler(), + -1, + list_stream_formats[format_index].list_stream_cap[cmb_index].framerate_denom[deffps]); /*change resolution (try new format and reset render)*/ - v4l2core_prepare_new_resolution(width, height); + v4l2core_prepare_new_resolution(get_v4l2_device_handler(), width, height); request_format_update(); @@ -1315,27 +1321,42 @@ char temp_str[20]; int index = gtk_combo_box_get_active(wgtInpType); + //check if format is supported + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); + if(!list_stream_formats[index].dec_support) + { + int fmtind=0; + for (fmtind=0; fmtind < v4l2core_get_number_formats(get_v4l2_device_handler()); fmtind++) + { + //keep current format + if(v4l2core_get_requested_frame_format(get_v4l2_device_handler()) == list_stream_formats[fmtind].format) + { + g_signal_handlers_block_by_func(GTK_COMBO_BOX_TEXT(wgtInpType), G_CALLBACK (format_changed), NULL); + gtk_combo_box_set_active(GTK_COMBO_BOX(wgtInpType), fmtind); /*set active*/ + g_signal_handlers_unblock_by_func(GTK_COMBO_BOX_TEXT(wgtInpType), G_CALLBACK (format_changed), NULL); + } + } + return; + } + //GtkWidget *wgtFrameRate = (GtkWidget *) g_object_get_data (G_OBJECT (wgtInpType), "control_fps"); GtkWidget *wgtResolution = (GtkWidget *) g_object_get_data (G_OBJECT (wgtInpType), "control_resolution"); - int i=0; - int defres = 0; - /*disable resolution combobox signals*/ g_signal_handlers_block_by_func(GTK_COMBO_BOX_TEXT(wgtResolution), G_CALLBACK (resolution_changed), NULL); /* clear out the old resolution list... */ GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model (GTK_COMBO_BOX(wgtResolution))); gtk_list_store_clear(store); - - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); int format = list_stream_formats[index].format; /*update config*/ config_t *my_config = config_get(); - strncpy(my_config->format, list_stream_formats[index].fourcc, 4); + my_config->format = list_stream_formats[index].format; + int i=0; + int defres = 0; /*redraw resolution combo for new format*/ for(i = 0 ; i < list_stream_formats[index].numb_res ; i++) { @@ -1350,9 +1371,14 @@ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtResolution), temp_str); - if ((v4l2core_get_frame_width() == list_stream_formats[index].list_stream_cap[i].width) && - (v4l2core_get_frame_height() == list_stream_formats[index].list_stream_cap[i].height)) - defres=i;//set selected resolution index + if ((v4l2core_get_frame_width(get_v4l2_device_handler()) == list_stream_formats[index].list_stream_cap[i].width) && + (v4l2core_get_frame_height(get_v4l2_device_handler()) == list_stream_formats[index].list_stream_cap[i].height)) + { + /*current resolution is valid for new format*/ + defres=i;//set resolution index for new format + if(debug_level > 1) + printf("GUVCVIEW (Gtk3): selected format (%i) supports current resolution at index %i\n", index, defres); + } } } @@ -1360,9 +1386,10 @@ g_signal_handlers_unblock_by_func(GTK_COMBO_BOX_TEXT(wgtResolution), G_CALLBACK (resolution_changed), NULL); /*prepare new format*/ - v4l2core_prepare_new_format(format); - /*change resolution*/ - gtk_combo_box_set_active(GTK_COMBO_BOX(wgtResolution), defres); + v4l2core_prepare_new_format(get_v4l2_device_handler(), format); + + /*update resolution*/ + gtk_combo_box_set_active(GTK_COMBO_BOX(wgtResolution), defres); /*reset render*/ } /* @@ -1503,34 +1530,41 @@ if(index < 0) index = 0; - else if (index >= audio_ctx->num_input_dev) - index = audio_ctx->num_input_dev - 1; + else if (index >= audio_get_num_inp_devices(audio_ctx)) + index = audio_get_num_inp_devices(audio_ctx) - 1; /*update config*/ config_t *my_config = config_get(); my_config->audio_device = index; /*set the audio device defaults*/ - audio_set_device(audio_ctx, my_config->audio_device); + audio_set_device_index(audio_ctx, my_config->audio_device); if(debug_level > 0) - printf("GUVCVIEW: audio device changed to %i\n", audio_ctx->device); + printf("GUVCVIEW: audio device changed to %i\n", + audio_get_device_index(audio_ctx)); index = gtk_combo_box_get_active(GTK_COMBO_BOX(my_audio_widgets->channels)); if(index == 0) { - audio_ctx->channels = audio_ctx->list_devices[audio_ctx->device].channels; - if(audio_ctx->channels > 2) - audio_ctx->channels = 2;/*limit it to stereo input*/ + int channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; + audio_set_channels(audio_ctx, channels); + if(audio_get_channels(audio_ctx) > 2) + audio_set_channels(audio_ctx, 2);/*limit it to stereo input*/ } index = gtk_combo_box_get_active(GTK_COMBO_BOX(my_audio_widgets->samprate)); if(index == 0) - audio_ctx->samprate = audio_ctx->list_devices[audio_ctx->device].samprate; - - gtk_range_set_value(GTK_RANGE(my_audio_widgets->latency), audio_ctx->latency); + { + int samprate = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->samprate; + audio_set_samprate(audio_ctx, samprate); + } + gtk_range_set_value(GTK_RANGE(my_audio_widgets->latency), + audio_get_latency(audio_ctx)); } /* @@ -1551,54 +1585,59 @@ /*update the audio context for the new api*/ audio_context_t *audio_ctx = get_audio_context(); + int samprate = 44100; + switch(index) { case 0: - audio_ctx->samprate = audio_ctx->list_devices[audio_ctx->device].samprate; + samprate = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->samprate; break; case 1: - audio_ctx->samprate = 7350; + samprate = 7350; break; case 2: - audio_ctx->samprate = 8000; + samprate = 8000; break; case 3: - audio_ctx->samprate = 11025; + samprate = 11025; break; case 4: - audio_ctx->samprate = 12000; + samprate = 12000; break; case 5: - audio_ctx->samprate = 16000; + samprate = 16000; break; case 6: - audio_ctx->samprate = 22050; + samprate = 22050; break; case 7: - audio_ctx->samprate = 24000; + samprate = 24000; break; case 8: - audio_ctx->samprate = 32000; + samprate = 32000; break; case 9: - audio_ctx->samprate = 44100; + samprate = 44100; break; case 10: - audio_ctx->samprate = 48000; + samprate = 48000; break; case 11: - audio_ctx->samprate = 64000; + samprate = 64000; break; case 12: - audio_ctx->samprate = 88200; + samprate = 88200; break; case 13: - audio_ctx->samprate = 96000; + samprate = 96000; break; default: - audio_ctx->samprate = 44100; + samprate = 44100; break; } + + audio_set_samprate(audio_ctx, samprate); } /* @@ -1624,10 +1663,11 @@ switch(index) { case 0: - channels = audio_ctx->list_devices[audio_ctx->device].channels; + channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; break; case 1: - channels = 1; + channels = 1; break; default: case 2: @@ -1635,11 +1675,15 @@ break; } - if(channels > audio_ctx->list_devices[audio_ctx->device].channels) - audio_ctx->channels = audio_ctx->list_devices[audio_ctx->device].channels; + if(channels > audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels) + channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; - if(audio_ctx->channels > 2) - audio_ctx->channels = 2; /*limit to stereo*/ + if(channels > 2) + channels = 2; /*limit to stereo*/ + + audio_set_channels(audio_ctx, channels); } /* @@ -1700,14 +1744,15 @@ gtk_list_store_clear(store); int i = 0; - for(i = 0; i < audio_ctx->num_input_dev; ++i) + for(i = 0; i < audio_get_num_inp_devices(audio_ctx); ++i) { gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(my_audio_widgets->device), - audio_ctx->list_devices[i].description); + audio_get_device(audio_ctx, i)->description); } - gtk_combo_box_set_active(GTK_COMBO_BOX(my_audio_widgets->device), audio_ctx->device); + gtk_combo_box_set_active(GTK_COMBO_BOX(my_audio_widgets->device), + audio_get_device_index(audio_ctx)); g_signal_handlers_unblock_by_func( GTK_COMBO_BOX_TEXT(my_audio_widgets->device), @@ -1723,15 +1768,24 @@ int index = gtk_combo_box_get_active(GTK_COMBO_BOX(my_audio_widgets->channels)); if(index == 0) /*auto*/ - audio_ctx->channels = audio_ctx->list_devices[audio_ctx->device].channels; + { + int channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; + audio_set_channels(audio_ctx, channels); + } /*update samprate*/ index = gtk_combo_box_get_active(GTK_COMBO_BOX(my_audio_widgets->samprate)); if(index == 0) /*auto*/ - audio_ctx->samprate = audio_ctx->list_devices[audio_ctx->device].samprate; - - gtk_range_set_value(GTK_RANGE(my_audio_widgets->latency), audio_ctx->latency); + { + int samprate = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->samprate; + audio_set_samprate(audio_ctx, samprate); + } + + gtk_range_set_value(GTK_RANGE(my_audio_widgets->latency), + audio_get_latency(audio_ctx)); } } @@ -1753,7 +1807,7 @@ audio_context_t *audio_ctx = get_audio_context(); if(audio_ctx != NULL) - audio_ctx->latency = (double) gtk_range_get_value (range); + audio_set_latency(audio_ctx, (double) gtk_range_get_value (range)); } /* @@ -2287,6 +2341,29 @@ } /* + * gtk3 entry focus in or out event + * args: + * entry - pointer to widget that received event + * event - pointer to GDK key event structure + * data - pointer to user data + * + * asserts: + * none + * + * returns: true if we handled the event or false otherwise + */ +gboolean entry_focus (GtkWidget *entry, GdkEventKey *event, void *data) +{ + int val = GPOINTER_TO_INT(data); + //if we have an entry with focus disable window_key_pressed events + entry_has_focus = val; + if(debug_level > 1) + printf("GUVCIVEW: entry focus changed to %i \n", entry_has_focus); + + return FALSE; +} + +/* * gtk3 window key pressed event * args: * win - pointer to widget (main window) where event ocurred @@ -2312,7 +2389,10 @@ || (event->state & GDK_MOD5_MASK))) return FALSE; - if(v4l2core_has_pantilt_id()) + if(entry_has_focus) + return FALSE; + + if(v4l2core_has_pantilt_id(get_v4l2_device_handler())) { int id = 0; int value = 0; @@ -2322,25 +2402,25 @@ case GDK_KEY_Down: case GDK_KEY_KP_Down: id = V4L2_CID_TILT_RELATIVE; - value = v4l2core_get_tilt_step(); + value = v4l2core_get_tilt_step(get_v4l2_device_handler()); break; case GDK_KEY_Up: case GDK_KEY_KP_Up: id = V4L2_CID_TILT_RELATIVE; - value = - v4l2core_get_tilt_step(); + value = - v4l2core_get_tilt_step(get_v4l2_device_handler()); break; case GDK_KEY_Left: case GDK_KEY_KP_Left: id = V4L2_CID_PAN_RELATIVE; - value = v4l2core_get_pan_step(); + value = v4l2core_get_pan_step(get_v4l2_device_handler()); break; case GDK_KEY_Right: case GDK_KEY_KP_Right: id = V4L2_CID_PAN_RELATIVE; - value = - v4l2core_get_pan_step(); + value = - v4l2core_get_pan_step(get_v4l2_device_handler()); break; default: @@ -2349,13 +2429,13 @@ if(id != 0 && value != 0) { - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); if(control) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt value\n"); return TRUE; @@ -2409,13 +2489,12 @@ GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model (GTK_COMBO_BOX(get_wgtDevices_gtk3()))); gtk_list_store_clear(store); - v4l2_device_list *device_list = v4l2core_get_device_list(); int i = 0; - for(i = 0; i < (device_list->num_devices); i++) + for(i = 0; i < v4l2core_get_num_devices(); i++) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(get_wgtDevices_gtk3()), - device_list->list_devices[i].name); - if(device_list->list_devices[i].current) + v4l2core_get_device_sys_data(i)->name); + if(v4l2core_get_device_sys_data(i)->current) gtk_combo_box_set_active(GTK_COMBO_BOX(get_wgtDevices_gtk3()),i); } @@ -2424,4 +2503,25 @@ } return (TRUE); +} + +/* + * control events timer callback + * args: + * data - pointer to user data + * + * asserts: + * none + * + * returns: true if timer is to be reset or false otherwise + */ +gboolean check_control_events(gpointer data) +{ + if(v4l2core_check_control_events(get_v4l2_device_handler()) > 0) + { + /*update the control list*/ + gui_gtk3_update_controls_state(); + } + + return (TRUE); } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_callbacks.h guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_callbacks.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_callbacks.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_callbacks.h 2016-04-25 16:35:21.000000000 +0000 @@ -256,7 +256,6 @@ */ void button_clicked (GtkButton * Button, void *data); -#ifdef V4L2_CTRL_TYPE_STRING /* * a string control apply button clicked * args: @@ -269,9 +268,7 @@ * returns: none */ void string_button_clicked(GtkButton * Button, void *data); -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 /* * a int64 control apply button clicked * args: @@ -284,9 +281,7 @@ * returns: none */ void int64_button_clicked(GtkButton * Button, void *data); -#endif -#ifdef V4L2_CTRL_TYPE_BITMASK /* * a bitmask control apply button clicked * args: @@ -299,7 +294,6 @@ * returns: none */ void bitmask_button_clicked(GtkButton * Button, void *data); -#endif /* * slider changed event @@ -575,6 +569,20 @@ void encoder_audio_properties(GtkMenuItem *item, void *data); /* + * gtk3 entry focus in or out event + * args: + * entry - pointer to widget that received event + * event - pointer to GDK key event structure + * data - pointer to user data + * + * asserts: + * none + * + * returns: true if we handled the event or false otherwise + */ +gboolean entry_focus (GtkWidget *entry, GdkEventKey *event, void *data); + +/* * gtk3 window key pressed event * args: * win - pointer to widget (main window) where event ocurred @@ -602,4 +610,16 @@ */ gboolean check_device_events(gpointer data); +/* + * control events timer callback + * args: + * data - pointer to user data + * + * asserts: + * none + * + * returns: true if timer is to be reset or false otherwise + */ +gboolean check_control_events(gpointer data); + #endif diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_h264ctrls.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_h264ctrls.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_h264ctrls.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_h264ctrls.c 2016-04-25 16:35:21.000000000 +0000 @@ -109,7 +109,7 @@ */ static void update_h264_controls() { - uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(); + uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(get_v4l2_device_handler()); //dwFrameInterval //gtk_spin_button_set_value(GTK_SPIN_BUTTON(h264_controls->FrameInterval), config_probe_req->dwFrameInterval); //dwBitRate @@ -259,10 +259,10 @@ static void fill_video_config_probe () { - uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(); + uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(get_v4l2_device_handler()); //dwFrameInterval - uint32_t frame_interval = (v4l2core_get_fps_num() * 1000000000LL / v4l2core_get_fps_denom())/100; + uint32_t frame_interval = (v4l2core_get_fps_num(get_v4l2_device_handler()) * 1000000000LL / v4l2core_get_fps_denom(get_v4l2_device_handler()))/100; config_probe_req->dwFrameInterval = frame_interval;//(uint32_t) gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(h264_controls->FrameInterval)); //dwBitRate config_probe_req->dwBitRate = (uint32_t) gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(BitRate)); @@ -286,8 +286,8 @@ hints |= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Hints_iframe)) ? 0x8000: 0; config_probe_req->bmHints = hints; //wWidth x wHeight - config_probe_req->wWidth = (uint16_t) v4l2core_get_frame_width(); - config_probe_req->wHeight = (uint16_t) v4l2core_get_frame_height(); + config_probe_req->wWidth = (uint16_t) v4l2core_get_frame_width(get_v4l2_device_handler()); + config_probe_req->wHeight = (uint16_t) v4l2core_get_frame_height(get_v4l2_device_handler()); //wSliceMode config_probe_req->wSliceMode = (uint16_t) gtk_combo_box_get_active(GTK_COMBO_BOX(SliceMode)); //wSliceUnits @@ -414,9 +414,9 @@ rate_mode |= (uint8_t) (gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(RateControlMode_cbr_flag)) & 0x0000001C); - v4l2core_set_h264_video_rate_control_mode(rate_mode); + v4l2core_set_h264_video_rate_control_mode(get_v4l2_device_handler(), rate_mode); - rate_mode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_CUR); + rate_mode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_CUR); int ratecontrolmode_index = rate_mode - 1; // from 0x01 to 0x03 if(ratecontrolmode_index < 0) @@ -442,9 +442,9 @@ { uint8_t scale_mode = (uint8_t) gtk_spin_button_get_value_as_int(spin); - v4l2core_set_h264_temporal_scale_mode(scale_mode); + v4l2core_set_h264_temporal_scale_mode(get_v4l2_device_handler(), scale_mode); - scale_mode = v4l2core_get_h264_temporal_scale_mode(UVC_GET_CUR) & 0x07; + scale_mode = v4l2core_get_h264_temporal_scale_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x07; g_signal_handlers_block_by_func (spin, G_CALLBACK (h264_TemporalScaleMode_changed), data); gtk_spin_button_set_value (spin, scale_mode); @@ -466,9 +466,9 @@ { uint8_t scale_mode = (uint8_t) gtk_spin_button_get_value_as_int(spin); - v4l2core_set_h264_spatial_scale_mode(scale_mode); + v4l2core_set_h264_spatial_scale_mode(get_v4l2_device_handler(), scale_mode); - scale_mode = v4l2core_get_h264_spatial_scale_mode(UVC_GET_CUR) & 0x07; + scale_mode = v4l2core_get_h264_spatial_scale_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x07; g_signal_handlers_block_by_func (spin, G_CALLBACK (h264_SpatialScaleMode_changed), data); gtk_spin_button_set_value (spin, scale_mode); @@ -490,9 +490,9 @@ { uint32_t framerate = (uint32_t) gtk_spin_button_get_value_as_int(spin); - v4l2core_set_h264_frame_rate_config(framerate); + v4l2core_set_h264_frame_rate_config(get_v4l2_device_handler(), framerate); - framerate = v4l2core_get_h264_frame_rate_config(); + framerate = v4l2core_get_h264_frame_rate_config(get_v4l2_device_handler()); g_signal_handlers_block_by_func (spin, G_CALLBACK (h264_FrameInterval_changed), data); gtk_spin_button_set_value (spin, framerate); @@ -514,7 +514,7 @@ { fill_video_config_probe(); - v4l2core_set_h264_no_probe_default(1); + v4l2core_set_h264_no_probe_default(get_v4l2_device_handler(), 1); request_format_update(); @@ -525,14 +525,14 @@ .tv_sec = 0, .tv_nsec = 50000000};/*nanosec*/ - while(v4l2core_get_h264_no_probe_default() > 0 && counter < 10) + while(v4l2core_get_h264_no_probe_default(get_v4l2_device_handler()) > 0 && counter < 10) { nanosleep(&req, NULL); counter++; } /*make sure we reset this flag, although the core probably handle it already*/ - v4l2core_set_h264_no_probe_default(0); + v4l2core_set_h264_no_probe_default(get_v4l2_device_handler(), 0); update_h264_controls(); } @@ -550,7 +550,7 @@ */ void h264_reset_button_clicked(GtkButton *button, void *data) { - v4l2core_reset_h264_encoder(); + v4l2core_reset_h264_encoder(get_v4l2_device_handler()); } /* @@ -573,15 +573,15 @@ //get current values - v4l2core_probe_h264_config_probe_req(UVC_GET_CUR, NULL); + v4l2core_probe_h264_config_probe_req(get_v4l2_device_handler(), UVC_GET_CUR, NULL); //get Max values uvcx_video_config_probe_commit_t config_probe_max; - v4l2core_probe_h264_config_probe_req(UVC_GET_MAX, &config_probe_max); + v4l2core_probe_h264_config_probe_req(get_v4l2_device_handler(), UVC_GET_MAX, &config_probe_max); //get Min values uvcx_video_config_probe_commit_t config_probe_min; - v4l2core_probe_h264_config_probe_req(UVC_GET_MIN, &config_probe_min); + v4l2core_probe_h264_config_probe_req(get_v4l2_device_handler(), UVC_GET_MIN, &config_probe_min); GtkWidget *h264_controls_grid = gtk_grid_new(); @@ -612,8 +612,8 @@ gtk_grid_attach (GTK_GRID(h264_controls_grid), label_RateControlMode, 0, line, 1, 1); gtk_widget_show (label_RateControlMode); - uint8_t min_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_MIN) & 0x03; - uint8_t max_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_MAX) & 0x03; + uint8_t min_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MIN) & 0x03; + uint8_t max_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MAX) & 0x03; RateControlMode = gtk_combo_box_text_new(); if(max_ratecontrolmode >= 1 && min_ratecontrolmode < 2) @@ -627,7 +627,7 @@ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(RateControlMode), _("Constant QP")); - uint8_t cur_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_CUR) & 0x03; + uint8_t cur_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x03; int ratecontrolmode_index = cur_ratecontrolmode - 1; // from 0x01 to 0x03 if(ratecontrolmode_index < 0) ratecontrolmode_index = 0; @@ -653,9 +653,9 @@ gtk_grid_attach (GTK_GRID(h264_controls_grid), label_RateControlMode_cbr_flag, 0, line, 1, 1); gtk_widget_show (label_RateControlMode_cbr_flag); - uint8_t cur_vrcflags = v4l2core_get_h264_video_rate_control_mode( UVC_GET_CUR) & 0x1C; - uint8_t max_vrcflags = v4l2core_get_h264_video_rate_control_mode( UVC_GET_MAX) & 0x1C; - uint8_t min_vrcflags = v4l2core_get_h264_video_rate_control_mode( UVC_GET_MIN) & 0x1C; + uint8_t cur_vrcflags = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x1C; + uint8_t max_vrcflags = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MAX) & 0x1C; + uint8_t min_vrcflags = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MIN) & 0x1C; GtkAdjustment *adjustment7 = gtk_adjustment_new ( cur_vrcflags, @@ -683,7 +683,7 @@ gtk_grid_attach (GTK_GRID(h264_controls_grid), label_TemporalScaleMode, 0, line, 1, 1); gtk_widget_show (label_TemporalScaleMode); - uvcx_video_config_probe_commit_t *h264_config_probe_req = v4l2core_get_h264_config_probe_req(); + uvcx_video_config_probe_commit_t *h264_config_probe_req = v4l2core_get_h264_config_probe_req(get_v4l2_device_handler()); uint8_t cur_tsmflags = h264_config_probe_req->bTemporalScaleMode & 0x07; uint8_t max_tsmflags = config_probe_max.bTemporalScaleMode & 0x07; @@ -755,9 +755,9 @@ gtk_widget_show (label_FrameInterval); //uint32_t cur_framerate = (global->fps_num * 1000000000LL / global->fps)/100; - uint32_t cur_framerate = v4l2core_get_h264_frame_rate_config(); - uint32_t max_framerate = v4l2core_query_h264_frame_rate_config( UVC_GET_MAX); - uint32_t min_framerate = v4l2core_query_h264_frame_rate_config( UVC_GET_MIN); + uint32_t cur_framerate = v4l2core_get_h264_frame_rate_config(get_v4l2_device_handler()); + uint32_t max_framerate = v4l2core_query_h264_frame_rate_config(get_v4l2_device_handler(), UVC_GET_MAX); + uint32_t min_framerate = v4l2core_query_h264_frame_rate_config(get_v4l2_device_handler(), UVC_GET_MIN); GtkAdjustment *adjustment0 = gtk_adjustment_new ( cur_framerate, diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_v4l2ctrls.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_v4l2ctrls.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_v4l2ctrls.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_v4l2ctrls.c 2016-04-25 16:35:21.000000000 +0000 @@ -35,6 +35,7 @@ #include #include +#include "video_capture.h" #include "gui_gtk3.h" #include "gui_gtk3_callbacks.h" #include "gui.h" @@ -121,7 +122,7 @@ int i = 0; int n = 0; - v4l2_ctrl_t *current = v4l2core_get_control_list(); + v4l2_ctrl_t *current = v4l2core_get_control_list(get_v4l2_device_handler()); for(; current != NULL; current = current->next, ++n) { @@ -158,7 +159,6 @@ #else gtk_misc_set_alignment (GTK_MISC (control_widgets_list[widget_list_size - 1].label), 1, 0.5); #endif - control_widgets_list[widget_list_size - 1].id = current->control.id; control_widgets_list[widget_list_size - 1].widget = NULL; @@ -212,9 +212,9 @@ gtk_editable_set_editable(GTK_EDITABLE(control_widgets_list[n].widget2), TRUE); if(current->control.id == V4L2_CID_PAN_RELATIVE) - gtk_spin_button_set_value (GTK_SPIN_BUTTON(control_widgets_list[n].widget2), v4l2core_get_pan_step()); + gtk_spin_button_set_value (GTK_SPIN_BUTTON(control_widgets_list[n].widget2), v4l2core_get_pan_step(get_v4l2_device_handler())); else - gtk_spin_button_set_value (GTK_SPIN_BUTTON(control_widgets_list[n].widget2),v4l2core_get_tilt_step()); + gtk_spin_button_set_value (GTK_SPIN_BUTTON(control_widgets_list[n].widget2), v4l2core_get_tilt_step(get_v4l2_device_handler())); /*connect signal*/ g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_info", @@ -431,11 +431,10 @@ } break; -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: - widget = gtk_entry_new(); - gtk_entry_set_max_length(control_widgets_list[n].widget, current->control.maximum); + control_widgets_list[n].widget = gtk_entry_new(); + gtk_entry_set_max_length(GTK_ENTRY(control_widgets_list[n].widget), 19); //control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); control_widgets_list[n].widget2 = gtk_button_new_with_mnemonic (_("_Apply")); @@ -446,19 +445,18 @@ g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_info", GINT_TO_POINTER(current->control.id)); g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_entry", - widget); + control_widgets_list[n].widget); /*connect signal*/ g_signal_connect (GTK_BUTTON(control_widgets_list[n].widget2), "clicked", G_CALLBACK (int64_button_clicked), NULL); break; -#endif -#ifdef V4L2_CTRL_TYPE_STRING + case V4L2_CTRL_TYPE_STRING: control_widgets_list[n].widget = gtk_entry_new(); - gtk_entry_set_max_length(control_widgets_list[n].widget, current->control.maximum); + gtk_entry_set_max_length(GTK_ENTRY(control_widgets_list[n].widget), current->control.maximum); //control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); control_widgets_list[n].widget2 = gtk_button_new_with_mnemonic (_("_Apply")); @@ -469,15 +467,18 @@ g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_info", GINT_TO_POINTER(current->control.id)); g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_entry", - widget); + control_widgets_list[n].widget); /*connect signal*/ g_signal_connect (GTK_BUTTON(control_widgets_list[n].widget2), "clicked", G_CALLBACK (string_button_clicked), NULL); + g_signal_connect(GTK_ENTRY(control_widgets_list[n].widget),"focus-in-event", + G_CALLBACK (entry_focus), GINT_TO_POINTER(1)); + g_signal_connect(GTK_ENTRY(control_widgets_list[n].widget),"focus-out-event", + G_CALLBACK (entry_focus), GINT_TO_POINTER(0)); break; -#endif -#ifdef V4L2_CTRL_TYPE_BITMASK + case V4L2_CTRL_TYPE_BITMASK: control_widgets_list[n].widget = gtk_entry_new(); @@ -491,16 +492,14 @@ g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_info", GINT_TO_POINTER(current->control.id)); g_object_set_data (G_OBJECT (control_widgets_list[n].widget2), "control_entry", - widget); + control_widgets_list[n].widget); g_signal_connect (GTK_BUTTON(control_widgets_list[n].widget2), "clicked", G_CALLBACK (bitmask_button_clicked), NULL); break; -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU + case V4L2_CTRL_TYPE_INTEGER_MENU: -#endif case V4L2_CTRL_TYPE_MENU: if(current->menu) @@ -517,15 +516,13 @@ GTK_COMBO_BOX_TEXT (control_widgets_list[n].widget), (char *) current->menu_entry[j]); } -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU else { char buffer[30]="0"; - snprintf(buffer, "%" PRIu64 "", 29, current->menu[j].value); + snprintf(buffer, 29, "%" PRId64 "", (int64_t) current->menu[j].value); gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT (control_widgets_list[n].widget), buffer); } -#endif if(current->value == current->menu[j].index) def = j; } @@ -569,9 +566,9 @@ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(control_widgets_list[n].widget2), "RGRG... | GBGB..."); - v4l2core_set_bayer_pix_order(0); - - gtk_combo_box_set_active(GTK_COMBO_BOX(control_widgets_list[n].widget2), v4l2core_get_bayer_pix_order()); + v4l2core_set_bayer_pix_order(get_v4l2_device_handler(), 0); + + gtk_combo_box_set_active(GTK_COMBO_BOX(control_widgets_list[n].widget2), v4l2core_get_bayer_pix_order(get_v4l2_device_handler())); gtk_widget_show (control_widgets_list[n].widget2); @@ -580,7 +577,7 @@ G_CALLBACK (bayer_pix_ord_changed), NULL); uint8_t isbayer = (current->value ? TRUE : FALSE); - v4l2core_set_isbayer(isbayer); + v4l2core_set_isbayer(get_v4l2_device_handler(), isbayer); } control_widgets_list[n].widget = gtk_check_button_new(); @@ -641,7 +638,7 @@ */ void gui_gtk3_update_controls_state() { - v4l2_ctrl_t *current = v4l2core_get_control_list(); + v4l2_ctrl_t *current = v4l2core_get_control_list(get_v4l2_device_handler()); for(; current != NULL; current = current->next) { @@ -662,7 +659,6 @@ /*update controls values*/ switch(current->control.type) { -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING: { char *text_input = g_strescape(current->string, ""); @@ -670,7 +666,6 @@ g_free(text_input); break; } -#endif case V4L2_CTRL_TYPE_BOOLEAN: /*disable widget signals*/ g_signal_handlers_block_by_func(GTK_TOGGLE_BUTTON(cur_widget->widget), @@ -682,7 +677,6 @@ G_CALLBACK (check_changed), NULL); break; -#ifdef V4L2_CTRL_TYPE_BITMASK case V4L2_CTRL_TYPE_BITMASK: { char *text_input = g_strdup_printf("0x%x", current->value); @@ -690,17 +684,14 @@ g_free(text_input); break; } -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: { - char *text_input = g_strdup_printf("0x%" PRIx64 "", c->value64); + char *text_input = g_strdup_printf("%" PRId64 "", current->value64); gtk_entry_set_text (GTK_ENTRY(cur_widget->widget), text_input); g_free(text_input); break; } -#endif case V4L2_CTRL_TYPE_INTEGER: if( current->control.id != V4L2_CID_PAN_RELATIVE && @@ -731,9 +722,7 @@ } break; -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU case V4L2_CTRL_TYPE_INTEGER_MENU: -#endif case V4L2_CTRL_TYPE_MENU: { /*disable widget signals*/ diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_videoctrls.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_videoctrls.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_gtk3_videoctrls.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_gtk3_videoctrls.c 2016-04-25 16:35:21.000000000 +0000 @@ -64,7 +64,9 @@ if(debug_level > 1) printf("GUVCVIEW: attaching video controls\n"); - int format_index = v4l2core_get_frame_format_index(v4l2core_get_requested_frame_format()); + int format_index = v4l2core_get_frame_format_index( + get_v4l2_device_handler(), + v4l2core_get_requested_frame_format(get_v4l2_device_handler())); if(format_index < 0) { @@ -73,9 +75,10 @@ } int resolu_index = v4l2core_get_format_resolution_index( + get_v4l2_device_handler(), format_index, - v4l2core_get_frame_width(), - v4l2core_get_frame_height()); + v4l2core_get_frame_width(get_v4l2_device_handler()), + v4l2core_get_frame_height(get_v4l2_device_handler())); if(resolu_index < 0) { @@ -115,22 +118,20 @@ gtk_widget_set_halign (get_wgtDevices_gtk3(), GTK_ALIGN_FILL); gtk_widget_set_hexpand (get_wgtDevices_gtk3(), TRUE); - v4l2_device_list *device_list = v4l2core_get_device_list(); - - if (device_list->num_devices < 1) + if (v4l2core_get_num_devices() < 1) { /*use current*/ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(get_wgtDevices_gtk3()), - v4l2core_get_videodevice()); + v4l2core_get_videodevice(get_v4l2_device_handler())); gtk_combo_box_set_active(GTK_COMBO_BOX(get_wgtDevices_gtk3()),0); } else { - for(i = 0; i < (device_list->num_devices); i++) + for(i = 0; i < v4l2core_get_num_devices(); i++) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(get_wgtDevices_gtk3()), - device_list->list_devices[i].name); - if(device_list->list_devices[i].current) + v4l2core_get_device_sys_data(i)->name); + if(v4l2core_get_device_sys_data(i)->current) gtk_combo_box_set_active(GTK_COMBO_BOX(get_wgtDevices_gtk3()),i); } } @@ -162,7 +163,7 @@ int deffps=0; - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); if (debug_level > 0) printf("GUVCVIEW: frame rates of resolution index %d = %d \n", @@ -179,8 +180,8 @@ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtFrameRate), temp_str); - if (( v4l2core_get_fps_num() == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[i]) && - ( v4l2core_get_fps_denom() == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[i])) + if (( v4l2core_get_fps_num(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[i]) && + ( v4l2core_get_fps_denom(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[i])) deffps=i;//set selected } @@ -191,17 +192,23 @@ if (deffps==0) { if (list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom) - v4l2core_define_fps(-1, list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[0]); + v4l2core_define_fps( + get_v4l2_device_handler(), + -1, + list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[0]); if (list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num) - v4l2core_define_fps(list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[0], -1); + v4l2core_define_fps( + get_v4l2_device_handler(), + list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[0], + -1); } g_signal_connect (GTK_COMBO_BOX_TEXT(wgtFrameRate), "changed", G_CALLBACK (frame_rate_changed), NULL); /*try to sync the device fps (capture thread must have started by now)*/ - v4l2core_request_framerate_update (); + v4l2core_request_framerate_update (get_v4l2_device_handler()); /*---- Resolution ----*/ line++; @@ -242,8 +249,8 @@ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtResolution), temp_str); - if ((v4l2core_get_frame_width() == list_stream_formats[format_index].list_stream_cap[i].width) && - (v4l2core_get_frame_height() == list_stream_formats[format_index].list_stream_cap[i].height)) + if ((v4l2core_get_frame_width(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[i].width) && + (v4l2core_get_frame_height(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[i].height)) defres=i;//set selected resolution index } } @@ -279,13 +286,37 @@ gtk_widget_show (wgtInpType); gtk_widget_set_sensitive (wgtInpType, TRUE); + int fmtind=0; - for (fmtind=0; fmtind < v4l2core_get_number_formats(); fmtind++) + for (fmtind=0; fmtind < v4l2core_get_number_formats(get_v4l2_device_handler()); fmtind++) { - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtInpType), list_stream_formats[fmtind].fourcc); - if(v4l2core_get_requested_frame_format() == list_stream_formats[fmtind].format) - gtk_combo_box_set_active(GTK_COMBO_BOX(wgtInpType), fmtind); /*set active*/ + char *buffer = NULL; + if(list_stream_formats[fmtind].dec_support) + { + if((list_stream_formats[fmtind].format & (1<<31)) != 0) + buffer = g_strconcat(list_stream_formats[fmtind].fourcc, + "(BE) - ", list_stream_formats[fmtind].description, NULL); + else + buffer = g_strconcat(list_stream_formats[fmtind].fourcc, + " - ", list_stream_formats[fmtind].description, NULL); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtInpType), buffer); + + if(v4l2core_get_requested_frame_format(get_v4l2_device_handler()) == list_stream_formats[fmtind].format) + gtk_combo_box_set_active(GTK_COMBO_BOX(wgtInpType), fmtind); /*set active*/ + } + else + { + if((list_stream_formats[fmtind].format & (1<<31)) != 0) + buffer = g_strconcat(list_stream_formats[fmtind].fourcc, + "(BE) - ", list_stream_formats[fmtind].description, + " (UNSUPPORTED)", NULL); + else + buffer = g_strconcat(list_stream_formats[fmtind].fourcc, + " - ", list_stream_formats[fmtind].description, " (UNSUPPORTED)", NULL); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(wgtInpType), buffer); + } + free(buffer); } gtk_grid_attach (GTK_GRID(video_controls_grid), wgtInpType, 1, line, 1 ,1); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_audioctrls.cpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_audioctrls.cpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_audioctrls.cpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_audioctrls.cpp 2016-04-25 16:35:21.000000000 +0000 @@ -95,7 +95,7 @@ int api = AUDIO_NONE; if(audio_ctx != NULL) - api = audio_ctx->api; + api = audio_get_api(audio_ctx); combobox_audio_api->setCurrentIndex(api); @@ -118,10 +118,10 @@ if(audio_ctx != NULL) { int i = 0; - for(i = 0; i < audio_ctx->num_input_dev; ++i) - combobox_audio_devices->addItem(audio_ctx->list_devices[i].description, i); + for(i = 0; i < audio_get_num_inp_devices(audio_ctx); ++i) + combobox_audio_devices->addItem(audio_get_device(audio_ctx, i)->description, i); - combobox_audio_devices->setCurrentIndex(audio_ctx->device); + combobox_audio_devices->setCurrentIndex(audio_get_device_index(audio_ctx)); } else @@ -215,7 +215,7 @@ double latency = 0.0; if(audio_ctx != NULL) - latency = audio_ctx->latency; + latency = audio_get_latency(audio_ctx); if(debug_level > 2) std::cout << "GUVCVIEW (Qt5): audio latency is set to " diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_callbacks.cpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_callbacks.cpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_callbacks.cpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_callbacks.cpp 2016-04-25 16:35:21.000000000 +0000 @@ -118,7 +118,7 @@ if(debug_level > 2) std::cout << "GUVCVIEW (Qt5): setting control defaults" << std::endl; - v4l2core_set_control_defaults(); + v4l2core_set_control_defaults(get_v4l2_device_handler()); gui_qt5_update_controls_state(); } @@ -151,7 +151,7 @@ std::cout << "GUVCVIEW (Qt5): load profile " << fileName.toStdString() << std::endl; - v4l2core_load_control_profile(fileName.toStdString().c_str()); + v4l2core_load_control_profile(get_v4l2_device_handler(), fileName.toStdString().c_str()); gui_qt5_update_controls_state(); char *basename = get_file_basename(fileName.toStdString().c_str()); @@ -186,7 +186,7 @@ std::cout << "GUVCVIEW (Qt5): save profile " << fileName.toStdString() << std::endl; - v4l2core_save_control_profile(fileName.toStdString().c_str()); + v4l2core_save_control_profile(get_v4l2_device_handler(), fileName.toStdString().c_str()); char *basename = get_file_basename(fileName.toStdString().c_str()); if(basename) @@ -528,9 +528,9 @@ int id = sender->property("control_info").toInt(); if(id == V4L2_CID_PAN_RELATIVE) - v4l2core_set_pan_step(value); + v4l2core_set_pan_step(get_v4l2_device_handler(), value); if(id == V4L2_CID_TILT_RELATIVE) - v4l2core_set_tilt_step(value); + v4l2core_set_tilt_step(get_v4l2_device_handler(), value); } /* @@ -549,14 +549,14 @@ QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); if(id == V4L2_CID_PAN_RELATIVE) - control->value = v4l2core_get_pan_step(); + control->value = v4l2core_get_pan_step(get_v4l2_device_handler()); else - control->value = v4l2core_get_tilt_step(); + control->value = v4l2core_get_tilt_step(get_v4l2_device_handler()); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW: error setting pan/tilt" << std::endl; } @@ -576,14 +576,14 @@ QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); if(id == V4L2_CID_PAN_RELATIVE) - control->value = - v4l2core_get_pan_step(); + control->value = - v4l2core_get_pan_step(get_v4l2_device_handler()); else - control->value = - v4l2core_get_tilt_step(); + control->value = - v4l2core_get_tilt_step(get_v4l2_device_handler()); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW: error setting pan/tilt" << std::endl; } @@ -603,17 +603,16 @@ QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); control->value = 1; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) fprintf(stderr, "GUVCVIEW: error setting button value\n"); gui_qt5_update_controls_state(); } -#ifdef V4L2_CTRL_TYPE_STRING /* * a string control apply button clicked * args: @@ -628,22 +627,20 @@ { QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - QLineEdit *entry = (QLineEdit *) sender->property("control_entry").value(); + QLineEdit *entry = (QLineEdit *) sender->property("control_entry").value(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); assert(control->string != NULL); QString text_input = entry->text(); - strncpy(control->string, text_input.toStdString(), control->control.maximum); + strncpy(control->string, text_input.toStdString().c_str(), control->control.maximum); - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW (Qt5): error setting string value" << std::endl; } -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 /* * a int64 control apply button clicked * args: @@ -659,20 +656,21 @@ { QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - QLineEdit *entry = (QLineEdit *) sender->property("control_entry").value(); + QLineEdit *entry = (QLineEdit *) sender->property("control_entry").value(); if(!entry) { - std:cerr << "Guvcview (Qt5): couldn't get QLineEdit pointer for int64 control: " + std::cerr << "Guvcview (Qt5): couldn't get QLineEdit pointer for int64 control: " << std::hex << id << std::dec << std::endl; return; } - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); QString text_input = entry->text(); + text_input = text_input.remove(" "); - bool ok; + bool ok = true; int64_t value = 0; if(text_input.startsWith("0x")) //hex format value = text_input.toLongLong(&ok, 16); @@ -682,17 +680,15 @@ if(ok) { control->value64 = value; - if(v4l2core_set_control_value_by_id(id)) - std:cerr << "GUVCVIEW (Qt5): error setting int64 value" + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) + std::cerr << "GUVCVIEW (Qt5): error setting int64 value" << std::endl; } else std::cerr << "GUVCVIEW (Qt5): error converting int64 entry value" << std::endl; } -#endif -#ifdef V4L2_CTRL_TYPE_BITMASK /* * a bitmask control apply button clicked * args: @@ -707,32 +703,30 @@ { QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - QLineEdit *entry = (QLineEdit *) sender->property("control_entry").value(); + QLineEdit *entry = (QLineEdit *) sender->property("control_entry").value(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); - assert(control->string != NULL); QString text_input = entry->text(); - bool ok; + bool ok = true; int32_t value = 0; if(text_input.startsWith("0x")) //hex format - text_input.toInt(&ok, 16); + value = (int32_t) text_input.toLongLong(&ok, 16); else - text_input.toInt(&ok, 10); //decimal + value = (int32_t) text_input.toLongLong(&ok, 10); //decimal if(ok) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) - std:cerr << "GUVCVIEW (Qt5): error setting bitmask value" + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) + std::cerr << "GUVCVIEW (Qt5): error setting bitmask value" << std::endl; } else std::cerr << "GUVCVIEW (Qt5): error converting bitmask entry value" << std::endl; } -#endif /* * slider changed event @@ -750,11 +744,11 @@ QObject *sender = QObject::sender(); int id = sender->property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW (Qt5): error setting slider value" <property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW (Qt5): error setting spin value" <property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); control->value = control->menu[index].index; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW (Qt5): error setting menu value" <property("control_info").toInt(); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); int val = (state != 0) ? 1 : 0; control->value = val; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW: error setting menu value" << std::endl; if(id == V4L2_CID_DISABLE_PROCESSING_LOGITECH) { if (control->value > 0) - v4l2core_set_isbayer(1); + v4l2core_set_isbayer(get_v4l2_device_handler(), 1); else - v4l2core_set_isbayer(0); + v4l2core_set_isbayer(get_v4l2_device_handler(), 0); /* * must restart stream and requeue * the buffers for changes to take effect * (updating fps provides all that is needed) */ - v4l2core_request_framerate_update (); + v4l2core_request_framerate_update (get_v4l2_device_handler()); } gui_qt5_update_controls_state(); @@ -880,10 +874,8 @@ */ void MainWindow::devices_changed (int index) { - if(index == v4l2core_get_this_device_index()) + if(index == v4l2core_get_this_device_index(get_v4l2_device_handler())) return; - - v4l2_device_list *device_list = v4l2core_get_device_list(); QMessageBox msgBox; msgBox.setIcon(QMessageBox::Question); @@ -900,7 +892,7 @@ QStringList args; QString dev_arg = "--device="; - dev_arg.append(device_list->list_devices[index].device); + dev_arg.append(v4l2core_get_device_sys_data(index)->device); args << dev_arg; if(debug_level > 1) @@ -919,7 +911,7 @@ QStringList args; QString dev_arg = "--device="; - dev_arg.append(device_list->list_devices[index].device); + dev_arg.append(v4l2core_get_device_sys_data(index)->device); args << dev_arg; if(debug_level > 1) @@ -935,7 +927,7 @@ /*reset to current device*/ /*disable device combobox signals*/ combobox_video_devices->blockSignals(true); - combobox_video_devices->setCurrentIndex(v4l2core_get_this_device_index()); + combobox_video_devices->setCurrentIndex(v4l2core_get_this_device_index(get_v4l2_device_handler())); /*enable device combobox signals*/ combobox_video_devices->blockSignals(false); } @@ -952,24 +944,27 @@ */ void MainWindow::frame_rate_changed (int index) { - int format_index = v4l2core_get_frame_format_index(v4l2core_get_requested_frame_format()); + int format_index = v4l2core_get_frame_format_index( + get_v4l2_device_handler(), + v4l2core_get_requested_frame_format(get_v4l2_device_handler())); int resolu_index = v4l2core_get_format_resolution_index( + get_v4l2_device_handler(), format_index, - v4l2core_get_frame_width(), - v4l2core_get_frame_height()); + v4l2core_get_frame_width(get_v4l2_device_handler()), + v4l2core_get_frame_height(get_v4l2_device_handler())); - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); int fps_denom = list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[index]; int fps_num = list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[index]; - v4l2core_define_fps(fps_num, fps_denom); + v4l2core_define_fps(get_v4l2_device_handler(), fps_num, fps_denom); int fps[2] = {fps_num, fps_denom}; gui_set_fps(fps); - v4l2core_request_framerate_update (); + v4l2core_request_framerate_update (get_v4l2_device_handler()); } /* @@ -984,14 +979,16 @@ */ void MainWindow::resolution_changed (int index) { - int format_index = v4l2core_get_frame_format_index(v4l2core_get_requested_frame_format()); + int format_index = v4l2core_get_frame_format_index( + get_v4l2_device_handler(), + v4l2core_get_requested_frame_format(get_v4l2_device_handler())); /*disable fps combobox signals*/ combobox_FrameRate->blockSignals(true); /* clear out the old fps list... */ combobox_FrameRate->clear(); - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); int width = list_stream_formats[format_index].list_stream_cap[index].width; int height = list_stream_formats[format_index].list_stream_cap[index].height; @@ -1008,8 +1005,8 @@ combobox_FrameRate->addItem(fps_str, i); - if (( v4l2core_get_fps_num() == list_stream_formats[format_index].list_stream_cap[index].framerate_num[i]) && - ( v4l2core_get_fps_denom() == list_stream_formats[format_index].list_stream_cap[index].framerate_denom[i])) + if (( v4l2core_get_fps_num(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[index].framerate_num[i]) && + ( v4l2core_get_fps_denom(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[index].framerate_denom[i])) deffps=i;//set selected } @@ -1020,13 +1017,19 @@ combobox_FrameRate->blockSignals(false); if (list_stream_formats[format_index].list_stream_cap[index].framerate_num) - v4l2core_define_fps(list_stream_formats[format_index].list_stream_cap[index].framerate_num[deffps], -1); + v4l2core_define_fps( + get_v4l2_device_handler(), + list_stream_formats[format_index].list_stream_cap[index].framerate_num[deffps], + -1); if (list_stream_formats[format_index].list_stream_cap[index].framerate_denom) - v4l2core_define_fps(-1, list_stream_formats[format_index].list_stream_cap[index].framerate_denom[deffps]); + v4l2core_define_fps( + get_v4l2_device_handler(), + -1, + list_stream_formats[format_index].list_stream_cap[index].framerate_denom[deffps]); /*change resolution (try new format and reset render)*/ - v4l2core_prepare_new_resolution(width, height); + v4l2core_prepare_new_resolution(get_v4l2_device_handler(), width, height); request_format_update(); @@ -1059,13 +1062,13 @@ /* clear out the old resolution list... */ combobox_resolution->clear(); - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); int format = list_stream_formats[index].format; /*update config*/ config_t *my_config = config_get(); - strncpy(my_config->format, list_stream_formats[index].fourcc, 4); + my_config->format = list_stream_formats[index].format; /*redraw resolution combo for new format*/ for(i = 0 ; i < list_stream_formats[index].numb_res ; i++) @@ -1075,8 +1078,8 @@ QString res_str = QString( "%1x%2").arg(list_stream_formats[index].list_stream_cap[i].width).arg(list_stream_formats[index].list_stream_cap[i].height); combobox_resolution->addItem(res_str, i); - if ((v4l2core_get_frame_width() == list_stream_formats[index].list_stream_cap[i].width) && - (v4l2core_get_frame_height() == list_stream_formats[index].list_stream_cap[i].height)) + if ((v4l2core_get_frame_width(get_v4l2_device_handler()) == list_stream_formats[index].list_stream_cap[i].width) && + (v4l2core_get_frame_height(get_v4l2_device_handler()) == list_stream_formats[index].list_stream_cap[i].height)) defres=i;//set selected resolution index } } @@ -1088,7 +1091,7 @@ combobox_resolution->blockSignals(false); /*prepare new format*/ - v4l2core_prepare_new_format(format); + v4l2core_prepare_new_format(get_v4l2_device_handler(), format); resolution_changed (defres); } @@ -1226,35 +1229,41 @@ if(index < 0) index = 0; - else if (index >= audio_ctx->num_input_dev) - index = audio_ctx->num_input_dev - 1; + else if (index >= audio_get_num_inp_devices(audio_ctx)) + index = audio_get_num_inp_devices(audio_ctx) - 1; /*update config*/ config_t *my_config = config_get(); my_config->audio_device = index; - /*set the audio device defaults*/ - audio_set_device(audio_ctx, my_config->audio_device); + /*set the audio device index default*/ + audio_set_device_index(audio_ctx, my_config->audio_device); if(debug_level > 0) std::cout << "GUVCVIEW (Qt5): audio device changed to " - << audio_ctx->device << std::endl; + << audio_get_device_index(audio_ctx) << std::endl; int chan_ind = combobox_audio_channels->currentIndex(); if(chan_ind == 0) { - audio_ctx->channels = audio_ctx->list_devices[audio_ctx->device].channels; - if(audio_ctx->channels > 2) - audio_ctx->channels = 2;/*limit it to stereo input*/ + int channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; + if(channels > 2) + channels = 2;/*limit it to stereo input*/ + audio_set_channels(audio_ctx, channels); } int samprate_ind = combobox_audio_samprate->currentIndex(); if(samprate_ind == 0) - audio_ctx->samprate = audio_ctx->list_devices[audio_ctx->device].samprate; + { + int samprate = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->samprate; + audio_set_samprate(audio_ctx, samprate); + } - spinbox_audio_latency->setValue(audio_ctx->latency); + spinbox_audio_latency->setValue(audio_get_latency(audio_ctx)); } /* @@ -1272,19 +1281,23 @@ /*update the audio context for the new api*/ audio_context_t *audio_ctx = get_audio_context(); + int samprate = 44100; switch(index) { case 0: - audio_ctx->samprate = audio_ctx->list_devices[audio_ctx->device].samprate; + samprate = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->samprate; break; default: - audio_ctx->samprate = combobox_audio_samprate->itemData(index).toInt(); - break; + samprate = combobox_audio_samprate->itemData(index).toInt(); + break; } - + + audio_set_samprate(audio_ctx, samprate); + if(debug_level > 1) std::cout << "GUVCVIEW (Qt5): audio sample rate changed to " - << audio_ctx->samprate << std::endl; + << audio_get_samprate(audio_ctx) << std::endl; } /* @@ -1307,18 +1320,23 @@ switch(index) { case 0: - channels = audio_ctx->list_devices[audio_ctx->device].channels; + channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; break; default: channels = combobox_audio_channels->itemData(index).toInt();; break; } - if(channels > audio_ctx->list_devices[audio_ctx->device].channels) - audio_ctx->channels = audio_ctx->list_devices[audio_ctx->device].channels; + if(channels > audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels) + channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; - if(audio_ctx->channels > 2) - audio_ctx->channels = 2; /*limit to stereo*/ + if(channels > 2) + channels = 2; /*limit to stereo*/ + + audio_set_channels(audio_ctx, channels); } /* @@ -1372,11 +1390,11 @@ combobox_audio_devices->clear(); int i = 0; - for(i = 0; i < audio_ctx->num_input_dev; ++i) + for(i = 0; i < audio_get_num_inp_devices(audio_ctx); ++i) { - combobox_audio_devices->addItem(audio_ctx->list_devices[i].description, i); + combobox_audio_devices->addItem(audio_get_device(audio_ctx, i)->description, i); } - combobox_audio_devices->setCurrentIndex(audio_ctx->device); + combobox_audio_devices->setCurrentIndex(audio_get_device_index(audio_ctx)); /*unblock audio device combobox signals*/ combobox_audio_devices->blockSignals(false); @@ -1389,17 +1407,27 @@ int chan_ind = combobox_audio_channels->currentIndex(); if(chan_ind == 0) /*auto*/ - audio_ctx->channels = audio_ctx->list_devices[audio_ctx->device].channels; - + { + int channels = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->channels; + if(channels > 2) + channels = 2;/*limit it to stereo input*/ + audio_set_channels(audio_ctx, channels); + } + /*update samprate*/ int samprate_ind = combobox_audio_samprate->currentIndex(); if(samprate_ind == 0) /*auto*/ - audio_ctx->samprate = audio_ctx->list_devices[audio_ctx->device].samprate; - - std::cout << "GUVCVIEW (Qt5): setting default audio latency to " << audio_ctx->latency << std::endl; - - spinbox_audio_latency->setValue(audio_ctx->latency); + { + int samprate = audio_get_device(audio_ctx, + audio_get_device_index(audio_ctx))->samprate; + audio_set_samprate(audio_ctx, samprate); + } + + std::cout << "GUVCVIEW (Qt5): setting default audio latency to " << audio_get_latency(audio_ctx) << std::endl; + + spinbox_audio_latency->setValue(audio_get_latency(audio_ctx)); } } @@ -1420,7 +1448,7 @@ audio_context_t *audio_ctx = get_audio_context(); if(audio_ctx != NULL) - audio_ctx->latency = value; + audio_set_latency(audio_ctx, value); } /* @@ -1698,7 +1726,7 @@ //if(event->key() Qt::NoModifier) // return; - if(v4l2core_has_pantilt_id()) + if(v4l2core_has_pantilt_id(get_v4l2_device_handler())) { int id = 0; int value = 0; @@ -1707,19 +1735,19 @@ { case Qt::Key_Down: id = V4L2_CID_TILT_RELATIVE; - value = v4l2core_get_tilt_step(); + value = v4l2core_get_tilt_step(get_v4l2_device_handler()); break; case Qt::Key_Up: id = V4L2_CID_TILT_RELATIVE; - value = - v4l2core_get_tilt_step(); + value = - v4l2core_get_tilt_step(get_v4l2_device_handler()); break; case Qt::Key_Left: id = V4L2_CID_PAN_RELATIVE; - value = v4l2core_get_pan_step(); + value = v4l2core_get_pan_step(get_v4l2_device_handler()); break; case Qt::Key_Right: id = V4L2_CID_PAN_RELATIVE; - value = - v4l2core_get_pan_step(); + value = - v4l2core_get_pan_step(get_v4l2_device_handler()); break; default: break; @@ -1727,13 +1755,13 @@ if(id != 0 && value != 0) { - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(get_v4l2_device_handler(), id); if(control) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(get_v4l2_device_handler(), id)) std::cerr << "GUVCVIEW (Qt5): error setting pan/tilt value" << std::endl; return; @@ -1781,12 +1809,11 @@ /* clear out the old device list... */ combobox_video_devices->clear(); - v4l2_device_list *device_list = v4l2core_get_device_list(); int i = 0; - for(i = 0; i < (device_list->num_devices); i++) + for(i = 0; i < v4l2core_get_num_devices(); i++) { - combobox_video_devices->addItem(device_list->list_devices[i].name, i); - if(device_list->list_devices[i].current) + combobox_video_devices->addItem(v4l2core_get_device_sys_data(i)->name, i); + if(v4l2core_get_device_sys_data(i)->current) combobox_video_devices->setCurrentIndex(i); } @@ -1794,3 +1821,22 @@ combobox_video_devices->blockSignals(false); } } + +/* + * control events timer callback + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void MainWindow::check_control_events() +{ + if(v4l2core_check_control_events(get_v4l2_device_handler()) > 0) + { + //update the control list + gui_qt5_update_controls_state(); + } +} diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5.cpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5.cpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5.cpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5.cpp 2016-04-25 16:35:21.000000000 +0000 @@ -168,7 +168,7 @@ control_tab->setTabIcon(tab_ind, image_tab_icon); /*----------------------------H264 Controls Tab --------------------------*/ - if(v4l2core_get_h264_unit_id() > 0) + if(v4l2core_get_h264_unit_id(get_v4l2_device_handler()) > 0) { QScrollArea *scroll_h264ctrls = new QScrollArea(control_tab); @@ -211,11 +211,15 @@ statusbar = statusBar(); statusbar->show(); - timer_check_device = new QTimer(this); connect(timer_check_device, SIGNAL(timeout()), this, SLOT(check_device_events())); timer_check_device->start(1000); + + timer_check_control_events = new QTimer(this); + connect(timer_check_control_events, SIGNAL(timeout()), + this, SLOT(check_control_events())); + timer_check_control_events->start(1000); } MainWindow::~MainWindow() @@ -227,10 +231,10 @@ control_widgets_list.clear(); } -void MainWindow::set_statusbar_message(const char *message) +void MainWindow::set_statusbar_message(QString message) { //displays the message for 5 seconds - statusbar->showMessage(QString(message), 5000); + statusbar->showMessage(message, 5000); } /******************************* C wrapper functions ********************************/ @@ -286,12 +290,11 @@ } /*fatal error message*/ - - v4l2_device_list *device_list = v4l2core_get_device_list(); + /*add device list (more than one device)*/ - int show_dev_list = (device_list->num_devices >= 1) ? 1: 0; + int show_dev_list = (v4l2core_get_num_devices() >= 1) ? 1: 0; - std::cerr << "GUVCVIEW (Qt5): fatal error (" << device_list->num_devices << " devices detected)" << std::endl; + std::cerr << "GUVCVIEW (Qt5): fatal error (" << v4l2core_get_num_devices() << " devices detected)" << std::endl; if(show_dev_list) { @@ -299,9 +302,9 @@ QStringList items; int i = 0; - for(i = 0; i < (device_list->num_devices); i++) + for(i = 0; i < v4l2core_get_num_devices(); i++) { - items << device_list->list_devices[i].name; + items << v4l2core_get_device_sys_data(i)->name; } bool ok; @@ -309,7 +312,7 @@ dialog_text.append(_("\nYou seem to have video devices installed.\n" "Do you want to try one ?\n")); QString item = QInputDialog::getItem(mainWin, gettext(title), dialog_text, - items, device_list->num_devices - 1, + items, v4l2core_get_num_devices() - 1, false, &ok); if (ok && !item.isEmpty()) @@ -324,7 +327,7 @@ i++; } - dev_arg.append(device_list->list_devices[i].device); + dev_arg.append(v4l2core_get_device_sys_data(i)->device); args << dev_arg; QProcess process; process.startDetached("guvcview", args); @@ -379,6 +382,11 @@ if(debug_level > 2) std::cout <<"GUVCVIEW (Qt5): creating window" << std::endl; mainWin = new MainWindow(); + if(width <=0 || height <= 0) + { + width = 800; + height = 600; + } mainWin->resize(width, height); mainWin->show(); @@ -447,7 +455,13 @@ void gui_status_message_qt5(const char *message) { if(mainWin) - mainWin->set_statusbar_message(message); + { + QCoreApplication::postEvent(mainWin, new QEvent(QEvent::UpdateRequest), + Qt::LowEventPriority); + QMetaObject::invokeMethod(mainWin, "set_statusbar_message", Q_ARG(QString, QString(message))); + + //mainWin->set_statusbar_message(message); + } } /* diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_h264ctrls.cpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_h264ctrls.cpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_h264ctrls.cpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_h264ctrls.cpp 2016-04-25 16:35:21.000000000 +0000 @@ -60,7 +60,7 @@ */ void MainWindow::update_h264_controls() { - uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(); + uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(get_v4l2_device_handler()); //dwBitRate BitRate->setValue(config_probe_req->dwBitRate); @@ -209,10 +209,10 @@ void MainWindow::fill_video_config_probe () { - uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(); + uvcx_video_config_probe_commit_t *config_probe_req = v4l2core_get_h264_config_probe_req(get_v4l2_device_handler()); //dwFrameInterval - uint32_t frame_interval = (v4l2core_get_fps_num() * 1000000000LL / v4l2core_get_fps_denom())/100; + uint32_t frame_interval = (v4l2core_get_fps_num(get_v4l2_device_handler()) * 1000000000LL / v4l2core_get_fps_denom(get_v4l2_device_handler()))/100; config_probe_req->dwFrameInterval = frame_interval;//(uint32_t) gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(h264_controls->FrameInterval)); //dwBitRate config_probe_req->dwBitRate = (uint32_t) BitRate->value(); @@ -236,8 +236,8 @@ hints |= Hints_iframe->isChecked() ? 0x8000: 0; config_probe_req->bmHints = hints; //wWidth x wHeight - config_probe_req->wWidth = (uint16_t) v4l2core_get_frame_width(); - config_probe_req->wHeight = (uint16_t) v4l2core_get_frame_height(); + config_probe_req->wWidth = (uint16_t) v4l2core_get_frame_width(get_v4l2_device_handler()); + config_probe_req->wHeight = (uint16_t) v4l2core_get_frame_height(get_v4l2_device_handler()); //wSliceMode config_probe_req->wSliceMode = (uint16_t) SliceMode->currentIndex(); //wSliceUnits @@ -307,9 +307,9 @@ rate_mode |= (uint8_t) (RateControlMode_cbr_flag->value() & 0x0000001C); - v4l2core_set_h264_video_rate_control_mode(rate_mode); + v4l2core_set_h264_video_rate_control_mode(get_v4l2_device_handler(), rate_mode); - rate_mode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_CUR); + rate_mode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_CUR); int ratecontrolmode_index = rate_mode - 1; // from 0x01 to 0x03 if(ratecontrolmode_index < 0) @@ -334,9 +334,9 @@ { uint8_t scale_mode = (uint8_t) TemporalScaleMode->value(); - v4l2core_set_h264_temporal_scale_mode(scale_mode); + v4l2core_set_h264_temporal_scale_mode(get_v4l2_device_handler(), scale_mode); - scale_mode = v4l2core_get_h264_temporal_scale_mode(UVC_GET_CUR) & 0x07; + scale_mode = v4l2core_get_h264_temporal_scale_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x07; TemporalScaleMode->blockSignals(true); TemporalScaleMode->setValue(scale_mode); @@ -357,9 +357,9 @@ { uint8_t scale_mode = (uint8_t) SpatialScaleMode->value(); - v4l2core_set_h264_spatial_scale_mode(scale_mode); + v4l2core_set_h264_spatial_scale_mode(get_v4l2_device_handler(), scale_mode); - scale_mode = v4l2core_get_h264_spatial_scale_mode(UVC_GET_CUR) & 0x07; + scale_mode = v4l2core_get_h264_spatial_scale_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x07; SpatialScaleMode->blockSignals(true); SpatialScaleMode->setValue(scale_mode); @@ -380,9 +380,9 @@ { uint32_t framerate = (uint32_t) FrameInterval->value(); - v4l2core_set_h264_frame_rate_config(framerate); + v4l2core_set_h264_frame_rate_config(get_v4l2_device_handler(), framerate); - framerate = v4l2core_get_h264_frame_rate_config(); + framerate = v4l2core_get_h264_frame_rate_config(get_v4l2_device_handler()); FrameInterval->blockSignals(true); FrameInterval->setValue(framerate); @@ -403,7 +403,7 @@ { fill_video_config_probe(); - v4l2core_set_h264_no_probe_default(1); + v4l2core_set_h264_no_probe_default(get_v4l2_device_handler(), 1); request_format_update(); @@ -414,14 +414,14 @@ .tv_sec = 0, .tv_nsec = 50000000};/*nanosec*/ - while(v4l2core_get_h264_no_probe_default() > 0 && counter < 10) + while(v4l2core_get_h264_no_probe_default(get_v4l2_device_handler()) > 0 && counter < 10) { nanosleep(&req, NULL); counter++; } /*make sure we reset this flag, although the core probably handle it already*/ - v4l2core_set_h264_no_probe_default(0); + v4l2core_set_h264_no_probe_default(get_v4l2_device_handler(), 0); update_h264_controls(); } @@ -438,7 +438,7 @@ */ void MainWindow::h264_reset_button_clicked() { - v4l2core_reset_h264_encoder(); + v4l2core_reset_h264_encoder(get_v4l2_device_handler()); } /* @@ -461,15 +461,15 @@ //get current values - v4l2core_probe_h264_config_probe_req(UVC_GET_CUR, NULL); + v4l2core_probe_h264_config_probe_req(get_v4l2_device_handler(), UVC_GET_CUR, NULL); //get Max values uvcx_video_config_probe_commit_t config_probe_max; - v4l2core_probe_h264_config_probe_req(UVC_GET_MAX, &config_probe_max); + v4l2core_probe_h264_config_probe_req(get_v4l2_device_handler(), UVC_GET_MAX, &config_probe_max); //get Min values uvcx_video_config_probe_commit_t config_probe_min; - v4l2core_probe_h264_config_probe_req(UVC_GET_MIN, &config_probe_min); + v4l2core_probe_h264_config_probe_req(get_v4l2_device_handler(), UVC_GET_MIN, &config_probe_min); QGridLayout *grid_layout = new QGridLayout(); @@ -487,8 +487,8 @@ label_RateControlMode->show(); grid_layout->addWidget(label_RateControlMode, line, 0, Qt::AlignRight); - uint8_t min_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_MIN) & 0x03; - uint8_t max_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_MAX) & 0x03; + uint8_t min_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MIN) & 0x03; + uint8_t max_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MAX) & 0x03; RateControlMode = new QComboBox(h264_controls_grid); RateControlMode->show(); @@ -502,7 +502,7 @@ if(max_ratecontrolmode >= 3 && min_ratecontrolmode < 4) RateControlMode->addItem(_("Constant QP"), 3); - uint8_t cur_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(UVC_GET_CUR) & 0x03; + uint8_t cur_ratecontrolmode = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x03; int ratecontrolmode_index = cur_ratecontrolmode - 1; // from 0x01 to 0x03 if(ratecontrolmode_index < 0) ratecontrolmode_index = 0; @@ -520,9 +520,9 @@ label_RateControlMode_cbr_flag->show(); grid_layout->addWidget(label_RateControlMode_cbr_flag, line, 0, Qt::AlignRight); - uint8_t cur_vrcflags = v4l2core_get_h264_video_rate_control_mode( UVC_GET_CUR) & 0x1C; - uint8_t max_vrcflags = v4l2core_get_h264_video_rate_control_mode( UVC_GET_MAX) & 0x1C; - uint8_t min_vrcflags = v4l2core_get_h264_video_rate_control_mode( UVC_GET_MIN) & 0x1C; + uint8_t cur_vrcflags = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_CUR) & 0x1C; + uint8_t max_vrcflags = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MAX) & 0x1C; + uint8_t min_vrcflags = v4l2core_get_h264_video_rate_control_mode(get_v4l2_device_handler(), UVC_GET_MIN) & 0x1C; RateControlMode_cbr_flag = new QSpinBox(h264_controls_grid); RateControlMode_cbr_flag->show(); @@ -539,7 +539,7 @@ label_TemporalScaleMode->show(); grid_layout->addWidget(label_TemporalScaleMode, line, 0, Qt::AlignRight); - uvcx_video_config_probe_commit_t *h264_config_probe_req = v4l2core_get_h264_config_probe_req(); + uvcx_video_config_probe_commit_t *h264_config_probe_req = v4l2core_get_h264_config_probe_req(get_v4l2_device_handler()); uint8_t cur_tsmflags = h264_config_probe_req->bTemporalScaleMode & 0x07; uint8_t max_tsmflags = config_probe_max.bTemporalScaleMode & 0x07; @@ -586,9 +586,9 @@ grid_layout->addWidget(label_FrameInterval, line, 0, Qt::AlignRight); //uint32_t cur_framerate = (global->fps_num * 1000000000LL / global->fps)/100; - uint32_t cur_framerate = v4l2core_get_h264_frame_rate_config(); - uint32_t max_framerate = v4l2core_query_h264_frame_rate_config( UVC_GET_MAX); - uint32_t min_framerate = v4l2core_query_h264_frame_rate_config( UVC_GET_MIN); + uint32_t cur_framerate = v4l2core_get_h264_frame_rate_config(get_v4l2_device_handler()); + uint32_t max_framerate = v4l2core_query_h264_frame_rate_config(get_v4l2_device_handler(), UVC_GET_MAX); + uint32_t min_framerate = v4l2core_query_h264_frame_rate_config(get_v4l2_device_handler(), UVC_GET_MIN); FrameInterval = new QSpinBox(h264_controls_grid); FrameInterval->show(); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5.hpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5.hpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5.hpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5.hpp 2016-04-25 16:35:21.000000000 +0000 @@ -51,11 +51,11 @@ MainWindow(); ~MainWindow(); std::vector control_widgets_list; - void set_statusbar_message(const char *message); public slots: void capture_video_clicked(); void capture_image_clicked(); + void set_statusbar_message(QString message); protected: void closeEvent(QCloseEvent *event); @@ -75,15 +75,9 @@ void check_changed (int state); void autofocus_changed(int state); void setfocus_clicked(); -#ifdef V4L2_CTRL_TYPE_INTEGER64 void int64_button_clicked(); -#endif -#ifdef V4L2_CTRL_TYPE_STRING void string_button_clicked(); -#endif -#ifdef V4L2_CTRL_TYPE_BITMASK void bitmask_button_clicked(); -#endif /*video*/ void devices_changed (int index); void frame_rate_changed (int index); @@ -120,6 +114,7 @@ void audio_codec_properties(); /*timer*/ void check_device_events(); + void check_control_events(); private: @@ -136,6 +131,7 @@ void fill_video_config_probe (); QTimer *timer_check_device; + QTimer *timer_check_control_events; QWidget *img_controls_grid; QWidget *h264_controls_grid; @@ -208,7 +204,6 @@ QCheckBox *StreamMuxOption; QComboBox *StreamMuxOption_aux; QCheckBox *StreamMuxOption_mjpgcontainer; - }; #endif diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_v4l2ctrls.cpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_v4l2ctrls.cpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_v4l2ctrls.cpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_v4l2ctrls.cpp 2016-04-25 16:35:21.000000000 +0000 @@ -36,6 +36,7 @@ #include #include +#include "video_capture.h" #include "gui.h" /*add this last to avoid redefining _() and N_()*/ #include "gview.h" @@ -92,7 +93,7 @@ int i = 0; int n = 0; - v4l2_ctrl_t *current = v4l2core_get_control_list(); + v4l2_ctrl_t *current = v4l2core_get_control_list(get_v4l2_device_handler()); for(; current != NULL; current = current->next, ++n) { @@ -152,8 +153,8 @@ PanTilt2->setProperty("control_info", current->control.id); /*connect signals*/ - connect(PanTilt1,SIGNAL(clicked()),this, SLOT(button_PanTilt1_clicked ())); - connect(PanTilt2,SIGNAL(clicked()),this, SLOT(button_PanTilt2_clicked ())); + connect(PanTilt1,SIGNAL(released()),this, SLOT(button_PanTilt1_clicked ())); + connect(PanTilt2,SIGNAL(released()),this, SLOT(button_PanTilt2_clicked ())); QSpinBox * spinbox = new QSpinBox(img_controls_grid); thisone->widget2 = spinbox; @@ -162,9 +163,9 @@ spinbox->setSingleStep(64); if(current->control.id == V4L2_CID_PAN_RELATIVE) - spinbox->setValue(v4l2core_get_pan_step()); + spinbox->setValue(v4l2core_get_pan_step(get_v4l2_device_handler())); else - spinbox->setValue(v4l2core_get_tilt_step()); + spinbox->setValue(v4l2core_get_tilt_step(get_v4l2_device_handler())); /*set properties*/ spinbox->setProperty("control_info", current->control.id); @@ -189,7 +190,7 @@ pushbutton->setProperty("control_info", current->control.id); /*connect signal*/ - connect(pushbutton,SIGNAL(clicked),this, SLOT(button_clicked())); + connect(pushbutton,SIGNAL(released()),this, SLOT(button_clicked())); break; }; @@ -318,7 +319,7 @@ /*connect signals*/ connect(checkbox, SIGNAL(stateChanged(int)), this, SLOT(autofocus_changed(int))); - connect(pushbutton, SIGNAL(clicked()), this, SLOT(setfocus_clicked())); + connect(pushbutton, SIGNAL(released()), this, SLOT(setfocus_clicked())); //QGridLayout *layout = (QGridLayout *) img_controls_grid->layout(); grid_layout->addWidget(thisto->widget, n, 1); @@ -382,12 +383,11 @@ } break; -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: { QLineEdit *entry = new QLineEdit(img_controls_grid); thisone->widget = entry; - entry->setMaxLenght(current->control.maximum); + entry->setMaxLength(19); QPushButton *pushbutton = new QPushButton(img_controls_grid); thisone->widget2 = pushbutton; @@ -396,19 +396,18 @@ /*set properties*/ pushbutton->setProperty("control_info", current->control.id); - pushbutton->setProperty("control_entry", entry); + pushbutton->setProperty("control_entry", QVariant::fromValue(entry)); /*connect signal*/ - connect(pushbutton, SIGNAL(clicked), this, SLOT(int64_button_clicked())); + connect(pushbutton, SIGNAL(released()), this, SLOT(int64_button_clicked())); } break; -#endif -#ifdef V4L2_CTRL_TYPE_STRING + case V4L2_CTRL_TYPE_STRING: { QLineEdit *entry = new QLineEdit(img_controls_grid); thisone->widget = entry; - entry->setMaxLenght(current->control.maximum); + entry->setMaxLength(current->control.maximum); QPushButton *pushbutton = new QPushButton(img_controls_grid); thisone->widget2 = pushbutton; @@ -417,19 +416,18 @@ /*set properties*/ pushbutton->setProperty("control_info", current->control.id); - pushbutton->setProperty("control_entry", entry); + pushbutton->setProperty("control_entry", QVariant::fromValue(entry)); /*connect signal*/ - connect(pushbutton, SIGNAL(clicked), this, SLOT(string_button_clicked())); + connect(pushbutton, SIGNAL(released()), this, SLOT(string_button_clicked())); } break; -#endif -#ifdef V4L2_CTRL_TYPE_BITMASK + case V4L2_CTRL_TYPE_BITMASK: { QLineEdit *entry = new QLineEdit(img_controls_grid); thisone->widget = entry; - entry->setMaxLenght(current->control.maximum); + entry->setMaxLength(current->control.maximum); QPushButton *pushbutton = new QPushButton(img_controls_grid); thisone->widget2 = pushbutton; @@ -438,16 +436,14 @@ /*set properties*/ pushbutton->setProperty("control_info", current->control.id); - pushbutton->setProperty("control_entry", entry); + pushbutton->setProperty("control_entry", QVariant::fromValue(entry)); /*connect signal*/ - connect(pushbutton, SIGNAL(clicked), this, SLOT(bitmask_button_clicked())); + connect(pushbutton, SIGNAL(released()), this, SLOT(bitmask_button_clicked())); } break; -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU + case V4L2_CTRL_TYPE_INTEGER_MENU: -#endif case V4L2_CTRL_TYPE_MENU: if(current->menu) @@ -464,13 +460,11 @@ { combobox->addItem((char *) current->menu_entry[j], current->menu[j].index); } -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU else { QString text_input = QString("%1").arg(current->menu[j].value, 4, 10, QChar('0')); combobox->addItem(text_input, current->menu[j].value); } -#endif if(current->value == (int) current->menu[j].index) def = j; } @@ -497,7 +491,7 @@ pushbutton->setProperty("control_info", current->control.id); /*signals*/ - connect(pushbutton, SIGNAL(clicked()), this, SLOT(button_clicked())); + connect(pushbutton, SIGNAL(released()), this, SLOT(button_clicked())); } break; @@ -513,16 +507,16 @@ combobox->addItem("BGBG... | GRGR...", 2); combobox->addItem("RGRG... | GBGB...", 3); - v4l2core_set_bayer_pix_order(0); + v4l2core_set_bayer_pix_order(get_v4l2_device_handler(), 0); - combobox->setCurrentIndex(v4l2core_get_bayer_pix_order()); + combobox->setCurrentIndex(v4l2core_get_bayer_pix_order(get_v4l2_device_handler())); thisone->widget2->show(); /*connect signal*/ connect(combobox, SIGNAL(currentIndexChanged(int)), this, SLOT(bayer_pix_ord_changed(int))); uint8_t isbayer = (current->value ? true : false); - v4l2core_set_isbayer(isbayer); + v4l2core_set_isbayer(get_v4l2_device_handler(), isbayer); } QCheckBox *checkbox = new QCheckBox(img_controls_grid); @@ -571,7 +565,7 @@ */ void MainWindow::gui_qt5_update_controls_state() { - v4l2_ctrl_t *current = v4l2core_get_control_list(); + v4l2_ctrl_t *current = v4l2core_get_control_list(get_v4l2_device_handler()); for(; current != NULL; current = current->next) { @@ -594,16 +588,21 @@ /*update controls values*/ switch(current->control.type) { - -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING: { - QString text_input(current->string); - QLineEdit *entry = (QLineEdit *) thisone->widget; - entry->setText(text_input); + if(current->string != NULL) + { + QString text_input(current->string); + QLineEdit *entry = (QLineEdit *) thisone->widget; + entry->setText(text_input); + } + else + std::cerr << "GUVCVIEW (Qt5): control " + << std::hex << current->control.id << std::dec + << "of type string has null value" << std::endl; } break; -#endif + case V4L2_CTRL_TYPE_BOOLEAN: { /*disable widget signals*/ @@ -615,19 +614,15 @@ } break; -#ifdef V4L2_CTRL_TYPE_BITMASK case V4L2_CTRL_TYPE_BITMASK: { QString text_input("0x"); - text_input.append(QString::number(current->value, 16).toUpper()); + text_input.append(QString::number((uint32_t)current->value, 16).toUpper()); QLineEdit *entry = (QLineEdit *) thisone->widget; entry->setText(text_input); } break; -#endif - -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: { QString text_input("0x"); @@ -636,7 +631,6 @@ entry->setText(text_input); } break; -#endif case V4L2_CTRL_TYPE_INTEGER: if( current->control.id != V4L2_CID_PAN_RELATIVE && @@ -656,9 +650,7 @@ } break; -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU case V4L2_CTRL_TYPE_INTEGER_MENU: -#endif case V4L2_CTRL_TYPE_MENU: { /*disable widget signals*/ diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_videoctrls.cpp guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_videoctrls.cpp --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/gui_qt5_videoctrls.cpp 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/gui_qt5_videoctrls.cpp 2016-04-25 16:35:21.000000000 +0000 @@ -69,7 +69,9 @@ if(debug_level > 1) std::cout << "GUVCVIEW (Qt5): attaching video controls" << std::endl; - int format_index = v4l2core_get_frame_format_index(v4l2core_get_requested_frame_format()); + int format_index = v4l2core_get_frame_format_index( + get_v4l2_device_handler(), + v4l2core_get_requested_frame_format(get_v4l2_device_handler())); if(format_index < 0) { @@ -78,9 +80,10 @@ } int resolu_index = v4l2core_get_format_resolution_index( + get_v4l2_device_handler(), format_index, - v4l2core_get_frame_width(), - v4l2core_get_frame_height()); + v4l2core_get_frame_width(get_v4l2_device_handler()), + v4l2core_get_frame_height(get_v4l2_device_handler())); if(resolu_index < 0) { @@ -99,21 +102,19 @@ combobox_video_devices = new QComboBox(video_controls_grid); combobox_video_devices->show(); - - v4l2_device_list *device_list = v4l2core_get_device_list(); - if (device_list->num_devices < 1) + if (v4l2core_get_num_devices() < 1) { /*use current*/ - combobox_video_devices->addItem(v4l2core_get_videodevice(), 0); + combobox_video_devices->addItem(v4l2core_get_videodevice(get_v4l2_device_handler()), 0); combobox_video_devices->setCurrentIndex(0); } else { - for(i = 0; i < (device_list->num_devices); i++) + for(i = 0; i < v4l2core_get_num_devices(); i++) { - combobox_video_devices->addItem(device_list->list_devices[i].name, i); - if(device_list->list_devices[i].current) + combobox_video_devices->addItem(v4l2core_get_device_sys_data(i)->name, i); + if(v4l2core_get_device_sys_data(i)->current) combobox_video_devices->setCurrentIndex(i); } } @@ -134,7 +135,7 @@ int deffps=0; - v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(); + v4l2_stream_formats_t *list_stream_formats = v4l2core_get_formats_list(get_v4l2_device_handler()); if (debug_level > 0) std::cout << "GUVCVIEW (Qt5): frame rates of resolution index " @@ -147,8 +148,8 @@ combobox_FrameRate->addItem(fps_str, i); - if (( v4l2core_get_fps_num() == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[i]) && - ( v4l2core_get_fps_denom() == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[i])) + if (( v4l2core_get_fps_num(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[i]) && + ( v4l2core_get_fps_denom(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[i])) deffps=i;//set selected } combobox_FrameRate->setCurrentIndex(deffps); @@ -158,16 +159,22 @@ if (deffps==0) { if (list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom) - v4l2core_define_fps(-1, list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[0]); + v4l2core_define_fps( + get_v4l2_device_handler(), + -1, + list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_denom[0]); if (list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num) - v4l2core_define_fps(list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[0], -1); + v4l2core_define_fps( + get_v4l2_device_handler(), + list_stream_formats[format_index].list_stream_cap[resolu_index].framerate_num[0], + -1); } /*signals*/ connect(combobox_FrameRate, SIGNAL(currentIndexChanged(int)), this, SLOT(frame_rate_changed(int))); /*try to sync the device fps (capture thread must have started by now)*/ - v4l2core_request_framerate_update (); + v4l2core_request_framerate_update (get_v4l2_device_handler()); /*---- Resolution ----*/ line++; @@ -194,8 +201,8 @@ QString res_str = QString( "%1x%2").arg(list_stream_formats[format_index].list_stream_cap[i].width).arg(list_stream_formats[format_index].list_stream_cap[i].height); combobox_resolution->addItem(res_str, i); - if ((v4l2core_get_frame_width() == list_stream_formats[format_index].list_stream_cap[i].width) && - (v4l2core_get_frame_height() == list_stream_formats[format_index].list_stream_cap[i].height)) + if ((v4l2core_get_frame_width(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[i].width) && + (v4l2core_get_frame_height(get_v4l2_device_handler()) == list_stream_formats[format_index].list_stream_cap[i].height)) defres=i;//set selected resolution index } } @@ -217,13 +224,27 @@ grid_layout->addWidget(label_InpType, line, 0, Qt::AlignRight); combobox_InpType = new QComboBox(video_controls_grid); + QListWidget *contents = new QListWidget(combobox_InpType); + contents->hide(); + combobox_InpType->setModel(contents->model()); combobox_InpType->show(); int fmtind=0; - for (fmtind=0; fmtind < v4l2core_get_number_formats(); fmtind++) + for (fmtind=0; fmtind < v4l2core_get_number_formats(get_v4l2_device_handler()); fmtind++) { - combobox_InpType->addItem(list_stream_formats[fmtind].fourcc, fmtind); - if(v4l2core_get_requested_frame_format() == list_stream_formats[fmtind].format) + QString fourcc(list_stream_formats[fmtind].fourcc); + if((list_stream_formats[fmtind].format & (1<<31)) != 0) + fourcc += "(BE)"; + fourcc += " - " + QString(list_stream_formats[fmtind].description); + + combobox_InpType->addItem(fourcc, fmtind); + + if(!list_stream_formats[fmtind].dec_support) + { + QListWidgetItem *item = contents->item(fmtind); + item->setFlags(item->flags() & ~Qt::ItemIsEnabled); + } + if(v4l2core_get_requested_frame_format(get_v4l2_device_handler()) == list_stream_formats[fmtind].format) combobox_InpType->setCurrentIndex(fmtind); /*set active*/ } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/guvcview.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/guvcview.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/guvcview.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/guvcview.c 2016-04-25 16:35:21.000000000 +0000 @@ -213,38 +213,36 @@ printf("GUVCVIEW: main thread (tid: %u)\n", (unsigned int) syscall (SYS_gettid)); - /*initialize the v4l2 core*/ + /*set the v4l2 core verbosity*/ v4l2core_set_verbosity(debug_level); - - if(my_options->disable_libv4l2) - v4l2core_disable_libv4l2(); - /*init the device list*/ - v4l2core_init_device_list(); - /*init the v4l2core (redefines language catalog)*/ - if(v4l2core_init_dev(my_options->device) < 0) + + /*set the v4l2core device (redefines language catalog)*/ + v4l2_dev_t *vd = create_v4l2_device_handler(my_options->device); + if(!vd) { char message[50]; snprintf(message, 49, "no video device (%s) found", my_options->device); gui_error("Guvcview error", "no video device found", 1); - v4l2core_close_v4l2_device_list(); options_clean(); return -1; } else set_render_flag(render); + if(my_options->disable_libv4l2) + v4l2core_disable_libv4l2(vd); /*select capture method*/ if(strcasecmp(my_config->capture, "read") == 0) - v4l2core_set_capture_method(IO_READ); + v4l2core_set_capture_method(vd, IO_READ); else - v4l2core_set_capture_method(IO_MMAP); + v4l2core_set_capture_method(vd, IO_MMAP); /*set software autofocus sort method*/ v4l2core_soft_autofocus_set_sort(AUTOF_SORT_INSERT); /*set the intended fps*/ - v4l2core_define_fps(my_config->fps_num,my_config->fps_denom); + v4l2core_define_fps(vd, my_config->fps_num,my_config->fps_denom); /*set fx masks*/ set_render_fx_mask(my_config->video_fx); @@ -289,7 +287,7 @@ /*check if need to load a profile*/ if(my_options->prof_filename) - v4l2core_load_control_profile(my_options->prof_filename); + v4l2core_load_control_profile(vd, my_options->prof_filename); /*set the profile file*/ if(!my_config->profile_name) @@ -322,13 +320,11 @@ audio_context_t *audio_ctx = create_audio_context(audio, my_config->audio_device); if(audio_ctx != NULL) - my_config->audio_device = audio_ctx->device; + my_config->audio_device = audio_get_device_index(audio_ctx); else fprintf(stderr, "GUVCVIEW: couldn't get a valid audio context for the selected api - disabling audio\n"); encoder_set_verbosity(debug_level); - /*init the encoder*/ - encoder_init(); /*start capture thread if not in control_panel mode*/ if(!my_options->control_panel) @@ -339,22 +335,20 @@ * condition with gui_attach, as it requires the current * format to be set */ - int format = v4l2core_fourcc_2_v4l2_pixelformat(my_config->format); - - v4l2core_prepare_new_format(format); + v4l2core_prepare_new_format(vd, my_config->format); /*prepare resolution*/ - v4l2core_prepare_new_resolution(my_config->width, my_config->height); + v4l2core_prepare_new_resolution(vd, my_config->width, my_config->height); /*try to set the video stream format on the device*/ - int ret = v4l2core_update_current_format(); + int ret = v4l2core_update_current_format(vd); if(ret != E_OK) { fprintf(stderr, "GUCVIEW: could not set the defined stream format\n"); fprintf(stderr, "GUCVIEW: trying first listed stream format\n"); - v4l2core_prepare_valid_format(); - v4l2core_prepare_valid_resolution(); - ret = v4l2core_update_current_format(); + v4l2core_prepare_valid_format(vd); + v4l2core_prepare_valid_resolution(vd); + ret = v4l2core_update_current_format(vd); if(ret != E_OK) { @@ -413,14 +407,8 @@ printf("GUVCVIEW: closing audio context\n"); /*closes the audio context (stored staticly in video_capture)*/ close_audio_context(); - - if(debug_level > 2) - printf("GUVCVIEW: closing v4l2core device\n"); - v4l2core_close_dev(); - - if(debug_level > 2) - printf("GUVCVIEW: closing v4l2core device list\n"); - v4l2core_close_v4l2_device_list(); + /*closes the v4l2 device handler (stored staticly in video_capture)*/ + close_v4l2_device_handler(); /*save config before cleaning the options*/ config_save(config_file); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/options.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/options.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/options.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/options.c 2016-04-25 16:35:21.000000000 +0000 @@ -106,6 +106,13 @@ .opt_help = N_("Request format (e.g MJPG)") }, { + .opt_short = 'F', + .opt_long = "fps", + .req_arg = 1, + .opt_help_arg = N_("FPS_NUM[/FPS_DENOM]"), + .opt_help = N_("Request fps (e.g 25 ; 7/3; ...)") + }, + { .opt_short = 'r', .opt_long = "render", .req_arg = 1, @@ -511,6 +518,24 @@ strncpy(my_options.format, optarg, 4); break; } + + case 'F': + /* numerator and denominator are reversed + * since fps here is actually time between frame + */ + my_options.fps_num = 1; + my_options.fps_denom = (int) strtoul(optarg, &stopstring, 10); + if( *stopstring == '/') + { + ++stopstring; + my_options.fps_num = (int) strtoul(stopstring, &stopstring, 10); + } + if(my_options.fps_denom <= 0) + my_options.fps_denom = 25; + if(my_options.fps_num <= 0) + my_options.fps_num = 1; + break; + case 'r': { int str_size = strlen(optarg); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/options.h guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/options.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/options.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/options.h 2016-04-25 16:35:21.000000000 +0000 @@ -28,6 +28,8 @@ char device[30]; /*device name*/ int width; /*width*/ int height; /*height*/ + int fps_num; /*fps numerator*/ + int fps_denom; /*fps denominator*/ int control_panel; /*flag control panel mode*/ int disable_libv4l2; /*set to 1 to disable libv4l2 calls*/ char format[5]; /*pixelformat fourcc*/ diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/video_capture.c guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/video_capture.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/video_capture.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/video_capture.c 2016-04-25 16:35:21.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include /* support for internationalization - i18n */ #include #include @@ -77,6 +78,9 @@ /*pointer to audio context data*/ static audio_context_t *my_audio_ctx = NULL; +/*pointer to v4l2 device handler*/ +static v4l2_dev_t *my_vd = NULL; + static __THREAD_TYPE encoder_thread; static int my_encoder_status = 0; @@ -432,18 +436,18 @@ */ int key_DOWN_callback(void *data) { - if(v4l2core_has_pantilt_id()) + if(v4l2core_has_pantilt_id(my_vd)) { int id = V4L2_CID_TILT_RELATIVE; - int value = v4l2core_get_tilt_step(); + int value = v4l2core_get_tilt_step(my_vd); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(my_vd, id); if(control) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(my_vd, id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt value\n"); return 0; @@ -465,18 +469,18 @@ */ int key_UP_callback(void *data) { - if(v4l2core_has_pantilt_id()) + if(v4l2core_has_pantilt_id(my_vd)) { int id = V4L2_CID_TILT_RELATIVE; - int value = - v4l2core_get_tilt_step(); + int value = - v4l2core_get_tilt_step(my_vd); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(my_vd, id); if(control) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(my_vd, id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt value\n"); return 0; @@ -498,18 +502,18 @@ */ int key_LEFT_callback(void *data) { - if(v4l2core_has_pantilt_id()) + if(v4l2core_has_pantilt_id(my_vd)) { int id = V4L2_CID_PAN_RELATIVE; - int value = v4l2core_get_pan_step(); + int value = v4l2core_get_pan_step(my_vd); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(my_vd, id); if(control) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(my_vd, id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt value\n"); return 0; @@ -531,18 +535,18 @@ */ int key_RIGHT_callback(void *data) { - if(v4l2core_has_pantilt_id()) + if(v4l2core_has_pantilt_id(my_vd)) { int id = V4L2_CID_PAN_RELATIVE; - int value = - v4l2core_get_pan_step(); + int value = - v4l2core_get_pan_step(my_vd); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(my_vd, id); if(control) { control->value = value; - if(v4l2core_set_control_value_by_id(id)) + if(v4l2core_set_control_value_by_id(my_vd, id)) fprintf(stderr, "GUVCVIEW: error setting pan/tilt value\n"); return 0; @@ -553,6 +557,56 @@ } /* + * create a v4l2 device handler + * args: + * device - device name + * + * asserts: + * none + * + * returns: pointer to v4l2 device handler (or null on error) + */ +v4l2_dev_t *create_v4l2_device_handler(const char *device) +{ + my_vd = v4l2core_init_dev(device); + + return my_vd; +} + +/* + * close the v4l2 device handler + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void close_v4l2_device_handler() +{ + /*closes the video device*/ + v4l2core_close_dev(my_vd); + + my_vd = NULL; +} + +/* + * get the v4l2 device handler + * args: + * none + * + * asserts: + * none + * + * returns: pointer to v4l2 device handler + */ +v4l2_dev_t *get_v4l2_device_handler() +{ + return my_vd; +} + +/* * create an audio context * args: * api - audio api @@ -565,14 +619,14 @@ */ audio_context_t *create_audio_context(int api, int device) { + close_audio_context(); my_audio_ctx = audio_init(api, device); - - /*force a valid number of channels*/ - if(my_audio_ctx != NULL && my_audio_ctx->channels > 2) - my_audio_ctx->channels = 2; - + + if(my_audio_ctx == NULL) + fprintf(stderr, "GUVCVIEW: couldn't allocate audio context\n"); + return my_audio_ctx; } @@ -590,11 +644,11 @@ { if(!my_audio_ctx) return NULL; - + /*force a valid number of channels*/ - if(my_audio_ctx->channels > 2) - my_audio_ctx->channels = 2; - + if(audio_get_channels(my_audio_ctx) > 2) + audio_set_channels(my_audio_ctx, 2); + return my_audio_ctx; } @@ -633,7 +687,7 @@ if(debug_level > 1) printf("GUVCVIEW: audio thread (tid: %u)\n", (unsigned int) syscall (SYS_gettid)); - + audio_context_t *audio_ctx = get_audio_context(); if(!audio_ctx) { @@ -645,7 +699,11 @@ /*start audio capture*/ int frame_size = encoder_get_audio_frame_size(encoder_ctx); - audio_ctx->capture_buff_size = frame_size * audio_ctx->channels; + //if(frame_size < 1024) + // frame_size = 1024; + + audio_set_cap_buffer_size(audio_ctx, + frame_size * audio_get_channels(audio_ctx)); audio_start(audio_ctx); /* * alloc the buffer after audio_start @@ -661,7 +719,7 @@ uint32_t osd_mask = render_get_osd_mask(); /*enable vu meter OSD display*/ - if(audio_ctx->channels > 1) + if(audio_get_channels(audio_ctx) > 1) osd_mask |= REND_OSD_VUMETER_STEREO; else osd_mask |= REND_OSD_VUMETER_MONO; @@ -672,7 +730,7 @@ { int ret = audio_get_next_buffer(audio_ctx, audio_buff, sample_type, my_audio_mask); - + if(ret > 0) { /* @@ -744,8 +802,8 @@ if(audio_ctx) { - channels = audio_ctx->channels; - samprate = audio_ctx->samprate; + channels = audio_get_channels(audio_ctx); + samprate = audio_get_samprate(audio_ctx); } if(debug_level > 0) @@ -753,28 +811,28 @@ channels, samprate); /*create the encoder context*/ - encoder_context_t *encoder_ctx = encoder_get_context( - v4l2core_get_requested_frame_format(), + encoder_context_t *encoder_ctx = encoder_init( + v4l2core_get_requested_frame_format(my_vd), get_video_codec_ind(), get_audio_codec_ind(), get_video_muxer(), - v4l2core_get_frame_width(), - v4l2core_get_frame_height(), - v4l2core_get_fps_num(), - v4l2core_get_fps_denom(), + v4l2core_get_frame_width(my_vd), + v4l2core_get_frame_height(my_vd), + v4l2core_get_fps_num(my_vd), + v4l2core_get_fps_denom(my_vd), channels, samprate); /*store external SPS and PPS data if needed*/ if(encoder_ctx->video_codec_ind == 0 && /*raw - direct input*/ - v4l2core_get_requested_frame_format() == V4L2_PIX_FMT_H264) + v4l2core_get_requested_frame_format(my_vd) == V4L2_PIX_FMT_H264) { /*request a IDR (key) frame*/ - v4l2core_h264_request_idr(); + v4l2core_h264_request_idr(my_vd); if(debug_level > 0) printf("GUVCVIEW: storing external pps and sps data in encoder context\n"); - encoder_ctx->h264_pps_size = v4l2core_get_h264_pps_size(); + encoder_ctx->h264_pps_size = v4l2core_get_h264_pps_size(my_vd); if(encoder_ctx->h264_pps_size > 0) { encoder_ctx->h264_pps = calloc(encoder_ctx->h264_pps_size, sizeof(uint8_t)); @@ -783,10 +841,10 @@ fprintf(stderr,"GUVCVIEW: FATAL memory allocation failure (encoder_loop): %s\n", strerror(errno)); exit(-1); } - memcpy(encoder_ctx->h264_pps, v4l2core_get_h264_pps(), encoder_ctx->h264_pps_size); + memcpy(encoder_ctx->h264_pps, v4l2core_get_h264_pps(my_vd), encoder_ctx->h264_pps_size); } - encoder_ctx->h264_sps_size = v4l2core_get_h264_sps_size(); + encoder_ctx->h264_sps_size = v4l2core_get_h264_sps_size(my_vd); if(encoder_ctx->h264_sps_size > 0) { encoder_ctx->h264_sps = calloc(encoder_ctx->h264_sps_size, sizeof(uint8_t)); @@ -795,15 +853,15 @@ fprintf(stderr,"GUVCVIEW: FATAL memory allocation failure (encoder_loop): %s\n", strerror(errno)); exit(-1); } - memcpy(encoder_ctx->h264_sps, v4l2core_get_h264_sps(), encoder_ctx->h264_sps_size); + memcpy(encoder_ctx->h264_sps, v4l2core_get_h264_sps(my_vd), encoder_ctx->h264_sps_size); } } uint32_t current_framerate = 0; - if(v4l2core_get_requested_frame_format() == V4L2_PIX_FMT_H264) + if(v4l2core_get_requested_frame_format(my_vd) == V4L2_PIX_FMT_H264) { /* store framerate since it may change due to scheduler*/ - current_framerate = v4l2core_get_h264_frame_rate_config(); + current_framerate = v4l2core_get_h264_frame_rate_config(my_vd); } char *video_filename = NULL; @@ -836,7 +894,7 @@ int64_t last_check_pts = 0; /*last pts when disk supervisor called*/ /*start audio processing thread*/ - if(encoder_ctx->enc_audio_ctx != NULL && audio_ctx->channels > 0) + if(encoder_ctx->enc_audio_ctx != NULL && audio_get_channels(audio_ctx) > 0) { if(debug_level > 1) printf("GUVCVIEW: starting encoder audio thread\n"); @@ -883,7 +941,7 @@ encoder_flush_video_buffer(encoder_ctx); /*make sure the audio processing thread has stopped*/ - if(encoder_ctx->enc_audio_ctx != NULL && audio_ctx->channels > 0) + if(encoder_ctx->enc_audio_ctx != NULL && audio_get_channels(audio_ctx) > 0) { if(debug_level > 1) printf("GUVCVIEW: join encoder audio thread\n"); @@ -896,13 +954,13 @@ /*close the encoder context (clean up)*/ encoder_close(encoder_ctx); - if(v4l2core_get_requested_frame_format() == V4L2_PIX_FMT_H264) + if(v4l2core_get_requested_frame_format(my_vd) == V4L2_PIX_FMT_H264) { /* restore framerate */ - v4l2core_set_h264_frame_rate_config(current_framerate); + v4l2core_set_h264_frame_rate_config(my_vd, current_framerate); } - /*clean string*/ + /*clean strings*/ free(video_filename); free(path); free(name); @@ -952,7 +1010,11 @@ render_set_crosshair_color(my_config->crosshair_color); - if(render_init(render, v4l2core_get_frame_width(), v4l2core_get_frame_height(), render_flags) < 0) + if(render_init( + render, + v4l2core_get_frame_width(my_vd), + v4l2core_get_frame_height(my_vd), + render_flags) < 0) render = RENDER_NONE; else { @@ -979,13 +1041,13 @@ if(my_options->photo_timer > 0) { my_photo_timer = NSEC_PER_SEC * my_options->photo_timer; - my_last_photo_time = v4l2core_time_get_timestamp(); /*timer count*/ + my_last_photo_time = v4l2core_time_get_timestamp(my_vd); /*timer count*/ } if(my_options->photo_npics > 0) my_photo_npics = my_options->photo_npics; - v4l2core_start_stream(); + v4l2core_start_stream(my_vd); v4l2_frame_buff_t *frame = NULL; //pointer to frame buffer @@ -996,25 +1058,25 @@ { if(restart) { - restart = 0; /*reset*/ - v4l2core_stop_stream(); + int current_width = v4l2core_get_frame_width(my_vd); + int current_height = v4l2core_get_frame_height(my_vd); - /*close render*/ - render_close(); + restart = 0; /*reset*/ + v4l2core_stop_stream(my_vd); - v4l2core_clean_buffers(); + v4l2core_clean_buffers(my_vd); /*try new format (values prepared by the request callback)*/ - ret = v4l2core_update_current_format(); + ret = v4l2core_update_current_format(my_vd); /*try to set the video stream format on the device*/ if(ret != E_OK) { fprintf(stderr, "GUCVIEW: could not set the defined stream format\n"); fprintf(stderr, "GUCVIEW: trying first listed stream format\n"); - v4l2core_prepare_valid_format(); - v4l2core_prepare_valid_resolution(); - ret = v4l2core_update_current_format(); + v4l2core_prepare_valid_format(my_vd); + v4l2core_prepare_valid_resolution(my_vd); + ret = v4l2core_update_current_format(my_vd); if(ret != E_OK) { @@ -1026,35 +1088,51 @@ } } - /*restart the render with new format*/ - if(render_init(render, v4l2core_get_frame_width(), v4l2core_get_frame_height(), render_flags) < 0) - render = RENDER_NONE; - else + if((current_width != v4l2core_get_frame_width(my_vd)) || + current_height != v4l2core_get_frame_height(my_vd)) { - render_set_event_callback(EV_QUIT, &quit_callback, NULL); - render_set_event_callback(EV_KEY_V, &key_V_callback, NULL); - render_set_event_callback(EV_KEY_I, &key_I_callback, NULL); - render_set_event_callback(EV_KEY_UP, &key_UP_callback, NULL); - render_set_event_callback(EV_KEY_DOWN, &key_DOWN_callback, NULL); - render_set_event_callback(EV_KEY_LEFT, &key_LEFT_callback, NULL); - render_set_event_callback(EV_KEY_RIGHT, &key_RIGHT_callback, NULL); - } + if(debug_level > 1) + printf("GUVCVIEW: resolution changed, reseting render\n"); + /*close render*/ + render_close(); + + /*restart the render with new format*/ + if(render_init( + render, + v4l2core_get_frame_width(my_vd), + v4l2core_get_frame_height(my_vd), + render_flags) < 0) + render = RENDER_NONE; + else + { + render_set_event_callback(EV_QUIT, &quit_callback, NULL); + render_set_event_callback(EV_KEY_V, &key_V_callback, NULL); + render_set_event_callback(EV_KEY_I, &key_I_callback, NULL); + render_set_event_callback(EV_KEY_UP, &key_UP_callback, NULL); + render_set_event_callback(EV_KEY_DOWN, &key_DOWN_callback, NULL); + render_set_event_callback(EV_KEY_LEFT, &key_LEFT_callback, NULL); + render_set_event_callback(EV_KEY_RIGHT, &key_RIGHT_callback, NULL); + } + } if(debug_level > 0) - printf("GUVCVIEW: reset to pixelformat=%x width=%i and height=%i\n", v4l2core_get_requested_frame_format(), v4l2core_get_frame_width(), v4l2core_get_frame_height()); + printf("GUVCVIEW: reset to pixelformat=%x width=%i and height=%i\n", + v4l2core_get_requested_frame_format(my_vd), + v4l2core_get_frame_width(my_vd), + v4l2core_get_frame_height(my_vd)); - v4l2core_start_stream(); + v4l2core_start_stream(my_vd); } /*get the frame from v4l2 core*/ - frame = v4l2core_get_decoded_frame(); + frame = v4l2core_get_decoded_frame(my_vd); if( frame != NULL) { /*run software autofocus (must be called after frame was grabbed and decoded)*/ if(do_soft_autofocus || do_soft_focus) - do_soft_focus = v4l2core_soft_autofocus_run(frame); + do_soft_focus = v4l2core_soft_autofocus_run(my_vd, frame); /* apply fx effects to the frame * do it before saving the frame @@ -1134,11 +1212,8 @@ /*save the frame (video)*/ if(video_capture_get_save_video()) { -#ifdef USE_PLANAR_YUV - int size = (v4l2core_get_frame_width() * v4l2core_get_frame_height() * 3) / 2; -#else - int size = v4l2core_get_frame_width() * v4l2core_get_frame_height() * 2; -#endif + int size = (frame->width * frame->height * 3) / 2; + uint8_t *input_frame = frame->yuv_frame; /* * TODO: check codec_id, format and frame flags @@ -1146,7 +1221,7 @@ */ if(get_video_codec_ind() == 0) //raw frame { - switch(v4l2core_get_requested_frame_format()) + switch(v4l2core_get_requested_frame_format(my_vd)) { case V4L2_PIX_FMT_H264: input_frame = frame->h264_frame; @@ -1164,25 +1239,25 @@ /* * exponencial scheduler - * with 50% threshold (nanosec) + * with 50% threshold (milisec) * and max value of 250 ms (4 fps) */ - int time_sched = encoder_buff_scheduler(ENCODER_SCHED_EXP, 0.5, 250); + double time_sched = encoder_buff_scheduler(ENCODER_SCHED_LIN, 0.5, 250); if(time_sched > 0) { - switch(v4l2core_get_requested_frame_format()) + switch(v4l2core_get_requested_frame_format(my_vd)) { case V4L2_PIX_FMT_H264: { - uint32_t framerate = time_sched; /*nanosec*/ - v4l2core_set_h264_frame_rate_config(framerate); + uint32_t framerate = lround(time_sched * 1E6); /*nanosec*/ + v4l2core_set_h264_frame_rate_config(my_vd, framerate); break; } default: { struct timespec req = { .tv_sec = 0, - .tv_nsec = time_sched};/*nanosec*/ + .tv_nsec = (uint32_t) time_sched * 1E6};/*nanosec*/ nanosleep(&req, NULL); break; } @@ -1197,16 +1272,17 @@ render_frame_osd(frame->yuv_frame); /* finally render the frame */ - snprintf(render_caption, 29, "Guvcview (%2.2f fps)", v4l2core_get_realfps()); + snprintf(render_caption, 29, "Guvcview (%2.2f fps)", + v4l2core_get_realfps(my_vd)); render_set_caption(render_caption); render_frame(frame->yuv_frame); /*we are done with the frame buffer release it*/ - v4l2core_release_frame(frame); + v4l2core_release_frame(my_vd, frame); } } - v4l2core_stop_stream(); + v4l2core_stop_stream(my_vd); /*if we are still saving video then stop it*/ if(video_capture_get_save_video()) diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/video_capture.h guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/video_capture.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/guvcview/video_capture.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/guvcview/video_capture.h 2016-04-25 16:35:21.000000000 +0000 @@ -25,6 +25,7 @@ #include #include "gviewaudio.h" +#include "gviewv4l2core.h" typedef struct _capture_loop_data_t { @@ -214,6 +215,42 @@ void request_format_update(); /* + * create a v4l2 device handler + * args: + * device - device name + * + * asserts: + * none + * + * returns: pointer to v4l2 device handler (or null on error) + */ +v4l2_dev_t *create_v4l2_device_handler(const char *device); + +/* + * close the v4l2 device handler + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void close_v4l2_device_handler(); + +/* + * get the v4l2 device handler + * args: + * none + * + * asserts: + * none + * + * returns: pointer to v4l2 device handler + */ +v4l2_dev_t *get_v4l2_device_handler(); + +/* * create an audio context * args: * api - audio api diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio.c 2016-04-25 16:35:21.000000000 +0000 @@ -44,16 +44,13 @@ #include "../config.h" #include "gviewaudio.h" +#include "audio.h" #include "gview.h" #include "audio_portaudio.h" #if HAS_PULSEAUDIO #include "audio_pulseaudio.h" #endif -/*audio device data mutex*/ -static __MUTEX_TYPE mutex = __STATIC_MUTEX_INIT; -#define __PMUTEX &mutex - #define AUDBUFF_NUM 80 /*number of audio buffers*/ #define AUDBUFF_FRAMES 1152 /*number of audio frames per buffer*/ static audio_buff_t *audio_buffers = NULL; /*pointer to buffers list*/ @@ -61,7 +58,6 @@ static int buffer_write_index = 0;/*current write index of buffer list*/ int verbosity = 0; -static int audio_api = AUDIO_PORTAUDIO; /* * set verbosity @@ -88,9 +84,9 @@ * * returns: none */ -void audio_lock_mutex() +void audio_lock_mutex(audio_context_t *audio_ctx) { - __LOCK_MUTEX( __PMUTEX ); + __LOCK_MUTEX(&(audio_ctx->mutex)); } /* @@ -103,9 +99,9 @@ * * returns: none */ -void audio_unlock_mutex() +void audio_unlock_mutex(audio_context_t *audio_ctx) { - __UNLOCK_MUTEX( __PMUTEX ); + __UNLOCK_MUTEX(&(audio_ctx->mutex)); } /* @@ -217,7 +213,7 @@ return -1; /*don't allocate if no audio*/ - if(audio_api == AUDIO_NONE) + if(audio_ctx->api == AUDIO_NONE) { audio_buffers = NULL; return 0; @@ -292,9 +288,9 @@ audio_ctx->ts_drift = audio_ctx->current_ts - ts; /*get the current write indexed buffer flag*/ - audio_lock_mutex(); + audio_lock_mutex(audio_ctx); int flag = audio_buffers[buffer_write_index].flag; - audio_unlock_mutex(); + audio_unlock_mutex(audio_ctx); if(flag == AUDIO_BUFF_USED) { @@ -308,14 +304,17 @@ audio_ctx->capture_buff_size * sizeof(sample_t)); /*buffer begin time*/ audio_buffers[buffer_write_index].timestamp = audio_ctx->current_ts - buffer_length; + if(audio_buffers[buffer_write_index].timestamp < 0) + fprintf(stderr, "AUDIO: write buffer(%i) - invalid timestamp (< 0): cur_ts:%" PRId64 " buf_length:%" PRId64 "\n", + buffer_write_index, audio_ctx->current_ts, buffer_length); audio_buffers[buffer_write_index].level_meter[0] = audio_ctx->capture_buff_level[0]; audio_buffers[buffer_write_index].level_meter[1] = audio_ctx->capture_buff_level[1]; - audio_lock_mutex(); + audio_lock_mutex(audio_ctx); audio_buffers[buffer_write_index].flag = AUDIO_BUFF_USED; NEXT_IND(buffer_write_index, AUDBUFF_NUM); - audio_unlock_mutex(); + audio_unlock_mutex(audio_ctx); } @@ -344,9 +343,9 @@ */ int audio_get_next_buffer(audio_context_t *audio_ctx, audio_buff_t *buff, int type, uint32_t mask) { - audio_lock_mutex(); + audio_lock_mutex(audio_ctx); int flag = audio_buffers[buffer_read_index].flag; - audio_unlock_mutex(); + audio_unlock_mutex(audio_ctx); if(flag == AUDIO_BUFF_FREE) return 1; /*all done*/ @@ -418,10 +417,10 @@ buff->level_meter[0] = audio_buffers[buffer_read_index].level_meter[0]; buff->level_meter[1] = audio_buffers[buffer_read_index].level_meter[1]; - audio_lock_mutex(); + audio_lock_mutex(audio_ctx); audio_buffers[buffer_read_index].flag = AUDIO_BUFF_FREE; NEXT_IND(buffer_read_index, AUDBUFF_NUM); - audio_unlock_mutex(); + audio_unlock_mutex(audio_ctx); return 0; } @@ -436,42 +435,74 @@ * asserts: * none * - * returns: pointer to audio context (NULL if AUDIO_NONE) + * returns: pointer to audio context data (or NULL on error) */ audio_context_t *audio_init(int api, int device) { + audio_context_t *audio_ctx = calloc(1, sizeof(audio_context_t)); - audio_context_t *audio_ctx = NULL; + if(audio_ctx == NULL) + { + fprintf(stderr, "AUDIO: (audio_init) couldn't allocate audio context\n"); + return NULL; + } - audio_api = api; + /*initialize the mutex*/ + __INIT_MUTEX(&(audio_ctx->mutex)); + + int ret = 0; - switch(audio_api) + switch(api) { case AUDIO_NONE: + audio_ctx->api = AUDIO_NONE; break; #if HAS_PULSEAUDIO case AUDIO_PULSE: - audio_ctx = audio_init_pulseaudio(); + ret = audio_init_pulseaudio(audio_ctx); break; #endif case AUDIO_PORTAUDIO: default: - audio_ctx = audio_init_portaudio(); + ret = audio_init_portaudio(audio_ctx); break; } - if(!audio_ctx) - audio_api = AUDIO_NONE; - + /*if api couldn't be initialized set audio to none*/ + if (ret != 0) + audio_ctx->api = AUDIO_NONE; + /*set default api device*/ - audio_set_device(audio_ctx, device); - + audio_set_device_index(audio_ctx, device); + + /*force a valid number of channels*/ + if(audio_ctx->channels > 2) + audio_ctx->channels = 2; + return audio_ctx; } /* - * set audio device + * get audio api + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: audio API + */ +int audio_get_api(audio_context_t *audio_ctx) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + return audio_ctx->api; +} + +/* + * set the audio device index to use * args: * audio_ctx - pointer to audio context data * index - device index (from device list) to set @@ -481,9 +512,12 @@ * * returns: none */ -void audio_set_device(audio_context_t *audio_ctx, int index) +void audio_set_device_index(audio_context_t *audio_ctx, int index) { - switch(audio_api) + /*assertions*/ + assert(audio_ctx != NULL); + + switch(audio_ctx->api) { case AUDIO_NONE: break; @@ -501,6 +535,204 @@ } /* + * get the current audio device index + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: current device index (from device list) + */ +int audio_get_device_index(audio_context_t *audio_ctx) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + return audio_ctx->device; +} + +/* + * get the number of available input audio devices + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: number of listed audio devices + */ +int audio_get_num_inp_devices(audio_context_t *audio_ctx) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + return audio_ctx->num_input_dev; +} + +/* + * get the audio device referenced by index + * args: + * audio_ctx - pointer to audio context data + * index - index of audio device + * + * asserts: + * audio_ctx is not null + * + * returns: audio device referenced by index + */ +audio_device_t* audio_get_device(audio_context_t *audio_ctx, int index) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + if(index >= audio_ctx->num_input_dev) + { + fprintf(stderr, "AUDIO: (audio_get_device) bad index %i using %i\n", + index, audio_ctx->num_input_dev - 1); + index = audio_ctx->num_input_dev - 1; + } + + if(index < 0) + { + fprintf(stderr, "AUDIO: (audio_get_device) bad index %i using 0\n", index); + index = 0; + } + + return &audio_ctx->list_devices[index]; +} + +/* + * set the current latency + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_latency(audio_context_t *audio_ctx, double latency) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + audio_ctx->latency = latency; +} + +/* + * get the current latency + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: defined lantency + */ +double audio_get_latency(audio_context_t *audio_ctx) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + return audio_ctx->latency; +} + +/* + * set the number of channels + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_channels(audio_context_t *audio_ctx, int channels) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + audio_ctx->channels = channels; +} + +/* + * get the number of channels + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: number of channels + */ +int audio_get_channels(audio_context_t *audio_ctx) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + return audio_ctx->channels; +} + +/* + * set the sample rate + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_samprate(audio_context_t *audio_ctx, int samprate) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + audio_ctx->samprate = samprate; +} + +/* + * get the sample rate + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: sample rate + */ +int audio_get_samprate(audio_context_t *audio_ctx) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + return audio_ctx->samprate; +} + +/* + * set the capture buffer size + * args: + * audio_ctx - pointer to audio context data + * size - capture buffer size in bytes + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_cap_buffer_size(audio_context_t *audio_ctx, int size) +{ + /*assertions*/ + assert(audio_ctx != NULL); + + if(verbosity > 2) + printf("AUDIO: set capture buffer size to %i samples\n", size); + + audio_ctx->capture_buff_size = size; +} + +/* * start audio stream capture * args: * audio_ctx - pointer to audio context data @@ -528,7 +760,7 @@ int err = 0; - switch(audio_api) + switch(audio_ctx->api) { case AUDIO_NONE: break; @@ -559,9 +791,12 @@ */ int audio_stop(audio_context_t *audio_ctx) { + /*assertions*/ + assert(audio_ctx != NULL); + int err =0; - switch(audio_api) + switch(audio_ctx->api) { case AUDIO_NONE: break; @@ -589,15 +824,23 @@ * audio_ctx - pointer to audio context data * * asserts: - * none + * audio_ctx is not null * * returns: none */ void audio_close(audio_context_t *audio_ctx) { + /*assertions*/ + assert(audio_ctx != NULL); + audio_fx_close(); + + /*make sure we unlock the mutex*/ + audio_unlock_mutex(audio_ctx); + /*destroy the mutex*/ + __CLOSE_MUTEX(&(audio_ctx->mutex)); - switch(audio_api) + switch(audio_ctx->api) { case AUDIO_NONE: break; diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_fx.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_fx.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_fx.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_fx.c 2016-04-25 16:35:21.000000000 +0000 @@ -34,6 +34,7 @@ #include "../config.h" #include "gviewaudio.h" +#include "audio.h" #include "gview.h" #ifndef M_PI diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio.h 2016-04-25 16:35:21.000000000 +0000 @@ -31,6 +31,34 @@ #include "gviewaudio.h" +struct _audio_context_t +{ + int api; /*audio api for this context*/ + int num_input_dev; /*number of audio input devices in list*/ + audio_device_t *list_devices; /*audio input devices list*/ + int device; /*current device list index*/ + int channels; /*channels*/ + int samprate; /*sample rate*/ + double latency; /*current sugested latency*/ + + /*all ts are monotonic based: both real and generated*/ + int64_t current_ts; /*current buffer generated timestamp*/ + int64_t last_ts; /*last real timestamp (in nanosec)*/ + int64_t snd_begintime; /*sound capture start ref time*/ + int64_t ts_drift; /*drift between real and generated ts*/ + + sample_t *capture_buff; /*pointer to capture data*/ + int capture_buff_size; /*capture buffer size (bytes)*/ + float capture_buff_level[2]; /*capture buffer channels level*/ + + void *stream; /*pointer to audio stream (portaudio)*/ + + int stream_flag; /*stream flag*/ + + pthread_mutex_t mutex; /*audio mutex*/ + +}; + /* * fill a audio buffer data and move write index to next one * args: diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_portaudio.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_portaudio.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_portaudio.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_portaudio.c 2016-04-25 16:35:21.000000000 +0000 @@ -302,41 +302,35 @@ /* * init portaudio api * args: - * none + * audio_ctx - pointer to audio context data * * asserts: - * none + * audio_ctx is not null * - * returns: pointer to audio context data - * or NULL if error + * returns: error code (0 = E_OK) */ -audio_context_t *audio_init_portaudio() +int audio_init_portaudio(audio_context_t* audio_ctx) { + /*assertions*/ + assert(audio_ctx != NULL); + int pa_error = Pa_Initialize(); if(pa_error != paNoError) { fprintf(stderr,"AUDIO: Failed to Initialize Portaudio (Pa_Initialize returned %i)\n", pa_error); - return NULL; - } - - audio_context_t *audio_ctx = calloc(1, sizeof(audio_context_t)); - if(audio_ctx == NULL) - { - fprintf(stderr,"AUDIO: FATAL memory allocation failure (audio_init_portaudio): %s\n", strerror(errno)); - exit(-1); + return -1; } if(audio_portaudio_list_devices(audio_ctx) != 0) { fprintf(stderr, "AUDIO: Portaudio failed to get audio device list\n"); - free(audio_ctx); - return NULL; + return -1; } audio_ctx->api = AUDIO_PORTAUDIO; - return audio_ctx; + return 0; } /* @@ -532,7 +526,7 @@ if(audio_ctx == NULL) return; - if(audio_ctx->list_devices != NULL); + if(audio_ctx->list_devices != NULL) free(audio_ctx->list_devices); audio_ctx->list_devices = NULL; diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_portaudio.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_portaudio.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_portaudio.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_portaudio.h 2016-04-25 16:35:21.000000000 +0000 @@ -29,15 +29,14 @@ /* * init portaudio api * args: - * none + * audio_ctx - pointer to audio context data * * asserts: - * none + * audio_ctx is not null * - * returns: pointer to audio context data - * or NULL if error + * returns: error code (0 = E_OK) */ -audio_context_t *audio_init_portaudio(); +int audio_init_portaudio(audio_context_t* audio_ctx); /* * set audio device diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_pulseaudio.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_pulseaudio.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_pulseaudio.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_pulseaudio.c 2016-04-25 16:35:21.000000000 +0000 @@ -652,32 +652,27 @@ /* * init pulseaudio api * args: - * none + * audio_ctx - pointer to audio context data * * asserts: - * none + * audio_ctx is not null * - * returns: pointer to audio context data - * or NULL if error + * returns: error code (0 = E_OK) */ -audio_context_t *audio_init_pulseaudio() +int audio_init_pulseaudio(audio_context_t *audio_ctx) { - audio_context_t *audio_ctx = calloc(1, sizeof(audio_context_t)); - if(audio_ctx == NULL) - { - fprintf(stderr,"AUDIO: FATAL memory allocation failure (audio_init_pulseaudio): %s\n", strerror(errno)); - exit(-1); - } + /*assertions*/ + assert(audio_ctx != NULL); if (pa_get_devicelist(audio_ctx) < 0) { fprintf(stderr, "AUDIO: Pulseaudio failed to get audio device list from PULSE server\n"); - free(audio_ctx); - return NULL; + return -1; } audio_ctx->api = AUDIO_PULSE; - return audio_ctx; + + return 0; } /* @@ -783,7 +778,7 @@ if(audio_ctx->stream_flag == AUDIO_STRM_ON) audio_stop_pulseaudio(audio_ctx); - if(audio_ctx->list_devices != NULL); + if(audio_ctx->list_devices != NULL) free(audio_ctx->list_devices); audio_ctx->list_devices = NULL; diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_pulseaudio.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_pulseaudio.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/audio_pulseaudio.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/audio_pulseaudio.h 2016-04-25 16:35:21.000000000 +0000 @@ -29,15 +29,14 @@ /* * init pulseaudio api * args: - * none + * audio_ctx - pointer to audio context data * * asserts: - * none + * audio_ctx is not null * - * returns: pointer to audio context data - * or NULL if error + * returns: error code (0 = E_OK) */ -audio_context_t *audio_init_pulseaudio(); +int audio_init_pulseaudio(audio_context_t *audio_ctx); /* * set audio device diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/gviewaudio.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/gviewaudio.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_audio/gviewaudio.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_audio/gviewaudio.h 2016-04-25 16:35:21.000000000 +0000 @@ -36,6 +36,7 @@ #include #include +#include /*make sure we support c++*/ __BEGIN_DECLS @@ -91,31 +92,8 @@ char description[256]; /*device description*/ } audio_device_t; -typedef struct _audio_context_t -{ - int api; /*audio api for this context*/ - int num_input_dev; /*number of audio input devices in list*/ - audio_device_t *list_devices; /*audio input devices list*/ - int device; /*current device list index*/ - int channels; /*channels*/ - int samprate; /*sample rate*/ - double latency; /*current sugested latency*/ - - /*all ts are monotonic based: both real and generated*/ - int64_t current_ts; /*current buffer generated timestamp*/ - int64_t last_ts; /*last real timestamp (in nanosec)*/ - int64_t snd_begintime; /*sound capture start ref time*/ - int64_t ts_drift; /*drift between real and generated ts*/ - - sample_t *capture_buff; /*pointer to capture data*/ - int capture_buff_size; - float capture_buff_level[2]; /*capture buffer channels level*/ - - void *stream; /*pointer to audio stream (portaudio)*/ - - int stream_flag; /*stream flag*/ - -} audio_context_t; +/*audio context - opaque structure*/ +typedef struct _audio_context_t audio_context_t; /* * set verbosity @@ -139,12 +117,24 @@ * asserts: * none * - * returns: pointer to audio context (NULL if AUDIO_NONE) + * returns: pointer to audio context data (or NULL on error) */ audio_context_t *audio_init(int api, int device); /* - * set audio device + * get audio api + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: audio API + */ +int audio_get_api(audio_context_t *audio_ctx); + +/* + * set the audio device index to use * args: * audio_ctx - pointer to audio context data * index - device index (from device list) to set @@ -154,7 +144,129 @@ * * returns: none */ -void audio_set_device(audio_context_t *audio_ctx, int index); +void audio_set_device_index(audio_context_t *audio_ctx, int index); + +/* + * get the current audio device index + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: current device index (from device list) + */ +int audio_get_device_index(audio_context_t *audio_ctx); + +/* + * get the number of available input audio devices + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: number of listed audio devices + */ +int audio_get_num_inp_devices(audio_context_t *audio_ctx); + +/* + * get the audio device referenced by index + * args: + * audio_ctx - pointer to audio context data + * index - index of audio device + * + * asserts: + * audio_ctx is not null + * + * returns: audio device referenced by index + */ +audio_device_t* audio_get_device(audio_context_t *audio_ctx, int index); + +/* + * set the current latency + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_latency(audio_context_t *audio_ctx, double latency); + +/* + * get the current latency + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: defined lantency + */ +double audio_get_latency(audio_context_t *audio_ctx); + +/* + * set the number of channels + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_channels(audio_context_t *audio_ctx, int channels); + +/* + * get the number of channels + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: number of channels + */ +int audio_get_channels(audio_context_t *audio_ctx); + +/* + * set the sample rate + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_samprate(audio_context_t *audio_ctx, int samprate); + +/* + * get the sample rate + * args: + * audio_ctx - pointer to audio context data + * + * asserts: + * audio_ctx is not null + * + * returns: sample rate + */ +int audio_get_samprate(audio_context_t *audio_ctx); + +/* + * set the capture buffer size + * args: + * audio_ctx - pointer to audio context data + * size - capture buffer size in bytes + * + * asserts: + * audio_ctx is not null + * + * returns: none + */ +void audio_set_cap_buffer_size(audio_context_t *audio_ctx, int size); /* * start audio stream capture diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/encoder.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/encoder.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/encoder.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/encoder.c 2016-04-25 16:35:21.000000000 +0000 @@ -91,85 +91,6 @@ } /* - * convert yuyv to yuv420p - * args: - * encoder_ctx - pointer to encoder context - * inp - input data (yuyv) - * - * asserts: - * encoder_ctx is not null - * encoder_ctx->enc_video_ctx is not null - * encoder_ctx->enc_video_ctx->tmpbuf is not null - * - * returns: none - */ -static void yuv422to420p(encoder_context_t *encoder_ctx, uint8_t *inp) -{ - /*assertions*/ - assert(encoder_ctx != NULL); - assert(encoder_ctx->enc_video_ctx != NULL); - assert( encoder_ctx->enc_video_ctx->tmpbuf != NULL); - - encoder_codec_data_t *video_codec_data = (encoder_codec_data_t *) encoder_ctx->enc_video_ctx->codec_data; - - assert(video_codec_data); - - int i,j; - int linesize= encoder_ctx->video_width * 2; - int size = encoder_ctx->video_width * encoder_ctx->video_height; - - uint8_t *y; - uint8_t *y1; - uint8_t *u; - uint8_t *v; - y = encoder_ctx->enc_video_ctx->tmpbuf; - y1 = encoder_ctx->enc_video_ctx->tmpbuf + encoder_ctx->video_width; - u = encoder_ctx->enc_video_ctx->tmpbuf + size; - v = u + size/4; - - for(j = 0; j < (encoder_ctx->video_height - 1); j += 2) - { - for(i = 0; i < (linesize - 3); i += 4) - { - *y++ = inp[i+j*linesize]; - *y++ = inp[i+2+j*linesize]; - *y1++ = inp[i+(j+1)*linesize]; - *y1++ = inp[i+2+(j+1)*linesize]; - *u++ = (inp[i+1+j*linesize] + inp[i+1+(j+1)*linesize])>>1; // div by 2 - *v++ = (inp[i+3+j*linesize] + inp[i+3+(j+1)*linesize])>>1; - } - y += encoder_ctx->video_width; - y1 += encoder_ctx->video_width;//2 lines - } - - prepare_video_frame(video_codec_data, encoder_ctx->enc_video_ctx->tmpbuf, encoder_ctx->video_width, encoder_ctx->video_height); -} - -/* - * check that a given sample format is supported by the encoder - * args: - * codec - pointer to AVCodec - * sample_fmt - audio sample format - * - * assertions: - * none - * - * returns: 1 - sample format is supported; 0 - is not supported - */ -static int encoder_check_audio_sample_fmt(AVCodec *codec, enum AVSampleFormat sample_fmt) -{ - const enum AVSampleFormat *p = codec->sample_fmts; - - while (*p != AV_SAMPLE_FMT_NONE) - { - if (*p == sample_fmt) - return 1; - p++; - } - return 0; -} - -/* * allocate video ring buffer * args: * video_width - video frame width (in pixels) @@ -201,17 +122,10 @@ } if(codec_ind > 0) - { -#ifdef USE_PLANAR_YUV - video_frame_max_size = (video_width * video_height * 3) / 2; -#else - /*Max: (yuyv) 2 bytes per pixel*/ - video_frame_max_size = video_width * video_height * 2; -#endif - } + video_frame_max_size = (video_width * video_height * 3) / 2; else video_frame_max_size = video_width * video_height * 3; //RGB formats - + int i = 0; for(i = 0; i < video_ring_buffer_size; ++i) { @@ -251,6 +165,75 @@ } /* + * gviewencoder constructor (called before dlopen or main) + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void __attribute__ ((constructor)) gviewencoder_init() +{ +#if !LIBAVCODEC_VER_AT_LEAST(54,01) + fprintf(stderr, "ENCODER: Error - libavcodec version not supported (minimum 54.01)\n"); + return; +#endif + //printf("ENCODER: constructor function called\n"); + /* register all the codecs (you can also register only the codec + * you wish to have smaller code) + */ + avcodec_register_all(); + + valid_video_codecs = encoder_set_valid_video_codec_list (); + valid_audio_codecs = encoder_set_valid_audio_codec_list (); + +} + +/* + * gviewencoder destructor (called before dlclose os exit) + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void __attribute__ ((destructor)) gviewencoder_fini() +{ + if(verbosity > 1) + printf("ENCODER: destructor function called\n"); + //make sure to clean the ring buffer + encoder_clean_video_ring_buffer(); +} + +/* + * check that a given sample format is supported by the encoder + * args: + * codec - pointer to AVCodec + * sample_fmt - audio sample format + * + * assertions: + * none + * + * returns: 1 - sample format is supported; 0 - is not supported + */ +static int encoder_check_audio_sample_fmt(AVCodec *codec, enum AVSampleFormat sample_fmt) +{ + const enum AVSampleFormat *p = codec->sample_fmts; + + while (*p != AV_SAMPLE_FMT_NONE) + { + if (*p == sample_fmt) + return 1; + p++; + } + return 0; +} + +/* * video encoder initialization for raw input * (don't set a codec but set the proper codec 4cc) * args: @@ -282,7 +265,7 @@ strncpy(video_defaults->compressor, "MJPG", 5); video_defaults->mkv_4cc = v4l2_fourcc('M','J','P','G'); strncpy(video_defaults->mkv_codec, "V_MS/VFW/FOURCC", 25); - encoder_ctx->enc_video_ctx->outbuf_size = encoder_ctx->video_width * encoder_ctx->video_height / 2; + encoder_ctx->enc_video_ctx->outbuf_size = (encoder_ctx->video_width * encoder_ctx->video_height) / 2; encoder_ctx->enc_video_ctx->outbuf = calloc(encoder_ctx->enc_video_ctx->outbuf_size, sizeof(uint8_t)); if(encoder_ctx->enc_video_ctx->outbuf == NULL) { @@ -295,7 +278,7 @@ strncpy(video_defaults->compressor, "H264", 5); video_defaults->mkv_4cc = v4l2_fourcc('H','2','6','4'); strncpy(video_defaults->mkv_codec, "V_MPEG4/ISO/AVC", 25); - encoder_ctx->enc_video_ctx->outbuf_size = encoder_ctx->video_width * encoder_ctx->video_height / 2; + encoder_ctx->enc_video_ctx->outbuf_size = (encoder_ctx->video_width * encoder_ctx->video_height) / 2; encoder_ctx->enc_video_ctx->outbuf = calloc(encoder_ctx->enc_video_ctx->outbuf_size, sizeof(uint8_t)); if(encoder_ctx->enc_video_ctx->outbuf == NULL) { @@ -342,7 +325,11 @@ { //assertions assert(encoder_ctx != NULL); - + +#if !LIBAVCODEC_VER_AT_LEAST(54,01) + fprintf(stderr, "ENCODER: Error - libavcodec version not supported (minimum 54.01)\n"); + return NULL; +#else if(encoder_ctx->video_codec_ind < 0) { if(verbosity > 0) @@ -408,19 +395,27 @@ fprintf(stderr, "ENCODER: libav video codec (%i) not found - using raw input\n",video_defaults->codec_id); video_defaults = encoder_get_video_codec_defaults(0); encoder_set_raw_video_input(encoder_ctx, video_defaults); + + //alloc outbuf + if(enc_video_ctx->outbuf_size <= 0) + enc_video_ctx->outbuf_size = 240000;//1792 + if(enc_video_ctx->outbuf != NULL) + free(enc_video_ctx->outbuf); + enc_video_ctx->outbuf = calloc(enc_video_ctx->outbuf_size, sizeof(uint8_t)); + if(enc_video_ctx->outbuf == NULL) + { + fprintf(stderr, "ENCODER: FATAL memory allocation failure (encoder_video_init): %s\n", strerror(errno)); + exit(-1); + } + return (enc_video_ctx); } -#if LIBAVCODEC_VER_AT_LEAST(53,6) - video_codec_data->codec_context = avcodec_alloc_context3(video_codec_data->codec); avcodec_get_context_defaults3 ( video_codec_data->codec_context, video_codec_data->codec); -#else - video_codec_data->codec_context = avcodec_alloc_context(); -#endif if(video_codec_data->codec_context == NULL) { @@ -446,10 +441,13 @@ /*use trellis quantization*/ video_codec_data->codec_context->trellis = video_defaults->trellis; - /*motion estimation method (epzs)*/ -#if !LIBAVCODEC_VER_AT_LEAST(59,0) + /*motion estimation method */ +#if !LIBAVCODEC_VER_AT_LEAST(56,60) video_codec_data->codec_context->me_method = video_defaults->me_method; #else + if( video_defaults->codec_id == AV_CODEC_ID_H264 && video_defaults->me_method > 4) + video_defaults->me_method = X264_ME_HEX; + av_dict_set_int(&video_codec_data->private_options, "motion-est", video_defaults->me_method, 0); #endif video_codec_data->codec_context->dia_size = video_defaults->dia; @@ -473,9 +471,6 @@ video_codec_data->codec_context->strict_std_compliance = FF_COMPLIANCE_NORMAL; video_codec_data->codec_context->codec_id = video_defaults->codec_id; -#if !LIBAVCODEC_VER_AT_LEAST(53,0) -#define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO -#endif video_codec_data->codec_context->codec_type = AVMEDIA_TYPE_VIDEO; video_codec_data->codec_context->pix_fmt = video_defaults->pix_fmt; //only yuv420p available for mpeg @@ -486,6 +481,7 @@ else video_codec_data->codec_context->time_base = (AVRational){1,15}; //fallback to 15 fps (e.g gspca) + if(video_defaults->gop_size > 0) video_codec_data->codec_context->gop_size = video_defaults->gop_size; else @@ -494,29 +490,25 @@ if(video_defaults->codec_id == AV_CODEC_ID_H264) { video_codec_data->codec_context->me_range = 16; - - //the first compressed frame will be empty (1 frame out of sync) - //but avoids x264 warning on lookaheadless mb-tree -#if LIBAVCODEC_VER_AT_LEAST(53,6) - av_dict_set(&video_codec_data->private_options, "rc_lookahead", "1", 0); -#else - video_codec_data->codec_context->rc_lookahead=1; -#endif + //av_dict_set(&video_codec_data->private_options, "rc_lookahead", "1", 0); + av_dict_set(&video_codec_data->private_options, "crf", "23", 0); } - +#ifdef AV_CODEC_ID_H265 + if(video_defaults->codec_id == AV_CODEC_ID_H265) + { + video_codec_data->codec_context->me_range = 16; + av_dict_set(&video_codec_data->private_options, "crf", "28", 0); + av_dict_set(&video_codec_data->private_options, "preset", "ultrafast", 0); + } +#endif + int ret = 0; /* open codec*/ -#if LIBAVCODEC_VER_AT_LEAST(53,6) - if (avcodec_open2( + if ((ret = avcodec_open2( video_codec_data->codec_context, video_codec_data->codec, - &video_codec_data->private_options) < 0) -#else - if (avcodec_open( - video_codec_data->codec_context, - video_codec_data->codec) < 0) -#endif + &video_codec_data->private_options)) < 0) { - fprintf(stderr, "ENCODER: could not open video codec (%s) - using raw input\n", video_defaults->codec_name); + fprintf(stderr, "ENCODER: could not open video codec (%s): %i - using raw input\n", video_defaults->codec_name, ret); free(video_codec_data->codec_context); video_codec_data->codec_context = NULL; video_codec_data->codec = 0; @@ -524,6 +516,19 @@ free(video_codec_data); video_defaults = encoder_get_video_codec_defaults(0); encoder_set_raw_video_input(encoder_ctx, video_defaults); + + //alloc outbuf + if(enc_video_ctx->outbuf_size <= 0) + enc_video_ctx->outbuf_size = 240000;//1792 + if(enc_video_ctx->outbuf != NULL) + free(enc_video_ctx->outbuf); + enc_video_ctx->outbuf = calloc(enc_video_ctx->outbuf_size, sizeof(uint8_t)); + if(enc_video_ctx->outbuf == NULL) + { + fprintf(stderr, "ENCODER: FATAL memory allocation failure (encoder_video_init): %s\n", strerror(errno)); + exit(-1); + } + return (enc_video_ctx); } @@ -542,19 +547,16 @@ /*set the codec data in codec context*/ enc_video_ctx->codec_data = (void *) video_codec_data; -#ifdef USE_PLANAR_YUV enc_video_ctx->tmpbuf = NULL; //no need to temp buffer input already in yu12 (yuv420p) -#else - //alloc tmpbuff (yuv420p) - enc_video_ctx->tmpbuf = calloc((encoder_ctx->video_width * encoder_ctx->video_height * 3)/2, sizeof(uint8_t)); - if(enc_video_ctx->tmpbuf == NULL) - { - fprintf(stderr, "ENCODER: FATAL memory allocation failure (encoder_video_init): %s\n", strerror(errno)); - exit(-1); - } -#endif + + enc_video_ctx->monotonic_pts = video_defaults->monotonic_pts; + //alloc outbuf - enc_video_ctx->outbuf_size = 240000;//1792 + enc_video_ctx->outbuf_size = (encoder_ctx->video_width * encoder_ctx->video_height) / 2; + if(enc_video_ctx->outbuf_size <= 0) + enc_video_ctx->outbuf_size = 240000;//1792 + if(enc_video_ctx->outbuf != NULL) + free(enc_video_ctx->outbuf); enc_video_ctx->outbuf = calloc(enc_video_ctx->outbuf_size, sizeof(uint8_t)); if(enc_video_ctx->outbuf == NULL) { @@ -562,14 +564,15 @@ exit(-1); } - enc_video_ctx->delayed_frames = 0; - enc_video_ctx->index_of_df = -1; + enc_video_ctx->read_df = -1; + enc_video_ctx->write_df = -1; enc_video_ctx->flushed_buffers = 0; enc_video_ctx->flush_delayed_frames = 0; enc_video_ctx->flush_done = 0; return (enc_video_ctx); +#endif } /* @@ -586,6 +589,11 @@ { //assertions assert(encoder_ctx != NULL); + +#if !LIBAVCODEC_VER_AT_LEAST(54,01) + fprintf(stderr, "ENCODER: Error - libavcodec version not supported (minimum 54.01)"); + return NULL; +#else if(encoder_ctx->audio_codec_ind < 0) { @@ -620,9 +628,7 @@ } encoder_ctx->enc_audio_ctx = enc_audio_ctx; - - enc_audio_ctx->index_of_df = -1; - + enc_audio_ctx->flushed_buffers = 0; enc_audio_ctx->flush_delayed_frames = 0; enc_audio_ctx->flush_done = 0; @@ -650,12 +656,8 @@ return NULL; } -#if LIBAVCODEC_VER_AT_LEAST(53,6) audio_codec_data->codec_context = avcodec_alloc_context3(audio_codec_data->codec); avcodec_get_context_defaults3 (audio_codec_data->codec_context, audio_codec_data->codec); -#else - audio_codec_data->codec_context = avcodec_alloc_context(); -#endif if(audio_codec_data->codec_context == NULL) { @@ -674,21 +676,18 @@ audio_codec_data->codec_context->sample_rate = encoder_ctx->audio_samprate; audio_codec_data->codec_context->channels = encoder_ctx->audio_channels; -#if LIBAVCODEC_VER_AT_LEAST(53,34) if(encoder_ctx->audio_channels < 2) audio_codec_data->codec_context->channel_layout = AV_CH_LAYOUT_MONO; else audio_codec_data->codec_context->channel_layout = AV_CH_LAYOUT_STEREO; -#endif audio_codec_data->codec_context->cutoff = 0; /*automatic*/ audio_codec_data->codec_context->codec_id = audio_defaults->codec_id; -#if !LIBAVCODEC_VER_AT_LEAST(53,0) -#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO -#endif audio_codec_data->codec_context->codec_type = AVMEDIA_TYPE_AUDIO; + + audio_codec_data->codec_context->time_base = (AVRational){1, encoder_ctx->audio_samprate}; /*check if codec supports sample format*/ if (!encoder_check_audio_sample_fmt(audio_codec_data->codec, audio_defaults->sample_format)) @@ -781,15 +780,9 @@ audio_codec_data->codec_context->sample_fmt = audio_defaults->sample_format; /* open codec*/ -#if LIBAVCODEC_VER_AT_LEAST(53,6) if (avcodec_open2( audio_codec_data->codec_context, audio_codec_data->codec, NULL) < 0) -#else - if (avcodec_open( - audio_codec_data->codec_context, - audio_codec_data->codec) < 0) -#endif { fprintf(stderr, "ENCODER: could not open audio codec\n"); free(audio_codec_data->codec_context); @@ -820,8 +813,6 @@ exit(-1); } -#if LIBAVCODEC_VER_AT_LEAST(53,34) - #if LIBAVCODEC_VER_AT_LEAST(55,28) audio_codec_data->frame = av_frame_alloc(); #else @@ -843,16 +834,13 @@ audio_codec_data->frame->nb_samples = frame_size; audio_codec_data->frame->format = audio_defaults->sample_format; -#if LIBAVCODEC_VER_AT_LEAST(54,0) audio_codec_data->frame->channel_layout = audio_codec_data->codec_context->channel_layout; -#endif - -#endif /*set codec data in encoder context*/ enc_audio_ctx->codec_data = (void *) audio_codec_data; return (enc_audio_ctx); +#endif } /* @@ -951,12 +939,12 @@ * asserts: * none * - * returns: estimate sleep time (nanosec) + * returns: estimate sleep time (milisec) */ -uint32_t encoder_buff_scheduler(int mode, double thresh, int max_time) +double encoder_buff_scheduler(int mode, double thresh, double max_time) { int diff_ind = 0; - uint32_t sched_time = 0; /*in milisec*/ + double sched_time = 0; /*in milisec*/ __LOCK_MUTEX( __PMUTEX ); /* try to balance buffer overrun in read/write operations */ @@ -979,16 +967,16 @@ switch(mode) { case ENCODER_SCHED_LIN: /*linear function*/ - sched_time = (uint32_t) lround((double) (diff_ind - th) * (max_time/(video_ring_buffer_size - th))); + sched_time = (double) (diff_ind - th) * (max_time/(video_ring_buffer_size - th)); break; case ENCODER_SCHED_EXP: /*exponencial*/ { double exp = (double) log10(max_time)/log10(video_ring_buffer_size - th); if(exp > 0) - sched_time = (uint32_t) lround( pow(diff_ind - th, exp)); + sched_time = pow(diff_ind - th, exp); else /*use linear function*/ - sched_time = (uint32_t) lround((double) (diff_ind - th) * (max_time/(video_ring_buffer_size - th))); + sched_time = (double) (diff_ind - th) * (max_time/(video_ring_buffer_size - th)); break; } @@ -996,39 +984,15 @@ } if(verbosity > 2) - printf("ENCODER: scheduler %i ms (index delta %i)\n", sched_time, diff_ind); + printf("ENCODER: scheduler %.2f ms (index delta %i)\n", sched_time, diff_ind); /*clip*/ - if(sched_time > 1000) - sched_time = 1000; /*1 sec max*/ - - return (sched_time * 1E6); /*return in nanosec*/ -} - -/* - * encoder initaliztion - * args: - * none - * - * asserts: - * none - * - * returns: none - */ -void encoder_init() -{ - -#if !LIBAVCODEC_VER_AT_LEAST(53,34) - avcodec_init(); -#endif - /* register all the codecs (you can also register only the codec - * you wish to have smaller code) - */ - avcodec_register_all(); - - valid_video_codecs = encoder_set_valid_video_codec_list (); - valid_audio_codecs = encoder_set_valid_audio_codec_list (); + if(sched_time > max_time) + sched_time = max_time; + if(sched_time < 0) + sched_time = 0; + return (sched_time); } /* @@ -1062,7 +1026,7 @@ } /* - * initialize and get the encoder context + * encoder initialization * args: * input_format - input v4l2 format (yuyv for encoding) * video_codec_ind - video codec list index @@ -1081,7 +1045,7 @@ * * returns: pointer to encoder context (NULL on error) */ -encoder_context_t *encoder_get_context( +encoder_context_t *encoder_init( int input_format, int video_codec_ind, int audio_codec_ind, @@ -1233,7 +1197,6 @@ encoder_encode_video(encoder_ctx, video_ring_buffer[video_read_index].frame); - /*mux the frame*/ __LOCK_MUTEX( __PMUTEX ); @@ -1272,29 +1235,7 @@ { buffer_count--; - /*timestamp is zero indexed*/ - encoder_ctx->enc_video_ctx->pts = video_ring_buffer[video_read_index].timestamp; - - /*raw (direct input)*/ - if(encoder_ctx->video_codec_ind == 0) - { - /*outbuf_coded_size must already be set*/ - encoder_ctx->enc_video_ctx->outbuf_coded_size = video_ring_buffer[video_read_index].frame_size; - if(video_ring_buffer[video_read_index].keyframe) - encoder_ctx->enc_video_ctx->flags |= AV_PKT_FLAG_KEY; - } - - encoder_encode_video(encoder_ctx, video_ring_buffer[video_read_index].frame); - - /*mux the frame*/ - __LOCK_MUTEX( __PMUTEX ); - - video_ring_buffer[video_read_index].flag = VIDEO_BUFF_FREE; - NEXT_IND(video_read_index, video_ring_buffer_size); - - __UNLOCK_MUTEX ( __PMUTEX ); - - encoder_write_video_data(encoder_ctx); + encoder_process_next_video_buffer(encoder_ctx); /*get next buffer flag*/ __LOCK_MUTEX( __PMUTEX ); @@ -1305,14 +1246,17 @@ /*flush libav*/ int flushed_frame_counter = 0; encoder_ctx->enc_video_ctx->flush_delayed_frames = 1; - while(!encoder_ctx->enc_video_ctx->flush_done && - flushed_frame_counter <= encoder_ctx->enc_video_ctx->delayed_frames) + + while(!encoder_ctx->enc_video_ctx->flush_done) { encoder_encode_video(encoder_ctx, NULL); encoder_write_video_data(encoder_ctx); flushed_frame_counter++; } + if(verbosity > 1) + printf("ENCODER: flushed %i delayed video frames\n", flushed_frame_counter); + if(!buffer_count) { fprintf(stderr, "ENCODER: (flush video buffer) max processed buffers reached\n"); @@ -1340,14 +1284,17 @@ /*flush libav*/ int flushed_frame_counter = 0; encoder_ctx->enc_audio_ctx->flush_delayed_frames = 1; - while(!encoder_ctx->enc_audio_ctx->flush_done && - flushed_frame_counter <= encoder_ctx->enc_audio_ctx->delayed_frames) + + while(!encoder_ctx->enc_audio_ctx->flush_done) { encoder_encode_audio(encoder_ctx, NULL); encoder_write_audio_data(encoder_ctx); flushed_frame_counter++; } + if(verbosity > 1) + printf("ENCODER: flushed %i delayed audio frames\n", flushed_frame_counter); + return 0; } @@ -1379,6 +1326,99 @@ } /* + * store the pts into the delayed frame buffer + * args: + * enc_video_ctx - pointer to encoder video context + * + * asserts: + * enc_video_ctx is not null + * + * returns: delayed frame write index (or <0 if error) + */ +static int store_video_df_pts(encoder_video_context_t *enc_video_ctx) +{ + /*assertions*/ + assert(enc_video_ctx != NULL); + + if(enc_video_ctx->write_df < 0) + enc_video_ctx->write_df = 0; + else + enc_video_ctx->write_df++; + + if(enc_video_ctx->write_df == enc_video_ctx->read_df) + { + fprintf(stderr, "ENCODER: Maximum of %i delayed video frames reached...\n", MAX_DELAYED_FRAMES); + fprintf(stderr, " write: %i read: %i\n", enc_video_ctx->write_df, enc_video_ctx->read_df); + return -1; + } + + if(enc_video_ctx->write_df >= MAX_DELAYED_FRAMES) + { + if(enc_video_ctx->read_df > 0) + enc_video_ctx->write_df = 0; //go to start + else + { + fprintf(stderr, "ENCODER: Maximum of %i delayed video frames reached...\n", MAX_DELAYED_FRAMES); + fprintf(stderr, " write: %i read: %i\n", enc_video_ctx->write_df, enc_video_ctx->read_df); + enc_video_ctx->write_df = MAX_DELAYED_FRAMES -1; + return -1; + } + } + + enc_video_ctx->delayed_pts[enc_video_ctx->write_df] = enc_video_ctx->pts; + + return enc_video_ctx->write_df; +} + +/* + * read the next pts in the delayed frame buffer and stores the current one + * args: + * enc_video_ctx - pointer to encoder video context + * + * asserts: + * enc_video_ctx is not null + * + * returns: delayed frame read index (or <0 if error) + */ +static int read_video_df_pts(encoder_video_context_t *enc_video_ctx) +{ + /*assertions*/ + assert(enc_video_ctx != NULL); + + //store the current frame pts + if(!enc_video_ctx->flush_delayed_frames) + store_video_df_pts(enc_video_ctx); + + if(enc_video_ctx->read_df < 0) + { + printf("ENCODER: video codec is using %i delayed frames\n", enc_video_ctx->write_df); + enc_video_ctx->read_df = 0; + } + else + enc_video_ctx->read_df++; + + if(enc_video_ctx->read_df >= MAX_DELAYED_FRAMES) + enc_video_ctx->read_df = 0; + + //read the delayed frame pts + enc_video_ctx->pts = enc_video_ctx->delayed_pts[enc_video_ctx->read_df]; + + if(enc_video_ctx->flush_delayed_frames && verbosity > 1) + printf("ENCODER: video codec flushing delayed frame %i ( pts: %" PRId64 " )\n", + enc_video_ctx->read_df, enc_video_ctx->pts); + + if(enc_video_ctx->read_df == enc_video_ctx->write_df) + { + printf("ENCODER: no more delayed video frames\n"); + if(enc_video_ctx->flush_delayed_frames) + enc_video_ctx->flush_done = 1; + enc_video_ctx->read_df = -1; + } + + return enc_video_ctx->read_df; +} + +/* * encode video frame * args: * encoder_ctx - pointer to encoder context @@ -1394,6 +1434,11 @@ /*assertions*/ assert(encoder_ctx != NULL); +#if !LIBAVCODEC_VER_AT_LEAST(54, 01) + fprintf(stderr, "ENCODER: Error - libavcodec version not supported (minimum 54.01)\n"); + return 0; +#else + encoder_video_context_t *enc_video_ctx = encoder_ctx->enc_video_ctx; int outsize = 0; @@ -1405,8 +1450,6 @@ encoder_ctx->enc_video_ctx->outbuf_coded_size = outsize; return outsize; } - - encoder_codec_data_t *video_codec_data = (encoder_codec_data_t *) enc_video_ctx->codec_data; /*raw - direct input no software encoding*/ if(encoder_ctx->video_codec_ind == 0) @@ -1418,6 +1461,13 @@ } /*outbuf_coded_size must already be set*/ outsize = enc_video_ctx->outbuf_coded_size; + if(outsize > enc_video_ctx->outbuf_size) + { + enc_video_ctx->outbuf_size = outsize; + if(enc_video_ctx->outbuf) + free(enc_video_ctx->outbuf); + enc_video_ctx->outbuf = calloc(enc_video_ctx->outbuf_size, sizeof(uint8_t)); + } memcpy(enc_video_ctx->outbuf, input_frame, outsize); enc_video_ctx->flags = 0; /*enc_video_ctx->flags must be set*/ @@ -1431,33 +1481,24 @@ return (outsize); } + encoder_codec_data_t *video_codec_data = (encoder_codec_data_t *) enc_video_ctx->codec_data; + if(input_frame != NULL) - { -#ifdef USE_PLANAR_YUV prepare_video_frame(video_codec_data, input_frame, encoder_ctx->video_width, encoder_ctx->video_height); -#else - /*convert default yuyv to y420p (libav input format)*/ - switch(video_codec_data->codec_context->pix_fmt) - { - case PIX_FMT_YUVJ420P: - yuv422to420p(encoder_ctx, input_frame); - break; - default: - yuv422to420p(encoder_ctx, input_frame); - break; - } -#endif - } if(!enc_video_ctx->monotonic_pts) //generate a real pts based on the frame timestamp + { video_codec_data->frame->pts += ((enc_video_ctx->pts - last_video_pts)/1000) * 90; + printf("ENCODER: using non-monotonic pts (this can cause encoding to fail)\n"); + } else /*generate a true monotonic pts based on the codec fps*/ + { video_codec_data->frame->pts += (video_codec_data->codec_context->time_base.num * 1000 / video_codec_data->codec_context->time_base.den) * 90; - + } + if(enc_video_ctx->flush_delayed_frames) { - //pkt.size = 0; if(!enc_video_ctx->flushed_buffers) { avcodec_flush_buffers(video_codec_data->codec_context); @@ -1465,7 +1506,7 @@ } } -#if LIBAVCODEC_VER_AT_LEAST(54,01) + /* encode the video */ AVPacket pkt; int got_packet = 0; av_init_packet(&pkt); @@ -1490,91 +1531,47 @@ &pkt, NULL, /*NULL flushes the encoder buffers*/ &got_packet); -#if !LIBAVCODEC_VER_AT_LEAST(59,0) - if (!ret && got_packet && video_codec_data->codec_context->coded_frame) - { - /* Do we really need to set this ???*/ - video_codec_data->codec_context->coded_frame->pts = pkt.pts; - video_codec_data->codec_context->coded_frame->key_frame = !!(pkt.flags & AV_PKT_FLAG_KEY); - } -#endif - - enc_video_ctx->dts = pkt.dts; - enc_video_ctx->flags = pkt.flags; - enc_video_ctx->duration = pkt.duration; - - /* free any side data since we cannot return it */ - if (pkt.side_data_elems > 0) - { - int i; - for (i = 0; i < pkt.side_data_elems; i++) - av_free(pkt.side_data[i].data); - av_freep(&pkt.side_data); - pkt.side_data_elems = 0; - } - - outsize = pkt.size; -#else - if(!enc_video_ctx->flush_delayed_frames) - outsize = avcodec_encode_video( - video_codec_data->codec_context, - enc_video_ctx->outbuf, - enc_video_ctx->outbuf_size, - video_codec_data->frame); - else - outsize = avcodec_encode_video( - video_codec_data->codec_context, - enc_video_ctx->outbuf, - enc_video_ctx->outbuf_size, - NULL); /*NULL flushes the encoder buffers*/ - - enc_video_ctx->flags = 0; - - if (video_codec_data->codec_context->coded_frame->key_frame) - enc_video_ctx->flags |= AV_PKT_FLAG_KEY; + if(ret < 0) + { + fprintf(stderr, "ENCODER: Error encoding video frame: %i\n", ret); + return ret; + } - enc_video_ctx->dts = AV_NOPTS_VALUE; + if(got_packet) + { + //if(pkt.pts != AV_NOPTS_VALUE) + // printf("ENCODER: (video) pts:%" PRId64 " dts:%" PRId64 "\n", pkt.pts, pkt.dts); + //else + // printf("ENCODER: (video) no pts set\n"); + enc_video_ctx->dts = pkt.dts; + enc_video_ctx->flags = pkt.flags; + enc_video_ctx->duration = pkt.duration; + + /* free any side data since we cannot return it */ + if (pkt.side_data_elems > 0) + { + int i; + for (i = 0; i < pkt.side_data_elems; i++) + av_free(pkt.side_data[i].data); + av_freep(&pkt.side_data); + pkt.side_data_elems = 0; + } - if(last_video_pts == 0) - last_video_pts = enc_video_ctx->pts; + outsize = pkt.size; + } - enc_video_ctx->duration = enc_video_ctx->pts - last_video_pts; -#endif + if(enc_video_ctx->flush_delayed_frames && ((outsize == 0) || !got_packet)) + enc_video_ctx->flush_done = 1; + else if(outsize == 0 || !got_packet) //the frame was delayed + store_video_df_pts(enc_video_ctx); + else if(enc_video_ctx->write_df >= 0) //we have delayed frames + read_video_df_pts(enc_video_ctx); last_video_pts = enc_video_ctx->pts; - if(enc_video_ctx->flush_delayed_frames && outsize == 0) - enc_video_ctx->flush_done = 1; - else if(outsize == 0 && enc_video_ctx->index_of_df < 0) - { - enc_video_ctx->delayed_pts[enc_video_ctx->delayed_frames] = enc_video_ctx->pts; - enc_video_ctx->delayed_frames++; - if(enc_video_ctx->delayed_frames > MAX_DELAYED_FRAMES) - { - enc_video_ctx->delayed_frames = MAX_DELAYED_FRAMES; - printf("ENCODER: Maximum of %i delayed video frames reached...\n", MAX_DELAYED_FRAMES); - } - } - else - { - if(enc_video_ctx->delayed_frames > 0) - { - if(enc_video_ctx->index_of_df < 0) - { - enc_video_ctx->index_of_df = 0; - printf("ENCODER: video codec is using %i delayed video frames\n", enc_video_ctx->delayed_frames); - } - int64_t my_pts = enc_video_ctx->pts; - enc_video_ctx->pts = enc_video_ctx->delayed_pts[enc_video_ctx->index_of_df]; - enc_video_ctx->delayed_pts[enc_video_ctx->index_of_df] = my_pts; - enc_video_ctx->index_of_df++; - if(enc_video_ctx->index_of_df >= enc_video_ctx->delayed_frames) - enc_video_ctx->index_of_df = 0; - } - } - encoder_ctx->enc_video_ctx->outbuf_coded_size = outsize; return (outsize); +#endif } /* @@ -1593,6 +1590,11 @@ /*assertions*/ assert(encoder_ctx != NULL); +#if !LIBAVCODEC_VER_AT_LEAST(54, 01) + fprintf(stderr, "ENCODER: Error - libavcodec version not supported (minimum 54.01)\n"); + return outsize; +#else + encoder_audio_context_t *enc_audio_ctx = encoder_ctx->enc_audio_ctx; int outsize = 0; @@ -1619,9 +1621,8 @@ } /* encode the audio */ -#if LIBAVCODEC_VER_AT_LEAST(53,34) AVPacket pkt; - int got_packet; + int got_packet = 0; av_init_packet(&pkt); pkt.data = enc_audio_ctx->outbuf; pkt.size = enc_audio_ctx->outbuf_size; @@ -1632,20 +1633,21 @@ { /*number of samples per channel*/ audio_codec_data->frame->nb_samples = audio_codec_data->codec_context->frame_size; + audio_codec_data->frame->pts = enc_audio_ctx->pts; #if LIBAVUTIL_VER_AT_LEAST(51,23) int align = 0; #else int align = 1; /*otherwise it causes a SIGFPE*/ #endif - + int buffer_size = av_samples_get_buffer_size( NULL, audio_codec_data->codec_context->channels, audio_codec_data->frame->nb_samples, audio_codec_data->codec_context->sample_fmt, align); - + if(buffer_size <= 0) { fprintf(stderr, "ENCODER: (encoder_encode_audio) av_samples_get_buffer_size error (%d): chan(%d) nb_samp(%d) samp_fmt(%d)\n", @@ -1653,9 +1655,10 @@ audio_codec_data->codec_context->channels, audio_codec_data->frame->nb_samples, audio_codec_data->codec_context->sample_fmt); - + return outsize; } + /*set the data pointers in frame*/ ret = avcodec_fill_audio_frame( @@ -1704,82 +1707,37 @@ &got_packet); } -#if !LIBAVCODEC_VER_AT_LEAST(59,0) - if (!ret && got_packet && audio_codec_data->codec_context->coded_frame) - { - /*we probably don't need to set this*/ - audio_codec_data->codec_context->coded_frame->pts = pkt.pts; - audio_codec_data->codec_context->coded_frame->key_frame = !!(pkt.flags & AV_PKT_FLAG_KEY); - } -#endif - - enc_audio_ctx->dts = pkt.dts; - enc_audio_ctx->flags = pkt.flags; - enc_audio_ctx->duration = pkt.duration; - - /* free any side data since we cannot return it */ - //ff_packet_free_side_data(&pkt); - if (audio_codec_data->frame && - audio_codec_data->frame->extended_data != audio_codec_data->frame->data) - av_freep(audio_codec_data->frame->extended_data); - - outsize = pkt.size; -#else - if(!enc_video_ctx->flush_delayed_frames) - outsize = avcodec_encode_audio( - audio_codec_data->codec_context, - enc_audio_ctx->outbuf, - enc_audio_ctx->outbuf_size, - audio_data); - else - outsize = avcodec_encode_audio( - audio_codec_data->codec_context, - enc_audio_ctx->outbuf, - enc_audio_ctx->outbuf_size, - NULL); - - enc_audio_ctx->dts = AV_NOPTS_VALUE; - enc_audio_ctx->flags = 0; - if (audio_codec_data->codec_context->coded_frame->key_frame) - enc_audio_ctx->flags |= AV_PKT_FLAG_KEY; + if(got_packet) + { + //if(pkt.pts != AV_NOPTS_VALUE) + // printf("ENCODER: (audio) pts:%" PRId64 " dts:%" PRId64 "\n", pkt.pts, pkt.dts); + //else + // printf("ENCODER: (audio) no pts set\n"); + + if(pkt.pts < 0) //avoid negative pts + pkt.pts = -pkt.pts; + enc_audio_ctx->pts = pkt.pts; + enc_audio_ctx->dts = pkt.dts; + enc_audio_ctx->flags = pkt.flags; + enc_audio_ctx->duration = pkt.duration; + + /* free any side data since we cannot return it */ + //ff_packet_free_side_data(&pkt); + if (audio_codec_data->frame && + audio_codec_data->frame->extended_data != audio_codec_data->frame->data) + av_freep(audio_codec_data->frame->extended_data); - enc_audio_ctx->duration = enc_audio_ctx->pts - last_audio_pts; -#endif + outsize = pkt.size; + } last_audio_pts = enc_audio_ctx->pts; - if(enc_audio_ctx->flush_delayed_frames && outsize == 0) + if(enc_audio_ctx->flush_delayed_frames && ((outsize == 0) || !got_packet)) enc_audio_ctx->flush_done = 1; - else if(outsize == 0 && enc_audio_ctx->index_of_df < 0) - { - enc_audio_ctx->delayed_pts[enc_audio_ctx->delayed_frames] = enc_audio_ctx->pts; - enc_audio_ctx->delayed_frames++; - if(enc_audio_ctx->delayed_frames > MAX_DELAYED_FRAMES) - { - enc_audio_ctx->delayed_frames = MAX_DELAYED_FRAMES; - printf("ENCODER: Maximum of %i delayed audio frames reached...\n", MAX_DELAYED_FRAMES); - } - } - else - { - if(enc_audio_ctx->delayed_frames > 0) - { - if(enc_audio_ctx->index_of_df < 0) - { - enc_audio_ctx->index_of_df = 0; - printf("ENCODER: audio codec is using %i delayed audio frames\n", enc_audio_ctx->delayed_frames); - } - int64_t my_pts = enc_audio_ctx->pts; - enc_audio_ctx->pts = enc_audio_ctx->delayed_pts[enc_audio_ctx->index_of_df]; - enc_audio_ctx->delayed_pts[enc_audio_ctx->index_of_df] = my_pts; - enc_audio_ctx->index_of_df++; - if(enc_audio_ctx->index_of_df >= enc_audio_ctx->delayed_frames) - enc_audio_ctx->index_of_df = 0; - } - } enc_audio_ctx->outbuf_coded_size = outsize; return (outsize); +#endif } /* @@ -1824,9 +1782,7 @@ avcodec_close(video_codec_data->codec_context); free(video_codec_data->codec_context); -#if LIBAVCODEC_VER_AT_LEAST(53,6) av_dict_free(&(video_codec_data->private_options)); -#endif if(video_codec_data->frame) #if LIBAVCODEC_VER_AT_LEAST(55,28) @@ -1897,5 +1853,4 @@ video_read_index = 0; video_write_index = 0; video_scheduler = 0; - } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/encoder.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/encoder.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/encoder.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/encoder.h 2016-04-25 16:35:21.000000000 +0000 @@ -52,6 +52,10 @@ #define LIBAVUTIL_VER_AT_LEAST(major,minor) 0 #endif +#ifndef X264_ME_HEX +#define X264_ME_HEX 1 +#endif + #if !LIBAVCODEC_VER_AT_LEAST(53,0) #define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16 #define AV_SAMPLE_FMT_FLT SAMPLE_FMT_FLT diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/gviewencoder.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/gviewencoder.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/gviewencoder.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/gviewencoder.h 2016-04-25 16:35:21.000000000 +0000 @@ -61,7 +61,7 @@ #define GV_SAMPLE_TYPE_FLOATP (3) //planar #endif -#define MAX_DELAYED_FRAMES 50 /*Maximum supported delayed frames*/ +#define MAX_DELAYED_FRAMES 68 /*Maximum supported delayed frames*/ /*video buffer*/ typedef struct _video_buffer_t @@ -140,8 +140,8 @@ int monotonic_pts; /*delayed frames handling*/ - int delayed_frames; - int index_of_df; /*index of delayed frame pts in use;*/ + int write_df; /*index of delayed frame pts for write;*/ + int read_df; /*index of delayed frame pts for read;*/ int64_t delayed_pts[MAX_DELAYED_FRAMES]; /*delayed frames pts*/ int flush_delayed_frames; int flushed_buffers; @@ -174,9 +174,6 @@ int monotonic_pts; /*delayed frames handling*/ - int delayed_frames; - int index_of_df; /*index of delayed frame pts in use;*/ - int64_t delayed_pts[MAX_DELAYED_FRAMES]; /*delayed frames pts*/ int flush_delayed_frames; int flushed_buffers; int flush_done; @@ -236,18 +233,6 @@ void encoder_set_verbosity(int value); /* - * encoder initaliztion (first function to get called) - * args: - * none - * - * asserts: - * none - * - * returns: none - */ -void encoder_init(); - -/* * get valid video codec count * args: * none @@ -320,7 +305,7 @@ const char *encoder_get_audio_codec_description(int codec_ind); /* - * initialize and get the encoder context + * encoder initialization * args: * input_format - input v4l2 format (yuyv for encoding) * video_codec_ind - video codec list index @@ -339,7 +324,7 @@ * * returns: pointer to encoder context (NULL on error) */ -encoder_context_t *encoder_get_context( +encoder_context_t *encoder_init( int input_format, int video_codec_ind, int audio_codec_ind, @@ -401,7 +386,7 @@ audio_codec_t *encoder_get_audio_codec_defaults(int codec_ind); /* - * checks if the video codec index corresponds to VP8 (webm) codec + * checks if the video codec index corresponds to VP8 or VP9 (webm) codec * args: * codec_ind - video codec list index * @@ -494,14 +479,14 @@ int encoder_get_audio_sample_fmt(encoder_context_t *encoder_ctx); /* - * get the video codec index for VP8 (webm) codec + * get the video codec index for VP9 (webm) codec * args: * none * * asserts: * none * - * returns: index for VP8 codec or -1 if error + * returns: index for VP9 codec or -1 if error */ int encoder_get_webm_video_codec_index(); @@ -589,9 +574,9 @@ * asserts: * none * - * returns: estimate sleep time (nanosec) + * returns: estimate sleep time (milisec) */ -uint32_t encoder_buff_scheduler(int mode, double thresh, int max_time); +double encoder_buff_scheduler(int mode, double thresh, double max_time); /* * store unprocessed input video frame in video ring buffer diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/libav_encoder.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/libav_encoder.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/libav_encoder.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/libav_encoder.c 2016-04-25 16:35:21.000000000 +0000 @@ -63,6 +63,10 @@ int size = width * height; + video_codec_data->frame->format = AV_PIX_FMT_YUV420P; + video_codec_data->frame->width = width; + video_codec_data->frame->height = height; + video_codec_data->frame->data[0] = inp; //Y video_codec_data->frame->data[1] = inp + size; //U video_codec_data->frame->data[2] = video_codec_data->frame->data[1] + size/4; //V diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/matroska.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/matroska.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/matroska.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/matroska.c 2016-04-25 16:35:21.000000000 +0000 @@ -54,11 +54,11 @@ /* * default size of pkt ring buffer * for caching audio frames - * aprox. 2 sec for 44100 samp/sec with + * aprox. 4 sec for 44100 samp/sec with * each buffer containing 1152 samples - * vorbis as 64 samples + * vorbis has 64 samples */ -#define PKT_BUFFER_DEF_SIZE 78 +#define PKT_BUFFER_DEF_SIZE 156 /** 2 bytes * 3 for EBML IDs, 3 1-byte EBML lengths, 8 bytes for 64 bit * offset, 4 bytes for target EBML ID */ @@ -523,10 +523,11 @@ mkv_put_ebml_string(mkv_ctx, MATROSKA_ID_CODECID, mkv_codec_name); - if (mkv_ctx->mode == ENCODER_MUX_WEBM && !(stream->codec_id == AV_CODEC_ID_VP8 || + if ((mkv_ctx->mode == ENCODER_MUX_WEBM) && !(stream->codec_id == AV_CODEC_ID_VP8 || + stream->codec_id == AV_CODEC_ID_VP9 || stream->codec_id == AV_CODEC_ID_VORBIS)) { - fprintf(stderr, "ENCODER: (matroska) Only VP8 video and Vorbis audio are supported for WebM.\n"); + fprintf(stderr, "ENCODER: (matroska) Only VP8 or VP9 video and Vorbis audio are supported for WebM.\n"); return -2; } @@ -1080,7 +1081,7 @@ /*we have delayed video frames so increase the cached audio*/ if(codec_id == AV_CODEC_ID_H264) - mkv_ctx->pkt_buffer_list_size = 3 * PKT_BUFFER_DEF_SIZE; + mkv_ctx->pkt_buffer_list_size = 2 * PKT_BUFFER_DEF_SIZE; stream->fps = (double) fps/fps_num; stream->indexes = NULL; @@ -1107,15 +1108,15 @@ stream->codec_id = codec_id; stream->a_fmt = format; - /*aprox. 2 sec cache*/ + /*aprox. 4 sec cache*/ if(!mkv_ctx->audio_frame_size) mkv_ctx->audio_frame_size = 1152; if(mkv_ctx->pkt_buffer_list_size == 0) - mkv_ctx->pkt_buffer_list_size = 2 * (rate/mkv_ctx->audio_frame_size); - else if(mkv_ctx->pkt_buffer_list_size == 3 * PKT_BUFFER_DEF_SIZE) /*H264*/ + mkv_ctx->pkt_buffer_list_size = 4 * (rate/mkv_ctx->audio_frame_size); + else if(mkv_ctx->pkt_buffer_list_size == 2 * PKT_BUFFER_DEF_SIZE) /*H264*/ { - if(3 * (rate/mkv_ctx->audio_frame_size) > mkv_ctx->pkt_buffer_list_size) - mkv_ctx->pkt_buffer_list_size = 3 * (rate/mkv_ctx->audio_frame_size); + if(4 * (rate/mkv_ctx->audio_frame_size) > mkv_ctx->pkt_buffer_list_size) + mkv_ctx->pkt_buffer_list_size = 4 * (rate/mkv_ctx->audio_frame_size); } if(mkv_ctx->pkt_buffer_list == NULL) diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/muxer.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/muxer.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/muxer.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/muxer.c 2016-04-25 16:35:21.000000000 +0000 @@ -149,10 +149,11 @@ if(!enc_audio_ctx || encoder_ctx->audio_channels <= 0) return -1; - if(verbosity > 3) - printf("ENCODER: writing %i bytes of audio data\n", enc_audio_ctx->outbuf_coded_size); if(enc_audio_ctx->outbuf_coded_size <= 0) return -1; + + if(verbosity > 3) + printf("ENCODER: writing %i bytes of audio data\n", enc_audio_ctx->outbuf_coded_size); int ret =0; int block_align = 1; diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/video_codecs.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/video_codecs.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_encoder/video_codecs.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_encoder/video_codecs.c 2016-04-25 16:35:21.000000000 +0000 @@ -42,6 +42,7 @@ #define CODEC_FLAG2_INTRA_REFRESH 0 #endif + static bmp_info_header_t mkv_codecPriv = { .biSize = 0x00000028, /*40 bytes*/ @@ -375,7 +376,7 @@ .me_cmp = 3, .me_sub_cmp = 3, .last_pred = 2, - .gop_size = 100, + .gop_size = 25, .qcompress = 0.6, .qblur = 0.5, .subq = 5, @@ -384,16 +385,54 @@ .codec_name = "libx264", .mb_decision = FF_MB_DECISION_RD, .trellis = 0, - .me_method = ME_HEX, + .me_method = X264_ME_HEX, .mpeg_quant = 1, - .max_b_frames = 0, - .num_threads = 1, + .max_b_frames = 16, + .num_threads = 4, #if LIBAVCODEC_VER_AT_LEAST(54,01) .flags = CODEC_FLAG2_INTRA_REFRESH #else .flags = CODEC_FLAG2_BPYRAMID | CODEC_FLAG2_WPRED | CODEC_FLAG2_FASTPSKIP | CODEC_FLAG2_INTRA_REFRESH #endif }, +#ifdef AV_CODEC_ID_H265 + { + .valid = 1, + .compressor = "HEVC", //h265 + .mkv_4cc = v4l2_fourcc('H','E','V','C'), + .mkv_codec = "V_MPEGH/ISO/HEVC", + .mkv_codecPriv= NULL, + .description = N_("HEVC (H265)"), + .pix_fmt = AV_PIX_FMT_YUV420P, + .fps = 0, + .monotonic_pts= 1, + .bit_rate = 1500000, + .qmax = 51, + .qmin = 10, + .max_qdiff = 4, + .dia = 2, + .pre_dia = 2, + .pre_me = 2, + .me_pre_cmp = 0, + .me_cmp = 3, + .me_sub_cmp = 3, + .last_pred = 2, + .gop_size = 100, + .qcompress = 0.6, + .qblur = 0.5, + .subq = 5, + .framerefs = 0, + .codec_id = AV_CODEC_ID_H265, + .codec_name = "libx265", + .mb_decision = FF_MB_DECISION_RD, + .trellis = 0, + .me_method = ME_HEX, + .mpeg_quant = 1, + .max_b_frames = 16, + .num_threads = 4, + .flags = CODEC_FLAG2_INTRA_REFRESH + }, +#endif { .valid = 1, .compressor = "VP80", @@ -421,7 +460,7 @@ .subq = 5, .framerefs = 0, .codec_id = AV_CODEC_ID_VP8, - .codec_name = "libvpx", + .codec_name = "libvpx_vp8", .mb_decision = FF_MB_DECISION_RD, .trellis = 0, .me_method = ME_HEX, @@ -432,6 +471,42 @@ }, { .valid = 1, + .compressor = "VP90", + .mkv_4cc = v4l2_fourcc('V','P','9','0'), + .mkv_codec = "V_VP9", + .mkv_codecPriv= NULL, + .description = N_("VP9 (VP9)"), + .pix_fmt = AV_PIX_FMT_YUV420P, + .fps = 0, + .monotonic_pts= 1, + .bit_rate = 600000, + .qmax = 51, + .qmin = 11, + .max_qdiff = 4, + .dia = 2, + .pre_dia = 2, + .pre_me = 2, + .me_pre_cmp = 0, + .me_cmp = 3, + .me_sub_cmp = 3, + .last_pred = 2, + .gop_size = 120, + .qcompress = 0.8, + .qblur = 0.5, + .subq = 5, + .framerefs = 0, + .codec_id = AV_CODEC_ID_VP9, + .codec_name = "libvpx_vp9", + .mb_decision = FF_MB_DECISION_RD, + .trellis = 0, + .me_method = ME_HEX, + .mpeg_quant = 1, + .max_b_frames = 16, + .num_threads = 4, + .flags = 0 + }, + { + .valid = 1, .compressor = "theo", .mkv_4cc = v4l2_fourcc('t','h','e','o'), .mkv_codec = "V_THEORA", @@ -440,7 +515,7 @@ .pix_fmt = AV_PIX_FMT_YUV420P, .fps = 0, .monotonic_pts= 1, - .bit_rate = 600000, + .bit_rate = 1500000, .qmax = 51, .qmin = 11, .max_qdiff = 4, @@ -463,7 +538,7 @@ .me_method = ME_HEX, .mpeg_quant = 1, .max_b_frames = 0, - .num_threads = 1, + .num_threads = 4, .flags = 0 } }; @@ -782,7 +857,7 @@ } /* - * checks if the video codec index corresponds to VP8 (webm) codec + * checks if the video codec index corresponds to VP8 or VP9 (webm) codec * args: * codec_ind - video codec list index * @@ -797,7 +872,8 @@ int ret = 0; if(real_index >= 0 && real_index < encoder_get_video_codec_list_size()) - ret = (listSupCodecs[real_index].codec_id == AV_CODEC_ID_VP8) ? 1: 0; + ret = ((listSupCodecs[real_index].codec_id == AV_CODEC_ID_VP8) || + (listSupCodecs[real_index].codec_id == AV_CODEC_ID_VP9)) ? 1: 0; return ret; } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_fx.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_fx.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_fx.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_fx.c 2016-04-25 16:35:21.000000000 +0000 @@ -167,11 +167,8 @@ /*asserts*/ assert(frame != NULL); -#ifdef USE_PLANAR_YUV int size = (width * height * 5) / 4; -#else - int size= width * height * 2; -#endif + int i=0; for(i=0; i < size; i++) frame[i] = ~frame[i]; @@ -629,21 +626,14 @@ if(ODD(part->PX)) part->PX++; -#ifdef USE_PLANAR_YUV int y_pos = part->PX + (part->PY * width); int u_pos = (part->PX + (part->PY * width / 2)) / 2; int v_pos = u_pos + ((width * height) / 4); - + part->Y = frame[y_pos]; part->U = frame[u_pos]; part->V = frame[v_pos]; -#else - int y_pos = part->PX * 2 + (part->PY * width * 2); - - part->Y = frame[y_pos]; - part->U = frame[y_pos +1]; - part->V = frame[y_pos +3]; -#endif + part->size = 1 + (int) lround((particle_size -1) * gsl_rng_uniform (r)); if(ODD(part->size)) part->size++; @@ -661,14 +651,13 @@ { if(part->decay > 0) { -#ifdef USE_PLANAR_YUV int y_pos = part->PX + (part->PY * width); int u_pos = (part->PX + (part->PY * width / 2)) / 2; int v_pos = u_pos + ((width * height) / 4); - + blend = part->decay/trail_size; blend1= 1 - blend; - + //y for(h = 0; h <(part->size); h++) { @@ -678,7 +667,7 @@ frame[y_pos + line + w] = CLIP((part->Y * blend) + (frame[y_pos + line + w] * blend1)); } } - + //u v for(h = 0; h <(part->size); h+=2) { @@ -689,23 +678,6 @@ frame[v_pos + line + (w / 2)] = CLIP((part->V * blend) + (frame[v_pos + line + (w / 2)] * blend1)); } } -#else - int y_pos = part->PX * 2 + (part->PY * width * 2); - - blend = part->decay/trail_size; - blend1= 1 -blend; - for(h=0; h<(part->size); h++) - { - line = h * width * 2; - for (w=0; w<(part->size)*2; w+=4) - { - frame[y_pos + w + line] = CLIP(part->Y*blend + frame[y_pos + w + line]*blend1); - frame[(y_pos + w + 1) + line] = CLIP(part->U*blend + frame[(y_pos + w + 1) + line]*blend1); - frame[(y_pos + w + 2) + line] = CLIP(part->Y*blend + frame[(y_pos + w + 2) + line]*blend1); - frame[(y_pos + w + 3) + line] = CLIP(part->V*blend + frame[(y_pos + w + 3) + line]*blend1); - } - } -#endif } part++; } @@ -739,35 +711,20 @@ #endif if(mask & REND_FX_YUV_MIRROR) -#ifdef USE_PLANAR_YUV fx_yu12_mirror(frame, width, height); -#else - fx_yuyv_mirror(frame, width, height); -#endif + if(mask & REND_FX_YUV_UPTURN) -#ifdef USE_PLANAR_YUV fx_yu12_upturn(frame, width, height); -#else - fx_yuyv_upturn(frame, width, height); -#endif if(mask & REND_FX_YUV_NEGATE) fx_yuv_negative (frame, width, height); if(mask & REND_FX_YUV_MONOCR) -#ifdef USE_PLANAR_YUV fx_yu12_monochrome (frame, width, height); -#else - fx_yuyv_monochrome (frame, width, height); -#endif #ifdef HAS_GSL if(mask & REND_FX_YUV_PIECES) - #ifdef USE_PLANAR_YUV fx_yu12_pieces(frame, width, height, 16 ); - #else - fx_yuyv_pieces(frame, width, height, 16 ); - #endif #endif } else diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_osd_crosshair.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_osd_crosshair.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_osd_crosshair.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_osd_crosshair.c 2016-04-25 16:35:21.000000000 +0000 @@ -39,80 +39,6 @@ uint8_t v; } yuv_color_t; - -/* - * plot a crosshair in a yuyv frame (packed) - * args: - * frame - pointer to yuyv frame data - * size - crossair size in pixels (width) - * width - width - * height - height - * color - box color - * - * asserts: - * none - * - * returns: none - */ -static void plot_crosshair_yuyv(uint8_t *frame, int size, int width, int height, yuv_color_t *color) -{ - int linesize = width*2; /*two bytes per pixel*/ - - - /*1st vertical line*/ - int y = 0; - /*center - size/2 to center - 2*/ - for (y = (height-size)/2; y < (height/2) - 2; y++) - { - int bi = (y * linesize) + width; /*center (2 bytes per pixel)*/ - - /*we set two pixels in each loop*/ - frame[bi] = color->y; - frame[bi+1] = color->u; - frame[bi+2] = color->y; - frame[bi+3] = color->v; - } - /*1st horizontal line*/ - int x = (width-size)/2; - /*center - size/2 to center -4*/ - for (x = (width-size)/2; x < (width/2) - 4; x+=2) - { - int bi = (x * 2) + (height/2)*linesize; /*center (2 bytes per pixel)*/ - - /*we set two pixels in each loop*/ - frame[bi] = color->y; - frame[bi+1] = color->u; - frame[bi+2] = color->y; - frame[bi+3] = color->v; - } - /*2nd horizontal line*/ - /*center + 2 to center + size/2 -2*/ - for (x = (width/2) + 2; x < (width + size)/ 2 - 2; x+=2) - { - int bi = (x * 2) + (height/2)*linesize; /*center (2 bytes per pixel)*/ - - /*we set two pixels in each loop*/ - frame[bi] = color->y; - frame[bi+1] = color->u; - frame[bi+2] = color->y; - frame[bi+3] = color->v; - } - - /*2st vertical line*/ - /*center + 2 to center + size/2*/ - for (y = (height/2) +2; y < (height+size)/2; y++) - { - int bi = (y * linesize) + width; /*center (2 bytes per pixel)*/ - - /*we set two pixels in each loop*/ - frame[bi] = color->y; - frame[bi+1] = color->u; - frame[bi+2] = color->y; - frame[bi+3] = color->v; - } - -} - /* * plot a crosshair in a yu12 frame (planar) * args: @@ -219,15 +145,10 @@ uint8_t r = (uint8_t) ((rgb_color & 0x00FF0000) >> 16); uint8_t g = (uint8_t) ((rgb_color & 0x0000FF00) >> 8); uint8_t b = (uint8_t) (rgb_color & 0x000000FF); - + color.y = CLIP(0.299*(r-128) + 0.587*(g-128) + 0.114*(b-128) + 128) ; color.u = CLIP(-0.147*(r-128) - 0.289*(g-128) + 0.436*(b-128) + 128); color.v = CLIP(0.615*(r-128) - 0.515*(g-128) - 0.100*(b-128) + 128); - -#ifdef USE_PLANAR_YUV + plot_crosshair_yu12(frame, 24, width, height, &color); -#else - plot_crosshair_yuyv(frame, 24, width, height, &color); -#endif - } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_osd_vu_meter.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_osd_vu_meter.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_osd_vu_meter.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_osd_vu_meter.c 2016-04-25 16:35:21.000000000 +0000 @@ -45,74 +45,6 @@ static float vu_peak_freeze[2]= {0.0 ,0.0}; /* - * plot a rectangular box in a yuyv frame (packed) - * args: - * frame - pointer to yuyv frame data - * linesize - frame line size in pixels (width) - * x - box top left x coordinate - * y - box top left y coordinate - * width - box width - * height - box height - * color - box color - * - * asserts: - * none - * - * returns: none - */ -static void plot_box_yuyv(uint8_t *frame, int linesize, int x, int y, int width, int height, yuv_color_t *color) -{ - int i = 0; - - for (i = 0; i < height; ++i) - { - int bi = 2 * (x + (y * linesize)); /*2 bytes per pixel*/ - y++; /*next row*/ - - int j = 0; - for (j = 0; j < width/2; ++j) /*packed yuyv*/ - { - /*we set two pixels in each loop*/ - frame[bi] = color->y; - frame[bi+1] = color->u; - frame[bi+2] = color->y; - frame[bi+3] = color->v; - bi += 4; /*next two pixels*/ - } - } -} - -/* - * plot a line in a yuyv frame (packed) - * args: - * frame - pointer to yuyv frame data - * linesize - frame line size in pixels (width) - * x - box top left x coordinate - * y - box top left y coordinate - * width - line width - * color - line color - * - * asserts: - * none - * - * returns: none - */ -static void plot_line_yuyv(uint8_t *frame, int linesize, int x, int y, int width, yuv_color_t *color) -{ - int bi = 2 * (x + (y * linesize)); - - int j = 0; - for (j = 0; j < width/2; j++) - { - frame[bi] = color->y; - frame[bi+1] = color->u; - frame[bi+2] = color->y; - frame[bi+3] = color->v; - bi += 4; - } -} - -/* * plot a rectangular box in a yu12 frame (planar) * args: * frame - pointer to yu12 frame data @@ -305,21 +237,9 @@ } if (light) - { -#ifdef USE_PLANAR_YUV plot_box_yu12(frame, height, width, bx, by, bw, bh, &color); -#else - plot_box_yuyv(frame, width, bx, by, bw, bh, &color); -#endif - } else if (bw > 0) /*draw single line*/ - { -#ifdef USE_PLANAR_YUV plot_line_yu12(frame, height, width, bx, by + (bh /2), bw, &color); -#else - plot_line_yuyv(frame, width, bx, by + (bh/2), bw, &color); -#endif - } } } } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_sdl1.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_sdl1.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_sdl1.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_sdl1.c 2016-04-25 16:35:21.000000000 +0000 @@ -119,7 +119,7 @@ if(!desktop_w) desktop_w = 800; if(!desktop_h) desktop_h = 600; - + switch(flags) { case 2: /*maximize*/ @@ -203,11 +203,7 @@ /*use requested resolution for overlay even if not available as video mode*/ SDL_Overlay* overlay=NULL; overlay = SDL_CreateYUVOverlay(width, height, -#ifdef USE_PLANAR_YUV SDL_IYUV_OVERLAY, /*yuv420p*/ -#else - SDL_YUY2_OVERLAY, /*yuv422*/ -#endif pscreen); SDL_ShowCursor(SDL_DISABLE); @@ -268,11 +264,9 @@ assert(frame != NULL); uint8_t *p = (uint8_t *) poverlay->pixels[0]; -#ifdef USE_PLANAR_YUV + int size = width * height * 3/2; /* for IYUV */ -#else - int size = width * height * 2; /* 2 bytes per pixel for yuyv*/ -#endif + SDL_LockYUVOverlay(poverlay); memcpy(p, frame, size); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_sdl2.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_sdl2.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_render/render_sdl2.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_render/render_sdl2.c 2016-04-25 16:35:21.000000000 +0000 @@ -215,11 +215,7 @@ SDL_SetRenderDrawBlendMode(main_renderer, SDL_BLENDMODE_NONE); rending_texture = SDL_CreateTexture(main_renderer, -#ifdef USE_PLANAR_YUV SDL_PIXELFORMAT_IYUV, /*yuv420p*/ -#else - SDL_PIXELFORMAT_YUY2, /*yuv422*/ -#endif SDL_TEXTUREACCESS_STREAMING, width, height); @@ -289,11 +285,7 @@ * instead of SDL_UpdateYUVTexture. * no need to use SDL_Lock/UnlockTexture (it doesn't seem faster) */ -#ifdef USE_PLANAR_YUV SDL_UpdateTexture(rending_texture, NULL, frame, width); -#else - SDL_UpdateTexture(rending_texture, NULL, frame, width*2); -#endif SDL_RenderCopy(main_renderer, rending_texture, NULL, NULL); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/colorspaces.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/colorspaces.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/colorspaces.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/colorspaces.c 2016-04-25 16:35:21.000000000 +0000 @@ -439,19 +439,19 @@ assert(out); int w = 0, h = 0; - int y_sizeline = width; - int c_sizeline = width/2; - + uint8_t *in1 = in; //first line uint8_t *in2 = in1 + (width * 2); //second line in yuyv buffer uint8_t *py1 = out; // first line - uint8_t *py2 = py1 + y_sizeline; //second line + uint8_t *py2 = py1 + width; //second line uint8_t *pu = py1 + (width * height); uint8_t *pv = pu + ((width * height) / 4); for(h = 0; h < height; h+=2) { + in2 = in1 + (width * 2); + py2 = py1 + width; for(w = 0; w < width; w+=2) //yuyv 2 bytes per sample { //printf("decoding: h:%i w:%i\n", h, w); @@ -462,10 +462,8 @@ *py2++ = *in2++; *pv++ = ((*in1++) + (*in2++)) /2; //average v samples } - in1 = in + (h * width * 2); - in2 = in + ((h+1) * width * 2); - py1 = out + (h * width); - py2 = out + ((h+1) * width); + in1 = in2; + py1 = py2; } } @@ -491,21 +489,22 @@ assert(out); int w = 0, h = 0; - int y_sizeline = width; - int c_sizeline = width/2; - + uint8_t *in1 = in; //first line - uint8_t *in2 = in1 + (width * 2); //second line in yuyv buffer + uint8_t *in2 = in1 + (width * 2); //second line in yvyu buffer uint8_t *py1 = out; // first line - uint8_t *py2 = py1 + y_sizeline; //second line + uint8_t *py2 = py1 + width; //second line uint8_t *pu = py1 + (width * height); uint8_t *pv = pu + ((width * height) / 4); for(h = 0; h < height; h+=2) { - for(w = 0; w < width*2; w++) //yuyv 2 bytes per sample + in2 = in1 + (width * 2); + py2 = py1 + width; + for(w = 0; w < width; w+=2) //yuyv 2 bytes per sample { + //printf("decoding: h:%i w:%i\n", h, w); *py1++ = *in1++; *py2++ = *in2++; *pv++ = ((*in1++) + (*in2++)) /2; //average v samples @@ -513,12 +512,9 @@ *py2++ = *in2++; *pu++ = ((*in1++) + (*in2++)) /2; //average u samples } - in1 = in + (h * width * 2); - in2 = in + ((h+1) * width * 2); - py1 = out + (h * width); - py2 = out + ((h+1) * width); + in1 = in2; + py1 = py2; } - } /* @@ -542,6 +538,54 @@ assert(out); int w = 0, h = 0; + + uint8_t *in1 = in; //first line + uint8_t *in2 = in1 + (width * 2); //second line in yuyv buffer + + uint8_t *py1 = out; // first line + uint8_t *py2 = py1 + width; //second line + uint8_t *pu = py1 + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + for(h = 0; h < height; h+=2) + { + in2 = in1 + (width * 2); + py2 = py1 + width; + for(w = 0; w < width; w+=2) //yuyv 2 bytes per sample + { + *pu++ = ((*in1++) + (*in2++)) /2; //average u samples + *py1++ = *in1++; + *py2++ = *in2++; + *pv++ = ((*in1++) + (*in2++)) /2; //average v samples + *py1++ = *in1++; + *py2++ = *in2++; + } + in1 = in2; + py1 = py2; + } +} + +/* + *convert from packed 422 yuv (vyuy) to 420 planar (yu12) + * args: + * out - pointer to output yu12 planar data buffer + * in - pointer to input vyuy packed data buffer + * width - frame width + * height - frame height + * + * asserts: + * in is not null + * out is not null + * + * returns: none + */ +void vyuy_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + int w = 0, h = 0; int y_sizeline = width; int c_sizeline = width/2; @@ -555,23 +599,23 @@ for(h = 0; h < height; h+=2) { + in2 = in1 + (width * 2); + py2 = py1 + width; for(w = 0; w < width; w+=2) //yuyv 2 bytes per sample { - *pu++ = ((*in1++) + (*in2++)) /2; //average u samples + *pv++ = ((*in1++) + (*in2++)) /2; //average v samples *py1++ = *in1++; *py2++ = *in2++; - *pv++ = ((*in1++) + (*in2++)) /2; //average v samples + *pu++ = ((*in1++) + (*in2++)) /2; //average u samples *py1++ = *in1++; *py2++ = *in2++; } - in1 = in + (h * width * 2); - in2 = in + ((h+1) * width * 2); - py1 = out + (h * width); - py2 = out + ((h+1) * width); + in1 = in2; + py1 = py2; } - } + /* *convert from 422 planar yuv to 420 planar (yu12) * args: @@ -608,15 +652,15 @@ for(h = 0; h < height; h+=2) { + inu2 = inu1 + (width / 2); + inv2 = inv1 + (width / 2); for(w = 0; w < width/2; w++) { *pu++ = ((*inu1++) + (*inu2++)) /2; //average u sample *pv++ = ((*inv1++) + (*inv2++)) /2; //average v samples } - inu1 = in + (width * height) + (h * c_sizeline); - inu2 = in + (width * height) + ((h+1) * c_sizeline); - inv1 = inu1 + ((width * height) / 2); - inv2 = inv1 + (width / 2); + inu1 = inu2; + inv1 = inv2; } } @@ -655,6 +699,8 @@ for(h = 0; h < height; h+=2) { + in2 = in1 + (width * 2); + py2 = py1 + width; for(w = 0; w < width; w+=2) //yyuv 2 bytes per sample { *py1++ = *in1++; @@ -664,12 +710,295 @@ *pu++ = ((*in1++) + (*in2++)) /2; //average v samples *pv++ = ((*in1++) + (*in2++)) /2; //average u samples } - in1 = in + (h * width * 2); - in2 = in + ((h+1) * width * 2); - py1 = out + (h * width); - py2 = out + ((h+1) * width); + in1 = in2; + py1 = py2; + } +} + +/* + * convert y444 (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing y444 (yuv-4-4-4) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void y444_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + int w = 0, h = 0; + + uint8_t *in1 = in; //first line + uint8_t *in2 = in1 + (width * 2); //second line + + uint8_t *py1 = out; // first line + uint8_t *py2 = py1 + width; //second line + uint8_t *pu = py1 + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + for(h = 0; h < height; h+=2) + { + in2 = in1 + (width * 2); + py2 = py1 + width; + for(w = 0; w < (width*2); w+=4) + { + uint8_t yuv10 = *in1++; + uint8_t yuv11 = *in1++; + uint8_t yuv12 = *in1++; + uint8_t yuv13 = *in1++; + + uint8_t yuv20 = *in2++; + uint8_t yuv21 = *in2++; + uint8_t yuv22 = *in2++; + uint8_t yuv23 = *in2++; + + *py1++ = (uint8_t) (yuv11 << 4) & 0xF0; + *py1++ = (uint8_t) (yuv13 << 4) & 0xF0; + *py2++ = (uint8_t) (yuv21 << 4) & 0xF0; + *py2++ = (uint8_t) (yuv23 << 4) & 0xF0; + + uint8_t u10 = yuv10 & 0xF0; + uint8_t u11 = yuv12 & 0xF0; + uint8_t u1 = (u10 + u11) /2; + uint8_t v10 = (yuv10 << 4) & 0xF0; + uint8_t v11 = (yuv12 << 4) & 0xF0; + uint8_t v1 = (v10 + v11) /2; + + uint8_t u20 = yuv20 & 0xF0; + uint8_t u21 = yuv22 & 0xF0; + uint8_t u2 = (u20 + u21) /2; + uint8_t v20 = (yuv20 << 4) & 0xF0; + uint8_t v21 = (yuv22 << 4) & 0xF0; + uint8_t v2 = (v20 +v21) /2; + + *pu++ = (u1 + u2) /2; + *pv++ = (v1 + v2) /2; + } + in1 = in2; + py1 = py2; + } +} + +/* + * convert yuvo (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing yuvo (yuv-5-5-5) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void yuvo_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + int w = 0, h = 0; + + uint8_t *in1 = in; //first line + uint8_t *in2 = in1 + (width * 2); //second line + + uint8_t *py1 = out; // first line + uint8_t *py2 = py1 + width; //second line + uint8_t *pu = py1 + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + for(h = 0; h < height; h+=2) + { + in2 = in1 + (width * 2); + py2 = py1 + width; + for(w = 0; w < (width*2); w+=4) + { + uint8_t yuv10 = *in1++; + uint8_t yuv11 = *in1++; + uint8_t yuv12 = *in1++; + uint8_t yuv13 = *in1++; + + uint8_t yuv20 = *in2++; + uint8_t yuv21 = *in2++; + uint8_t yuv22 = *in2++; + uint8_t yuv23 = *in2++; + + *py1++ = (uint8_t) (yuv11 << 1) & 0xF8; + *py1++ = (uint8_t) (yuv13 << 1) & 0xF8; + *py2++ = (uint8_t) (yuv21 << 1) & 0xF8; + *py2++ = (uint8_t) (yuv23 << 1) & 0xF8; + + uint8_t u10 = ((yuv10 >> 2) & 0x38) | ((yuv11 << 6) & 0xC0); + uint8_t u11 = ((yuv12 >> 2) & 0x38) | ((yuv13 << 6) & 0xC0); + uint8_t u1 = (u10 + u11) /2; + uint8_t v10 = (yuv10 << 3) & 0xF8; + uint8_t v11 = (yuv12 << 3) & 0xF8; + uint8_t v1 = (v10 + v11) /2; + + uint8_t u20 = ((yuv20 >> 2) & 0x38) | ((yuv21 << 6) & 0xC0); + uint8_t u21 = ((yuv22 >> 2) & 0x38) | ((yuv23 << 6) & 0xC0); + uint8_t u2 = (u20 + u21) /2; + uint8_t v20 = (yuv20 << 3) & 0xF8; + uint8_t v21 = (yuv22 << 3) & 0xF8; + uint8_t v2 = (v20 +v21) /2; + + *pu++ = (u1 + u2) /2; + *pv++ = (v1 + v2) /2; + } + in1 = in2; + py1 = py2; + } +} + +/* + * convert yuvp (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing yuvp (yuv-5-6-5) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void yuvp_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + int w = 0, h = 0; + + uint8_t *in1 = in; //first line + uint8_t *in2 = in1 + (width * 2); //second line + + uint8_t *py1 = out; // first line + uint8_t *py2 = py1 + width; //second line + uint8_t *pu = py1 + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + for(h = 0; h < height; h+=2) + { + in2 = in1 + (width * 2); + py2 = py1 + width; + for(w = 0; w < (width*2); w+=4) + { + uint8_t yuv10 = *in1++; + uint8_t yuv11 = *in1++; + uint8_t yuv12 = *in1++; + uint8_t yuv13 = *in1++; + + uint8_t yuv20 = *in2++; + uint8_t yuv21 = *in2++; + uint8_t yuv22 = *in2++; + uint8_t yuv23 = *in2++; + + *py1++ = (uint8_t) yuv11 & 0xF8; + *py1++ = (uint8_t) yuv13 & 0xF8; + *py2++ = (uint8_t) yuv21 & 0xF8; + *py2++ = (uint8_t) yuv23 & 0xF8; + + uint8_t u10 = ((yuv10 >> 3) & 0x1C) | ((yuv11 << 5) & 0xE0); + uint8_t u11 = ((yuv12 >> 3) & 0x1C) | ((yuv13 << 5) & 0xE0); + uint8_t u1 = (u10 + u11) /2; + uint8_t v10 = (yuv10 << 3) & 0xF8; + uint8_t v11 = (yuv12 << 3) & 0xF8; + uint8_t v1 = (v10 + v11) /2; + + uint8_t u20 = ((yuv20 >> 3) & 0x1C) | ((yuv21 << 5) & 0xE0); + uint8_t u21 = ((yuv22 >> 3) & 0x1C) | ((yuv23 << 5) & 0xE0); + uint8_t u2 = (u20 + u21) /2; + uint8_t v20 = (yuv20 << 3) & 0xF8; + uint8_t v21 = (yuv22 << 3) & 0xF8; + uint8_t v2 = (v20 +v21) /2; + + *pu++ = (u1 + u2) /2; + *pv++ = (v1 + v2) /2; + } + in1 = in2; + py1 = py2; } +} + +/* + * convert yuv4 (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing yuv4 (yuv32) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void yuv4_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + int w = 0, h = 0; + + uint8_t *in1 = in; //first line + uint8_t *in2 = in1 + (width * 4); //second line + + uint8_t *py1 = out; // first line + uint8_t *py2 = py1 + width; //second line + uint8_t *pu = py1 + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + for(h = 0; h < height; h+=2) + { + in2 = in1 + (width * 4); + py2 = py1 + width; + for(w = 0; w < (width*4); w+=8) + { + in1++; //alpha 10 + *py1++ = *in1++; //y10 + uint8_t u10 = *in1++; //u10 + uint8_t v10 = *in1++; //v10 + in1++; //alpha 11 + *py1++ = *in1++; //y11 + uint8_t u11 = *in1++; //u11 + uint8_t v11 = *in1++; //v11 + + in2++; //alpha 20 + *py2++ = *in2++; //y20 + uint8_t u20 = *in2++; //u20 + uint8_t v20 = *in2++; //v20 + in2++; //alpha 21 + *py2++ = *in2++; //y21 + uint8_t u21 = *in2++; //u21 + uint8_t v21 = *in2++; //v21 + + uint8_t u1 = (u10 + u11) /2; + uint8_t v1 = (v10 + v11) /2; + uint8_t u2 = (u20 + u21) /2; + uint8_t v2 = (v20 + v21) /2; + *pu++ = (u1 + u2) /2; + *pv++ = (v1 + v2) /2; + } + in1 = in2; + py1 = py2; + } } /* @@ -770,7 +1099,6 @@ *pv++ = *puv++; *pu++ = *puv++; } - } /* @@ -795,8 +1123,8 @@ /*copy y data*/ memcpy(out, in, width*height); - - /*uv plane*/ + + //uv plane uint8_t *puv1 = in + (width * height); //first line uint8_t *puv2 = puv1 + width; //second line uint8_t *pu = out + (width * height); @@ -806,13 +1134,13 @@ int w = 0; for(h=0; h < height; h+=2) { + puv2 = puv1 + width; for(w=0; w < width; w+=2) { *pu++ = ((*puv1++) + (*puv2++)) / 2; //average *pv++ = ((*puv1++) + (*puv2++)) / 2; //average } - puv1 = in + (width + height) + (h * width); - puv2 = puv1 + width; + puv1 = puv2; } } @@ -849,49 +1177,145 @@ int w = 0; for(h=0; h < height; h+=2) { + puv2 = puv1 + width; for(w=0; w < width; w+=2) { *pv++ = ((*puv1++) + (*puv2++)) / 2; //average *pu++ = ((*puv1++) + (*puv2++)) / 2; //average } - puv1 = in + (width + height) + (h * width); - puv2 = puv1 + width; + puv1 = puv2; } } /* - * Unpack buffer of (vw bit) data into padded 16bit buffer. + * convert yuv444 planar (uv interleaved) (nv24) to yuv420 planar (yu12) * args: - * raw - pointer to input raw packed data buffer - * unpacked - pointer to unpacked output data buffer - * vw - vw bit - * unpacked_len - length + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing nv24 planar data frame + * width: picture width + * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -static inline void convert_packed_to_16bit(uint8_t *raw, uint16_t *unpacked, int vw, int unpacked_len) +void nv24_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { - int mask = (1 << vw) - 1; - uint32_t buffer = 0; - int bitsIn = 0; - while (unpacked_len--) { - while (bitsIn < vw) { - buffer = (buffer << 8) | *(raw++); - bitsIn += 8; + /*assertions*/ + assert(in); + assert(out); + + /*copy y data*/ + memcpy(out, in, width*height); + + //uv plane + uint8_t *puv1 = in + (width * height); //first line + uint8_t *puv2 = puv1 + (width * 2); //second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + int h = 0; + int w = 0; + for(h=0; h < height; h+=2) + { + puv2 = puv1 + (width * 2); + for(w=0; w < (width * 2); w+=4) + { + uint8_t u1 = ((*puv1++) + (*puv2++)) / 2; + uint8_t v1 = ((*puv1++) + (*puv2++)) / 2; + uint8_t u2 = ((*puv1++) + (*puv2++)) / 2; + uint8_t v2 = ((*puv1++) + (*puv2++)) / 2; + + *pu++ = (u1 + u2)/2; //average + *pv++ = (v1 + v2)/2; //average } - bitsIn -= vw; - *(unpacked++) = (buffer >> bitsIn) & mask; + puv1 = puv2; } } /* - * convert y10b (bit-packed array greyscale format) to yu12 + * convert yuv444 planar (uv interleaved) (nv42) to yuv420 planar (yu12) * args: - * out: pointer to output buffer (yu12) - * in: pointer to input buffer containing y10b (bit-packed array) data frame + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing nv42 planar data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void nv42_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + /*copy y data*/ + memcpy(out, in, width*height); + + //uv plane + uint8_t *puv1 = in + (width * height); //first line + uint8_t *puv2 = puv1 + (width * 2); //second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + int h = 0; + int w = 0; + for(h=0; h < height; h+=2) + { + puv2 = puv1 + (width * 2); + for(w=0; w < (width * 2); w+=4) + { + uint8_t v1 = ((*puv1++) + (*puv2++)) / 2; + uint8_t u1 = ((*puv1++) + (*puv2++)) / 2; + uint8_t v2 = ((*puv1++) + (*puv2++)) / 2; + uint8_t u2 = ((*puv1++) + (*puv2++)) / 2; + + *pu++ = (u1 + u2)/2; //average + *pv++ = (v1 + v2)/2; //average + } + puv1 = puv2; + } +} + +/* + * Unpack buffer of (vw bit) data into padded 16bit buffer. + * args: + * raw - pointer to input raw packed data buffer + * unpacked - pointer to unpacked output data buffer + * vw - vw bit + * unpacked_len - length + * + * asserts: + * none + * + * returns: none + */ +static inline void convert_packed_to_16bit(uint8_t *raw, uint16_t *unpacked, int vw, int unpacked_len) +{ + int mask = (1 << vw) - 1; + uint32_t buffer = 0; + int bitsIn = 0; + while (unpacked_len--) { + while (bitsIn < vw) { + buffer = (buffer << 8) | *(raw++); + bitsIn += 8; + } + bitsIn -= vw; + *(unpacked++) = (buffer >> bitsIn) & mask; + } +} + +/* + * convert y10b (bit-packed array greyscale format) to yu12 + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing y10b (bit-packed array) data frame * width: picture width * height: picture height * @@ -1102,7 +1526,52 @@ /* V */ *pv++ = 0x80; } +} + +/* + * convert y16x (16 bit greyscale format - be) to yu12 + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing y16x (16 bit greyscale bigendian) data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void y16x_to_yu12(uint8_t *out, uint8_t *in, int width, int height) +{ + /*assertions*/ + assert(in); + assert(out); + + uint16_t *ptmp = (uint16_t *) in; + uint8_t *py = out; + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + int h = 0; + + for (h = 0; h < height; h++) + { + int w=0; + for (w = 0; w < width; w++) + { + /* Y */ + *py++ = (uint8_t) (*ptmp++ & 0x00FF); + } + } + for(h=0; h < (width * height / 4); h++) + { + /* U */ + *pu++ = 0x80; + /* V */ + *pv++ = 0x80; + } } /* @@ -1299,27 +1768,27 @@ /*assertions*/ assert(out); assert(in); - + uint8_t *py = out; uint8_t *pu = out + (width * height); uint8_t *pv = pu + ((width * height) / 4); - + uint8_t *in1 = in; //first line uint8_t *in2 = in + (width * 3); //second line - + int i=0; for(i = 0; i < (width * height * 3); i += 3) { /* y */ *py++ =CLIP(0.299 * (in1[i] - 128) + 0.587 * (in1[i+1] - 128) + 0.114 * (in1[i+2] - 128) + 128); } - + int h = 0; for(h = 0; h < height; h += 2) { in1 = in + (h * width * 3); in2 = in1 + (width * 3); - + for(i = 0; i < (width * 3); i += 6) { /* u v */ @@ -1327,12 +1796,12 @@ (- 0.147 * (in1[i+3] - 128) - 0.289 * (in1[i+4] - 128) + 0.436 * (in1[i+5] - 128) + 128))/2); uint8_t v1 =CLIP(((0.615 * (in1[i] - 128) - 0.515 * (in1[i+1] - 128) - 0.100 * (in1[i+2] - 128) + 128) + (0.615 * (in1[i+3] - 128) - 0.515 * (in1[i+4] - 128) - 0.100 * (in1[i+5] - 128) + 128))/2); - + uint8_t u2 = CLIP(((- 0.147 * (in2[i] - 128) - 0.289 * (in2[i+1] - 128) + 0.436 * (in2[i+2] - 128) + 128) + (- 0.147 * (in2[i+3] - 128) - 0.289 * (in2[i+4] - 128) + 0.436 * (in2[i+5] - 128) + 128))/2); uint8_t v2 =CLIP(((0.615 * (in2[i] - 128) - 0.515 * (in2[i+1] - 128) - 0.100 * (in2[i+2] - 128) + 128) + (0.615 * (in2[i+3] - 128) - 0.515 * (in2[i+4] - 128) - 0.100 * (in2[i+5] - 128) + 128))/2); - + *pu++ = (u1 + u2) / 2; *pv++ = (v1 + v2) / 2; } @@ -1358,27 +1827,27 @@ /*assertions*/ assert(out); assert(in); - + uint8_t *py = out; uint8_t *pu = out + (width * height); uint8_t *pv = pu + ((width * height) / 4); - + uint8_t *in1 = in; //first line uint8_t *in2 = in + (width * 3); //second line - + int i = 0; for(i = 0; i < (width * height * 3); i += 3) { /* y */ *py++ =CLIP(0.299 * (in1[i+2] - 128) + 0.587 * (in1[i+1] - 128) + 0.114 * (in1[i] - 128) + 128); } - + int h = 0; for(h = 0; h < height; h += 2) { in1 = in + (h * width * 3); in2 = in1 + (width * 3); - + for(i = 0; i < (width * 3); i += 6) { /* u */ @@ -1386,688 +1855,1055 @@ (- 0.147 * (in1[i+5] - 128) - 0.289 * (in1[i+4] - 128) + 0.436 * (in1[i+3] - 128) + 128))/2); uint8_t u2 = CLIP(((- 0.147 * (in2[i+2] - 128) - 0.289 * (in2[i+1] - 128) + 0.436 * (in2[i] - 128) + 128) + (- 0.147 * (in2[i+5] - 128) - 0.289 * (in2[i+4] - 128) + 0.436 * (in2[i+3] - 128) + 128))/2); - + /* v*/ uint8_t v1 =CLIP(((0.615 * (in1[i+2] - 128) - 0.515 * (in1[i+1] - 128) - 0.100 * (in1[i] - 128) + 128) + (0.615 * (in1[i+5] - 128) - 0.515 * (in1[i+4] - 128) - 0.100 * (in1[i+3] - 128) + 128))/2); uint8_t v2 =CLIP(((0.615 * (in2[i+2] - 128) - 0.515 * (in2[i+1] - 128) - 0.100 * (in2[i] - 128) + 128) + (0.615 * (in2[i+5] - 128) - 0.515 * (in2[i+4] - 128) - 0.100 * (in2[i+3] - 128) + 128))/2); - + *pu++ = (u1 + u2) / 2; *pv++ = (v1 + v2) / 2; } } - - } /* - * yu12 to rgb24 + * convert rgb1 (rgb332) to yu12 * args: - * out - pointer to output rgb data buffer - * in - pointer to input yu12 data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing rgb332 data + * width: picture width + * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void yu12_to_rgb24 (uint8_t *out, uint8_t *in, int width, int height) +void rgb1_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { /*assertions*/ assert(out); assert(in); - - uint8_t *py1 = in; //line 1 - uint8_t *py2 = py1 + width; //line 2 - uint8_t *pu = in + (width * height); + + uint8_t *py1 = out;//first line + uint8_t *py2 = py1 + width;//second line + uint8_t *pu = out + (width * height); uint8_t *pv = pu + ((width * height) / 4); - - uint8_t *pout1 = out; //first line - uint8_t *pout2 = out + (width * 3); //second line - - int h=0, w=0; - - for(h=0; h < height; h+=2) //every two lines + + uint8_t *in1 = in; //first line + uint8_t *in2 = in + width; //second line (1 byte per pixel) + + int h = 0; + int w = 0; + + for(h = 0; h < height; h += 2) { - py1 = in + (h * width); + in2 = in1 + width; py2 = py1 + width; - - pout1 = out + (h * width * 3); - pout2 = pout1 + (width * 3); - - for(w=0; w0 ; h-=2) //every two lines + + uint8_t *py1 = out;//first line + uint8_t *py2 = py1 + width;//second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + uint8_t *in1 = in; //first line + uint8_t *in2 = in + (width * 2); //second line (2 byte per pixel) + + int h = 0; + int w = 0; + + for(h = 0; h < height; h += 2) { - uvline--; //begin of uv line - - py1 = in + ((h-1) * width); - py2 = py1 - width; - - pu = in + (width * height) + ((uvline * width)/2); - pv = pu + ((width * height) / 4); - - pout1 = out + ((height-h) * width * 3); - pout2 = pout1 + (width * 3); - - for(w=0; w> 2) & 0x38); + uint8_t b00 = (px000 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r00 - 128) + 0.587 * (g00 - 128) + 0.114 * (b00 - 128) + 128); + + uint8_t px010 = *in1++; + uint8_t px011 = *in1++; + uint8_t r01 = (px011 << 1) & 0xF8; + uint8_t g01 = ((px011 << 6) & 0xC0) | ((px010 >> 2) & 0x38); + uint8_t b01 = (px010 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r01 - 128) + 0.587 * (g01 - 128) + 0.114 * (b01 - 128) + 128); + + uint8_t px100 = *in2++; + uint8_t px101 = *in2++; + uint8_t r10 = (px101 << 1) & 0xF8; + uint8_t g10 = ((px101 << 6) & 0xC0) | ((px100 >> 2) & 0x38); + uint8_t b10 = (px100 << 3) & 0xF8; + + /* y */ + *py2++ = CLIP(0.299 * (r10 - 128) + 0.587 * (g10 - 128) + 0.114 * (b10 - 128) + 128); + + uint8_t px110 = *in2++; + uint8_t px111 = *in2++; + uint8_t r11 = (px111 << 1) & 0xF8; + uint8_t g11 = ((px111 << 6) & 0xC0) | ((px110 >> 2) & 0x38); + uint8_t b11 = (px110 << 3) & 0xF8; - /*y10*/ - out[w + offset1] = py[wy + offsety1]; - /*u0*/ - out[(w + 1) + offset1] = pu[wuv + offsetuv]; - /*y11*/ - out[(w + 2) + offset1] = py[(wy + 1) + offsety1]; - /*v0*/ - out[(w + 3) + offset1] = pv[wuv + offsetuv]; + /* y */ + *py2++ = CLIP(0.299 * (r11 - 128) + 0.587 * (g11 - 128) + 0.114 * (b11 - 128) + 128); - wuv++; - wy+=2; + /* u v */ + uint8_t u1 = CLIP(((- 0.147 * (r00 - 128) - 0.289 * (g00 - 128) + 0.436 * (b00 - 128) + 128) + + (- 0.147 * (r01 - 128) - 0.289 * (g01 - 128) + 0.436 * (b01 - 128) + 128))/2); + uint8_t v1 =CLIP(((0.615 * (r00 - 128) - 0.515 * (g00 - 128) - 0.100 * (b00 - 128) + 128) + + (0.615 * (r01 - 128) - 0.515 * (g01 - 128) - 0.100 * (b01 - 128) + 128))/2); + + uint8_t u2 = CLIP(((- 0.147 * (r10 - 128) - 0.289 * (g10 - 128) + 0.436 * (b10 - 128) + 128) + + (- 0.147 * (r11 - 128) - 0.289 * (g11 - 128) + 0.436 * (b11 - 128) + 128))/2); + uint8_t v2 =CLIP(((0.615 * (r10 - 128) - 0.515 * (g10 - 128) - 0.100 * (b10 - 128) + 128) + + (0.615 * (r11 - 128) - 0.515 * (g11 - 128) - 0.100 * (b11 - 128) + 128))/2); + + *pu++ = (u1 + u2) / 2; + *pv++ = (v1 + v2) / 2; } - huv++; + + in1 = in2; + py1 = py2; } } -/*------------------- YUYV --------------------*/ - /* - * regular yuv (YUYV) to rgb24 + * convert ar15_be (argb555X) to yu12 * args: - * pyuv - pointer to input yuyv data buffer - * prgb - pointer to converted output rgb data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing argb555X (be) data + * width: picture width + * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void yuyv2rgb (uint8_t *pyuv, uint8_t *prgb, int width, int height) +void ar15x_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { - int l=0; - int SizeYUV=height * width * 2; /* 2 bytes per pixel*/ - for(l=0;l> 2) & 0x38); + uint8_t b00 = (px001 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r00 - 128) + 0.587 * (g00 - 128) + 0.114 * (b00 - 128) + 128); + + uint8_t px010 = *in1++; + uint8_t px011 = *in1++; + uint8_t r01 = (px010 << 1) & 0xF8; + uint8_t g01 = ((px010 << 6) & 0xC0) | ((px011 >> 2) & 0x38); + uint8_t b01 = (px011 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r01 - 128) + 0.587 * (g01 - 128) + 0.114 * (b01 - 128) + 128); + + uint8_t px100 = *in2++; + uint8_t px101 = *in2++; + uint8_t r10 = (px100 << 1) & 0xF8; + uint8_t g10 = ((px100 << 6) & 0xC0) | ((px101 >> 2) & 0x38); + uint8_t b10 = (px101 << 3) & 0xF8; + + /* y */ + *py2++ = CLIP(0.299 * (r10 - 128) + 0.587 * (g10 - 128) + 0.114 * (b10 - 128) + 128); + + uint8_t px110 = *in2++; + uint8_t px111 = *in2++; + uint8_t r11 = (px110 << 1) & 0xF8; + uint8_t g11 = ((px110 << 6) & 0xC0) | ((px111 >> 2) & 0x38); + uint8_t b11 = (px111 << 3) & 0xF8; + + /* y */ + *py2++ = CLIP(0.299 * (r11 - 128) + 0.587 * (g11 - 128) + 0.114 * (b11 - 128) + 128); + + /* u v */ + uint8_t u1 = CLIP(((- 0.147 * (r00 - 128) - 0.289 * (g00 - 128) + 0.436 * (b00 - 128) + 128) + + (- 0.147 * (r01 - 128) - 0.289 * (g01 - 128) + 0.436 * (b01 - 128) + 128))/2); + uint8_t v1 =CLIP(((0.615 * (r00 - 128) - 0.515 * (g00 - 128) - 0.100 * (b00 - 128) + 128) + + (0.615 * (r01 - 128) - 0.515 * (g01 - 128) - 0.100 * (b01 - 128) + 128))/2); + + uint8_t u2 = CLIP(((- 0.147 * (r10 - 128) - 0.289 * (g10 - 128) + 0.436 * (b10 - 128) + 128) + + (- 0.147 * (r11 - 128) - 0.289 * (g11 - 128) + 0.436 * (b11 - 128) + 128))/2); + uint8_t v2 =CLIP(((0.615 * (r10 - 128) - 0.515 * (g10 - 128) - 0.100 * (b10 - 128) + 128) + + (0.615 * (r11 - 128) - 0.515 * (g11 - 128) - 0.100 * (b11 - 128) + 128))/2); + + *pu++ = (u1 + u2) / 2; + *pv++ = (v1 + v2) / 2; } - preverse-=width*3;/*get it back at the begin of processed line*/ + + in1 = in2; + py1 = py2; } - preverse=NULL; } /* - * convert y10b (bit-packed array greyscale format) to yuyv (packed) + * convert rgbp (rgb565) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing y10b (bit-packed array) data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing argb555 data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void y10b_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height) +void rgbp_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { - uint16_t *unpacked_buffer = NULL; - uint16_t *ptmp; - int h = 0; + /*assertions*/ + assert(out); + assert(in); - unpacked_buffer = malloc(width * height * sizeof(uint16_t)); - - if (unpacked_buffer == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (y10b_to_yuyv): %s\n", strerror(errno)); - exit(-1); - } - - convert_packed_to_16bit(tmpbuffer, unpacked_buffer, 10, width * height); + uint8_t *py1 = out;//first line + uint8_t *py2 = py1 + width;//second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); - ptmp = unpacked_buffer; + uint8_t *in1 = in; //first line + uint8_t *in2 = in + (width * 2); //second line (2 byte per pixel) - for (h = 0; h < height; h++) + int h = 0; + int w = 0; + + for(h = 0; h < height; h += 2) { - int w=0; - for (w = 0; w < width; w += 2) + in2 = in1 + (width * 2); + py2 = py1 + width; + + for(w = 0; w < (width * 2); w +=4) { - /* Y0 */ - *framebuffer++ = (uint8_t) ((ptmp[0] & 0x3FF) >> 2); - /* U */ - *framebuffer++ = 0x80; - /* Y1 */ - *framebuffer++ = (uint8_t) ((ptmp[1] & 0x3FF) >> 2); - /* V */ - *framebuffer++ = 0x80; + uint8_t px000 = *in1++; + uint8_t px001 = *in1++; + uint8_t r00 = px001 & 0xF8; + uint8_t g00 = ((px001 << 5) & 0xE0) | ((px000 >> 3) & 0x1C); + uint8_t b00 = (px000 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r00 - 128) + 0.587 * (g00 - 128) + 0.114 * (b00 - 128) + 128); + + uint8_t px010 = *in1++; + uint8_t px011 = *in1++; + uint8_t r01 = px011 & 0xF8; + uint8_t g01 = ((px011 << 5) & 0xE0) | ((px010 >> 3) & 0x1C); + uint8_t b01 = (px010 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r01 - 128) + 0.587 * (g01 - 128) + 0.114 * (b01 - 128) + 128); + + uint8_t px100 = *in2++; + uint8_t px101 = *in2++; + uint8_t r10 = px101 & 0xF8; + uint8_t g10 = ((px101 << 5) & 0xE0) | ((px100 >> 3) & 0x1C); + uint8_t b10 = (px100 << 3) & 0xF8; + + /* y */ + *py2++ = CLIP(0.299 * (r10 - 128) + 0.587 * (g10 - 128) + 0.114 * (b10 - 128) + 128); + + uint8_t px110 = *in2++; + uint8_t px111 = *in2++; + uint8_t r11 = px111 & 0xF8; + uint8_t g11 = ((px111 << 5) & 0xE0) | ((px110 >> 3) & 0x1C); + uint8_t b11 = (px110 << 3) & 0xF8; - ptmp += 2; + /* y */ + *py2++ = CLIP(0.299 * (r11 - 128) + 0.587 * (g11 - 128) + 0.114 * (b11 - 128) + 128); + + /* u v */ + uint8_t u1 = CLIP(((- 0.147 * (r00 - 128) - 0.289 * (g00 - 128) + 0.436 * (b00 - 128) + 128) + + (- 0.147 * (r01 - 128) - 0.289 * (g01 - 128) + 0.436 * (b01 - 128) + 128))/2); + uint8_t v1 =CLIP(((0.615 * (r00 - 128) - 0.515 * (g00 - 128) - 0.100 * (b00 - 128) + 128) + + (0.615 * (r01 - 128) - 0.515 * (g01 - 128) - 0.100 * (b01 - 128) + 128))/2); + + uint8_t u2 = CLIP(((- 0.147 * (r10 - 128) - 0.289 * (g10 - 128) + 0.436 * (b10 - 128) + 128) + + (- 0.147 * (r11 - 128) - 0.289 * (g11 - 128) + 0.436 * (b11 - 128) + 128))/2); + uint8_t v2 =CLIP(((0.615 * (r10 - 128) - 0.515 * (g10 - 128) - 0.100 * (b10 - 128) + 128) + + (0.615 * (r11 - 128) - 0.515 * (g11 - 128) - 0.100 * (b11 - 128) + 128))/2); + + *pu++ = (u1 + u2) / 2; + *pv++ = (v1 + v2) / 2; } - } - free(unpacked_buffer); + in1 = in2; + py1 = py2; + } } /* - * convert y16 (grey) to yuyv (packed) + * convert rgbr (rgb565X) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing y16 (grey) data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing rgb565 bigendian data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void y16_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height) +void rgbr_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { - uint16_t *ptmp= (uint16_t *) tmpbuffer; + /*assertions*/ + assert(out); + assert(in); - int h=0; + uint8_t *py1 = out;//first line + uint8_t *py2 = py1 + width;//second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + uint8_t *in1 = in; //first line + uint8_t *in2 = in + (width * 2); //second line (2 byte per pixel) + + int h = 0; + int w = 0; - for(h=0;h> 8); - /* U */ - *framebuffer++ = 0x80; - /* Y1 */ - *framebuffer++ = (uint8_t) ((ptmp[1] & 0xFF00) >> 8); - /* V */ - *framebuffer++ = 0x80; + uint8_t px000 = *in1++; + uint8_t px001 = *in1++; + uint8_t r00 = px000 & 0xF8; + uint8_t g00 = ((px000 << 5) & 0xE0) | ((px001 >> 3) & 0x1C); + uint8_t b00 = (px001 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r00 - 128) + 0.587 * (g00 - 128) + 0.114 * (b00 - 128) + 128); + + uint8_t px010 = *in1++; + uint8_t px011 = *in1++; + uint8_t r01 = px010 & 0xF8; + uint8_t g01 = ((px010 << 5) & 0xE0) | ((px011 >> 3) & 0x1C); + uint8_t b01 = (px011 << 3) & 0xF8; + + /* y */ + *py1++ = CLIP(0.299 * (r01 - 128) + 0.587 * (g01 - 128) + 0.114 * (b01 - 128) + 128); + + uint8_t px100 = *in2++; + uint8_t px101 = *in2++; + uint8_t r10 = px100 & 0xF8; + uint8_t g10 = ((px100 << 5) & 0xE0) | ((px101 >> 3) & 0x1C); + uint8_t b10 = (px101 << 3) & 0xF8; + + /* y */ + *py2++ = CLIP(0.299 * (r10 - 128) + 0.587 * (g10 - 128) + 0.114 * (b10 - 128) + 128); + + uint8_t px110 = *in2++; + uint8_t px111 = *in2++; + uint8_t r11 = px110 & 0xF8; + uint8_t g11 = ((px110 << 5) & 0xE0) | ((px111 >> 3) & 0x1C); + uint8_t b11 = (px111 << 3) & 0xF8; + + /* y */ + *py2++ = CLIP(0.299 * (r11 - 128) + 0.587 * (g11 - 128) + 0.114 * (b11 - 128) + 128); + + /* u v */ + uint8_t u1 = CLIP(((- 0.147 * (r00 - 128) - 0.289 * (g00 - 128) + 0.436 * (b00 - 128) + 128) + + (- 0.147 * (r01 - 128) - 0.289 * (g01 - 128) + 0.436 * (b01 - 128) + 128))/2); + uint8_t v1 =CLIP(((0.615 * (r00 - 128) - 0.515 * (g00 - 128) - 0.100 * (b00 - 128) + 128) + + (0.615 * (r01 - 128) - 0.515 * (g01 - 128) - 0.100 * (b01 - 128) + 128))/2); + + uint8_t u2 = CLIP(((- 0.147 * (r10 - 128) - 0.289 * (g10 - 128) + 0.436 * (b10 - 128) + 128) + + (- 0.147 * (r11 - 128) - 0.289 * (g11 - 128) + 0.436 * (b11 - 128) + 128))/2); + uint8_t v2 =CLIP(((0.615 * (r10 - 128) - 0.515 * (g10 - 128) - 0.100 * (b10 - 128) + 128) + + (0.615 * (r11 - 128) - 0.515 * (g11 - 128) - 0.100 * (b11 - 128) + 128))/2); - ptmp += 2; + *pu++ = (u1 + u2) / 2; + *pv++ = (v1 + v2) / 2; } + + in1 = in2; + py1 = py2; } } /* - * convert yyuv (packed) to yuyv (packed) + * convert bgrh to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yyuv packed data frame - * width: picture width - * height: picture height + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing bgrh (bgr666) data + * width: picture width + * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void yyuv_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height) +void bgrh_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { - uint8_t *ptmp=NULL; - uint8_t *pfmb=NULL; - ptmp = tmpbuffer; - pfmb = framebuffer; + /*assertions*/ + assert(out); + assert(in); - int h=0; + uint8_t *py1 = out;//first line + uint8_t *py2 = py1 + width;//second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); - for(h=0;h> 4) & 0x0C) | ((px001 << 4) & 0xF0); + uint8_t g00 = ((px001 >> 2) & 0x3C) | ((px000 << 6) & 0xC0); + uint8_t b00 = px000 & 0xFC; + + /* y */ + *py1++ = CLIP(0.299 * (r00 - 128) + 0.587 * (g00 - 128) + 0.114 * (b00 - 128) + 128); + + uint8_t px010 = *in1++; + uint8_t px011 = *in1++; + uint8_t px012 = *in1++; + in1++; //last byte has empty data + uint8_t r01 = ((px012 >> 4) & 0x0C) | ((px011 << 4) & 0xF0); + uint8_t g01 = ((px011 >> 2) & 0x3C) | ((px010 << 6) & 0xC0); + uint8_t b01 = px010 & 0xFC; + + /* y */ + *py1++ = CLIP(0.299 * (r01 - 128) + 0.587 * (g01 - 128) + 0.114 * (b01 - 128) + 128); + + uint8_t px100 = *in2++; + uint8_t px101 = *in2++; + uint8_t px102 = *in2++; + in2++; //last byte has empty data + uint8_t r10 = ((px102 >> 4) & 0x0C) | ((px101 << 4) & 0xF0); + uint8_t g10 = ((px101 >> 2) & 0x3C) | ((px100 << 6) & 0xC0); + uint8_t b10 = px100 & 0xFC; + + /* y */ + *py2++ = CLIP(0.299 * (r10 - 128) + 0.587 * (g10 - 128) + 0.114 * (b10 - 128) + 128); + + uint8_t px110 = *in2++; + uint8_t px111 = *in2++; + uint8_t px112 = *in2++; + in2++; //last byte has empty data + uint8_t r11 = ((px112 >> 4) & 0x0C) | ((px111 << 4) & 0xF0); + uint8_t g11 = ((px111 >> 2) & 0x3C) | ((px110 << 6) & 0xC0); + uint8_t b11 = px110 & 0xFC; + + /* y */ + *py2++ = CLIP(0.299 * (r11 - 128) + 0.587 * (g11 - 128) + 0.114 * (b11 - 128) + 128); + + /* u v */ + uint8_t u1 = CLIP(((- 0.147 * (r00 - 128) - 0.289 * (g00 - 128) + 0.436 * (b00 - 128) + 128) + + (- 0.147 * (r01 - 128) - 0.289 * (g01 - 128) + 0.436 * (b01 - 128) + 128))/2); + uint8_t v1 =CLIP(((0.615 * (r00 - 128) - 0.515 * (g00 - 128) - 0.100 * (b00 - 128) + 128) + + (0.615 * (r01 - 128) - 0.515 * (g01 - 128) - 0.100 * (b01 - 128) + 128))/2); + + uint8_t u2 = CLIP(((- 0.147 * (r10 - 128) - 0.289 * (g10 - 128) + 0.436 * (b10 - 128) + 128) + + (- 0.147 * (r11 - 128) - 0.289 * (g11 - 128) + 0.436 * (b11 - 128) + 128))/2); + uint8_t v2 =CLIP(((0.615 * (r10 - 128) - 0.515 * (g10 - 128) - 0.100 * (b10 - 128) + 128) + + (0.615 * (r11 - 128) - 0.515 * (g11 - 128) - 0.100 * (b11 - 128) + 128))/2); - ptmp += 4; - pfmb += 4; + *pu++ = (u1 + u2) / 2; + *pv++ = (v1 + v2) / 2; } + + in1 = in2; + py1 = py2; } } /* - * convert uyvy (packed) to yuyv (packed) + * convert ar24 to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing uyvy packed data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing ar24 (bgr32) data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void uyvy_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height) +void ar24_to_yu12(uint8_t *out, uint8_t *in, int width, int height) { - uint8_t *ptmp = tmpbuffer; - uint8_t *pfmb = framebuffer; - int h=0; + /*assertions*/ + assert(out); + assert(in); + + uint8_t *py1 = out;//first line + uint8_t *py2 = py1 + width;//second line + uint8_t *pu = out + (width * height); + uint8_t *pv = pu + ((width * height) / 4); + + uint8_t *in1 = in; //first line + uint8_t *in2 = in + (width * 4); //second line (4 byte per pixel) - for(h=0;h0 ; h-=2) //every two lines + { + uvline--; //begin of uv line + + py1 = in + ((h-1) * width); + py2 = py1 - width; + + pu = in + (width * height) + ((uvline * width)/2); + pv = pu + ((width * height) / 4); + + pout1 = out + ((height-h) * width * 3); + pout2 = pout1 + (width * 3); + + for(w=0; w= 0; ) - { - *framebuffer++ = 0x80 + *Y0++; - *framebuffer++ = 0x80 + *U; - *framebuffer++ = 0x80 + *Y0++; - *framebuffer++ = 0x80 + *V; - - *line2++ = 0x80 + *Y1++; - *line2++ = 0x80 + *U++; - *line2++ = 0x80 + *Y1++; - *line2++ = 0x80 + *V++; - } - Y0 += width * 2; /* next block of lines */ - framebuffer = line2; - } -} - -/* - * convert SPCA505 (s505) to yuv 422 - * s505 |Y0..width..Y0|Y1..width..Y1|U..width/2..U|V..width/2..V| - * signed values (-128;+127) must be converted to unsigned (0; 255) - * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing s501 data frame - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void s505_to_yuyv(uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height) -{ - int h = 0; - uint8_t *Y0 = tmpbuffer; /*fisrt line*/ - - for (h = 0; h < height/2; h++ ) - { - uint8_t *line2 = framebuffer + width * 2; /* next line */ - uint8_t *Y1 = Y0 + width; - uint8_t *U = Y1 + width; - uint8_t *V = U + width/2; - int w = 0; - - for (w = width / 2; --w >= 0; ) - { - *framebuffer++ = 0x80 + *Y0++; - *framebuffer++ = 0x80 + *U; - *framebuffer++ = 0x80 + *Y0++; - *framebuffer++ = 0x80 + *V; - - *line2++ = 0x80 + *Y1++; - *line2++ = 0x80 + *U++; - *line2++ = 0x80 + *Y1++; - *line2++ = 0x80 + *V++; - } - Y0 += width * 2; /* next block of lines */ - framebuffer = line2; - } -} - -/* - * convert SPCA508 (s508) to yuv 422 - * s508 |Y0..width..Y0|U..width/2..U|V..width/2..V|Y1..width..Y1| - * signed values (-128;+127) must be converted to unsigned (0; 255) - * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing s501 data frame - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void s508_to_yuyv(uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height) -{ - int h = 0; - uint8_t *Y0 = tmpbuffer; /*fisrt line*/ - - for (h = 0; h < height/2; h++ ) - { - uint8_t *line2 = framebuffer + width * 2; /* next line */ - uint8_t *U = Y0 + width; - uint8_t *V = U + width/2; - uint8_t *Y1= V + width/2; - int w = 0; - - for (w = width / 2; --w >= 0; ) - { - *framebuffer++ = 0x80 + *Y0++; - *framebuffer++ = 0x80 + *U; - *framebuffer++ = 0x80 + *Y0++; - *framebuffer++ = 0x80 + *V; - - *line2++ = 0x80 + *Y1++; - *line2++ = 0x80 + *U++; - *line2++ = 0x80 + *Y1++; - *line2++ = 0x80 + *V++; - } - Y0 += width * 2; /* next block of lines */ - framebuffer = line2; - } -} - -/* - * convert rgb24 to yuyv - * args: - * prgb: pointer to input buffer containing rgb data - * pyuv: pointer to output buffer containing converted yuyv data - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void rgb2yuyv(uint8_t *prgb, uint8_t *pyuv, int width, int height) -{ - - int i=0; - for(i=0;i<(width*height*3);i=i+6) - { - /* y */ - *pyuv++ =CLIP(0.299 * (prgb[i] - 128) + 0.587 * (prgb[i+1] - 128) + 0.114 * (prgb[i+2] - 128) + 128); - /* u */ - *pyuv++ =CLIP(((- 0.147 * (prgb[i] - 128) - 0.289 * (prgb[i+1] - 128) + 0.436 * (prgb[i+2] - 128) + 128) + - (- 0.147 * (prgb[i+3] - 128) - 0.289 * (prgb[i+4] - 128) + 0.436 * (prgb[i+5] - 128) + 128))/2); - /* y1 */ - *pyuv++ =CLIP(0.299 * (prgb[i+3] - 128) + 0.587 * (prgb[i+4] - 128) + 0.114 * (prgb[i+5] - 128) + 128); - /* v*/ - *pyuv++ =CLIP(((0.615 * (prgb[i] - 128) - 0.515 * (prgb[i+1] - 128) - 0.100 * (prgb[i+2] - 128) + 128) + - (0.615 * (prgb[i+3] - 128) - 0.515 * (prgb[i+4] - 128) - 0.100 * (prgb[i+5] - 128) + 128))/2); - } -} - -/* - * convert bgr24 to yuyv - * args: - * pbgr: pointer to input buffer containing bgr data - * pyuv: pointer to output buffer containing converted yuyv data - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void bgr2yuyv(uint8_t *pbgr, uint8_t *pyuv, int width, int height) -{ - - int i=0; - for(i=0;i<(width*height*3);i=i+6) - { - /* y */ - *pyuv++ =CLIP(0.299 * (pbgr[i+2] - 128) + 0.587 * (pbgr[i+1] - 128) + 0.114 * (pbgr[i] - 128) + 128); - /* u */ - *pyuv++ =CLIP(((- 0.147 * (pbgr[i+2] - 128) - 0.289 * (pbgr[i+1] - 128) + 0.436 * (pbgr[i] - 128) + 128) + - (- 0.147 * (pbgr[i+5] - 128) - 0.289 * (pbgr[i+4] - 128) + 0.436 * (pbgr[i+3] - 128) + 128))/2); - /* y1 */ - *pyuv++ =CLIP(0.299 * (pbgr[i+5] - 128) + 0.587 * (pbgr[i+4] - 128) + 0.114 * (pbgr[i+3] - 128) + 128); - /* v*/ - *pyuv++ =CLIP(((0.615 * (pbgr[i+2] - 128) - 0.515 * (pbgr[i+1] - 128) - 0.100 * (pbgr[i] - 128) + 128) + - (0.615 * (pbgr[i+5] - 128) - 0.515 * (pbgr[i+4] - 128) - 0.100 * (pbgr[i+3] - 128) + 128))/2); - } -} - #if MJPG_BUILTIN //use internal jpeg decoder /* * used for internal jpeg decoding 420 planar to 422 diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/colorspaces.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/colorspaces.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/colorspaces.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/colorspaces.h 2016-04-25 16:35:21.000000000 +0000 @@ -23,6 +23,7 @@ #define COLORSPACES_H #include "gview.h" +#include "../config.h" /* *convert from packed 422 yuv (yuyv) to 420 planar (yu12) @@ -73,6 +74,22 @@ void uyvy_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* + *convert from packed 422 yuv (vyuy) to 420 planar (yu12) + * args: + * out - pointer to output yu12 planar data buffer + * in - pointer to input vyuy packed data buffer + * width - frame width + * height - frame height + * + * asserts: + * in is not null + * out is not null + * + * returns: none + */ +void vyuy_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* *convert from 422 planar yuv to 420 planar (yu12) * args: * out - pointer to output yu12 planar data buffer @@ -105,6 +122,70 @@ void yyuv_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* + * convert y444 (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing y444 (yuv-4-4-4) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void y444_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* + * convert yuvo (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing yuvo (yuv-5-5-5) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void yuvo_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* + * convert yuvp (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing yuvp (yuv-5-6-5) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void yuvp_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* + * convert yuv4 (packed) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing yuv4 (yuv32) packed data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void yuv4_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* *convert from 420 planar (yv12) to 420 planar (yu12) * args: * out - pointer to output yu12 planar data buffer @@ -169,6 +250,38 @@ void nv16_to_yu12 (uint8_t *out, uint8_t *in, int width, int height); /* + * convert yuv444 planar (uv interleaved) (nv24) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing nv24 planar data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void nv24_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* + * convert yuv444 planar (uv interleaved) (nv42) to yuv420 planar (yu12) + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing nv42 planar data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void nv42_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* * convert yuv 422 planar (vu interleaved) (nv61) to yuv420 planar (yu12) * args: * out: pointer to output buffer (yu12) @@ -249,6 +362,22 @@ void y16_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* + * convert y16x (16 bit greyscale format - be) to yu12 + * args: + * out: pointer to output buffer (yu12) + * in: pointer to input buffer containing y16x (16 bit greyscale bigendian) data frame + * width: picture width + * height: picture height + * + * asserts: + * out is not null + * in is not null + * + * returns: none + */ +void y16x_to_yu12(uint8_t *out, uint8_t *in, int width, int height); + +/* * convert SPCA501 (s501) to yuv 420 planar (yu12) * s501 |Y0..width..Y0|U..width/2..U|Y1..width..Y1|V..width/2..V| * signed values (-128;+127) must be converted to unsigned (0; 255) @@ -334,344 +463,195 @@ void bgr24_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * yu12 to rgb24 - * args: - * out - pointer to output rgb data buffer - * in - pointer to input yu12 data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) - * - * asserts: - * none - * - * returns: none - */ -void yu12_to_rgb24 (uint8_t *out, uint8_t *in, int width, int height); - -/* - * FIXME: yu12 to bgr24 with lines upsidedown - * used for bitmap files (DIB24) - * args: - * out - pointer to output bgr data buffer - * in - pointer to input yu12 data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) - * - * asserts: - * none - * - * returns: none - */ -void yu12_to_dib24 (uint8_t *out, uint8_t *in, int width, int height); - -/* - * convert yuv 420 planar (yu12) to yuv 422 - * args: - * out- pointer to output buffer (yuyv) - * in- pointer to input buffer (yuv420 planar data frame (yu12)) - * width- picture width - * height- picture height - * - * asserts: - * out is not null - * in is not null - * - * returns: none - */ -void yu12_to_yuyv (uint8_t *out, uint8_t *in, int width, int height); - -/* - * regular yuv (YUYV) to rgb24 - * args: - * pyuv - pointer to input yuyv data buffer - * prgb - pointer to converted output rgb data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) - * - * asserts: - * none - * - * returns: none - */ -void yuyv2rgb (uint8_t *pyuv, uint8_t *prgb, int width, int height); - -/* - * used for rgb video (fourcc="RGB ") - * lines are on correct order + * convert rgb1 (rgb332) to yu12 * args: - * pyuv - pointer to input yuyv data buffer - * prgb - pointer to converted output bgr data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) - * - * asserts: - * none - * - * returns: none - */ -//void yuyv2bgr1 (uint8_t *pyuv, uint8_t *pbgr, int width, int height); - -/* - * yuv (YUYV) to bgr with lines upsidedown - * used for bitmap files (DIB24) - * args: - * pyuv - pointer to input yuyv data buffer - * prgb - pointer to converted output bgr data buffer - * width - buffer width (in pixels) - * height - buffer height (in pixels) - * - * asserts: - * none - * - * returns: none - */ -void yuyv2bgr (uint8_t *pyuv, uint8_t *pbgr, int width, int height); - -/* - * convert y10b (bit-packed array greyscale format) to yuyv (packed) - * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing y10b (bit-packed array) data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing rgb332 data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void y10b_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void rgb1_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert y16 (grey) to yuyv (packed) + * convert ar12 (argb444) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing y16 (grey) data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing argb444 data * width: picture width * height: picture height * * asserts: - * none - * - * returns: none - */ -void y16_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); - -/* - * convert yyuv (packed) to yuyv (packed) - * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yyuv packed data frame - * width: picture width - * height: picture height - * - * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void yyuv_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void ar12_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert uyvy (packed) to yuyv (packed) + * convert ar15 (argb555) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing uyvy packed data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing argb555 data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void uyvy_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void ar15_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert yvyu (packed) to yuyv (packed) + * convert ar15_be (argb555X) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yvyu packed data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing argb555X (be) data * width: picture width * height: picture height * * asserts: - * none - * - * returns: none - */ -void yvyu_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); - -/* - * convert yuv 422 planar (yuv422p) to yuv 422 - * args: - * output- pointer to output buffer (yuyv) - * input- pointer to input buffer (yuv420 planar data frame) - * width- picture width - * height- picture height - * - * asserts: - * input not null + * out is not null + * in is not null * * returns: none */ -void yuv422_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void ar15x_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert yvu 420 planar (yv12) to yuv 422 + * convert rgbp (rgb565) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yuv420 planar data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing argb555 data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void yvu420_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void rgbp_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert yuv 420 planar (uv interleaved) (nv12) to yuv 422 + * convert rgbr (rgb565X) to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yuv420 (nv12) planar data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing rgb565 bigendian data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void nv12_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void rgbr_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert yuv 420 planar (vu interleaved) (nv21) to yuv 422 + * convert bgrh to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yuv420 (nv21) planar data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing bgrh (bgr666) data * width: picture width * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void nv21_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void bgrh_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert yuv 422 planar (uv interleaved) (nv16) to yuv 422 + * convert ar24 to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yuv422 (nv16) planar data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing ar24 (bgr32) data * width: picture width * height: picture height * * asserts: - * none - * - * returns: none - */ -void nv16_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); - -/* - * convert yuv 422 planar (vu interleaved) (nv61) to yuv 422 - * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing yuv422 (nv61) planar data frame - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void nv61_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); - -/* - * convert yuv 411 packed (y41p) to yuv 422 - * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing y41p data frame - * width: picture width - * height: picture height - * - * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void y41p_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void ar24_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert yuv mono (grey) to yuv 422 + * convert ba24 to yu12 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing grey (y only) data frame + * out: pointer to output buffer containing yu12 data + * in: pointer to input buffer containing ba24 (rgb32) data * width: picture width - * height: picture height + * height: picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void grey_to_yuyv (uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void ba24_to_yu12(uint8_t *out, uint8_t *in, int width, int height); /* - * convert SPCA501 (s501) to yuv 422 - * s501 |Y0..width..Y0|U..width/2..U|Y1..width..Y1|V..width/2..V| - * signed values (-128;+127) must be converted to unsigned (0; 255) + * yu12 to rgb24 * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing s501 data frame - * width: picture width - * height: picture height + * out - pointer to output rgb data buffer + * in - pointer to input yu12 data buffer + * width - buffer width (in pixels) + * height - buffer height (in pixels) * * asserts: * none * * returns: none */ -void s501_to_yuyv(uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void yu12_to_rgb24 (uint8_t *out, uint8_t *in, int width, int height); /* - * convert SPCA505 (s505) to yuv 422 - * s505 |Y0..width..Y0|Y1..width..Y1|U..width/2..U|V..width/2..V| - * signed values (-128;+127) must be converted to unsigned (0; 255) + * FIXME: yu12 to bgr24 with lines upsidedown + * used for bitmap files (DIB24) * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing s501 data frame - * width: picture width - * height: picture height + * out - pointer to output bgr data buffer + * in - pointer to input yu12 data buffer + * width - buffer width (in pixels) + * height - buffer height (in pixels) * * asserts: * none * * returns: none */ -void s505_to_yuyv(uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void yu12_to_dib24 (uint8_t *out, uint8_t *in, int width, int height); /* - * convert SPCA508 (s508) to yuv 422 - * s508 |Y0..width..Y0|U..width/2..U|V..width/2..V|Y1..width..Y1| - * signed values (-128;+127) must be converted to unsigned (0; 255) + * convert yuv 420 planar (yu12) to yuv 422 (save_image_jpeg) * args: - * framebuffer: pointer to frame buffer (yuyv) - * tmpbuffer: pointer to temp buffer containing s501 data frame - * width: picture width - * height: picture height + * out- pointer to output buffer (yuyv) + * in- pointer to input buffer (yuv420 planar data frame (yu12)) + * width- picture width + * height- picture height * * asserts: - * none + * out is not null + * in is not null * * returns: none */ -void s508_to_yuyv(uint8_t *framebuffer, uint8_t *tmpbuffer, int width, int height); +void yu12_to_yuyv (uint8_t *out, uint8_t *in, int width, int height); /* * convert bayer raw data to rgb24 @@ -689,35 +669,7 @@ */ void bayer_to_rgb24(uint8_t *pBay, uint8_t *pRGB24, int width, int height, int pix_order); -/* - * convert rgb24 to yuyv - * args: - * prgb: pointer to input buffer containing rgb data - * pyuv: pointer to output buffer containing converted yuyv data - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void rgb2yuyv(uint8_t *prgb, uint8_t *pyuv, int width, int height); - -/* - * convert bgr24 to yuyv - * args: - * pbgr: pointer to input buffer containing bgr data - * pyuv: pointer to output buffer containing converted yuyv data - * width: picture width - * height: picture height - * - * asserts: - * none - * - * returns: none - */ -void bgr2yuyv(uint8_t *pbgr, uint8_t *pyuv, int width, int height); +#if MJPG_BUILTIN /* * used for internal jpeg decoding 420 planar to 422 @@ -777,3 +729,5 @@ #endif +#endif + diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/control_profile.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/control_profile.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/control_profile.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/control_profile.c 2016-04-25 16:35:21.000000000 +0000 @@ -85,7 +85,6 @@ fprintf(fp, "#%s\n", current->control.name); switch(current->control.type) { -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING : fprintf(fp, "ID{0x%08x};CHK{%i:%i:%i:0}=STR{\"%s\"}\n", current->control.id, @@ -94,14 +93,12 @@ current->control.step, current->string); break; -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 + case V4L2_CTRL_TYPE_INTEGER64 : fprintf(fp, "ID{0x%08x};CHK{0:0:0:0}=VAL64{%" PRId64 "}\n", current->control.id, current->value64); break; -#endif default : fprintf(fp, "ID{0x%08x};CHK{%i:%i:%i:%i}=VAL{%i}\n", current->control.id, @@ -180,7 +177,7 @@ if(sscanf(line,"ID{0x%08x};CHK{%5i:%5i:%5i:%5i}=VAL{%5i}", &id, &min, &max, &step, &def, &val) == 6) { - v4l2_ctrl_t *current = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *current = v4l2core_get_control_by_id(vd, id); if(current) { @@ -197,7 +194,7 @@ else if(sscanf(line,"ID{0x%08x};CHK{0:0:0:0}=VAL64{%" PRId64 "}", &id, &val64) == 2) { - v4l2_ctrl_t *current = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *current = v4l2core_get_control_by_id(vd, id); if(current) { @@ -207,7 +204,7 @@ else if(sscanf(line,"ID{0x%08x};CHK{%5i:%5i:%5i:0}=STR{\"%*s\"}", &id, &min, &max, &step) == 5) { - v4l2_ctrl_t *current = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *current = v4l2core_get_control_by_id(vd, id); if(current) { @@ -220,7 +217,7 @@ char fmt[48]; sprintf(fmt,"ID{0x%%*x};CHK{%%*i:%%*i:%%*i:0}==STR{\"%%%is\"}", max); sscanf(line, fmt, str); - + /*we are only scannig for max chars so this should never happen*/ if(strlen(str) > max) /*FIXME: should also check (minimum +N*step)*/ { diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/frame_decoder.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/frame_decoder.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/frame_decoder.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/frame_decoder.c 2016-04-25 16:35:21.000000000 +0000 @@ -70,11 +70,9 @@ if(width <= 0 || height <= 0) return E_ALLOC_ERR; -#ifdef USE_PLANAR_YUV + int framesizeIn = (width * height * 3/2); /* 3/2 bytes per pixel*/ -#else - int framesizeIn = (width * height * 2); /*2 bytes per pixel*/ -#endif + switch (vd->requested_fmt) { case V4L2_PIX_FMT_H264: @@ -106,19 +104,7 @@ fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); exit(-1); } - -#ifdef USE_PLANAR_YUV - /*no need for a temp buffer*/ -#else - /* alloc a temp buffer for colorspace conversion*/ - vd->frame_queue[i].tmp_buffer_max_size = width * height * 2; - vd->frame_queue[i].tmp_buffer = calloc(vd->frame_queue[i].tmp_buffer_max_size, sizeof(uint8_t)); - if(vd->frame_queue[i].tmp_buffer == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } -#endif + } vd->h264_last_IDR = calloc(width * height, sizeof(uint8_t)); @@ -154,78 +140,68 @@ } break; + case V4L2_PIX_FMT_RGB24: + case V4L2_PIX_FMT_BGR24: + case V4L2_PIX_FMT_BGR32: + case V4L2_PIX_FMT_RGB32: + case V4L2_PIX_FMT_RGB332: + case V4L2_PIX_FMT_RGB565: + case V4L2_PIX_FMT_RGB565X: + case V4L2_PIX_FMT_RGB444: + case V4L2_PIX_FMT_RGB555: + case V4L2_PIX_FMT_RGB555X: + case V4L2_PIX_FMT_BGR666: case V4L2_PIX_FMT_UYVY: + case V4L2_PIX_FMT_VYUY: case V4L2_PIX_FMT_YVYU: case V4L2_PIX_FMT_YYUV: - case V4L2_PIX_FMT_YUV420: /* only needs 3/2 bytes per pixel but we alloc 2 bytes per pixel*/ - case V4L2_PIX_FMT_YVU420: /* only needs 3/2 bytes per pixel but we alloc 2 bytes per pixel*/ - case V4L2_PIX_FMT_Y41P: /* only needs 3/2 bytes per pixel but we alloc 2 bytes per pixel*/ + case V4L2_PIX_FMT_YUV444: + case V4L2_PIX_FMT_YUV555: + case V4L2_PIX_FMT_YUV565: + case V4L2_PIX_FMT_YUV32: + case V4L2_PIX_FMT_YUV422P: + case V4L2_PIX_FMT_YUV420: + case V4L2_PIX_FMT_YVU420: + case V4L2_PIX_FMT_Y41P: case V4L2_PIX_FMT_NV12: case V4L2_PIX_FMT_NV21: case V4L2_PIX_FMT_NV16: case V4L2_PIX_FMT_NV61: + case V4L2_PIX_FMT_NV24: + case V4L2_PIX_FMT_NV42: case V4L2_PIX_FMT_SPCA501: case V4L2_PIX_FMT_SPCA505: case V4L2_PIX_FMT_SPCA508: - framebuf_size = framesizeIn; - /*frame queue*/ - for(i=0; iframe_queue_size; ++i) - { - /*FIXME: do we need the temp buffer ?*/ - /* alloc a temp buffer for colorspace conversion*/ - vd->frame_queue[i].tmp_buffer_max_size = width * height * 2; - vd->frame_queue[i].tmp_buffer = calloc(vd->frame_queue[i].tmp_buffer_max_size, sizeof(uint8_t)); - if(vd->frame_queue[i].tmp_buffer == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } - - vd->frame_queue[i].yuv_frame = calloc(framebuf_size, sizeof(uint8_t)); - if(vd->frame_queue[i].yuv_frame == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } - } - break; - case V4L2_PIX_FMT_GREY: - framebuf_size = framesizeIn; - /*frame queue*/ - for(i=0; iframe_queue_size; ++i) - { - /* alloc a temp buffer for colorspace conversion*/ - vd->frame_queue[i].tmp_buffer_max_size = width * height; /* 1 byte per pixel*/ - vd->frame_queue[i].tmp_buffer = calloc(vd->frame_queue[i].tmp_buffer_max_size, sizeof(uint8_t)); - if(vd->frame_queue[i].tmp_buffer == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } - vd->frame_queue[i].yuv_frame = calloc(framebuf_size, sizeof(uint8_t)); - if(vd->frame_queue[i].yuv_frame == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } - } - break; - - case V4L2_PIX_FMT_Y10BPACK: + case V4L2_PIX_FMT_Y10BPACK: case V4L2_PIX_FMT_Y16: +#ifdef V4L2_PIX_FMT_Y16_BE + case V4L2_PIX_FMT_Y16_BE: +#endif +#ifdef V4L2_PIX_FMT_ABGR32 + case V4L2_PIX_FMT_ABGR32: + case V4L2_PIX_FMT_XBGR32: +#endif +#ifdef V4L2_PIX_FMT_ARGB32 + case V4L2_PIX_FMT_ARGB32: + case V4L2_PIX_FMT_XRGB32: +#endif +#ifdef V4L2_PIX_FMT_ARGB444 + case V4L2_PIX_FMT_ARGB444: + case V4L2_PIX_FMT_XRGB444: +#endif +#ifdef V4L2_PIX_FMT_ARGB555 + case V4L2_PIX_FMT_ARGB555: + case V4L2_PIX_FMT_XRGB555: +#endif +#ifdef V4L2_PIX_FMT_ARGB555X + case V4L2_PIX_FMT_ARGB555X: + case V4L2_PIX_FMT_XRGB555X: +#endif framebuf_size = framesizeIn; /*frame queue*/ for(i=0; iframe_queue_size; ++i) { - /* alloc a temp buffer for colorspace conversion*/ - vd->frame_queue[i].tmp_buffer_max_size = framesizeIn; /* 2 byte per pixel*/ - vd->frame_queue[i].tmp_buffer = calloc(vd->frame_queue[i].tmp_buffer_max_size, sizeof(uint8_t)); - if(vd->frame_queue[i].tmp_buffer == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } vd->frame_queue[i].yuv_frame = calloc(framebuf_size, sizeof(uint8_t)); if(vd->frame_queue[i].yuv_frame == NULL) { @@ -285,21 +261,6 @@ } } break; - case V4L2_PIX_FMT_RGB24: - case V4L2_PIX_FMT_BGR24: - /*convert directly from raw_frame*/ - framebuf_size = framesizeIn; - /*frame queue*/ - for(i=0; iframe_queue_size; ++i) - { - vd->frame_queue[i].yuv_frame = calloc(framebuf_size, sizeof(uint8_t)); - if(vd->frame_queue[i].yuv_frame == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (alloc_v4l2_frames): %s\n", strerror(errno)); - exit(-1); - } - } - break; default: /* @@ -333,7 +294,6 @@ { int j = 0; /* set framebuffer to black (y=0x00 u=0x80 v=0x80) by default*/ -#ifdef USE_PLANAR_YUV uint8_t *pframe = vd->frame_queue[i].yuv_frame; for (j=0; jframe_queue[i].yuv_frame[j]=0x00; //Y - vd->frame_queue[i].yuv_frame[j+1]=0x80;//U - vd->frame_queue[i].yuv_frame[j+2]=0x00;//Y - vd->frame_queue[i].yuv_frame[j+3]=0x80;//V - } -#endif } return (ret); } @@ -840,15 +791,8 @@ //decode if we already have a IDR frame if(vd->h264_last_IDR_size > 0) { -#ifdef USE_PLANAR_YUV /*no need to convert output*/ h264_decode(frame->yuv_frame, frame->h264_frame, frame->h264_frame_size); -#else - /* decode (h264) to frame->tmp_buffer (yuv420p)*/ - h264_decode(frame->tmp_buffer, frame->h264_frame, frame->h264_frame_size); - /* convert to yuyv*/ - yu12_to_yuyv (frame->yuv_frame, frame->tmp_buffer, width, height); -#endif } break; @@ -861,10 +805,9 @@ ret = E_DECODE_ERR; return (ret); } - - - ret = jpeg_decode(frame->yuv_frame, frame->raw_frame, frame->raw_frame_size); - + + ret = jpeg_decode(frame->yuv_frame, frame->raw_frame, frame->raw_frame_size); + //memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); //ret = jpeg_decode(&frame->yuv_frame, frame->tmp_buffer, width, height); //if ( ret < 0) @@ -878,297 +821,108 @@ break; case V4L2_PIX_FMT_UYVY: -#ifdef USE_PLANAR_YUV uyvy_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (uyvy decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - uyvy_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif + break; + + case V4L2_PIX_FMT_VYUY: + vyuy_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); break; case V4L2_PIX_FMT_YVYU: -#ifdef USE_PLANAR_YUV yvyu_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (yvyu decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - yvyu_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_YYUV: -#ifdef USE_PLANAR_YUV yyuv_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (yyuv decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - yyuv_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif + break; + + case V4L2_PIX_FMT_YUV444: + y444_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_YUV555: + yuvo_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_YUV565: + yuvp_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_YUV32: + yuv4_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); break; case V4L2_PIX_FMT_YUV420: -#ifdef USE_PLANAR_YUV if(frame->raw_frame_size > (width * height * 3/2)) frame->raw_frame_size = width * height * 3/2; memcpy(frame->yuv_frame, frame->raw_frame, frame->raw_frame_size); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (yuv420 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - yu12_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif + break; + + case V4L2_PIX_FMT_YUV422P: + yuv422p_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); break; case V4L2_PIX_FMT_YVU420: -#ifdef USE_PLANAR_YUV yv12_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (yvu420 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - yvu420_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_NV12: -#ifdef USE_PLANAR_YUV nv12_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (nv12 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - nv12_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_NV21: -#ifdef USE_PLANAR_YUV nv21_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (nv21 decoder) cliping unexpected large buffer (%i bytes).\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - nv21_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_NV16: -#ifdef USE_PLANAR_YUV nv16_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (nv16 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - nv16_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_NV61: -#ifdef USE_PLANAR_YUV nv61_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (nv61 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - nv61_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif + break; + + case V4L2_PIX_FMT_NV24: + nv24_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_NV42: + nv42_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); break; case V4L2_PIX_FMT_Y41P: -#ifdef USE_PLANAR_YUV y41p_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (y41p decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - y41p_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_GREY: -#ifdef USE_PLANAR_YUV grey_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (grey decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - grey_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_Y10BPACK: -#ifdef USE_PLANAR_YUV y10b_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (y10b decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - y10b_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_Y16: -#ifdef USE_PLANAR_YUV y16_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (y16 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - y16_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; - +#ifdef V4L2_PIX_FMT_Y16_BE + case V4L2_PIX_FMT_Y16_BE: + y16x_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; +#endif case V4L2_PIX_FMT_SPCA501: -#ifdef USE_PLANAR_YUV s501_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (spca501 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - s501_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_SPCA505: -#ifdef USE_PLANAR_YUV s505_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (spca505 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - s505_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_SPCA508: -#ifdef USE_PLANAR_YUV s508_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - /*FIXME: do we need the tmp_buffer or can we just use the raw_frame?*/ - if(frame->raw_frame_size > frame->tmp_buffer_max_size) - { - // Prevent crash on very large image - fprintf(stderr, "V4L2_CORE: (spca508 decoder) cliping unexpected large buffer (%i bytes)\n", - (int) frame->raw_frame_size); - memcpy(frame->tmp_buffer, frame->raw_frame, frame->tmp_buffer_max_size); - } - else - memcpy(frame->tmp_buffer, frame->raw_frame, frame->raw_frame_size); - s508_to_yuyv(frame->yuv_frame, frame->tmp_buffer, width, height); -#endif break; case V4L2_PIX_FMT_YUYV: -#ifdef USE_PLANAR_YUV if(vd->isbayer>0) { if (!(frame->tmp_buffer)) @@ -1188,83 +942,89 @@ } else yuyv_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - if(vd->isbayer>0) - { - if (!(frame->tmp_buffer)) - { - /* rgb buffer for decoding bayer data*/ - frame->tmp_buffer_max_size = width * height * 3; - frame->tmp_buffer = calloc(frame->tmp_buffer_max_size, sizeof(uint8_t)); - if(frame->tmp_buffer == NULL) - { - fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (v4l2core_frame_decode): %s\n", strerror(errno)); - exit(-1); - } - } - bayer_to_rgb24 (frame->raw_frame, frame->tmp_buffer, width, height, vd->bayer_pix_order); - // raw bayer is only available in logitech cameras in yuyv mode - rgb2yuyv (frame->tmp_buffer, frame->yuv_frame, width, height); - } - else - { - if (frame->raw_frame_size > framesizeIn) - memcpy(frame->yuv_frame, frame->raw_frame, - (size_t) framesizeIn); - else - memcpy(frame->yuv_frame, frame->raw_frame, frame->raw_frame_size); - } -#endif break; case V4L2_PIX_FMT_SGBRG8: //0 bayer_to_rgb24 (frame->raw_frame, frame->tmp_buffer, width, height, 0); -#ifdef USE_PLANAR_YUV rgb24_to_yu12(frame->yuv_frame, frame->tmp_buffer, width, height); -#else - rgb2yuyv (frame->tmp_buffer, frame->yuv_frame, width, height); -#endif break; case V4L2_PIX_FMT_SGRBG8: //1 bayer_to_rgb24 (frame->raw_frame, frame->tmp_buffer, width, height, 1); -#ifdef USE_PLANAR_YUV rgb24_to_yu12(frame->yuv_frame, frame->tmp_buffer, width, height); -#else - rgb2yuyv (frame->tmp_buffer, frame->yuv_frame, width, height); -#endif break; case V4L2_PIX_FMT_SBGGR8: //2 bayer_to_rgb24 (frame->raw_frame, frame->tmp_buffer, width, height, 2); -#ifdef USE_PLANAR_YUV rgb24_to_yu12(frame->yuv_frame, frame->tmp_buffer, width, height); -#else - rgb2yuyv (frame->tmp_buffer, frame->yuv_frame, width, height); -#endif break; case V4L2_PIX_FMT_SRGGB8: //3 bayer_to_rgb24 (frame->raw_frame, frame->tmp_buffer, width, height, 3); -#ifdef USE_PLANAR_YUV rgb24_to_yu12(frame->yuv_frame, frame->tmp_buffer, width, height); -#else - rgb2yuyv (frame->tmp_buffer, frame->yuv_frame, width, height); -#endif break; case V4L2_PIX_FMT_RGB24: -#ifdef USE_PLANAR_YUV rgb24_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - rgb2yuyv(frame->raw_frame, frame->yuv_frame, width, height); -#endif break; + case V4L2_PIX_FMT_BGR24: -#ifdef USE_PLANAR_YUV bgr24_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); -#else - bgr2yuyv(frame->raw_frame, frame->yuv_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB332: + rgb1_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB565: + rgbp_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB565X: + rgbr_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB444: +#ifdef V4L2_PIX_FMT_ARGB444 + case V4L2_PIX_FMT_ARGB444: + case V4L2_PIX_FMT_XRGB444: //same as above but without alpha channel +#endif + ar12_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB555: +#ifdef V4L2_PIX_FMT_ARGB555 + case V4L2_PIX_FMT_ARGB555: + case V4L2_PIX_FMT_XRGB555: //same as above but without alpha channel +#endif + ar15_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB555X: +#ifdef V4L2_PIX_FMT_ARGB4555X + case V4L2_PIX_FMT_ARGB555X: + case V4L2_PIX_FMT_XRGB555X: //same as above but without alpha channel +#endif + ar15x_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_BGR666: + bgrh_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_BGR32: +#ifdef V4L2_PIX_FMT_ABGR32 + case V4L2_PIX_FMT_ABGR32: + case V4L2_PIX_FMT_XBGR32: //same as above but without alpha channel +#endif + ar24_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); + break; + + case V4L2_PIX_FMT_RGB32: +#ifdef V4L2_PIX_FMT_ARGB32 + case V4L2_PIX_FMT_ARGB32: + case V4L2_PIX_FMT_XRGB32: //same as above but without alpha channel #endif + ba24_to_yu12(frame->yuv_frame, frame->raw_frame, width, height); break; default: diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/gviewv4l2core.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/gviewv4l2core.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/gviewv4l2core.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/gviewv4l2core.h 2016-04-25 16:35:21.000000000 +0000 @@ -211,6 +211,7 @@ uint8_t dec_support; //decoder support (1-supported; 0-not supported) int format; //v4l2 pixel format char fourcc[5]; //corresponding fourcc (mode) + char description[32];//format description int numb_res; //available number of resolutions for format (v4l2_stream_cap_t list size) v4l2_stream_cap_t *list_stream_cap; //list of stream capabilities for format } v4l2_stream_formats_t; @@ -237,23 +238,6 @@ } v4l2_ctrl_t; /* - * v4l2 device system data - */ -typedef struct _v4l2_dev_sys_data_t -{ - char *device; - char *name; - char *driver; - char *location; - uint32_t vendor; - uint32_t product; - int valid; - int current; - uint64_t busnum; - uint64_t devnum; -} v4l2_dev_sys_data_t; - -/* * frame buffer struct */ typedef struct _v4l2_frame_buff_t @@ -261,34 +245,45 @@ int index; //buffer index int status; //frame status {FRAME_DECODING; FRAME_DONE; FRAME_READY} - uint8_t isKeyframe; // current buffer contains a keyframe (h264 IDR) + int width; //frame width (in pixels) + int height;//frame height (in pixels) + + int isKeyframe; // current buffer contains a keyframe (h264 IDR) - uint8_t *raw_frame; // pointer to raw frame size_t raw_frame_size; // raw frame size (bytes) size_t raw_frame_max_size; //maximum size for raw frame (bytes) - uint8_t *yuv_frame; // pointer to decoded yuv frame - uint8_t *h264_frame; // pointer to regular or demultiplexed h264 frame size_t h264_frame_size; // h264 frame size (bytes) size_t h264_frame_max_size; //size limit for h264 frame (bytes) - + size_t tmp_buffer_max_size; //maximum size for temp buffer (bytes) + uint64_t timestamp; // captured frame timestamp + uint8_t *raw_frame; // pointer to raw frame + uint8_t *yuv_frame; // pointer to decoded yuv frame + uint8_t *h264_frame; // pointer to regular or demultiplexed h264 frame uint8_t *tmp_buffer; //temporary buffer used in decoding - size_t tmp_buffer_max_size; //maximum size for temp buffer (bytes) + } v4l2_frame_buff_t; /* - * v4l2 devices list data + * v4l2 device system data */ -typedef struct _v4l2_device_list_t +typedef struct _v4l2_dev_sys_data_t { - struct udev *udev; // pointer to a udev struct (lib udev) - struct udev_monitor *udev_mon; // udev monitor - int udev_fd; // udev monitor file descriptor - v4l2_dev_sys_data_t* list_devices; // list of available v4l2 devices - int num_devices; // number of available v4l2 devices -} v4l2_device_list; + char *device; + char *name; + char *driver; + char *location; + uint32_t vendor; + uint32_t product; + int valid; + int current; + uint64_t busnum; + uint64_t devnum; +} v4l2_dev_sys_data_t; +/* v4l2 device handler - opaque data structure*/ +typedef struct _v4l2_dev_t v4l2_dev_t; /* * ioctl with a number of retries in the case of I/O failure @@ -319,55 +314,57 @@ /* * define fps values * args: + * vd - pointer to v4l2 device handler * num - fps numerator * denom - fps denominator * * asserts: - * none + * vd is not null * * returns - void */ -void v4l2core_define_fps(int num, int denom); +void v4l2core_define_fps(v4l2_dev_t *vd, int num, int denom); /* * get requested fps numerator * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns - requested fps numerator */ -int v4l2core_get_fps_num(); +int v4l2core_get_fps_num(v4l2_dev_t *vd); /* * get requested fps denominator * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns - requested fps denominator */ -int v4l2core_get_fps_denom(); +int v4l2core_get_fps_denom(v4l2_dev_t *vd); /* * get device available number of formats * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns - number of formats for device */ -int v4l2core_get_number_formats(); +int v4l2core_get_number_formats(v4l2_dev_t *vd); /* * sets bayer pixel order * args: + * vd - pointer to v4l2 device handler * order - pixel order * * asserts: @@ -375,23 +372,24 @@ * * returns - void */ -void v4l2core_set_bayer_pix_order(uint8_t order); +void v4l2core_set_bayer_pix_order(v4l2_dev_t *vd, uint8_t order); /* * gets bayer pixel order * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns - bayer pixel order */ -uint8_t v4l2core_get_bayer_pix_order(); +uint8_t v4l2core_get_bayer_pix_order(v4l2_dev_t *vd); /* * flags bayer mode * args: + * vd - pointer to v4l2 device handler * flag - 1 if we are streaming bayer data (0 otherwise) * * asserts: @@ -399,31 +397,31 @@ * * returns - void */ -void v4l2core_set_isbayer(uint8_t flag); +void v4l2core_set_isbayer(v4l2_dev_t *vd, uint8_t flag); /* * gets bayer pixel order * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns - isbayer flag */ -uint8_t v4l2core_get_isbayer(); +uint8_t v4l2core_get_isbayer(v4l2_dev_t *vd); /* * gets current device index * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns - device index */ -int v4l2core_get_this_device_index(); +int v4l2core_get_this_device_index(v4l2_dev_t *vd); /* * disable libv4l2 calls @@ -459,151 +457,154 @@ * * returns: v4l2 pixel format */ -int v4l2core_fourcc_2_v4l2_pixelformat(const char *fourcc); +uint32_t v4l2core_fourcc_2_v4l2_pixelformat(const char *fourcc); /* * get real fps * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: double with real fps value */ -double v4l2core_get_realfps(); +double v4l2core_get_realfps(v4l2_dev_t *vd); /* - * Set v4l2 capture method + * set v4l2 capture method to use * args: + * vd - pointer to v4l2 device handler * method - capture method (IO_READ or IO_MMAP) * * asserts: - * none + * vd is not null * - * returns: VIDIOC_STREAMON ioctl result (E_OK or E_STREAMON_ERR) + * returns: none */ -void v4l2core_set_capture_method(int method); +void v4l2core_set_capture_method(v4l2_dev_t *vd, int method); /* - * Initiate video device data with default values + * Initiate video device handler with default values * args: * device - device name (e.g: "/dev/video0") * * asserts: - * none + * device is not null * - * returns: error code ( < 0) on error + * returns: pointer to v4l2 device handler (or NULL on error) */ -int v4l2core_init_dev(const char *device); +v4l2_dev_t* v4l2core_init_dev(const char *device); /* * get device control list * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * return: pointer to first control in the list */ -v4l2_ctrl_t *v4l2core_get_control_list(); +v4l2_ctrl_t *v4l2core_get_control_list(v4l2_dev_t *vd); /* * get stream frame format list for device * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * return: pointer to first format in the list */ -v4l2_stream_formats_t *v4l2core_get_formats_list(); +v4l2_stream_formats_t *v4l2core_get_formats_list(v4l2_dev_t *vd); /* - * get videodevice string + * get videodevice name * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * - * return: videodevice string + * return: string with videodevice name */ -const char *v4l2core_get_videodevice(); +const char *v4l2core_get_videodevice(v4l2_dev_t *vd); /* * get device pan step value * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * return: pan step value */ -int v4l2core_get_pan_step(); +int v4l2core_get_pan_step(v4l2_dev_t *vd); /* * get device tilt step value * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * return: tilt step value */ -int v4l2core_get_tilt_step(); +int v4l2core_get_tilt_step(v4l2_dev_t *vd); /* * set device pan step value * args: + * vd - pointer to v4l2 device handler * step - pan step value * * asserts: - * none + * vd is not null * * return: none */ -void v4l2core_set_pan_step(int step); +void v4l2core_set_pan_step(v4l2_dev_t *vd, int step); /* * set device tilt step value * args: + * vd - pointer to v4l2 device handler * step -tilt step value * * asserts: - * none + * vd is not null * * return: none */ -void v4l2core_set_tilt_step(int step); +void v4l2core_set_tilt_step(v4l2_dev_t *vd, int step); /* - * Initiate the device list (with udev monitoring) + * get the number of available v4l2 devices * args: * none * * asserts: * none * - * returns: none + * returns: number of available v4l2 devices */ -void v4l2core_init_device_list(); +int v4l2core_get_num_devices(); /* - * get the device list data + * get the device sys data for index * args: - * none - * + * index - device index + * * asserts: * none - * - * returns: pointer to device list data + * + * returns: pointer to device sys data */ -v4l2_device_list *v4l2core_get_device_list(); +v4l2_dev_sys_data_t* v4l2core_get_device_sys_data(int index); /* * get the device index in device list @@ -631,280 +632,290 @@ int v4l2core_check_device_list_events(); /* - * free v4l2 devices list + * check for control events * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * - * returns: void + * returns: number of processed control events */ -void v4l2core_close_v4l2_device_list(); +int v4l2core_check_control_events(v4l2_dev_t *vd); /* * get requested frame format * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: requested frame format */ -int v4l2core_get_requested_frame_format(); +int v4l2core_get_requested_frame_format(v4l2_dev_t *vd); /* * get has_pantilt_id flag * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: has_pantilt_id flag */ -int v4l2core_has_pantilt_id(); +int v4l2core_has_pantilt_id(v4l2_dev_t *vd); /* * get has_focus_control_id flag * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: has_focus_control_id flag */ -int v4l2core_has_focus_control_id(); +int v4l2core_has_focus_control_id(v4l2_dev_t *vd); /* * get frame width * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: frame width */ -int v4l2core_get_frame_width(); +int v4l2core_get_frame_width(v4l2_dev_t *vd); /* * get frame height * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: frame height */ -int v4l2core_get_frame_height(); +int v4l2core_get_frame_height(v4l2_dev_t *vd); /* get frame format index from format list * args: + * vd - pointer to v4l2 device handler * format - v4l2 pixel format * * asserts: - * none + * vd is not null * * returns: format list index or -1 if not available */ -int v4l2core_get_frame_format_index(int format); +int v4l2core_get_frame_format_index(v4l2_dev_t *vd, int format); /* get resolution index for format index from format list * args: + * vd - pointer to v4l2 device handler * format - format index from format list * width - requested width * height - requested height * * asserts: - * none + * vd is not null * * returns: resolution list index for format index or -1 if not available */ -int v4l2core_get_format_resolution_index(int format, int width, int height); +int v4l2core_get_format_resolution_index(v4l2_dev_t *vd, + int format, int width, int height); /* * prepare a valid format (first in the format list) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_prepare_valid_format(); +void v4l2core_prepare_valid_format(v4l2_dev_t *vd); /* * prepare new format * args: + * vd - pointer to v4l2 device handler * new_format - new format * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_prepare_new_format(int new_format); +void v4l2core_prepare_new_format(v4l2_dev_t *vd, int new_format); /* * prepare valid resolution (first in the resolution list for the format) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_prepare_valid_resolution(); +void v4l2core_prepare_valid_resolution(v4l2_dev_t *vd); /* * prepare new resolution * args: + * vd - pointer to v4l2 device handler * new_width - new width * new_height - new height * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_prepare_new_resolution(int new_width, int new_height); +void v4l2core_prepare_new_resolution(v4l2_dev_t *vd, + int new_width, int new_height); /* * update the current format (pixelformat, width and height) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: * error code */ -int v4l2core_update_current_format(); +int v4l2core_update_current_format(v4l2_dev_t *vd); /* * gets the next video frame (must be released after processing) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns: pointer frame buffer (NULL on error) */ -v4l2_frame_buff_t *v4l2core_get_frame(); +v4l2_frame_buff_t *v4l2core_get_frame(v4l2_dev_t *vd); /* * releases the video frame (so that it can be reused by the driver) * args: + * vd - pointer to v4l2 device handler * frame - pointer to decoded frame buffer * * asserts: - * none + * vd is not null * * returns: error code (E_OK) */ -int v4l2core_release_frame(v4l2_frame_buff_t *frame); +int v4l2core_release_frame(v4l2_dev_t *vd, v4l2_frame_buff_t *frame); /* * gets the next video frame and decodes it * args: - * none + * vd - pointer to v4l2 device handler + * + * asserts: + * vd is not null * * returns: pointer to decoded frame buffer ( NULL on error) */ -v4l2_frame_buff_t *v4l2core_get_decoded_frame(); +v4l2_frame_buff_t *v4l2core_get_decoded_frame(v4l2_dev_t *vd); /* * clean v4l2 buffers * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * return: none */ -void v4l2core_clean_buffers(); +void v4l2core_clean_buffers(v4l2_dev_t *vd); /* - * cleans video device data and allocations + * closes v4l2 device handler * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: void */ -void v4l2core_close_dev(); +void v4l2core_close_dev(v4l2_dev_t *vd); /* * request a fps update * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_request_framerate_update(); +void v4l2core_request_framerate_update(v4l2_dev_t *vd); /* * gets video device defined frame rate (not real - consider it a maximum value) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: VIDIOC_G_PARM ioctl result value * (sets vd->fps_denom and vd->fps_num to device value) */ -int v4l2core_get_framerate (); +int v4l2core_get_framerate (v4l2_dev_t *vd); /* * Starts the video stream * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: VIDIOC_STREAMON ioctl result (0- E_OK) */ -int v4l2core_start_stream(); +int v4l2core_start_stream(v4l2_dev_t *vd); /* * request video stream to stop * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: error code (0 -OK) */ -int v4l2core_request_stop_stream(); +int v4l2core_request_stop_stream(v4l2_dev_t *vd); /* * Stops the video stream * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: VIDIOC_STREAMOFF ioctl result (0- E_OK) */ -int v4l2core_stop_stream(); +int v4l2core_stop_stream(v4l2_dev_t *vd); /* * ######### CONTROLS ########## @@ -913,6 +924,7 @@ /* * return the control associated to id from device list * args: + * vd - pointer to v4l2 device handler * id - control id * * asserts: @@ -920,44 +932,46 @@ * * returns: pointer to v4l2_control if succeded or null otherwise */ -v4l2_ctrl_t* v4l2core_get_control_by_id(int id); +v4l2_ctrl_t* v4l2core_get_control_by_id(v4l2_dev_t *vd, int id); /* * sets the value of control id in device * args: - * id - control id + * vd - pointer to v4l2 device handler + * id - control id * * asserts: - * none + * vd is not null * * returns: ioctl result */ -int v4l2core_set_control_value_by_id(int id); +int v4l2core_set_control_value_by_id(v4l2_dev_t *vd, int id); /* * updates the value for control id from the device * also updates control flags * args: + * vd - pointer to v4l2 device handler * id - control id * * asserts: - * none + * vd is not null * * returns: ioctl result */ -int v4l2core_get_control_value_by_id(int id); +int v4l2core_get_control_value_by_id(v4l2_dev_t *vd, int id); /* * goes trough the control list and sets values in device to default * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: void */ -void v4l2core_set_control_defaults(); +void v4l2core_set_control_defaults(v4l2_dev_t *vd); /* * set autofocus sort method @@ -974,27 +988,28 @@ /* * initiate software autofocus * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: error code (0 - E_OK) */ -int v4l2core_soft_autofocus_init (); +int v4l2core_soft_autofocus_init (v4l2_dev_t *vd); /* * run the software autofocus * args: + * vd - pointer to v4l2 device handler * frame - pointer to frame buffer * * asserts: - * none + * vd is not null * * returns: 1 - running 0- focused * (only matters for non-continue focus) */ -int v4l2core_soft_autofocus_run(v4l2_frame_buff_t *frame); +int v4l2core_soft_autofocus_run(v4l2_dev_t *vd, v4l2_frame_buff_t *frame); /* * sets a focus loop while autofocus is on @@ -1002,7 +1017,7 @@ * none * * asserts: - * focus_ctx is not null + * none * * returns: none */ @@ -1023,26 +1038,28 @@ /* * save the device control values into a profile file * args: + * vd - pointer to v4l2 device handler * filename - profile filename * * asserts: - * none + * vd is not null * * returns: error code (0 -E_OK) */ -int v4l2core_save_control_profile(const char *filename); +int v4l2core_save_control_profile(v4l2_dev_t *vd, const char *filename); /* * load the device control values from a profile file * args: + * vd - pointer to v4l2 device handler * filename - profile filename * * asserts: - * none + * vd is not null * * returns: error code (0 -E_OK) */ -int v4l2core_load_control_profile(const char *filename); +int v4l2core_load_control_profile(v4l2_dev_t *vd, const char *filename); /* * ########### H264 controls ########### @@ -1051,136 +1068,140 @@ /* * resets the h264 encoder * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * nonel + * vd is not null * * returns: 0 on success or error code on fail */ -int v4l2core_reset_h264_encoder(); +int v4l2core_reset_h264_encoder(v4l2_dev_t *vd); /* * get h264 unit id * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * nonel + * vd is not null * * returns: unit id on success or error code ( < 0 ) on fail */ -int v4l2core_get_h264_unit_id(); +int v4l2core_get_h264_unit_id(v4l2_dev_t *vd); /* * get PPS NALU size * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: PPS size */ -int v4l2core_get_h264_pps_size(); +int v4l2core_get_h264_pps_size(v4l2_dev_t *vd); /* * get PPS data * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: pointer to PPS data */ -uint8_t *v4l2core_get_h264_pps(); +uint8_t *v4l2core_get_h264_pps(v4l2_dev_t *vd); /* * get SPS NALU size * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: SPS size */ -int v4l2core_get_h264_sps_size(); +int v4l2core_get_h264_sps_size(v4l2_dev_t *vd); /* * get SPS data * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: pointer to SPS data */ -uint8_t *v4l2core_get_h264_sps(); +uint8_t *v4l2core_get_h264_sps(v4l2_dev_t *vd); /* * request a IDR frame from the H264 encoder * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_h264_request_idr(); +void v4l2core_h264_request_idr(v4l2_dev_t *vd); /* * query the frame rate config * args: + * vd - pointer to v4l2 device handler * query - query type * * asserts: - * none + * vd is not null * * returns: frame rate config (FIXME: 0xffffffff on error) */ -uint32_t v4l2core_query_h264_frame_rate_config(uint8_t query); +uint32_t v4l2core_query_h264_frame_rate_config(v4l2_dev_t *vd, uint8_t query); /* * get the frame rate config * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: frame rate config (FIXME: 0xffffffff on error) */ -uint32_t v4l2core_get_h264_frame_rate_config(); +uint32_t v4l2core_get_h264_frame_rate_config(v4l2_dev_t *vd); /* * set the frame rate config * args: + * vd - pointer to v4l2 device handler * framerate - framerate * * asserts: - * none + * vd is not null * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_frame_rate_config(uint32_t framerate); +int v4l2core_set_h264_frame_rate_config(v4l2_dev_t *vd, uint32_t framerate); /* * updates the h264_probe_commit_req field * args: + * vd - pointer to v4l2 device handler * query - (UVC_GET_CUR; UVC_GET_MAX; UVC_GET_MIN) * config_probe_req - pointer to uvcx_video_config_probe_commit_t: * if null vd->h264_config_probe_req will be used * * asserts: - * none + * vd is not null * * returns: error code ( 0 -OK) */ int v4l2core_probe_h264_config_probe_req( + v4l2_dev_t *vd, uint8_t query, uvcx_video_config_probe_commit_t *config_probe_req); @@ -1188,110 +1209,117 @@ /* * gets the current h264_config_probe_req data struct * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: pointer to current h264_config_probe_req data struct */ -uvcx_video_config_probe_commit_t *v4l2core_get_h264_config_probe_req(); +uvcx_video_config_probe_commit_t *v4l2core_get_h264_config_probe_req(v4l2_dev_t *vd); /* * flag core to use the preset h264_config_probe_req data (don't reset to default before commit) * args: + * vd - pointer to v4l2 device handler * flag - value to set * * asserts: - * none + * vd is not null * * returns: none */ -void v4l2core_set_h264_no_probe_default(uint8_t flag); +void v4l2core_set_h264_no_probe_default(v4l2_dev_t *vd, uint8_t flag); /* * get h264_no_probe_default flag * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: h264_no_probe_default flag */ -uint8_t v4l2core_get_h264_no_probe_default(); +uint8_t v4l2core_get_h264_no_probe_default(v4l2_dev_t *vd); /* * get the video rate control mode * args: + * vd - pointer to v4l2 device handler * query - query type * * asserts: - * none + * vd is not null * * returns: video rate control mode (FIXME: 0xff on error) */ -uint8_t v4l2core_get_h264_video_rate_control_mode(uint8_t query); +uint8_t v4l2core_get_h264_video_rate_control_mode(v4l2_dev_t *vd, uint8_t query); /* * set the video rate control mode * args: + * vd - pointer to v4l2 device handler * mode - rate mode * * asserts: - * none + * vd is not null * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_video_rate_control_mode(uint8_t mode); +int v4l2core_set_h264_video_rate_control_mode(v4l2_dev_t *vd, uint8_t mode); /* * get the temporal scale mode * args: + * vd - pointer to v4l2 device handler * query - query type * * asserts: - * none + * vd is not null * * returns: temporal scale mode (FIXME: 0xff on error) */ -uint8_t v4l2core_get_h264_temporal_scale_mode(uint8_t query); +uint8_t v4l2core_get_h264_temporal_scale_mode(v4l2_dev_t *vd, uint8_t query); /* * set the temporal scale mode * args: + * vd - pointer to v4l2 device handler * mode - temporal scale mode * * asserts: - * none + * vd is not null * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_temporal_scale_mode(uint8_t mode); +int v4l2core_set_h264_temporal_scale_mode(v4l2_dev_t *vd, uint8_t mode); /* * get the spatial scale mode * args: + * vd - pointer to v4l2 device handler * query - query type * * asserts: - * none + * vd is not null * * returns: temporal scale mode (FIXME: 0xff on error) */ -uint8_t v4l2core_get_h264_spatial_scale_mode(uint8_t query); +uint8_t v4l2core_get_h264_spatial_scale_mode(v4l2_dev_t *vd, uint8_t query); /* * set the spatial scale mode * args: + * vd - pointer to v4l2 device handler * mode - spatial scale mode * * asserts: - * none + * vd is not null * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_spatial_scale_mode(uint8_t mode); +int v4l2core_set_h264_spatial_scale_mode(v4l2_dev_t *vd, uint8_t mode); /* * ######### XU CONTROLS ########## @@ -1300,43 +1328,49 @@ /* * get lenght of xu control defined by unit id and selector * args: + * vd - pointer to v4l2 device handler * unit - unit id of xu control * selector - selector for control * * asserts: - * none + * vd is not null * * returns: length of xu control */ -uint16_t v4l2core_get_length_xu_control(uint8_t unit, uint8_t selector); +uint16_t v4l2core_get_length_xu_control(v4l2_dev_t *vd, + uint8_t unit, uint8_t selector); /* * get uvc info for xu control defined by unit id and selector * args: + * vd - pointer to v4l2 device handler * unit - unit id of xu control * selector - selector for control * * asserts: - * none + * vd is not null * * returns: info of xu control */ -uint8_t v4l2core_get_info_xu_control(uint8_t unit, uint8_t selector); +uint8_t v4l2core_get_info_xu_control(v4l2_dev_t *vd, + uint8_t unit, uint8_t selector); /* * runs a query on xu control defined by unit id and selector * args: + * vd - pointer to v4l2 device handler * unit - unit id of xu control * selector - selector for control * query - query type * data - pointer to query data * * asserts: - * none + * vd is not null * * returns: 0 if query succeded or errno otherwise */ -int v4l2core_query_xu_control(uint8_t unit, uint8_t selector, uint8_t query, void *data); +int v4l2core_query_xu_control(v4l2_dev_t *vd, + uint8_t unit, uint8_t selector, uint8_t query, void *data); /* * ########### FILE IO ############### @@ -1368,7 +1402,10 @@ * * returns: error code */ -int v4l2core_save_image(v4l2_frame_buff_t *frame, const char *filename, int format); +int v4l2core_save_image( + v4l2_frame_buff_t *frame, + const char *filename, + int format); /* * ############### TIME DATA ############## diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/jpeg_decoder.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/jpeg_decoder.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/jpeg_decoder.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/jpeg_decoder.c 2016-04-25 16:35:21.000000000 +0000 @@ -1524,11 +1524,8 @@ avpicture_layout((AVPicture *) codec_data->picture, codec_data->context->pix_fmt, jpeg_ctx->width, jpeg_ctx->height, jpeg_ctx->tmp_frame, jpeg_ctx->pic_size); /* libavcodec output is in yuv422p */ -#ifdef USE_PLANAR_YUV yuv422p_to_yu12(out_buf, jpeg_ctx->tmp_frame, jpeg_ctx->width, jpeg_ctx->height); -#else - yuv422_to_yuyv(out_buf, jpeg_ctx->tmp_frame, jpeg_ctx->width, jpeg_ctx->height); -#endif + return jpeg_ctx->pic_size; } else diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image_bmp.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image_bmp.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image_bmp.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image_bmp.c 2016-04-25 16:35:21.000000000 +0000 @@ -140,23 +140,19 @@ /* * save frame data to a bmp file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - filename string * * asserts: - * vd is not null + * none * * returns: error code */ -int save_image_bmp(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename) +int save_image_bmp(v4l2_frame_buff_t *frame, const char *filename) { - /*assertions*/ - assert(vd != NULL); - int ret = E_OK; - int width = vd->format.fmt.pix.width; - int height = vd->format.fmt.pix.height; + int width = frame->width; + int height = frame->height; uint8_t *bmp = calloc(width * height * 3, sizeof(uint8_t)); if(bmp == NULL) @@ -164,11 +160,8 @@ fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (save_img_bmp): %s\n", strerror(errno)); exit(-1); } -#ifdef USE_PLANAR_YUV yu12_to_dib24(bmp, frame->yuv_frame, width, height); -#else - yuyv2bgr(frame->yuv_frame, bmp, width, height); -#endif + ret = save_bmp(filename, bmp, width, height, 24); free(bmp); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image.c 2016-04-25 16:35:21.000000000 +0000 @@ -72,22 +72,18 @@ /* * save the current frame to file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - output file name * format - image type * (IMG_FMT_RAW, IMG_FMT_JPG, IMG_FMT_PNG, IMG_FMT_BMP) * * asserts: - * vd is not null + * none * * returns: error code */ -int save_frame_image(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename, int format) +int save_frame_image(v4l2_frame_buff_t *frame, const char *filename, int format) { - /*assertions*/ - assert(vd != NULL); - int ret= E_OK; switch(format) @@ -101,19 +97,19 @@ case IMG_FMT_JPG: if(verbosity > 0) printf("V4L2_CORE: saving jpeg frame to %s\n", filename); - ret = save_image_jpeg(vd, frame, filename); + ret = save_image_jpeg(frame, filename); break; case IMG_FMT_BMP: if(verbosity > 0) printf("V4L2_CORE: saving bmp frame to %s\n", filename); - ret = save_image_bmp(vd, frame, filename); + ret = save_image_bmp(frame, filename); break; case IMG_FMT_PNG: if(verbosity > 0) printf("V4L2_CORE: saving png frame to %s\n", filename); - ret = save_image_png(vd, frame, filename); + ret = save_image_png(frame, filename); break; default: diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image.h 2016-04-25 16:35:21.000000000 +0000 @@ -30,7 +30,6 @@ /* * save the current frame to file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - output file name * format - image type @@ -41,12 +40,11 @@ * * returns: error code */ -int save_frame_image(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename, int format); +int save_frame_image(v4l2_frame_buff_t *frame, const char *filename, int format); /* * save frame data to a jpeg file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - filename string * @@ -55,12 +53,11 @@ * * returns: error code */ -int save_image_jpeg(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename); +int save_image_jpeg(v4l2_frame_buff_t *frame, const char *filename); /* * save frame data to a bmp file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - filename string * @@ -69,12 +66,11 @@ * * returns: error code */ -int save_image_bmp(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename); +int save_image_bmp(v4l2_frame_buff_t *frame, const char *filename); /* * save frame data into a png file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - string with png filename name * @@ -83,6 +79,6 @@ * * returns: error code */ -int save_image_png(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename); +int save_image_png(v4l2_frame_buff_t *frame, const char *filename); #endif \ No newline at end of file diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image_jpeg.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image_jpeg.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image_jpeg.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image_jpeg.c 2016-04-25 16:35:21.000000000 +0000 @@ -979,7 +979,6 @@ /* Writing Marker Data */ tmp_optr = write_markers (jpeg_ctx, tmp_optr, huff); -#ifdef USE_PLANAR_YUV uint8_t *yuv422 = calloc(jpeg_ctx->image_width * jpeg_ctx->image_height * 2, sizeof(uint8_t)); if(yuv422 == NULL) { @@ -988,7 +987,6 @@ } yu12_to_yuyv(yuv422, input, jpeg_ctx->image_width, jpeg_ctx->image_height); tmp_iptr = yuv422; -#endif for (i=0; i < jpeg_ctx->vertical_mcus; i++) /* height /8 */ { @@ -1015,9 +1013,8 @@ } /* Close Routine */ -#ifdef USE_PLANAR_YUV free(yuv422); -#endif + tmp_optr = close_bitstream (jpeg_ctx, tmp_optr); size = tmp_optr - output; tmp_iptr = NULL; @@ -1029,20 +1026,16 @@ /* * save frame data to a jpeg file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - filename string * * asserts: - * vd is not null + * none * * returns: error code */ -int save_image_jpeg(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename) +int save_image_jpeg(v4l2_frame_buff_t *frame, const char *filename) { - /*assertions*/ - assert(vd != NULL); - int ret = E_OK; jpeg_encoder_ctx_t *jpeg_ctx = calloc(1, sizeof(jpeg_encoder_ctx_t)); @@ -1052,7 +1045,7 @@ exit(-1); } - uint8_t *jpeg = calloc((vd->format.fmt.pix.width * vd->format.fmt.pix.height) >> 1, sizeof(uint8_t)); + uint8_t *jpeg = calloc((frame->width * frame->height) >> 1, sizeof(uint8_t)); if(jpeg == NULL) { fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (save_image_jpeg): %s\n", strerror(errno)); @@ -1060,7 +1053,7 @@ } /* Initialization of JPEG control structure */ - initialization (jpeg_ctx, vd->format.fmt.pix.width, vd->format.fmt.pix.height); + initialization (jpeg_ctx, frame->width, frame->height); /* Initialization of Quantization Tables */ initialize_quantization_tables (jpeg_ctx); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image_png.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image_png.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/save_image_png.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/save_image_png.c 2016-04-25 16:35:21.000000000 +0000 @@ -214,22 +214,18 @@ /* * save frame data into a png file * args: - * vd - pointer to device data * frame - pointer to frame buffer * filename - string with png filename name * * asserts: - * vd is not null + * none * * returns: error code */ -int save_image_png(v4l2_dev_t *vd, v4l2_frame_buff_t *frame, const char *filename) +int save_image_png(v4l2_frame_buff_t *frame, const char *filename) { - /*assertions*/ - assert(vd != NULL); - - int width = vd->format.fmt.pix.width; - int height = vd->format.fmt.pix.height; + int width = frame->width; + int height = frame->height; uint8_t *rgb = calloc( width * height * 3, sizeof(uint8_t)); if(rgb == NULL) @@ -237,11 +233,8 @@ fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (save_image_png): %s\n", strerror(errno)); exit(-1); } -#ifdef USE_PLANAR_YUV + yu12_to_rgb24(rgb, frame->yuv_frame, width, height); -#else - yuyv2rgb(frame->yuv_frame, rgb, width, height); -#endif int ret = save_png(filename, width, height, rgb); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/soft_autofocus.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/soft_autofocus.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/soft_autofocus.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/soft_autofocus.c 2016-04-25 16:35:21.000000000 +0000 @@ -167,7 +167,7 @@ exit(-1); } - focus_ctx->focus_control = v4l2core_get_control_by_id(vd->has_focus_control_id); + focus_ctx->focus_control = v4l2core_get_control_by_id(vd, vd->has_focus_control_id); if(focus_ctx->focus_control == NULL) { @@ -402,10 +402,6 @@ for (i = 0; i < (height * width); ++i) { dataY[i]=(int16_t) *pimg++; // luma -#ifdef USE_PLANAR_YUV -#else - pimg++; //yuyv - jump over chroma samples -#endif } return (dataY); @@ -781,7 +777,7 @@ focus_ctx->focus = focus_ctx->left; /*start left*/ focus_ctx->focus_control->value = focus_ctx->focus; - if (v4l2core_set_control_value_by_id(focus_ctx->focus_control->control.id) != 0) + if (v4l2core_set_control_value_by_id(vd, focus_ctx->focus_control->control.id) != 0) fprintf(stderr, "V4L2_CORE: (sof_autofocus) couldn't set focus to %d\n", focus_ctx->focus); /*number of frames until focus is stable*/ @@ -814,7 +810,7 @@ if ((focus_ctx->focus != focus_ctx->last_focus)) { focus_ctx->focus_control->value = focus_ctx->focus; - if (v4l2core_set_control_value_by_id(focus_ctx->focus_control->control.id) != 0) + if (v4l2core_set_control_value_by_id(vd, focus_ctx->focus_control->control.id) != 0) fprintf(stderr, "V4L2_CORE: (sof_autofocus) couldn't set focus to %d\n", focus_ctx->focus); diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/uvc_h264.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/uvc_h264.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/uvc_h264.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/uvc_h264.c 2016-04-25 16:35:21.000000000 +0000 @@ -179,7 +179,12 @@ int err = 0; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_ENCODER_RESET, UVC_SET_CUR, &encoder_reset_req)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_ENCODER_RESET, + UVC_SET_CUR, + &encoder_reset_req)) < 0) fprintf(stderr, "V4L2_CORE: (UVCX_ENCODER_RESET) error: %s\n", strerror(errno)); return err; @@ -205,7 +210,12 @@ int err = 0; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_VIDEO_CONFIG_PROBE, query, uvcx_video_config)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_VIDEO_CONFIG_PROBE, + query, + uvcx_video_config)) < 0) fprintf(stderr, "V4L2_CORE: (UVCX_VIDEO_CONFIG_PROBE) error: %s\n", strerror(errno)); return err; @@ -229,7 +239,12 @@ int err = 0; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_VIDEO_CONFIG_COMMIT, UVC_SET_CUR, uvcx_video_config)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_VIDEO_CONFIG_COMMIT, + UVC_SET_CUR, + uvcx_video_config)) < 0) fprintf(stderr, "V4L2_CORE: (UVCX_VIDEO_CONFIG_COMMIT) error: %s\n", strerror(errno)); return err; @@ -287,7 +302,12 @@ uvcx_version_t uvcx_version; - if(v4l2core_query_xu_control(vd->h264_unit_id, UVCX_VERSION, UVC_GET_CUR, &uvcx_version) < 0) + if(v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_VERSION, + UVC_GET_CUR, + &uvcx_version) < 0) { if(verbosity > 0) printf("V4L2_CORE: device doesn't seem to support uvc H264 in unit_id %d\n", vd->h264_unit_id); @@ -320,7 +340,7 @@ if(verbosity > 0) printf("V4L2_CORE: checking muxed H264 format support\n"); - if(v4l2core_get_frame_format_index(V4L2_PIX_FMT_H264) >= 0) + if(v4l2core_get_frame_format_index(vd, V4L2_PIX_FMT_H264) >= 0) { if(verbosity > 0) printf("V4L2_CORE: H264 format already in list\n"); @@ -344,7 +364,7 @@ return; /*no XU support for h264*/ } - int mjpg_index = v4l2core_get_frame_format_index(V4L2_PIX_FMT_MJPEG); + int mjpg_index = v4l2core_get_frame_format_index(vd, V4L2_PIX_FMT_MJPEG); if(mjpg_index < 0) /*MJPG must be available for muxed uvc H264 streams*/ return; @@ -368,6 +388,7 @@ } vd->list_stream_formats[fmtind-1].format = V4L2_PIX_FMT_H264; + vd->list_stream_formats[fmtind-1].dec_support = 1; snprintf(vd->list_stream_formats[fmtind-1].fourcc , 5, "H264"); vd->list_stream_formats[fmtind-1].list_stream_cap = NULL; vd->list_stream_formats[fmtind-1].numb_res = 0; @@ -528,7 +549,12 @@ int err = E_OK; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_PICTURE_TYPE_CONTROL, UVC_SET_CUR, &picture_type_req)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_PICTURE_TYPE_CONTROL, + UVC_SET_CUR, + &picture_type_req)) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_PICTURE_TYPE_CONTROL) SET_CUR error: %s\n", strerror(errno)); } @@ -581,7 +607,12 @@ uvcx_rate_control_mode_t rate_control_mode_req; rate_control_mode_req.wLayerID = 0; - if((v4l2core_query_xu_control(vd->h264_unit_id, UVCX_RATE_CONTROL_MODE, query, &rate_control_mode_req)) < 0) + if((v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_RATE_CONTROL_MODE, + query, + &rate_control_mode_req)) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_RATE_CONTROL_MODE) query (%u) error: %s\n", query, strerror(errno)); return 0xff; @@ -619,7 +650,12 @@ int err = E_OK; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_RATE_CONTROL_MODE, UVC_SET_CUR, &rate_control_mode_req)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_RATE_CONTROL_MODE, + UVC_SET_CUR, + &rate_control_mode_req)) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_RATE_CONTROL_MODE) SET_CUR error: %s\n", strerror(errno)); } @@ -653,7 +689,12 @@ uvcx_temporal_scale_mode_t temporal_scale_mode_req; temporal_scale_mode_req.wLayerID = 0; - if(v4l2core_query_xu_control(vd->h264_unit_id, UVCX_TEMPORAL_SCALE_MODE, query, &temporal_scale_mode_req) < 0) + if(v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_TEMPORAL_SCALE_MODE, + query, + &temporal_scale_mode_req) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_TEMPORAL_SCALE_MODE) query (%u) error: %s\n", query, strerror(errno)); return 0xff; @@ -691,7 +732,12 @@ int err = 0; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_TEMPORAL_SCALE_MODE, UVC_SET_CUR, &temporal_scale_mode_req)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_TEMPORAL_SCALE_MODE, + UVC_SET_CUR, + &temporal_scale_mode_req)) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_TEMPORAL_SCALE_MODE) SET_CUR error: %s\n", strerror(errno)); } @@ -725,7 +771,12 @@ uvcx_spatial_scale_mode_t spatial_scale_mode_req; spatial_scale_mode_req.wLayerID = 0; - if(v4l2core_query_xu_control(vd->h264_unit_id, UVCX_SPATIAL_SCALE_MODE, query, &spatial_scale_mode_req) < 0) + if(v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_SPATIAL_SCALE_MODE, + query, + &spatial_scale_mode_req) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_SPATIAL_SCALE_MODE) query (%u) error: %s\n", query, strerror(errno)); return 0xff; @@ -763,7 +814,12 @@ int err = 0; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_SPATIAL_SCALE_MODE, UVC_SET_CUR, &spatial_scale_mode_req)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_SPATIAL_SCALE_MODE, + UVC_SET_CUR, + &spatial_scale_mode_req)) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_SPATIAL_SCALE_MODE) SET_CUR error: %s\n", strerror(errno)); } @@ -797,7 +853,12 @@ uvcx_framerate_config_t framerate_req; framerate_req.wLayerID = 0; - if(v4l2core_query_xu_control(vd->h264_unit_id, UVCX_FRAMERATE_CONFIG, query, &framerate_req) < 0) + if(v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_FRAMERATE_CONFIG, + query, + &framerate_req) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_FRAMERATE_CONFIG) query (%u) error: %s\n", query, strerror(errno)); return 0xffffffff; @@ -850,7 +911,12 @@ int err = 0; - if((err = v4l2core_query_xu_control(vd->h264_unit_id, UVCX_FRAMERATE_CONFIG, UVC_SET_CUR, &framerate_req)) < 0) + if((err = v4l2core_query_xu_control( + vd, + vd->h264_unit_id, + UVCX_FRAMERATE_CONFIG, + UVC_SET_CUR, + &framerate_req)) < 0) { fprintf(stderr, "V4L2_CORE: (UVCX_FRAMERATE_CONFIG) SET_CUR error: %s\n", strerror(errno)); } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_controls.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_controls.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_controls.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_controls.c 2016-04-25 16:35:21.000000000 +0000 @@ -33,6 +33,7 @@ #include #include "gviewv4l2core.h" +#include "v4l2_devices.h" #include "v4l2_controls.h" #include "v4l2_xu_ctrls.h" #include "../config.h" @@ -180,19 +181,18 @@ control->control.default_value, control->value); break; -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: printf("control[%d]:(int64) 0x%x '%s'\n",i ,control->control.id, control->name); - printf ("\tcurr:%" PRIu64 "\n", control->value64); + printf ("\tcurr:%" PRId64 "\n", control->value64); break; -#endif -#ifdef V4L2_CTRL_TYPE_STRING + case V4L2_CTRL_TYPE_STRING: printf("control[%d]:(str) 0x%x '%s'\n",i ,control->control.id, control->name); - printf ("\tmin:%d max:%d step:%d\n", - control->control.minimum, control->control.maximum, control->control.step); + printf ("\tmin:%d max:%d step:%d curr: %s\n", + control->control.minimum, control->control.maximum, + control->control.step, control->string); break; -#endif + case V4L2_CTRL_TYPE_BOOLEAN: printf("control[%d]:(bool) 0x%x '%s'\n",i ,control->control.id, control->name); printf ("\tdef:%d curr:%d\n", @@ -208,28 +208,27 @@ printf("\tmenu[%d]: [%d] -> '%s'\n", j, control->menu[j].index, control->menu_entry[j]); break; -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU case V4L2_CTRL_TYPE_INTEGER_MENU: printf("control[%d]:(intmenu) 0x%x '%s'\n",i ,control->control.id, control->name); printf("\tmin:%d max:%d def:%d curr:%d\n", control->control.minimum, control->control.maximum, control->control.default_value, control->value); for (j = 0; control->menu[j].index <= control->control.maximum; j++) - printf("\tmenu[%d]: [%d] -> %" PRId64 " (0x%" PRIx64 ")", j, control->menu[j].index, + printf("\tmenu[%d]: [%d] -> %" PRId64 " (0x%" PRIx64 ")\n", j, control->menu[j].index, (int64_t) control->menu[j].value, (int64_t) control->menu[j].value); break; -#endif + case V4L2_CTRL_TYPE_BUTTON: printf("control[%d]:(button) 0x%x '%s'\n",i ,control->control.id, control->name); break; -#ifdef V4L2_CTRL_TYPE_BITMASK case V4L2_CTRL_TYPE_BITMASK: printf("control[%d]:(bitmask) 0x%x '%s'\n",i ,control->control.id, control->name); - printf("\tmax:%d def:%d curr:%d\n", - control->control.maximum, control->control.default_value, control->value); -#endif + printf("\tmin:%x max:%x def:%x curr:%x\n", + control->control.minimum, control->control.maximum, + control->control.default_value, control->value); + default: printf("control[%d]:(unknown - 0x%x) 0x%x '%s'\n",i ,control->control.type, control->control.id, control->control.name); @@ -275,8 +274,7 @@ * vd - pointer to video device data * * asserts: - * vd is not null - * device_list->list_devices is not null + * none * * returns: unit id or 0 if none */ @@ -289,6 +287,50 @@ return get_guid_unit_id (vd, guid); } +/* + * subscribe for v4l2 control events + * args: + * vd - pointer to video device data + * control_id - id of control to subscribe events for + * + * asserts: + * vd is not null + * + * return: none + */ +void v4l2_subscribe_control_events(v4l2_dev_t *vd, unsigned int control_id) +{ + vd->evsub.type = V4L2_EVENT_CTRL; + vd->evsub.id = control_id; + + int ret = xioctl(vd->fd, VIDIOC_SUBSCRIBE_EVENT, &vd->evsub); + + if(ret) + fprintf(stderr, "V4L2_CORE: failed to subscribe events for control 0x%08x: %s\n", + control_id, strerror(errno)); +} + +/* + * unsubscribev4l2 control events + * args: + * vd - pointer to video device data + * + * asserts: + * vd is not null + * + * return: none + */ +void v4l2_unsubscribe_control_events(v4l2_dev_t *vd) +{ + vd->evsub.type = V4L2_EVENT_ALL; + vd->evsub.id = 0; + + int ret = xioctl(vd->fd, VIDIOC_UNSUBSCRIBE_EVENT, &vd->evsub); + + if(ret) + fprintf(stderr, "V4L2_CORE: failed to unsubscribe events: %s\n", + strerror(errno)); +} /* * add control to control list @@ -325,10 +367,7 @@ //check menu items if needed if(queryctrl->type == V4L2_CTRL_TYPE_MENU -#ifdef V4L2_CTRL_TYPE_INTEGER_MENU - || queryctrl->type == V4L2_CTRL_TYPE_INTEGER_MENU -#endif - ) + || queryctrl->type == V4L2_CTRL_TYPE_INTEGER_MENU ) { int i = 0; struct v4l2_querymenu querymenu={0}; @@ -342,12 +381,12 @@ continue; old_menu = menu; - + if(!menu) menu = calloc(i+1, sizeof(struct v4l2_querymenu)); else menu = realloc(menu, (i+1) * sizeof(struct v4l2_querymenu)); - + if(menu == NULL) { /*since we exit on failure there was no need to free any previous */ @@ -362,7 +401,7 @@ memcpy(&(menu[i]), &querymenu, sizeof(struct v4l2_querymenu)); i++; } - + old_menu = menu; /*last entry (NULL name)*/ @@ -370,18 +409,18 @@ menu = calloc(i+1, sizeof(struct v4l2_querymenu)); else menu = realloc(menu, (i+1) * sizeof(struct v4l2_querymenu)); - + if(menu == NULL) { /*since we exit on failure there was no need to free any previous */ /* menu allocation (realloc), but silence cppcheck anyway */ if(old_menu) free(old_menu); - + fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (add_control): %s\n", strerror(errno)); exit(-1); } - + menu[i].id = querymenu.id; menu[i].index = queryctrl->maximum+1; if(queryctrl->type == V4L2_CTRL_TYPE_MENU) @@ -431,7 +470,6 @@ control->menu_entries = 0; control->menu_entry = NULL; } -#ifdef V4L2_CTRL_TYPE_STRING //allocate a string with max size if needed if(control->control.type == V4L2_CTRL_TYPE_STRING) { @@ -443,7 +481,6 @@ } } else -#endif control->string = NULL; if(*first != NULL) @@ -457,6 +494,9 @@ *current = *first; } + //subscribe control events + v4l2_subscribe_control_events(vd, queryctrl->id); + return control; } @@ -574,7 +614,7 @@ { case V4L2_CID_EXPOSURE_AUTO: { - v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id(vd, id); if(ctrl_this == NULL) break; @@ -583,16 +623,16 @@ case V4L2_EXPOSURE_AUTO: { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_ABSOLUTE ); + vd, V4L2_CID_IRIS_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_RELATIVE ); + vd, V4L2_CID_IRIS_RELATIVE ); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_EXPOSURE_ABSOLUTE ); + vd, V4L2_CID_EXPOSURE_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; } @@ -601,15 +641,15 @@ case V4L2_EXPOSURE_APERTURE_PRIORITY: { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_EXPOSURE_ABSOLUTE ); + vd, V4L2_CID_EXPOSURE_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_ABSOLUTE ); + vd, V4L2_CID_IRIS_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_RELATIVE ); + vd, V4L2_CID_IRIS_RELATIVE ); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); } @@ -618,16 +658,16 @@ case V4L2_EXPOSURE_SHUTTER_PRIORITY: { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_ABSOLUTE ); + vd, V4L2_CID_IRIS_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_RELATIVE ); + vd, V4L2_CID_IRIS_RELATIVE ); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_EXPOSURE_ABSOLUTE ); + vd, V4L2_CID_EXPOSURE_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); } @@ -636,15 +676,15 @@ default: { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_EXPOSURE_ABSOLUTE ); + vd, V4L2_CID_EXPOSURE_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_ABSOLUTE ); + vd, V4L2_CID_IRIS_ABSOLUTE ); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_IRIS_RELATIVE ); + vd, V4L2_CID_IRIS_RELATIVE ); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); } @@ -655,30 +695,30 @@ case V4L2_CID_FOCUS_AUTO: { - v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id( id ); + v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id(vd, id); if(ctrl_this == NULL) break; if(ctrl_this->value > 0) { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_FOCUS_ABSOLUTE); + vd, V4L2_CID_FOCUS_ABSOLUTE); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_FOCUS_RELATIVE); + vd, V4L2_CID_FOCUS_RELATIVE); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; } else { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_FOCUS_ABSOLUTE); + vd, V4L2_CID_FOCUS_ABSOLUTE); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_FOCUS_RELATIVE); + vd, V4L2_CID_FOCUS_RELATIVE); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); } @@ -687,20 +727,20 @@ case V4L2_CID_HUE_AUTO: { - v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id( id ); + v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id(vd, id); if(ctrl_this == NULL) break; if(ctrl_this->value > 0) { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_HUE); + vd, V4L2_CID_HUE); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; } else { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_HUE); + vd, V4L2_CID_HUE); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); } @@ -709,37 +749,37 @@ case V4L2_CID_AUTO_WHITE_BALANCE: { - v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id( id ); + v4l2_ctrl_t *ctrl_this = v4l2core_get_control_by_id(vd, id); if(ctrl_this == NULL) break; if(ctrl_this->value > 0) { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_WHITE_BALANCE_TEMPERATURE); + vd, V4L2_CID_WHITE_BALANCE_TEMPERATURE); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_BLUE_BALANCE); + vd, V4L2_CID_BLUE_BALANCE); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_RED_BALANCE); + vd, V4L2_CID_RED_BALANCE); if (ctrl_that) ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; } else { v4l2_ctrl_t *ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_WHITE_BALANCE_TEMPERATURE); + vd, V4L2_CID_WHITE_BALANCE_TEMPERATURE); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_BLUE_BALANCE); + vd, V4L2_CID_BLUE_BALANCE); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); ctrl_that = v4l2core_get_control_by_id( - V4L2_CID_RED_BALANCE); + vd, V4L2_CID_RED_BALANCE); if (ctrl_that) ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); } @@ -788,11 +828,11 @@ /*asserts*/ assert(vd != NULL); - v4l2_ctrl_t *current = v4l2core_get_control_by_id( id); + v4l2_ctrl_t *current = v4l2core_get_control_by_id(vd, id); if(current && ((id == V4L2_CID_FOCUS_AUTO) || (id == V4L2_CID_HUE_AUTO))) { current->value = 0; - v4l2core_set_control_value_by_id( id); + v4l2core_set_control_value_by_id(vd, id); } } @@ -832,19 +872,17 @@ continue; clist[count].id = current->control.id; -#ifdef V4L2_CTRL_TYPE_STRING clist[count].size = 0; if(current->control.type == V4L2_CTRL_TYPE_STRING) { - clist[count].size = current->control.maximum; - clist[count].string = (char *) calloc(clist[count].size + 1, sizeof(char)); + clist[count].size = current->control.maximum + 1; + clist[count].string = (char *) calloc(clist[count].size, sizeof(char)); if(clist[count].string == NULL) { fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (get_v4l2_control_values): %s\n", strerror(errno)); exit(-1); } } -#endif count++; if((current->next == NULL) || (current->next->cclass != current->cclass)) @@ -860,13 +898,8 @@ struct v4l2_control ctrl; /*get the controls one by one*/ if( current->cclass == V4L2_CTRL_CLASS_USER -#ifdef V4L2_CTRL_TYPE_STRING && current->control.type != V4L2_CTRL_TYPE_STRING -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 - && current->control.type != V4L2_CTRL_TYPE_INTEGER64 -#endif - ) + && current->control.type != V4L2_CTRL_TYPE_INTEGER64) { fprintf(stderr, "V4L2_CORE: using VIDIOC_G_CTRL for user class controls\n"); for(i=0; i < count; i++) @@ -898,7 +931,7 @@ //fill in the values on the control list for(i=0; icontrol.type) { -#ifdef V4L2_CTRL_TYPE_STRING + case V4L2_CTRL_TYPE_STRING: { /* * string gets set on VIDIOC_G_EXT_CTRLS * add the maximum size to value */ - unsigned len = clist[i].size; + unsigned len = strlen(clist[i].string); unsigned max_len = ctrl->control.maximum; - strncpy(ctrl->string, clist[i].string, max_len); + strncpy(ctrl->string, clist[i].string, max_len + 1); if(len > max_len) { - ctrl->string[max_len] = 0; //Null terminated + ctrl->string[max_len + 1] = 0; //Null terminated fprintf(stderr, "V4L2_CORE: control (0x%08x) returned string size of %d when max is %d\n", ctrl->control.id, len, max_len); } @@ -929,7 +962,6 @@ clist[i].string = NULL; break; } -#endif case V4L2_CTRL_TYPE_INTEGER64: ctrl->value64 = clist[i].value64; break; @@ -996,7 +1028,7 @@ assert(vd != NULL); assert(vd->fd > 0); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id ); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(vd, id); int ret = 0; if(!control) @@ -1005,13 +1037,8 @@ return (-1); if( control->cclass == V4L2_CTRL_CLASS_USER -#ifdef V4L2_CTRL_TYPE_STRING && control->control.type != V4L2_CTRL_TYPE_STRING -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 - && control->control.type != V4L2_CTRL_TYPE_INTEGER64 -#endif - ) + && control->control.type != V4L2_CTRL_TYPE_INTEGER64) { struct v4l2_control ctrl; ctrl.id = control->control.id; @@ -1028,19 +1055,17 @@ struct v4l2_ext_controls ctrls = {0}; struct v4l2_ext_control ctrl = {0}; ctrl.id = control->control.id; -#ifdef V4L2_CTRL_TYPE_STRING ctrl.size = 0; if(control->control.type == V4L2_CTRL_TYPE_STRING) { - ctrl.size = control->control.maximum; - ctrl.string = (char *) calloc(ctrl.size + 1, sizeof(char)); + ctrl.size = control->control.maximum + 1; + ctrl.string = (char *) calloc(ctrl.size, sizeof(char)); if(ctrl.string == NULL) { fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (v4l2core_get_control_value_by_id): %s\n", strerror(errno)); exit(-1); } } -#endif ctrls.ctrl_class = control->cclass; ctrls.count = 1; ctrls.controls = &ctrl; @@ -1052,21 +1077,9 @@ { switch(control->control.type) { -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING: { - unsigned len = ctrl.size; - unsigned max_len = control->control.maximum; - - strncpy(control->string, ctrl.string, max_len); - if(len > max_len) - { - control->value = max_len; - control->string[max_len] = 0; //Null terminated - fprintf(stderr, "V4L2_CORE: control (0x%08x) returned string size of %d when max is %d\n", - control->control.id, len, max_len); - } - + strncpy(control->string, ctrl.string, ctrl.size); //clean up free(ctrl.string); @@ -1074,12 +1087,9 @@ break; } -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: control->value64 = ctrl.value64; break; -#endif default: control->value = ctrl.value; @@ -1136,7 +1146,6 @@ clist[count].id = current->control.id; switch (current->control.type) { -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING: { unsigned len = strlen(current->string); @@ -1144,26 +1153,25 @@ if(len > max_len) { - clist[count].size = max_len; - clist[count].string = (char *) calloc(max_len, sizeof(char)); + clist[count].size = max_len + 1; + clist[count].string = (char *) calloc(max_len + 1, sizeof(char)); if(clist[count].string == NULL) { fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (set_v4l2_control_values): %s\n", strerror(errno)); exit(-1); } clist[count].string = strncpy(clist[count].string, current->string, max_len); - clist[count].string[max_len - 1] = '/0'; /*NULL terminated*/ + clist[count].string[max_len + 1] = 0; /*NULL terminated*/ fprintf(stderr, "V4L2_CORE: control (0x%08x) trying to set string size of %d when max is %d (clip)\n", current->control.id, len, max_len); } else { - clist[count].size = len; + clist[count].size = len + 1; clist[count].string = (char *) strdup(current->string); } break; } -#endif case V4L2_CTRL_TYPE_INTEGER64: clist[count].value64 = current->value64; break; @@ -1188,13 +1196,8 @@ struct v4l2_control ctrl; /*set the controls one by one*/ if( current->cclass == V4L2_CTRL_CLASS_USER -#ifdef V4L2_CTRL_TYPE_STRING && current->control.type != V4L2_CTRL_TYPE_STRING -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 - && current->control.type != V4L2_CTRL_TYPE_INTEGER64 -#endif - ) + && current->control.type != V4L2_CTRL_TYPE_INTEGER64) { fprintf(stderr, "V4L2_CORE: using VIDIOC_S_CTRL for user class controls\n"); for(i=0;i < count; i++) @@ -1204,7 +1207,7 @@ ret = xioctl(vd->fd, VIDIOC_S_CTRL, &ctrl); if(ret) { - v4l2_ctrl_t *ctrl = v4l2core_get_control_by_id(clist[i].id); + v4l2_ctrl_t *ctrl = v4l2core_get_control_by_id(vd, clist[i].id); if(ctrl) fprintf(stderr, "V4L2_CORE: control(0x%08x) \"%s\" failed to set (error %i)\n", clist[i].id, ctrl->control.name, ret); @@ -1224,7 +1227,7 @@ ctrls.controls = &clist[i]; ret = xioctl(vd->fd, VIDIOC_S_EXT_CTRLS, &ctrls); - v4l2_ctrl_t *ctrl = v4l2core_get_control_by_id(clist[i].id); + v4l2_ctrl_t *ctrl = v4l2core_get_control_by_id(vd, clist[i].id); if(ret) { @@ -1235,13 +1238,11 @@ fprintf(stderr, "V4L2_CORE: control(0x%08x) failed to set (error %i)\n", clist[i].id, ret); } -#ifdef V4L2_CTRL_TYPE_STRING if(ctrl && ctrl->control.type == V4L2_CTRL_TYPE_STRING) { free(clist[i].string); //free allocated string clist[i].string = NULL; } -#endif } } } @@ -1287,14 +1288,10 @@ switch (current->control.type) { -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING: /* do string controls have a default value?*/ break; -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: /* do int64 controls have a default value?*/ break; -#endif default: /*if its one of the special auto controls disable it first*/ disable_special_auto (vd, current->control.id); @@ -1328,14 +1325,14 @@ assert(vd != NULL); assert(vd->fd > 0); - v4l2_ctrl_t *control = v4l2core_get_control_by_id(id); + v4l2_ctrl_t *control = v4l2core_get_control_by_id(vd, id); int ret = 0; if(!control) return (-1); if(control->control.flags & V4L2_CTRL_FLAG_READ_ONLY) return (-1); - + if((id == V4L2_CID_PAN_RELATIVE || id == V4L2_CID_TILT_RELATIVE) && vd->pantilt_unit_id > 0) { @@ -1345,16 +1342,14 @@ pantilt |= (int16_t) control->value; else pantilt |= ((int16_t) control->value) << 16; - + return query_xu_control(vd, vd->pantilt_unit_id, 1, UVC_SET_CUR, &pantilt); } - + if( control->cclass == V4L2_CTRL_CLASS_USER -#ifdef V4L2_CTRL_TYPE_STRING && control->control.type != V4L2_CTRL_TYPE_STRING -#endif && control->control.type != V4L2_CTRL_TYPE_INTEGER64) { //using VIDIOC_G_CTRL for user class controls @@ -1371,7 +1366,6 @@ ctrl.id = control->control.id; switch (control->control.type) { -#ifdef V4L2_CTRL_TYPE_STRING case V4L2_CTRL_TYPE_STRING: { unsigned len = strlen(control->string); @@ -1379,31 +1373,28 @@ if(len > max_len) { - ctrl.size = max_len; - ctrl.string = (char *) calloc(max_len, sizeof(char)); + ctrl.size = max_len + 1; + ctrl.string = (char *) calloc(max_len + 1, sizeof(char)); if(ctrl.string == NULL) { fprintf(stderr, "V4L2_CORE: FATAL memory allocation failure (v4l2core_set_control_value_by_id): %s\n", strerror(errno)); exit(-1); } ctrl.string = strncpy(ctrl.string, control->string, max_len); - ctrl.string[max_len -1] = '/0'; /*NULL terminated*/ + ctrl.string[max_len + 1] = 0; /*NULL terminated*/ fprintf(stderr, "V4L2_CORE: control (0x%08x) trying to set string size of %d when max is %d (clip)\n", control->control.id, len, max_len); } else { - ctrl.size = len; + ctrl.size = len + 1; ctrl.string = (char *) strdup(control->string); } break; } -#endif -#ifdef V4L2_CTRL_TYPE_INTEGER64 case V4L2_CTRL_TYPE_INTEGER64: ctrl.value64 = control->value64; break; -#endif default: ctrl.value = control->value; break; @@ -1415,13 +1406,11 @@ if(ret) printf("control id: 0x%08x failed to set (error %i)\n", ctrl.id, ret); -#ifdef V4L2_CTRL_TYPE_STRING if(control->control.type == V4L2_CTRL_TYPE_STRING) { free(ctrl.string); //clean up string allocation ctrl.string = NULL; } -#endif } //update real value @@ -1444,7 +1433,7 @@ { /*asserts*/ assert(vd != NULL); - + if(vd->list_device_controls == NULL) { return; @@ -1469,4 +1458,7 @@ first = next; } vd->list_device_controls = NULL; + + //unsubscibe control events + v4l2_unsubscribe_control_events(vd); } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_controls.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_controls.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_controls.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_controls.h 2016-04-25 16:35:21.000000000 +0000 @@ -40,6 +40,31 @@ int enumerate_v4l2_control(v4l2_dev_t *vd); /* + * subscribe for v4l2 control events + * args: + * vd - pointer to video device data + * control_id - id of control to subscribe events for + * + * asserts: + * vd is not null + * + * return: none + */ +void v4l2_subscribe_control_events(v4l2_dev_t *vd, unsigned int control_id); + +/* + * unsubscribev4l2 control events + * args: + * vd - pointer to video device data + * + * asserts: + * vd is not null + * + * return: none + */ +void v4l2_unsubscribe_control_events(v4l2_dev_t *vd); + +/* * return the control associated to id from device list * args: * vd - pointer to video device data diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_core.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_core.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_core.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_core.c 2016-04-25 16:35:21.000000000 +0000 @@ -59,9 +59,8 @@ #ifndef GETTEXT_PACKAGE_V4L2CORE #define GETTEXT_PACKAGE_V4L2CORE "gview_v4l2core" #endif -/*video device data mutex*/ -static __MUTEX_TYPE mutex = __STATIC_MUTEX_INIT; -#define __PMUTEX &mutex + +#define __PMUTEX &(vd->mutex) /*verbosity (global scope)*/ int verbosity = 0; @@ -71,7 +70,6 @@ static int my_width = 0; static int my_height = 0; -static double real_fps = 0.0; static uint64_t fps_ref_ts = 0; static uint32_t fps_frame_count = 0; @@ -81,8 +79,6 @@ static int frame_queue_size = 1; /*just one frame in queue (enough for a single thread)*/ -v4l2_dev_t* vd = NULL; /*pointer to device data*/ - /* * ioctl with a number of retries in the case of I/O failure * args: @@ -115,9 +111,48 @@ } /* + * v4l2core constructor (called before dlopen or main) + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void __attribute__ ((constructor)) v4l2core_init() +{ + //initialize device list (with udev monitoring) + v4l2core_init_device_list(); + + /*set defaults*/ + frame_queue_size = 1; + disable_libv4l2 = 0; + +} + +/* + * v4l2core destructor (called before dlclose os exit) + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void __attribute__ ((destructor)) v4l2core_fini() +{ + //close and free the device list + if(verbosity > 2) + printf("V4L2_CORE: closing device list\n"); + v4l2core_close_v4l2_device_list(); +} + +/* * Query video device capabilities and supported formats * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null @@ -125,7 +160,7 @@ * * returns: error code (E_OK) */ -static int check_v4l2_dev() +static int check_v4l2_dev(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -195,14 +230,14 @@ /* * unmaps v4l2 buffers * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code (0- E_OK) */ -static int unmap_buff() +static int unmap_buff(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -234,14 +269,14 @@ /* * maps v4l2 buffers * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code (0- E_OK) */ -static int map_buff() +static int map_buff(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -277,14 +312,14 @@ /* * Query and map buffers * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code (0- E_OK) */ -static int query_buff() +static int query_buff(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -330,27 +365,27 @@ vd->buff_offset[i] = vd->buf.m.offset; } // map the new buffers - if(map_buff() != 0) + if(map_buff(vd) != 0) ret = E_MMAP_ERR; break; } for(i = 0; i < vd->frame_queue_size; ++i) vd->frame_queue[i].raw_frame_max_size = vd->buf.length; - + return ret; } /* * Queue Buffers * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code (0- E_OK) */ -static int queue_buff() +static int queue_buff(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -393,14 +428,14 @@ /* * do a VIDIOC_S_PARM ioctl for setting frame rate * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code */ -static int do_v4l2_framerate_update() +static int do_v4l2_framerate_update(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); @@ -440,7 +475,7 @@ /* * sets video device frame rate * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null @@ -448,7 +483,7 @@ * returns: VIDIOC_S_PARM ioctl result value * (sets vd->fps_denom and vd->fps_num to device value) */ -static int set_v4l2_framerate () +static int set_v4l2_framerate (v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -466,22 +501,22 @@ /*try to stop the video stream*/ if(stream_status == STRM_OK) - v4l2core_stop_stream(); + v4l2core_stop_stream(vd); switch(vd->cap_meth) { case IO_READ: - ret = do_v4l2_framerate_update(); + ret = do_v4l2_framerate_update(vd); break; case IO_MMAP: if(stream_status == STRM_OK) { /*unmap the buffers*/ - unmap_buff(); + unmap_buff(vd); } - ret = do_v4l2_framerate_update(); + ret = do_v4l2_framerate_update(vd); /* * For uvc muxed H264 stream * since we are restarting the video stream and codec values will be reset @@ -498,13 +533,13 @@ if(stream_status == STRM_OK) { - query_buff(); /*also mmaps the buffers*/ - queue_buff(); + query_buff(vd); /*also mmaps the buffers*/ + queue_buff(vd); } /*try to start the video stream*/ if(stream_status == STRM_OK) - v4l2core_start_stream(); + v4l2core_start_stream(vd); /*unlock the mutex*/ __UNLOCK_MUTEX( __PMUTEX ); @@ -515,14 +550,14 @@ /* * checks if frame data is available * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code (0- E_OK) */ -static int check_frame_available() +static int check_frame_available(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); @@ -541,7 +576,7 @@ if(stream_state != STRM_OK) { if(stream_state == STRM_REQ_STOP) - v4l2core_stop_stream(); + v4l2core_stop_stream(vd); fprintf(stderr, "V4L2_CORE: (get_v4l2_frame) video stream must be started first\n"); return E_NO_STREAM_ERR; @@ -552,7 +587,7 @@ { if(verbosity > 2) printf("V4L2_CORE: fps change request detected\n"); - set_v4l2_framerate(); + set_v4l2_framerate(vd); flag_fps_change = 0; } @@ -641,16 +676,17 @@ } /* - * Set v4l2 capture method + * set v4l2 capture method to use * args: + * vd - pointer to v4l2 device handler * method - capture method (IO_READ or IO_MMAP) * * asserts: * vd is not null * - * returns: VIDIOC_STREAMON ioctl result (E_OK or E_STREAMON_ERR) + * returns: none */ -void v4l2core_set_capture_method(int method) +void v4l2core_set_capture_method(v4l2_dev_t *vd, int method) { /*asserts*/ assert(vd != NULL); @@ -661,6 +697,7 @@ /* * define fps values * args: + * vd - pointer to v4l2 device handler * num - fps numerator * denom - fps denominator * @@ -669,7 +706,7 @@ * * returns - void */ -void v4l2core_define_fps(int num, int denom) +void v4l2core_define_fps(v4l2_dev_t *vd, int num, int denom) { /*assertions*/ assert(vd != NULL); @@ -686,14 +723,14 @@ /* * get requested fps numerator * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns - requested fps numerator */ -int v4l2core_get_fps_num() +int v4l2core_get_fps_num(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -704,14 +741,14 @@ /* * get requested fps denominator * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns - requested fps denominator */ -int v4l2core_get_fps_denom() +int v4l2core_get_fps_denom(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -722,29 +759,32 @@ /* * get real fps * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * * returns: double with real fps value */ -double v4l2core_get_realfps() +double v4l2core_get_realfps(v4l2_dev_t *vd) { - return(real_fps); + /*assertions*/ + assert(vd != NULL); + + return(vd->real_fps); } /* - * get videodevice string + * get videodevice name * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * none + * vd is not null * - * return: videodevice string + * return: string with videodevice name */ -const char *v4l2core_get_videodevice() +const char *v4l2core_get_videodevice(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -755,14 +795,14 @@ /* * get device available number of formats * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns - number of formats for device */ -int v4l2core_get_number_formats() +int v4l2core_get_number_formats(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -773,14 +813,14 @@ /* * get has_pantilt_id flag * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: has_pantilt_id flag */ -int v4l2core_has_pantilt_id() +int v4l2core_has_pantilt_id(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -791,14 +831,14 @@ /* * get has_focus_control_id flag * args: - * none + * vd -pointer to device data * * asserts: * vd is not null * * returns: has_focus_control_id flag */ -int v4l2core_has_focus_control_id() +int v4l2core_has_focus_control_id(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -809,6 +849,7 @@ /* * sets bayer pixel order * args: + * vd - pointer to v4l2 device handler * order - pixel order * * asserts: @@ -816,7 +857,7 @@ * * returns - void */ -void v4l2core_set_bayer_pix_order(uint8_t order) +void v4l2core_set_bayer_pix_order(v4l2_dev_t *vd, uint8_t order) { /*assertions*/ assert(vd != NULL); @@ -827,14 +868,14 @@ /* * gets bayer pixel order * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns - bayer pixel order */ -uint8_t v4l2core_get_bayer_pix_order() +uint8_t v4l2core_get_bayer_pix_order(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -845,6 +886,7 @@ /* * flags bayer mode * args: + * vd -pointer to device data * flag - 1 if we are streaming bayer data (0 otherwise) * * asserts: @@ -852,7 +894,7 @@ * * returns - void */ -void v4l2core_set_isbayer(uint8_t flag) +void v4l2core_set_isbayer(v4l2_dev_t *vd, uint8_t flag) { /*assertions*/ assert(vd != NULL); @@ -863,14 +905,14 @@ /* * gets bayer pixel order * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns - isbayer flag */ -uint8_t v4l2core_get_isbayer() +uint8_t v4l2core_get_isbayer(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -881,14 +923,14 @@ /* * gets current device index * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns - device index */ -int v4l2core_get_this_device_index() +int v4l2core_get_this_device_index(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -899,14 +941,14 @@ /* * Start video stream * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: VIDIOC_STREAMON ioctl result (E_OK or E_STREAMON_ERR) */ -int v4l2core_start_stream() +int v4l2core_start_stream(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -947,14 +989,14 @@ /* * request video stream to stop * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: error code (0 -OK) */ -int v4l2core_request_stop_stream() +int v4l2core_request_stop_stream(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -973,14 +1015,14 @@ /* * Stops the video stream * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: VIDIOC_STREAMON ioctl result (E_OK) */ -int v4l2core_stop_stream() +int v4l2core_stop_stream(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1014,11 +1056,11 @@ /* * get next ready flaged frame from queue * args: - * none + * vd - pointer to v4l2 device handler * * returns: index of frame queue or -1 if none */ -static int get_next_ready_frame() +static int get_next_ready_frame(v4l2_dev_t *vd) { int i = 0; for(i=0; iframe_queue_size; ++i) @@ -1033,14 +1075,14 @@ /* * process input buffer * args: - * none + * vd - pointer to v4l2 device handler * * returns: frame_queue index */ -static int process_input_buffer() +static int process_input_buffer(v4l2_dev_t *vd) { /*get next available frame in queue*/ - int qind = get_next_ready_frame(); + int qind = get_next_ready_frame(vd); if(verbosity > 2) printf("V4L2_CORE: process frame queue index %i\n", qind); @@ -1082,7 +1124,7 @@ if(verbosity > 2) printf("V4L2CORE: (fps) ref:%"PRId64" ts:%"PRId64" frames:%i\n", fps_ref_ts, vd->frame_queue[qind].timestamp, fps_frame_count); - real_fps = (double) (fps_frame_count * NSEC_PER_SEC) / (double) (vd->frame_queue[qind].timestamp - fps_ref_ts); + vd->real_fps = (double) (fps_frame_count * NSEC_PER_SEC) / (double) (vd->frame_queue[qind].timestamp - fps_ref_ts); fps_frame_count = 0; fps_ref_ts = vd->frame_queue[qind].timestamp; } @@ -1093,14 +1135,14 @@ /* * gets the next video frame (must be released after processing) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: pointer frame buffer (NULL on error) */ -v4l2_frame_buff_t *v4l2core_get_frame() +v4l2_frame_buff_t *v4l2core_get_frame(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); @@ -1110,7 +1152,7 @@ request_h264_frame_type(vd, PICTURE_TYPE_IDR_FULL); int res = 0; - int ret = check_frame_available(); + int ret = check_frame_available(vd); int qind = -1; @@ -1129,9 +1171,9 @@ { vd->buf.bytesused = v4l2_read (vd->fd, vd->mem[vd->buf.index], vd->buf.length); bytes_used = vd->buf.bytesused; - + if(bytes_used > 0) - qind = process_input_buffer(); + qind = process_input_buffer(vd); } else res = -1; /*unlock the mutex*/ @@ -1200,7 +1242,7 @@ ret = xioctl(vd->fd, VIDIOC_DQBUF, &vd->buf); if(!ret) - qind = process_input_buffer(); + qind = process_input_buffer(vd); else fprintf(stderr, "V4L2_CORE: (VIDIOC_DQBUF) Unable to dequeue buffer: %s\n", strerror(errno)); } @@ -1215,13 +1257,17 @@ if(qind < 0 || qind >= vd->frame_queue_size) return NULL; - + + vd->frame_queue[qind].width = vd->format.fmt.pix.width; + vd->frame_queue[qind].height = vd->format.fmt.pix.height; + return &vd->frame_queue[qind]; } /* * releases the video frame (so that it can be reused by the driver) * args: + * vd - pointer to v4l2 device handler * frame - pointer to decoded frame buffer * * asserts: @@ -1229,7 +1275,7 @@ * * returns: error code (E_OK) */ -int v4l2core_release_frame(v4l2_frame_buff_t *frame) +int v4l2core_release_frame(v4l2_dev_t *vd, v4l2_frame_buff_t *frame) { int ret = 0; @@ -1262,19 +1308,19 @@ if (ret < 0) return E_QBUF_ERR; - return E_OK; + return E_OK; } /* * gets the next video frame and decodes it * args: - * none + * vd - pointer to v4l2 device handler * * returns: pointer to decoded frame buffer ( NULL on error) */ -v4l2_frame_buff_t *v4l2core_get_decoded_frame() +v4l2_frame_buff_t *v4l2core_get_decoded_frame(v4l2_dev_t *vd) { - v4l2_frame_buff_t *frame = v4l2core_get_frame(); + v4l2_frame_buff_t *frame = v4l2core_get_frame(vd); if(frame != NULL) { /*decode the raw frame*/ @@ -1290,6 +1336,7 @@ /* * Try/Set device video stream format * args: + * vd -pointer to device data * width - requested video frame width * height - requested video frame height * pixelformat - requested v4l2 pixelformat @@ -1299,7 +1346,8 @@ * * returns: error code ( E_OK) */ -static int try_video_stream_format(int width, int height, int pixelformat) +static int try_video_stream_format(v4l2_dev_t *vd, + int width, int height, int pixelformat) { /*assertions*/ assert(vd != NULL); @@ -1314,7 +1362,7 @@ uint8_t stream_status = vd->streaming; if(stream_status == STRM_OK) - v4l2core_stop_stream(); + v4l2core_stop_stream(vd); if(vd->requested_fmt == V4L2_PIX_FMT_H264 && h264_get_support() == H264_MUXED) { @@ -1407,7 +1455,7 @@ return E_REQBUFS_ERR; } /* map the buffers */ - if (query_buff()) + if (query_buff(vd)) { fprintf(stderr, "V4L2_CORE: (VIDIOC_QBUFS) Unable to query buffers: %s\n", strerror(errno)); /* @@ -1427,13 +1475,13 @@ } /* Queue the buffers */ - if (queue_buff()) + if (queue_buff(vd)) { fprintf(stderr, "V4L2_CORE: (VIDIOC_QBUFS) Unable to queue buffers: %s\n", strerror(errno)); /*delete requested buffers */ if(verbosity > 0) printf("V4L2_CORE: cleaning requestbuffers\n"); - unmap_buff(); + unmap_buff(vd); memset(&vd->rb, 0, sizeof(struct v4l2_requestbuffers)); vd->rb.count = 0; vd->rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -1445,13 +1493,13 @@ } /*this locks the mutex (can't be called while the mutex is being locked)*/ - v4l2core_request_framerate_update(); + v4l2core_request_framerate_update(vd); if(stream_status == STRM_OK) - v4l2core_start_stream(); + v4l2core_start_stream(vd); /*update the current framerate for the device*/ - v4l2core_get_framerate(); + v4l2core_get_framerate(vd); return E_OK; } @@ -1459,14 +1507,14 @@ /* * get frame width * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: frame width */ -int v4l2core_get_frame_width() +int v4l2core_get_frame_width(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1477,14 +1525,14 @@ /* * get frame height * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: frame height */ -int v4l2core_get_frame_height() +int v4l2core_get_frame_height(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1495,14 +1543,14 @@ /* * get requested frame format * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: requested frame format */ -int v4l2core_get_requested_frame_format() +int v4l2core_get_requested_frame_format(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); @@ -1513,6 +1561,7 @@ /* * prepare new format * args: + * vd - pointer to v4l2 device handler * new_format - new format * * asserts: @@ -1520,12 +1569,12 @@ * * returns: none */ -void v4l2core_prepare_new_format(int new_format) +void v4l2core_prepare_new_format(v4l2_dev_t *vd, int new_format) { /*asserts*/ assert(vd != NULL); - int format_index = v4l2core_get_frame_format_index(new_format); + int format_index = v4l2core_get_frame_format_index(vd, new_format); if(format_index < 0) format_index = 0; @@ -1536,14 +1585,14 @@ /* * prepare a valid format (first in the format list) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: none */ -void v4l2core_prepare_valid_format() +void v4l2core_prepare_valid_format(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); @@ -1556,6 +1605,7 @@ /* * prepare new resolution * args: + * vd - pointer to v4l2 device handler * new_width - new width * new_height - new height * @@ -1564,17 +1614,19 @@ * * returns: none */ -void v4l2core_prepare_new_resolution(int new_width, int new_height) +void v4l2core_prepare_new_resolution(v4l2_dev_t *vd, + int new_width, int new_height) { /*asserts*/ assert(vd != NULL); - int format_index = v4l2core_get_frame_format_index(my_pixelformat); + int format_index = v4l2core_get_frame_format_index(vd, my_pixelformat); if(format_index < 0) format_index = 0; - int resolution_index = v4l2core_get_format_resolution_index(format_index, new_width, new_height); + int resolution_index = v4l2core_get_format_resolution_index(vd, + format_index, new_width, new_height); if(resolution_index < 0) resolution_index = 0; @@ -1586,19 +1638,19 @@ /* * prepare valid resolution (first in the resolution list for the format) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: none */ -void v4l2core_prepare_valid_resolution() +void v4l2core_prepare_valid_resolution(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); - int format_index = v4l2core_get_frame_format_index(my_pixelformat); + int format_index = v4l2core_get_frame_format_index(vd, my_pixelformat); if(format_index < 0) format_index = 0; @@ -1612,7 +1664,7 @@ /* * update the current format (pixelformat, width and height) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null @@ -1620,25 +1672,25 @@ * returns: * error code */ -int v4l2core_update_current_format() +int v4l2core_update_current_format(v4l2_dev_t *vd) { /*asserts*/ assert(vd != NULL); - return(try_video_stream_format(my_width, my_height, my_pixelformat)); + return(try_video_stream_format(vd, my_width, my_height, my_pixelformat)); } /* * clean video device data allocation * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: void */ -static void clean_v4l2_dev() +static void clean_v4l2_dev(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1648,7 +1700,7 @@ vd->videodevice = NULL; if(vd->has_focus_control_id) - v4l2core_soft_autofocus_close(vd); + v4l2core_soft_autofocus_close(); if(vd->list_device_controls) free_v4l2_control_list(vd); @@ -1656,12 +1708,9 @@ if(vd->list_stream_formats) free_frame_formats(vd); - if(vd->list_device_controls) - free_v4l2_control_list(vd); - if(vd->frame_queue) free(vd->frame_queue); - + /*close descriptor*/ if(vd->fd > 0) v4l2_close(vd->fd); @@ -1672,18 +1721,23 @@ } /* - * Initiate video device data with default values + * Initiate video device handler with default values * args: * device - device name (e.g: "/dev/video0") * * asserts: * device is not null * - * returns: error code (< 0) on error + * returns: pointer to v4l2 device handler (or NULL on error) */ -int v4l2core_init_dev(const char *device) +v4l2_dev_t* v4l2core_init_dev(const char *device) { + /*assertions*/ assert(device != NULL); + + ///*make sure to close and clean any existing device data*/ + //if(vd != NULL) + // v4l2core_close_dev(); /*localization*/ char* lc_all = setlocale (LC_ALL, ""); @@ -1693,9 +1747,12 @@ lc_dir, lc_all, GETTEXT_PACKAGE_V4L2CORE); /*alloc the device data*/ - vd = calloc(1, sizeof(v4l2_dev_t)); + v4l2_dev_t* vd = calloc(1, sizeof(v4l2_dev_t)); assert(vd != NULL); + + /*init the device mutex*/ + __INIT_MUTEX(__PMUTEX); /*MMAP by default*/ vd->cap_meth = IO_MMAP; @@ -1731,15 +1788,16 @@ if ((vd->fd = v4l2_open(vd->videodevice, O_RDWR | O_NONBLOCK, 0)) < 0) { fprintf(stderr, "V4L2_CORE: ERROR opening V4L interface: %s\n", strerror(errno)); - clean_v4l2_dev(); - return (-1); + clean_v4l2_dev(vd); + return (NULL); } vd->this_device = v4l2core_get_device_index(vd->videodevice); if(vd->this_device < 0) vd->this_device = 0; - v4l2_device_list *device_list = v4l2core_get_device_list(); + v4l2_device_list_t *device_list = get_device_list(); + if(device_list && device_list->list_devices) device_list->list_devices[vd->this_device].current = 1; @@ -1752,11 +1810,12 @@ memset(&vd->buf, 0, sizeof(struct v4l2_buffer)); memset(&vd->rb, 0, sizeof(struct v4l2_requestbuffers)); memset(&vd->streamparm, 0, sizeof(struct v4l2_streamparm)); + memset(&vd->evsub, 0, sizeof(struct v4l2_event_subscription)); - if(check_v4l2_dev() != E_OK) + if(check_v4l2_dev(vd) != E_OK) { - clean_v4l2_dev(); - return (-2); + clean_v4l2_dev(vd); + return (NULL); } int i = 0; @@ -1765,20 +1824,20 @@ vd->mem[i] = MAP_FAILED; /*not mmaped yet*/ } - return (0); + return (vd); } /* * get stream frame format list for device * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * return: pointer to first format in the list */ -v4l2_stream_formats_t *v4l2core_get_formats_list() +v4l2_stream_formats_t *v4l2core_get_formats_list(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1789,14 +1848,14 @@ /* * get device control list * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * return: pointer to first control in the list */ -v4l2_ctrl_t *v4l2core_get_control_list() +v4l2_ctrl_t *v4l2core_get_control_list(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1805,16 +1864,73 @@ } /* + * check for control events + * args: + * vd - pointer to v4l2 device handler + * + * asserts: + * vd is not null + * + * returns: number of processed control events + */ +int v4l2core_check_control_events(v4l2_dev_t *vd) +{ + /*assertions*/ + assert(vd != NULL); + + int ret = 0; + struct v4l2_event ev; + + while (xioctl(vd->fd, VIDIOC_DQEVENT, &ev) == 0) + { + if (ev.type != V4L2_EVENT_CTRL) + continue; + + ret++; + //update control + v4l2_ctrl_t *control = v4l2core_get_control_by_id(vd, ev.id); + if(control != NULL) + { + control->control.flags = ev.u.ctrl.flags; + if(control->control.flags & V4L2_CTRL_FLAG_DISABLED) + continue; + + control->control.minimum = ev.u.ctrl.minimum; + control->control.maximum = ev.u.ctrl.maximum; + control->control.step = ev.u.ctrl.step; + control->control.default_value = ev.u.ctrl.default_value; + + switch (control->control.type) + { +#ifdef V4L2_CTRL_TYPE_INTEGER64 + case V4L2_CTRL_TYPE_INTEGER64: + control->value64 = ev.u.ctrl.value64; + break; +#endif +#ifdef V4L2_CTRL_TYPE_STRING + case V4L2_CTRL_TYPE_STRING: + break; +#endif + default: + control->value = ev.u.ctrl.value; + } + } + } + + return ret; +} + +/* * get device pan step value * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * return: pan step value */ -int v4l2core_get_pan_step() +int v4l2core_get_pan_step(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1824,15 +1940,15 @@ /* * get device tilt step value - * args: - * none +* args: + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * - * return: tilt step value + * return: pan step value */ -int v4l2core_get_tilt_step() +int v4l2core_get_tilt_step(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1843,6 +1959,7 @@ /* * set device pan step value * args: + * vd - pointer to v4l2 device handler * step - pan step value * * asserts: @@ -1850,7 +1967,7 @@ * * return: none */ -void v4l2core_set_pan_step(int step) +void v4l2core_set_pan_step(v4l2_dev_t *vd, int step) { /*assertions*/ assert(vd != NULL); @@ -1861,6 +1978,7 @@ /* * set device tilt step value * args: + * vd - pointer to v4l2 device handler * step -tilt step value * * asserts: @@ -1868,7 +1986,7 @@ * * return: none */ -void v4l2core_set_tilt_step(int step) +void v4l2core_set_tilt_step(v4l2_dev_t *vd, int step) { /*assertions*/ assert(vd != NULL); @@ -1879,14 +1997,14 @@ /* * initiate software autofocus * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns: error code (0 - E_OK) */ -int v4l2core_soft_autofocus_init () +int v4l2core_soft_autofocus_init (v4l2_dev_t *vd) { return soft_autofocus_init(vd); } @@ -1894,6 +2012,7 @@ /* * run the software autofocus * args: + * vd - pointer to v4l2 device handler * frame - pointer to frame buffer * * asserts: @@ -1902,7 +2021,7 @@ * returns: 1 - running 0- focused * (only matters for non-continue focus) */ -int v4l2core_soft_autofocus_run(v4l2_frame_buff_t *frame) +int v4l2core_soft_autofocus_run(v4l2_dev_t *vd, v4l2_frame_buff_t *frame) { return soft_autofocus_run(vd, frame); } @@ -1910,14 +2029,14 @@ /* * clean v4l2 buffers * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * return: none */ -void v4l2core_clean_buffers() +void v4l2core_clean_buffers(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -1926,7 +2045,7 @@ printf("V4L2_CORE: cleaning v4l2 buffers\n"); if(vd->streaming == STRM_OK) - v4l2core_stop_stream(); + v4l2core_stop_stream(vd); clean_v4l2_frames(vd); @@ -1944,7 +2063,7 @@ case IO_MMAP: default: //delete requested buffers - unmap_buff(); + unmap_buff(vd); memset(&vd->rb, 0, sizeof(struct v4l2_requestbuffers)); vd->rb.count = 0; vd->rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -1959,35 +2078,43 @@ /* * cleans video device data and allocations * args: - * none + * vd - pointer to v4l2 device handler * * asserts: - * vd is not null + * none * * returns: void */ -void v4l2core_close_dev() +void v4l2core_close_dev(v4l2_dev_t *vd) { - /*asserts*/ - assert(vd != NULL); + if(vd == NULL) + return; + + /*make sure the mutex is unlocked*/ + __UNLOCK_MUTEX(__PMUTEX); + /*destroy the device mutex*/ + __CLOSE_MUTEX(__PMUTEX); - v4l2core_clean_buffers(); - clean_v4l2_dev(); + v4l2core_clean_buffers(vd); + clean_v4l2_dev(vd); } /* * request a fps update - this locks the mutex * (can't be called while the mutex is being locked) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: none */ -void v4l2core_request_framerate_update() +void v4l2core_request_framerate_update(v4l2_dev_t *vd) { + /*assertions*/ + assert(vd != NULL); + /* * if we are streaming flag a fps change when retrieving frame * else change fps immediatly @@ -1995,13 +2122,13 @@ if(vd->streaming == STRM_OK) flag_fps_change = 1; else - set_v4l2_framerate(); + set_v4l2_framerate(vd); } /* * gets video device defined frame rate (not real - consider it a maximum value) * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null @@ -2009,7 +2136,7 @@ * returns: VIDIOC_G_PARM ioctl result value * (sets vd->fps_denom and vd->fps_num to device value) */ -int v4l2core_get_framerate () +int v4l2core_get_framerate (v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2043,6 +2170,7 @@ /* * return the control associated to id from device list * args: + * vd - pointer to v4l2 device handler * id - control id * * asserts: @@ -2051,7 +2179,7 @@ * * returns: pointer to v4l2_control if succeded or null otherwise */ -v4l2_ctrl_t *v4l2core_get_control_by_id(int id) +v4l2_ctrl_t *v4l2core_get_control_by_id(v4l2_dev_t *vd, int id) { return get_control_by_id(vd, id); } @@ -2060,6 +2188,7 @@ * updates the value for control id from the device * also updates control flags * args: + * vd - pointer to v4l2 device handler * id -control id * * asserts: @@ -2067,7 +2196,7 @@ * * returns: ioctl result */ -int v4l2core_get_control_value_by_id (int id) +int v4l2core_get_control_value_by_id (v4l2_dev_t *vd, int id) { return get_control_value_by_id (vd, id); } @@ -2075,14 +2204,14 @@ /* * goes trough the control list and sets values in device to default * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns: void */ -void v4l2core_set_control_defaults() +void v4l2core_set_control_defaults(v4l2_dev_t *vd) { set_control_defaults(vd); } @@ -2090,6 +2219,7 @@ /* * sets the value of control id in device * args: + * vd - pointer to v4l2 device handler * id - control id * * asserts: @@ -2097,7 +2227,7 @@ * * returns: ioctl result */ -int v4l2core_set_control_value_by_id(int id) +int v4l2core_set_control_value_by_id(v4l2_dev_t *vd, int id) { return set_control_value_by_id(vd, id); } @@ -2115,22 +2245,25 @@ * * returns: error code */ -int v4l2core_save_image(v4l2_frame_buff_t *frame, const char *filename, int format) +int v4l2core_save_image( + v4l2_frame_buff_t *frame, + const char *filename, + int format) { - return save_frame_image(vd, frame, filename, format); + return save_frame_image(frame, filename, format); } /* * get h264 unit id * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: unit id on success or error code ( < 0 ) on fail */ -int v4l2core_get_h264_unit_id() +int v4l2core_get_h264_unit_id(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2141,14 +2274,14 @@ /* * gets the current h264_config_probe_req data struct * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: pointer to current h264_config_probe_req data struct */ -uvcx_video_config_probe_commit_t *v4l2core_get_h264_config_probe_req() +uvcx_video_config_probe_commit_t *v4l2core_get_h264_config_probe_req(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2159,6 +2292,7 @@ /* * flag core to use the preset h264_config_probe_req data (don't reset to default before commit) * args: + * vd - pointer to v4l2 device handler * flag - value to set * * asserts: @@ -2166,7 +2300,7 @@ * * returns: none */ -void v4l2core_set_h264_no_probe_default(uint8_t flag) +void v4l2core_set_h264_no_probe_default(v4l2_dev_t *vd, uint8_t flag) { /*assertions*/ assert(vd != NULL); @@ -2177,14 +2311,14 @@ /* * get h264_no_probe_default flag * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * vd is not null * * returns: h264_no_probe_default flag */ -uint8_t v4l2core_get_h264_no_probe_default() +uint8_t v4l2core_get_h264_no_probe_default(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2202,7 +2336,7 @@ * * returns: PPS size */ -int v4l2core_get_h264_pps_size() +int v4l2core_get_h264_pps_size(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2220,7 +2354,7 @@ * * returns: pointer to PPS data */ -uint8_t *v4l2core_get_h264_pps() +uint8_t *v4l2core_get_h264_pps(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2238,7 +2372,7 @@ * * returns: SPS size */ -int v4l2core_get_h264_sps_size() +int v4l2core_get_h264_sps_size(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2256,7 +2390,7 @@ * * returns: pointer to SPS data */ -uint8_t *v4l2core_get_h264_sps() +uint8_t *v4l2core_get_h264_sps(v4l2_dev_t *vd) { /*assertions*/ assert(vd != NULL); @@ -2274,7 +2408,7 @@ * * returns: none */ -void v4l2core_h264_request_idr() +void v4l2core_h264_request_idr(v4l2_dev_t *vd) { h264_request_idr(vd); } @@ -2289,7 +2423,7 @@ * * returns: 0 on success or error code on fail */ -int v4l2core_reset_h264_encoder() +int v4l2core_reset_h264_encoder(v4l2_dev_t *vd) { return h264_reset_encoder(vd); } @@ -2304,7 +2438,7 @@ * * returns: video rate control mode (FIXME: 0xff on error) */ -uint8_t v4l2core_get_h264_video_rate_control_mode(uint8_t query) +uint8_t v4l2core_get_h264_video_rate_control_mode(v4l2_dev_t *vd, uint8_t query) { return h264_get_video_rate_control_mode(vd, query); } @@ -2319,7 +2453,7 @@ * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_video_rate_control_mode(uint8_t mode) +int v4l2core_set_h264_video_rate_control_mode(v4l2_dev_t *vd, uint8_t mode) { return h264_set_video_rate_control_mode(vd, mode); } @@ -2334,7 +2468,7 @@ * * returns: temporal scale mode (FIXME: 0xff on error) */ -uint8_t v4l2core_get_h264_temporal_scale_mode(uint8_t query) +uint8_t v4l2core_get_h264_temporal_scale_mode(v4l2_dev_t *vd, uint8_t query) { return h264_get_temporal_scale_mode(vd, query); } @@ -2349,7 +2483,7 @@ * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_temporal_scale_mode(uint8_t mode) +int v4l2core_set_h264_temporal_scale_mode(v4l2_dev_t *vd, uint8_t mode) { return h264_set_temporal_scale_mode(vd, mode); } @@ -2364,7 +2498,7 @@ * * returns: temporal scale mode (FIXME: 0xff on error) */ -uint8_t v4l2core_get_h264_spatial_scale_mode(uint8_t query) +uint8_t v4l2core_get_h264_spatial_scale_mode(v4l2_dev_t *vd, uint8_t query) { return h264_get_spatial_scale_mode(vd, query); } @@ -2372,6 +2506,7 @@ /* * set the spatial scale mode * args: + * vd - pointer to v4l2 device handler * mode - spatial scale mode * * asserts: @@ -2379,7 +2514,7 @@ * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_spatial_scale_mode(uint8_t mode) +int v4l2core_set_h264_spatial_scale_mode(v4l2_dev_t *vd, uint8_t mode) { return h264_set_spatial_scale_mode(vd, mode); } @@ -2387,6 +2522,7 @@ /* * query the frame rate config * args: + * vd - pointer to v4l2 device handler * query - query type * * asserts: @@ -2394,7 +2530,7 @@ * * returns: frame rate config (FIXME: 0xffffffff on error) */ -uint32_t v4l2core_query_h264_frame_rate_config(uint8_t query) +uint32_t v4l2core_query_h264_frame_rate_config(v4l2_dev_t *vd, uint8_t query) { return h264_query_frame_rate_config(vd, query); } @@ -2402,14 +2538,14 @@ /* * get the frame rate config * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * none * * returns: frame rate config (FIXME: 0xffffffff on error) */ -uint32_t v4l2core_get_h264_frame_rate_config() +uint32_t v4l2core_get_h264_frame_rate_config(v4l2_dev_t *vd) { return h264_get_frame_rate_config(vd); } @@ -2417,6 +2553,7 @@ /* * set the frame rate config * args: + * vd - pointer to v4l2 device handler * framerate - framerate * * asserts: @@ -2424,7 +2561,7 @@ * * returns: error code ( 0 -OK) */ -int v4l2core_set_h264_frame_rate_config(uint32_t framerate) +int v4l2core_set_h264_frame_rate_config(v4l2_dev_t *vd, uint32_t framerate) { return h264_set_frame_rate_config(vd, framerate); } @@ -2432,6 +2569,7 @@ /* * updates the h264_probe_commit_req field * args: + * vd - pointer to v4l2 device handler * query - (UVC_GET_CUR; UVC_GET_MAX; UVC_GET_MIN) * config_probe_cur - pointer to uvcx_video_config_probe_commit_t: * if null vd->h264_config_probe_req will be used @@ -2442,6 +2580,7 @@ * returns: error code ( 0 -OK) */ int v4l2core_probe_h264_config_probe_req( + v4l2_dev_t *vd, uint8_t query, uvcx_video_config_probe_commit_t *config_probe_req) { @@ -2451,7 +2590,7 @@ /* * check for new devices * args: - * none + * vd - pointer to v4l2 device handler * * asserts: * my_device_list.udev is not null @@ -2460,39 +2599,43 @@ * * returns: true(1) if device list was updated, false(0) otherwise */ -int v4l2core_check_device_list_events() +int v4l2core_check_device_list_events(v4l2_dev_t *vd) { return check_device_list_events(vd); } /* get frame format index from format list * args: + * vd - pointer to v4l2 device handler * format - v4l2 pixel format * * asserts: * vd is not null - * vd->list_stream_formats is not null * * returns: format list index or -1 if not available */ -int v4l2core_get_frame_format_index(int format) +int v4l2core_get_frame_format_index(v4l2_dev_t *vd, int format) { return get_frame_format_index(vd, format); } /* get resolution index for format index from format list * args: + * vd - pointer to v4l2 device handler * format - format index from format list * width - requested width * height - requested height * * asserts: * vd is not null - * vd->list_stream_formats is not null * * returns: resolution list index for format index or -1 if not available */ -int v4l2core_get_format_resolution_index(int format, int width, int height) +int v4l2core_get_format_resolution_index( + v4l2_dev_t *vd, + int format, + int width, + int height) { return get_format_resolution_index(vd, format, width, height); } @@ -2500,6 +2643,7 @@ /* * save the device control values into a profile file * args: + * vd - pointer to v4l2 device handler * filename - profile filename * * asserts: @@ -2507,7 +2651,7 @@ * * returns: error code (0 -E_OK) */ -int v4l2core_save_control_profile(const char *filename) +int v4l2core_save_control_profile(v4l2_dev_t *vd, const char *filename) { return save_control_profile(vd, filename); } @@ -2515,6 +2659,7 @@ /* * load the device control values from a profile file * args: + * vd - pointer to v4l2 device handler * filename - profile filename * * asserts: @@ -2522,7 +2667,7 @@ * * returns: error code (0 -E_OK) */ -int v4l2core_load_control_profile(const char *filename) +int v4l2core_load_control_profile(v4l2_dev_t *vd, const char *filename) { return load_control_profile(vd, filename); } @@ -2530,6 +2675,7 @@ /* * get lenght of xu control defined by unit id and selector * args: + * vd - pointer to v4l2 device handler * unit - unit id of xu control * selector - selector for control * @@ -2538,7 +2684,10 @@ * * returns: length of xu control */ -uint16_t v4l2core_get_length_xu_control(uint8_t unit, uint8_t selector) +uint16_t v4l2core_get_length_xu_control( + v4l2_dev_t *vd, + uint8_t unit, + uint8_t selector) { return get_length_xu_control(vd, unit, selector); } @@ -2546,6 +2695,7 @@ /* * get uvc info for xu control defined by unit id and selector * args: + * vd - pointer to v4l2 device handler * unit - unit id of xu control * selector - selector for control * @@ -2554,7 +2704,10 @@ * * returns: info of xu control */ -uint8_t v4l2core_get_info_xu_control(uint8_t unit, uint8_t selector) +uint8_t v4l2core_get_info_xu_control( + v4l2_dev_t *vd, + uint8_t unit, + uint8_t selector) { return get_info_xu_control(vd, unit, selector); } @@ -2562,6 +2715,7 @@ /* * runs a query on xu control defined by unit id and selector * args: + * vd - pointer to v4l2 device handler * unit - unit id of xu control * selector - selector for control * query - query type @@ -2572,7 +2726,12 @@ * * returns: 0 if query succeded or errno otherwise */ -int v4l2core_query_xu_control(uint8_t unit, uint8_t selector, uint8_t query, void *data) +int v4l2core_query_xu_control( + v4l2_dev_t *vd, + uint8_t unit, + uint8_t selector, + uint8_t query, + void *data) { return query_xu_control(vd, unit, selector, query, data); } diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_core.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_core.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_core.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_core.h 2016-04-25 16:35:21.000000000 +0000 @@ -23,14 +23,17 @@ #define V4L2CORE_H #include "gviewv4l2core.h" +#include "gview.h" /* * video device data */ -typedef struct _v4l2_dev_t +struct _v4l2_dev_t { int fd; // device file descriptor char *videodevice; // video device string (default "/dev/video0)" + + __MUTEX_TYPE mutex; // device mutex int cap_meth; // capture method: IO_READ or IO_MMAP v4l2_stream_formats_t* list_stream_formats; //list of available stream formats @@ -38,16 +41,19 @@ //int current_format_index; //index of current stream format //int current_resolution_index; //index of current resolution for current format - struct v4l2_capability cap; // v4l2 capability struct - struct v4l2_format format; // v4l2 format struct - struct v4l2_buffer buf; // v4l2 buffer struct - struct v4l2_requestbuffers rb; // v4l2 request buffers struct - struct v4l2_streamparm streamparm; // v4l2 stream parameters struct + struct v4l2_capability cap; // v4l2 capability struct + struct v4l2_format format; // v4l2 format struct + struct v4l2_buffer buf; // v4l2 buffer struct + struct v4l2_requestbuffers rb; // v4l2 request buffers struct + struct v4l2_streamparm streamparm; // v4l2 stream parameters struct + struct v4l2_event_subscription evsub;// v4l2 event subscription struct int requested_fmt; //requested format (may differ from format.fmt.pix.pixelformat) int fps_num; //fps numerator int fps_denom; //fps denominator + + double real_fps; //real fps (calculated from number of captured frames) uint8_t streaming; // flag device stream : STRM_STOP ; STRM_REQ_STOP; STRM_OK uint64_t frame_index; // captured frame index from 0 to max(uint64_t) @@ -82,6 +88,6 @@ int has_focus_control_id; //it's set to control id if a focus control is available (enables software autofocus) int has_pantilt_control_id; //it's set to 1 if a pan/tilt control is available uint8_t pantilt_unit_id; //logitech peripheral V3 unit id (if any) -} v4l2_dev_t; +}; #endif diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_devices.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_devices.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_devices.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_devices.c 2016-04-25 16:35:21.000000000 +0000 @@ -35,21 +35,64 @@ extern int verbosity; /* device list structure */ -static v4l2_device_list my_device_list; +static v4l2_device_list_t my_device_list; /* - * get the device list data + * get the device list * args: * none + * + * asserts: + * none + * + * returns: pointer to statically allocated device list + */ +v4l2_device_list_t* get_device_list() +{ + return &my_device_list; +} + +/* + * get the number of available v4l2 devices + * args: + * none + * + * asserts: + * none + * + * returns: number of available v4l2 devices + */ +int v4l2core_get_num_devices() +{ + return my_device_list.num_devices; +} + +/* + * get the device sys data for index + * args: + * index - device index * * asserts: * none * - * returns: pointer to device list data + * returns: pointer to device sys data */ -v4l2_device_list *v4l2core_get_device_list() +v4l2_dev_sys_data_t* v4l2core_get_device_sys_data(int index) { - return &my_device_list; + if(index >= v4l2core_get_num_devices()) + { + fprintf(stderr, "V4L2_CORE: invalid device index %i using %i\n", + index, v4l2core_get_num_devices() - 1); + index = v4l2core_get_num_devices() - 1; + } + + if(index < 0) + { + fprintf(stderr, "V4L2_CORE: invalid device index %i using 0\n", index); + index = 0; + } + + return &(my_device_list.list_devices[index]); } /* @@ -334,7 +377,7 @@ if(my_device_list.list_devices != NULL) free_device_list(); enum_v4l2_devices(); - + /*update the current device index*/ if(vd) { diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_devices.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_devices.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_devices.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_devices.h 2016-04-25 16:35:21.000000000 +0000 @@ -26,6 +26,54 @@ #include "v4l2_core.h" /* + * v4l2 devices list data + */ +typedef struct _v4l2_device_list_t +{ + struct udev *udev; // pointer to a udev struct (lib udev) + struct udev_monitor *udev_mon; // udev monitor + int udev_fd; // udev monitor file descriptor + v4l2_dev_sys_data_t* list_devices; // list of available v4l2 devices + int num_devices; // number of available v4l2 devices +} v4l2_device_list_t; + +/* + * Initiate the device list (with udev monitoring) + * args: + * none + * + * asserts: + * none + * + * returns: none + */ +void v4l2core_init_device_list(); + +/* + * get the device list + * args: + * none + * + * asserts: + * none + * + * returns: pointer to statically allocated device list + */ +v4l2_device_list_t* get_device_list(); + +/* + * free v4l2 devices list + * args: + * none + * + * asserts: + * none + * + * returns: void + */ +void v4l2core_close_v4l2_device_list(); + +/* * enumerate available v4l2 devices * and creates list in vd->list_devices * args: diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_formats.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_formats.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_formats.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_formats.c 2016-04-25 16:35:21.000000000 +0000 @@ -33,132 +33,93 @@ extern int verbosity; -typedef struct _v4l2_format_table_t -{ - char fourcc[5]; /*fourcc code*/ - int pixelformat; /*v4l2 pixelformat*/ -} v4l2_format_table_t; - -static v4l2_format_table_t decoder_supported_formats[] = -{ - { - .fourcc = "YUYV", - .pixelformat = V4L2_PIX_FMT_YUYV, - }, - { - .fourcc = "MJPG", - .pixelformat = V4L2_PIX_FMT_MJPEG, - }, - { - .fourcc = "JPEG", - .pixelformat = V4L2_PIX_FMT_JPEG, - }, - { - .fourcc = "H264", - .pixelformat = V4L2_PIX_FMT_H264, - }, - { - .fourcc = "YVYU", - .pixelformat = V4L2_PIX_FMT_YVYU, - }, - { - .fourcc = "UYVY", - .pixelformat = V4L2_PIX_FMT_UYVY, - }, - { - .fourcc = "YYUV", - .pixelformat = V4L2_PIX_FMT_YYUV, - }, - { - .fourcc = "Y41P", - .pixelformat = V4L2_PIX_FMT_Y41P, - }, - { - .fourcc = "GREY", - .pixelformat = V4L2_PIX_FMT_GREY, - }, - { - .fourcc = "Y10B", - .pixelformat = V4L2_PIX_FMT_Y10BPACK, - }, - { - .fourcc = "Y16 ", - .pixelformat = V4L2_PIX_FMT_Y16, - }, - { - .fourcc = "YU12", - .pixelformat = V4L2_PIX_FMT_YUV420, - }, - { - .fourcc = "YV12", - .pixelformat = V4L2_PIX_FMT_YVU420, - }, - { - .fourcc = "NV12", - .pixelformat = V4L2_PIX_FMT_NV12, - }, - { - .fourcc = "NV21", - .pixelformat = V4L2_PIX_FMT_NV21, - }, - { - .fourcc = "NV16", - .pixelformat = V4L2_PIX_FMT_NV16, - }, - { - .fourcc = "NV61", - .pixelformat = V4L2_PIX_FMT_NV61, - }, - { - .fourcc = "S501", - .pixelformat = V4L2_PIX_FMT_SPCA501, - }, - { - .fourcc = "S505", - .pixelformat = V4L2_PIX_FMT_SPCA505, - }, - { - .fourcc = "S508", - .pixelformat = V4L2_PIX_FMT_SPCA508, - }, - { - .fourcc = "GBRG", - .pixelformat = V4L2_PIX_FMT_SGBRG8, - }, - { - .fourcc = "GRBG", - .pixelformat = V4L2_PIX_FMT_SGRBG8, - }, - { - .fourcc = "BA81", - .pixelformat = V4L2_PIX_FMT_SBGGR8, - }, - { - .fourcc = "RGGB", - .pixelformat = V4L2_PIX_FMT_SRGGB8, - }, - { - .fourcc = "RGB3", - .pixelformat = V4L2_PIX_FMT_RGB24, - }, - { - .fourcc = "BGR3", - .pixelformat = V4L2_PIX_FMT_BGR24, - }, - /*last one (zero terminated)*/ - { - .fourcc = {0,0,0,0,0}, - .pixelformat = 0, - } -}; - /* Four-character-code (FOURCC) */ #ifndef v4l2_fourcc #define v4l2_fourcc(a, b, c, d)\ ((uint32_t)(a) | ((uint32_t)(b) << 8) | ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24)) #endif -/* +#define v4l2_pixformat2fourcc(pixelformat)\ + { pixelformat & 0x000000FF,\ + (pixelformat >> 8) & 0x000000FF,\ + (pixelformat >> 16) & 0x000000FF,\ + (pixelformat >> 24) & 0x000000FF,\ + 0\ + } + +static uint32_t decoder_supported_formats[] = +{ + V4L2_PIX_FMT_YUYV, + V4L2_PIX_FMT_MJPEG, + V4L2_PIX_FMT_JPEG, + V4L2_PIX_FMT_H264, + V4L2_PIX_FMT_YVYU, + V4L2_PIX_FMT_UYVY, + V4L2_PIX_FMT_VYUY, + V4L2_PIX_FMT_YYUV, + V4L2_PIX_FMT_YUV444, + V4L2_PIX_FMT_YUV555, + V4L2_PIX_FMT_YUV565, + V4L2_PIX_FMT_YUV32, + V4L2_PIX_FMT_Y41P, + V4L2_PIX_FMT_GREY, + V4L2_PIX_FMT_Y10BPACK, + V4L2_PIX_FMT_Y16, +#ifdef V4L2_PIX_FMT_Y16_BE + V4L2_PIX_FMT_Y16_BE, +#endif + V4L2_PIX_FMT_YUV420, + V4L2_PIX_FMT_YUV422P, + V4L2_PIX_FMT_YVU420, + V4L2_PIX_FMT_NV12, + V4L2_PIX_FMT_NV21, + V4L2_PIX_FMT_NV16, + V4L2_PIX_FMT_NV61, + V4L2_PIX_FMT_NV24, + V4L2_PIX_FMT_NV42, + V4L2_PIX_FMT_SPCA501, + V4L2_PIX_FMT_SPCA505, + V4L2_PIX_FMT_SPCA508, + V4L2_PIX_FMT_SGBRG8, + V4L2_PIX_FMT_SGRBG8, + V4L2_PIX_FMT_SBGGR8, + V4L2_PIX_FMT_SRGGB8, + V4L2_PIX_FMT_RGB24, + V4L2_PIX_FMT_BGR24, + V4L2_PIX_FMT_RGB332, + V4L2_PIX_FMT_RGB565, + V4L2_PIX_FMT_RGB565X, + V4L2_PIX_FMT_RGB444, + V4L2_PIX_FMT_RGB555, + V4L2_PIX_FMT_RGB555X, + V4L2_PIX_FMT_BGR666, + V4L2_PIX_FMT_BGR32, + V4L2_PIX_FMT_RGB32, +#ifdef V4L2_PIX_FMT_ARGB444 + V4L2_PIX_FMT_ARGB444, + V4L2_PIX_FMT_XRGB444, +#endif +#ifdef V4L2_PIX_FMT_ARGB555 + V4L2_PIX_FMT_ARGB555, + V4L2_PIX_FMT_XRGB555, +#endif +#ifdef V4L2_PIX_FMT_ARGB555X + V4L2_PIX_FMT_ARGB555X, + V4L2_PIX_FMT_XRGB555X, +#endif +#ifdef V4L2_PIX_FMT_ABGR32 + V4L2_PIX_FMT_ABGR32, + V4L2_PIX_FMT_XBGR32, +#endif +#ifdef V4L2_PIX_FMT_ARGB32 + V4L2_PIX_FMT_ARGB32, + V4L2_PIX_FMT_XRGB32, +#endif + /*last one (zero terminated)*/ + 0 +}; + +/* FIXME: doesn't support bigendian formats=> fourcc | (1 << 31) * get pixelformat from fourcc * args: * fourcc - fourcc code for format @@ -168,7 +129,7 @@ * * returns: v4l2 pixel format */ -int v4l2core_fourcc_2_v4l2_pixelformat(const char *fourcc) +uint32_t v4l2core_fourcc_2_v4l2_pixelformat(const char *fourcc) { int fmt = 0; if(!fourcc || strlen(fourcc) != 4) @@ -190,14 +151,14 @@ * returns: TRUE(1) if format is supported * FALSE(0) if not */ -uint8_t can_decode_format(int pixelformat) +uint8_t can_decode_format(uint32_t pixelformat) { int i = 0; - int sup_fmt = 0; + uint32_t sup_fmt = 0; do { - sup_fmt = decoder_supported_formats[i].pixelformat; + sup_fmt = decoder_supported_formats[i]; if(pixelformat == sup_fmt) return TRUE; @@ -210,41 +171,6 @@ } /* - * check fourcc against decoder support formats - * args: - * fourcc - v4l2 pixelformat fourcc - * - * asserts: - * none - * - * returns: TRUE(1) if format is supported - * FALSE(0) if not - */ -//uint8_t can_decode_fourcc(const char *fourcc) -//{ -// if(!fourcc) -// return FALSE; - -// if(strlen(fourcc) != 4) -// return FALSE; - -// int i = 0; -// int sup_fmt = 0; -// do -// { -// sup_fmt = decoder_supported_formats[i].pixelformat; - -// if(strcmp(fourcc, decoder_supported_formats[i].fourcc) == 0 ) -// return TRUE; - -// i++; -// } -// while(sup_fmt); -// -// return FALSE; -//} - -/* * enumerate frame intervals (fps) * args: * vd - pointer to video device data @@ -638,18 +564,30 @@ { uint8_t dec_support = can_decode_format(fmt.pixelformat); + uint32_t pix_format = fmt.pixelformat; + fmt.index++; if(verbosity > 0) { - printf("{ pixelformat = '%c%c%c%c', description = '%s' }\n", - fmt.pixelformat & 0xFF, (fmt.pixelformat >> 8) & 0xFF, - (fmt.pixelformat >> 16) & 0xFF, (fmt.pixelformat >> 24) & 0xFF, - fmt.description); + if((fmt.pixelformat & (1<<31)) != 0) + { + pix_format &= ~(1<<31);//need to fix fourcc string + printf("{ pixelformat = '%c%c%c%c'(BE), description = '%s' }\n", + pix_format & 0xFF, (pix_format >> 8) & 0xFF, + (pix_format >> 16) & 0xFF, (pix_format >> 24) & 0xFF, + fmt.description); + } + else + printf("{ pixelformat = '%c%c%c%c', description = '%s' }\n", + fmt.pixelformat & 0xFF, (fmt.pixelformat >> 8) & 0xFF, + (fmt.pixelformat >> 16) & 0xFF, (fmt.pixelformat >> 24) & 0xFF, + fmt.description); - if(!dec_support) - printf(" - FORMAT NOT SUPPORTED BY DECODER -\n"); } + if(!dec_support) + printf(" - FORMAT NOT SUPPORTED BY DECODER -\n"); + fmtind++; vd->list_stream_formats = realloc( @@ -662,9 +600,12 @@ vd->list_stream_formats[fmtind-1].dec_support = dec_support; vd->list_stream_formats[fmtind-1].format = fmt.pixelformat; + if((fmt.pixelformat & (1<<31)) != 0) //be format flag + pix_format &= ~(1<<31); //need to fix fourcc string snprintf(vd->list_stream_formats[fmtind-1].fourcc, 5, "%c%c%c%c", - fmt.pixelformat & 0xFF, (fmt.pixelformat >> 8) & 0xFF, - (fmt.pixelformat >> 16) & 0xFF, (fmt.pixelformat >> 24) & 0xFF); + pix_format & 0xFF, (pix_format >> 8) & 0xFF, + (pix_format >> 16) & 0xFF, (pix_format >> 24) & 0xFF); + strncpy(vd->list_stream_formats[fmtind-1].description, (char *) fmt.description, 31); //enumerate frame sizes ret = enum_frame_sizes(vd, fmt.pixelformat, fmtind); if (ret != 0) diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_formats.h guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_formats.h --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_formats.h 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_formats.h 2016-04-25 16:35:21.000000000 +0000 @@ -35,20 +35,7 @@ * returns: TRUE(1) if format is supported * FALSE(0) if not */ -uint8_t can_decode_format(int pixelformat); - -/* - * check fourcc against decoder support formats - * args: - * fourcc - v4l2 pixelformat fourcc - * - * asserts: - * none - * - * returns: TRUE(1) if format is supported - * FALSE(0) if not - */ -//uint8_t can_decode_fourcc(const char *fourcc); +uint8_t can_decode_format(uint32_t pixelformat); /* * enumerate frame formats (pixelformats, resolutions and fps) diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_xu_ctrls.c guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_xu_ctrls.c --- guvcview-2.0.3+ubuntu2~ppa1+1334/gview_v4l2core/v4l2_xu_ctrls.c 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/gview_v4l2core/v4l2_xu_ctrls.c 2016-04-25 16:35:21.000000000 +0000 @@ -28,6 +28,7 @@ #include #include "gview.h" +#include "v4l2_devices.h" #include "v4l2_xu_ctrls.h" extern int verbosity; @@ -202,7 +203,7 @@ */ uint8_t get_guid_unit_id (v4l2_dev_t *vd, uint8_t *guid) { - v4l2_device_list *my_device_list = v4l2core_get_device_list(); + v4l2_device_list_t *my_device_list = get_device_list(); /*asserts*/ assert(vd != NULL); @@ -455,7 +456,7 @@ int query_xu_control(v4l2_dev_t *vd, uint8_t unit, uint8_t selector, uint8_t query, void *data) { int err = 0; - uint16_t len = v4l2core_get_length_xu_control(unit, selector); + uint16_t len = v4l2core_get_length_xu_control(vd, unit, selector); struct uvc_xu_control_query xu_ctrl_query = { diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/bg.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/bg.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/bg.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/bg.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2012-06-06 03:33+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bulgarian \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -394,658 +394,749 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 msgid "---- Audio Filters ----" msgstr "" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr "" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 msgid "_Cancel" msgstr "" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 msgid "H264 Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 msgid "Video Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 msgid "Audio Controls" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 msgid "Photo file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 msgid "Video file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 msgid "Rate Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 msgid "Bit Rate:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 msgid "Resolution" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 msgid "Rate Control" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 msgid "Frame Interval" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 msgid "B Frames:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1057,291 +1148,348 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr "" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr "" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr "" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr "" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1349,19 +1497,40 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/bs.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/bs.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/bs.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/bs.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2011-06-27 19:11+0000\n" "Last-Translator: Stefan Ivanović \n" "Language-Team: Bosnian \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -394,662 +394,753 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 msgid "---- Audio Filters ----" msgstr "" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr "" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 msgid "_Cancel" msgstr "" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "GUVCVju Snimanje video zapisa" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "GUVCVjuer Kontrole" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "GUVCVjuer Kontrole" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "GUVCVjuer Kontrole" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 msgid "Photo file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 msgid "Video file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 msgid "Rate Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 msgid "Bit Rate:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 msgid "Resolution" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "GUVCVjuer Kontrole" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 msgid "Frame Interval" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 msgid "B Frames:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1061,291 +1152,348 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr "" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr "" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr "" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr "" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1353,23 +1501,44 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" + #~ msgid "" #~ "Guvcview error:\n" #~ "\n" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/cs.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/cs.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/cs.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/cs.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:36+0000\n" "Last-Translator: Michal Sittek \n" "Language-Team: Czech \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Uživatelká nastavení" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Jas" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Odstín" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Sytost" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Ostrost" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Komponzace podsvětlení" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Kmitočet sítě" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Odstín, Automatický" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Ostření, Auto" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Ruční mód" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Auto. mód" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Mód priority clony" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Režim priority clony" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Úroveň černé" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Vyvážení bílé, automatické" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Vyvážit bílou" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Vyvážení červené" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Vyvážení modré" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Expozice" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Přírůstek, Automatický" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Zisk" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Horizontální překlopení" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Vertikální překlopení" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Horizontální střed" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Vertikální střed" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "AKP Sytosti" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Odstranění barvy" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Barevné efekty" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Ovládání kamery" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Automatická korekce závěrky" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Expoziční Doba, Absolutní" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Expozie, Dynamická rychlost snímků" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Sledování objektu, Relativní" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Náklon, Relativní" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Sledování objektu, Reset" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Náklon, Reset" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Sledování objektu, Absolutní" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Ohnisko, Absolutní" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Ohnisko, Relativní" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Zaostření, Automaticky" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Přiblížení, Absolutní" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Přiblížení, Relativní" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Přiblížení, Nepřetržité" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Ochrana osobních údajů" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Expozive, Auto" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Expozice Auto. prorita" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Expozice (Absolutní)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Vyvážení bílé, Auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Vyvážení bílé" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Komponenta vyvážení bílé, Auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Modrá složka vyvážení bílé" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Červená složka vyvážení bílé" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Zaostření" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Ohnisko (Absolutní)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Vypnuto" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Zapnuto" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Blikání" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Automaticky" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "Obnovit" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Ostření (absolutní)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Mód LED1" @@ -396,246 +396,280 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "API audia:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Vstupní zařízení:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Vzorkovací frekvence:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Výchozí zařízení" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanály:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtry videa ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Zobrazit" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Ozvěna" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Fuzz" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ducky" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Chyba" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "zrušit" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Máte nainstalováno více než jedno zařízení pro video.\n" "Chcete zkusit další ?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Zařízení:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Zachycení videa Gucview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Ovládání obrazů" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Uživatelká nastavení" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Uživatelká nastavení" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Uživatelká nastavení" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Název souboru orazu" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Název souboru orazu" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "spustit nový" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "restart" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "nový" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "zrušit" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -643,16 +677,18 @@ "Spustit nový proces nebo restartovat?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "hodnoty audio kodeku" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -660,417 +696,473 @@ " fps enkodéru: \n" " (0 - použít hodnotu fps z pole)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " monotóních bodů" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "přenosová rychlost: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "velikost dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "velikost pre dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "pod cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "poslední počet prediktoru: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "velikost gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qkomprese: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qrozmazání: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "metoda me: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "rozhodnutí mb: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "max B rámečků: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "počet vláken: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "hodnoty audio kodeku" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Ovládání obrazů" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "přenosová rychlost: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Rozlišení:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Ovládání obrazů" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Snímkový kmitočet" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - formát avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "max B rámečků: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Reset záběru" @@ -1083,295 +1175,352 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Vlevo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Vpravo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Dolů" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Nahoru" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bitů" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bitů" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Automatické ostření (pozvolné)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "nastavit Ostření" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Použít" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Snímkový kmitočet" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Rozlišení:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Výstup kamery:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtry videa ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Zrcadlo" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Invertovat" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativ" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Kousků" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Částí" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Vypíše verzi" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Video zařízení [výchozí /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Metoda zachycení (1-mmap (výchozí) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Varování Guvcview:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1379,23 +1528,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Použít" + +#~ msgid "Focus (absolute)" +#~ msgstr "Ostření (absolutní)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/da.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/da.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/da.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/da.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:34+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: Danish \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Lysstyrke" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Farvetone" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Farvemætning" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Skarphed" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Baglys kompensation" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Fokus, auto" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Manuel tilstand" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Auto tilstand" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Forhøjelse" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Hvid balance temperatur, auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Hvid balance temperatur" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Hvid balance komponent, auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Hvid balance blå komponent" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Hvid balance rød komponent" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Fokus (absolut)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1 tilstand" @@ -395,670 +395,761 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Input udstyr:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanaler:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Video filtre ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr "" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 msgid "_Cancel" msgstr "" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Input udstyr:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Billed kontroller" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Billed kontroller" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "GUVCViewer kontroller" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Billed kontroller" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Billedfil navn" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Billedfil navn" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Billed kontroller" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "Billedrate:" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Opløsning:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Billed kontroller" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Billedrate:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Billedrate:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1070,292 +1161,349 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Venstre" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Højre" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Ned" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Op" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Auto fokus (fortsat)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "sæt fokus" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Billedrate:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Opløsning:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Kamera output:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Video filtre ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Spejl" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Vend" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativ" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Video udstyr at benyttet [default: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1363,23 +1511,47 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" + +#~ msgid "Focus (absolute)" +#~ msgstr "Fokus (absolut)" + #~ msgid " Sound" #~ msgstr " Lyd" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/de.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/de.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/de.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/de.po 2016-04-25 16:35:21.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:34+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: Portuguese \n" @@ -50,246 +50,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Benutzersteuerung" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Helligkeit" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Farbe" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Sättigung" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Schärfe" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Korrektur der Hintergrundbeleuchtung" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Netzfrequenz" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Farbton, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Fokus, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Händischer Modus" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Automatischer Modus" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Blendenautomatik-Modus" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Blendenpriorität-Modus" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Schwarzwert" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Weißabgleich, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Weißabgleich durchführen" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Rotabgleich" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Blauabgleich" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Belichtung" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Verstärkung, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Verstärkung" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Horizontal spiegeln" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Vertikal spiegeln" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Horizontal zentrieren" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Vertikal zentrieren" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Automatische Chrominanz-Verstärkung" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Entsättigen" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Farbeffekte" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Kamerasteuerung" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Automatische Belichtung" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Belichtungszeit, direkt" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Belichtung, dynamische Bildwiederholrate" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Schwenken, relativ" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Neigen, relativ" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Schwenken zurücksetzen" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Neigung zurücksetzen" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Schwenken, direkt" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Fokus, direkt" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Fokus, relativ" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Fokus, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Vergrößerung, direkt" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Vergrößerung, relativ" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Vergrößerung, fortlaufend" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privatsphäre" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Belichtung, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Belichtung, automatische Priorität" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Belichtung (Absolut)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Automatischer Weißabgleich (Temperatur)" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Weißabgleich (Temperatur)" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Automatischer Weißabgleich (Komponente)" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Weißabgleich (Blau)" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Weißabgleich (Rot)" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Fokus" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Focus (direkt)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Aus" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "An" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Blinken" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Automatisch" @@ -309,10 +313,6 @@ msgid "Tilt Reset" msgstr "Neigung (Zurückstellen)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Fokus (absolut)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Modus LED1" @@ -399,249 +399,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (Ogg-Theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Eingabegerät:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Samplingrate:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Standard" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanäle:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - Mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - Stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "— Video-Filter —" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Hall" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Fuzz" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " Wah-Wah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ente" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Video stoppen (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Video aufnehmen (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Fehler" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "Abbrechen" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Sie haben mehr als ein Video-Gerät installiert\n" "Möchten Sie ein weiteres versuchen?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Eingabegerät:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "GUVCView-Video-Aufnahme" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "GUVCView" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Automatisch anhalten (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Bild aufnehmen (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Bildsteuerung" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Benutzersteuerung" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Benutzersteuerung" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Benutzersteuerung" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Profil laden" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Dateiformat:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Bilddatei" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Rohdatenbild (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "JPEG (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Bilddatei" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "beginnen neue" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "Neustart" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "Neue" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "Abbrechen" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -649,16 +683,18 @@ "Neuer prozess oder programm neustarten?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "Audio-Codec-Werte" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -666,425 +702,481 @@ " Kodierer Bilder/s: \n" " (0 – FPS-Wert aus Auswahlliste)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " Monoton ansteigender PTS" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "Bitrate: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "DIA, Größe: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "Präd.-DIA, Größe: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "Präd.-ME: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "Präd.-CMP: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "Letzter Prädiktorzählstand: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "GOP, Größe: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "QCompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "QBlur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "Subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "FrameRefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "ME, Methode: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "MD, Entscheidung: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "Max. B-Frames: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "Anzahl Threads: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "Audio-Codec-Werte" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "Sample-Format: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Bildsteuerung" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "Bitrate: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Auflösung:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Bildsteuerung" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Bildrate:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Profil speichern" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Dateiformat:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI – Avi-Format" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Max. B-Frames: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Umdrehung (Zurückstellen)" @@ -1097,296 +1189,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Einstellungen" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Hardware-Standards" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Kameraknopf" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Bild aufnehmen" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Video aufnehmen" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Foto" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Datei" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Dateinamen hochzählen" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Video-Codec" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Video-Codec-Eigenschaften" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Audio-Codec" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Audio-Codec-Eigenschaften" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Links" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Rechts" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Runter" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Hoch" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 Bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 Bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Automatisch Fokus (andauernd)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Fokus" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Anwenden" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Bildrate:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Auflösung:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Farbmodell:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "— Video-Filter —" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Gespiegelt" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Gedreht" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativ" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Monochrom" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Bausteine" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Partikel" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Zeigt die Version an" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Verwendetes Video-Gerät [Standard: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Aufnahmemethode (1-mmap (Vorgabe) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Profil laden" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "GUVCView-Warnung:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1394,23 +1543,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "Video speichern in" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "JPEG (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "JPEG (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Anwenden" + +#~ msgid "Focus (absolute)" +#~ msgstr "Fokus (absolut)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 – (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/en_AU.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/en_AU.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/en_AU.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/en_AU.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-06-18 07:11+0000\n" "Last-Translator: Jackson Doak \n" "Language-Team: English (Australia) \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "User Controls" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Brightness" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Hue" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturation" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Sharpness" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Backlight Compensation" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Power Line Frequency" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Hue, Automatic" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Focus, Auto" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Manual Mode" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Auto Mode" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Shutter Priority Mode" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Aperture Priority Mode" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Black Level" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "White Balance, Automatic" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Do White Balance" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Red Balance" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Blue Balance" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Exposure" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Gain, Automatic" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Gain" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Horizontal Flip" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Vertical Flip" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Horizontal Centre" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Vertical Centre" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Chroma AGC" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Colour Killer" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Colour Effects" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Camera Controls" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Auto Exposure" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Exposure Time, Absolute" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Exposure, Dynamic Framerate" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Pan, Relative" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Tilt, Relative" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Pan, Reset" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Tilt, Reset" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Pan, Absolute" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Focus, Absolute" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Focus, Relative" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Focus, Automatic" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Zoom, Absolute" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Zoom, Relative" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoom, Continuous" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privacy" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Exposure, Auto" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Exposure, Auto Priority" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposure (Absolute)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "White Balance Temperature, Auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "White Balance Temperature" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "White Balance Component, Auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "White Balance Blue Component" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "White Balance Red Component" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Focus" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Focus (Absolute)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Off" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "On" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Blinking" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Auto" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "Tilt Reset" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Focus (absolute)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1 Mode" @@ -396,249 +396,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Input Device:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Sample Rate:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Dev. Default" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Channels:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Video Filters ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Fuzz" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ducky" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Stop Video (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Cap. Video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Error" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "cancel" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "You have more than one video device installed.\n" "Do you want to try another one?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Device:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview Video Capture" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Stop Auto (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Cap. Image (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Image Controls" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "User Controls" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "User Controls" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "User Controls" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Load Profile" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "File Format:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Image File name" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Raw Image (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Image File name" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "start new" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "restart" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "new" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "cancel" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -646,16 +680,18 @@ "launch new process or restart?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "audio codec values" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -663,425 +699,481 @@ " encoder fps: \n" " (0 - use fps combobox value)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " monotonic pts" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bit rate: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "pre dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "last predictor count: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop size: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me method: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb decision: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "max B frames: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "num threads: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "audio codec values" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "sample format: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Image Controls" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bit rate: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Resolution:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Image Controls" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Frame Rate:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Save Profile" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "File Format:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - avi format" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "max B frames: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Pan Reset" @@ -1094,296 +1186,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Settings" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Hardware Defaults" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Camera Button" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Capture Image" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Capture Video" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Photo" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "File" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Increment Filename" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Video Codec" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Video Codec Properties" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Audio Codec" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Audio Codec Properties" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Left" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Right" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Down" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Up" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Auto Focus (continuous)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "set Focus" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Apply" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Frame Rate:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Resolution:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Camera Output:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Video Filters ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Mirror" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Invert" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negative" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Pieces" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Particles" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Prints version" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Video Device to use [default: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Capture method (1-mmap (default) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Load Profile" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview Warning:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1391,23 +1540,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "capturing video to" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Apply" + +#~ msgid "Focus (absolute)" +#~ msgstr "Focus (absolute)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/es.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/es.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/es.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/es.po 2016-04-25 16:35:21.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:38+0000\n" "Last-Translator: Adolfo Jayme \n" "Language-Team: Portuguese \n" @@ -49,246 +49,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Controles de usuario" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Brillo" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contraste" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Matiz" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturación" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Nitidez" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Compensación de retroiluminación" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Frecuencia de la línea eléctrica" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Matiz, automático" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Foco, Auto" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Modo manual" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Modo automático" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Modo prioridad del obturador" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Modo prioridad de la abertura" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Nivel de negros" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Balance de blancos, automático" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Hacer balance de blancos" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Balance de rojos" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Balance de azules" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Exposición" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Ganancia, automático" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Ganancia" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Giro horizontal" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Giro vertical" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Centrado horizontal" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Centrado vertical" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "AGC de croma" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Anulador de color" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Efectos de color" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Controles de cámara" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Exposición automática" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Tiempo de exposición, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Exposición, tasa de fotogramas dinámica" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Enfoque, Absoluto" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Enfoque, relativo" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Enfoque, automático" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Zoom, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Zoom, relativo" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoom, continuo" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privacidad" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Exposición, auto" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Exposición, Prioridad Auto" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposición (Absoluta)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Equilibrio blanco, auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Blanco (Temp. de color)" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Componente de color, Auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Componente Azul" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Componente Rojo" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Enfoque" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Enfoque (absoluto)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Apagado" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Encendido" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Parpadeo" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Auto" @@ -308,10 +312,6 @@ msgid "Tilt Reset" msgstr "Inclinación (reajuste)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Foco (absoluto)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Modo LED1" @@ -398,244 +398,277 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio API" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Dispositivo de entrada:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Sample Rate:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Automático" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Canales:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtros Video ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Eco" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Ruido" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Pato" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Detener vídeo (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Cap. vídeo (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Error" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Dispositivo de entrada:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Captura de vídeo Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Detener auto (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Cap. imagen (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Controles de la imagen" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Controles de usuario" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Controles de usuario" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Controles de usuario" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Archivo de Imagen" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Archivo de Imagen" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "Comenzar nuevo" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "Recomenzar aplicación" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "nuevo" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -643,432 +676,490 @@ "nuevo proceso o recomenzar?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "valores de codec de audio" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "media de bits: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmáx: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "máx. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "tamaño dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "tamaño pre dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "tamaño gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "Metodo me " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb desición " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "valores de codec de audio" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Controles de la imagen" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "media de bits: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Resolución:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Controles de la imagen" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "FPS:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - formato avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "FPS:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Rotación (reajuste)" @@ -1081,295 +1172,352 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Izquierda" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Derecha" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Abajo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Arriba" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Foco Automatico (continuo)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Focar" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Aplicar" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "FPS:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Resolución:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Salida de la cámara:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtros Video ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Espejo" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Invertido" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativo" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Gris" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Pedazos" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Partículas" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Imprimir versión" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Dispositivo de video [pred: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Método de captura (1-mmap (predeterminado) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Aviso de Guvcview:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1377,23 +1525,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Aplicar" + +#~ msgid "Focus (absolute)" +#~ msgstr "Foco (absoluto)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/eu.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/eu.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/eu.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/eu.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:37+0000\n" "Last-Translator: Pablo Zubiaurre \n" "Language-Team: Basque \n" @@ -48,246 +48,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Distira" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrastea" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Ñabardura" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Asetasuna" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Garbitasuna" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Foku automatikoa" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Eskuzko modua" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Modu automatikoa" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Obturadore lehentasun modua" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Beltz-maila" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Zuri-balantzea,automatikoa" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Zuri-balantzea egin" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Gorri balantzea" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Urdin balantzea" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Esposizioa" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Irabazia, Automatikoa" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Irabazia" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Irauli horizontalki" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Irauli bertikalki" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -307,10 +311,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -395,240 +395,273 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 msgid "---- Audio Filters ----" msgstr "" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr "" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Bideoa gelditu (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Kaptura (V):" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "utzi" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "Gucview oharra:" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Kaptura (I):" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Irudi kontrolak" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Irudi kontrolak" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "GUVCViewer kontrolak" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Irudi kontrolak" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 msgid "Photo file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 msgid "Video file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "Berria hasi" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "berrabiarazi" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "berria" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "utzi" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -636,426 +669,484 @@ "prozesu berria hasi edo berrabiarazi?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Irudi kontrolak" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 msgid "Bit Rate:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 msgid "Resolution" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Irudi kontrolak" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 msgid "Frame Interval" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 msgid "B Frames:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1067,291 +1158,348 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Ezkerrera" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Eskuina" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Behera" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Gora" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Fokatu" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr "" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr "" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr "" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr "" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Gucview oharra:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1359,23 +1507,44 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" + #~ msgid "" #~ "Guvcview error:\n" #~ "\n" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/fo.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/fo.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/fo.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/fo.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2010-08-05 18:25+0000\n" "Last-Translator: Gunleif Joensen \n" "Language-Team: Faroese \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -394,658 +394,749 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 msgid "---- Audio Filters ----" msgstr "" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr "" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 msgid "_Cancel" msgstr "" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 msgid "H264 Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 msgid "Video Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 msgid "Audio Controls" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 msgid "Photo file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 msgid "Video file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 msgid "Rate Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 msgid "Bit Rate:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 msgid "Resolution" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 msgid "Rate Control" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 msgid "Frame Interval" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 msgid "B Frames:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1057,291 +1148,348 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr "" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr "" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr "" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr "" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1349,23 +1497,44 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" + #~ msgid "" #~ "Guvcview error:\n" #~ "\n" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/fr.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/fr.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/fr.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/fr.po 2016-04-25 16:35:21.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:33+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: Portuguese \n" @@ -50,246 +50,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Raccourcis claviers" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Luminosité" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contraste" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Teinte" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturation" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Netteté" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Correction de contre-jour" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Fréquence de rafraîchissement" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Teinte, Automatique" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Mise au Point Automatique" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Mode Manuel" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Mode Auto" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Mode Priorité Vitesse" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Mode Priorité Ouverture" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Niveau de noir" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Balance des blancs, Automatique" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Régler la balance des blancs" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Balance des rouges" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Balance des bleus" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Exposition" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Gain, Automatique" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Gain" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Miroir horizontal" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Miroir vertical" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Centré Horizontalement" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Centrer verticalement" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Chroma CAG" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Tueur de couleur" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Effets de couleur" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Commande de la caméra" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Exposition automatique" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Temps d'exposition, Absolu" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Exposition, Nombre d'images par seconde dynamique" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Panoramique, Relatif" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Inclinaison, Relatif" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Panoramique, Remise à zéro" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Inclinaison, Remise à zéro" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Panoramique, Absolu" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Focale, Absolu" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Focale, Relatif" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Focale, Automatique" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Zoom, Absolu" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Zoom, Relatif" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoom, Continu" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Confidentialité" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Exposition, Auto" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Exposition, mode automatique" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposition (valeur absolue)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Balance des blancs, Auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Balance des blancs" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Balance des blancs par canal, Auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Balance des Blancs, Canal Bleu" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Balance des Blancs, Canal Rouge" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Mise au point" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Mise au point (Absolue)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Désactivé" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Activé" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Clignotement" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Automatique" @@ -309,10 +313,6 @@ msgid "Tilt Reset" msgstr "Rotation Verticale (remise à zero)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Mise au Point (valeur absolue)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Mode DEL1" @@ -399,247 +399,281 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Périphérique d'Entrée:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Taux d'échantillonage:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Valeur par Défaut" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Canaux:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stéréo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtres Vidéo ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Bruit" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Canard" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Arrêter la vidéo (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Enr. Video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Erreur" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "Annuler" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Vous avez plus d'un périphérique vidéo installé.\n" "Voulez-vous en essayer un autre ?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Périphérique d'Entrée:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Capture de vidéo Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Arrêt Automatique (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Enr. Image (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Réglages de l'image" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Raccourcis claviers" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Raccourcis claviers" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Raccourcis claviers" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Ficher Image" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Ficher Image" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "commencez nouveau" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "Redémarrer l'application" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "nouveau" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "Annuler" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -647,16 +681,18 @@ "nouveau processus ou redémarrage?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "valeurs du codec audio" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -664,417 +700,473 @@ " encodeur ips: \n" " (0 - utilise la valeur ips de la combobox)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " Pts monotones" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bit rate : " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax : " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin : " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "qdiff max.: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "taille dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "taille pre dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sous cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "compte du dernier indicateur: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "taille gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "méthode me: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "décision mb: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "nombre max d'images B: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "nb threads: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "valeurs du codec audio" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Réglages de l'image" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bit rate : " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Résolution :" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Réglages de l'image" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Fréquence d'image:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - format avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "nombre max d'images B: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Rotation Horizontale (remise à zero)" @@ -1087,295 +1179,352 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Gauche" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Droite" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Bas" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Haut" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Mise au Point (continu)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Mise au Point" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Assigner" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Fréquence d'image:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Résolution :" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Sortie Caméra :" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtres Vidéo ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Miroir" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Inverser" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Négatif" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Monochrome" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Morceaux" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Particules" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Affiche la version" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Périphérique video (défaut: /dev/video0)" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Méthode de capture (1-mmap (par défaut) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Avertissement Guvcview :" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1383,23 +1532,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Assigner" + +#~ msgid "Focus (absolute)" +#~ msgstr "Mise au Point (valeur absolue)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/gl.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/gl.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/gl.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/gl.po 2016-04-25 16:35:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:34+0000\n" "Last-Translator: Dario \n" "Language-Team: Galician \n" @@ -48,246 +48,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Brillo" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contraste" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Ton" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturación" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Focalización" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Matiz, Automático" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Foco, Automático" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Modo Manual" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Modo Automático" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Nivel de negro" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Balance vermello" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Balance azul" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Exposición" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Ganancia, Automática" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Ganancia" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Xiro horizontal" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Xiro vertical" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Efectos de cor" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Exposición automática" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Tempo de exposición, Absoluto" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Inclinación, relativo" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Inclinación, Restabelecer" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Foco, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Foco, relativo" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Foco, automático" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privacidade" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Exposición, Automático" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Exposición, Prioridade automática" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposición (absoluto)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Foco" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Foco(absoluto)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -307,10 +311,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -396,669 +396,760 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Dispositivo de entrada:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Taxa de mostraxe:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Canles:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 msgid "---- Audio Filters ----" msgstr "" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverberar" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Difuso" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Deter vídeo (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Cap. Video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Erro" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Dispositivo:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Capturador de vídeo GUVCView" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Cap. Imaxe (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Controles de GUVCViewer" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Controles de GUVCViewer" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Controles de GUVCViewer" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Nome da imaxe" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Nome da imaxe" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "reiniciar" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "novo" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "Taxa de bits: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "Tamaño do gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 msgid "Rate Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "Taxa de bits: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Resolution:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Controles de GUVCViewer" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Taxa de fotogramas:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Taxa de fotogramas:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1070,293 +1161,350 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Esquerda" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Dereita" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Abaixo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Arriba" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Foco automático(continuo)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Definir foco" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Aplicar" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Taxa de fotogramas:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Resolution:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Saída da cámara:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Espello" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Inverter" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativo" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Partículas" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Mostrar a versión" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1364,23 +1512,45 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Aplicar" + #~ msgid "Audio" #~ msgstr "Son" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/guvcview.pot guvcview-2.0.4+ubuntu2~ppa1+1380/po/guvcview.pot --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/guvcview.pot 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/guvcview.pot 2016-04-25 16:35:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:51+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,246 +46,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -305,10 +309,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -393,658 +393,749 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 msgid "---- Audio Filters ----" msgstr "" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr "" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 msgid "_Cancel" msgstr "" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 msgid "H264 Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 msgid "Video Controls" msgstr "" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 msgid "Audio Controls" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 msgid "Photo file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 msgid "Video file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 msgid "Rate Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 msgid "Bit Rate:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 msgid "Resolution" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 msgid "Rate Control" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 msgid "Frame Interval" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 msgid "B Frames:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1056,291 +1147,348 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr "" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr "" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr "" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr "" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1348,19 +1496,40 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/he.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/he.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/he.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/he.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:36+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: Hebrew \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "פקדי משתמש" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "בהירות" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "ניגודיות" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "גוון" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "רוויה" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "חדות" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "גאמה" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "פיצוי אור אחורי" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "תדר חשמל" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "גוון, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "מיקוד, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "מצב ידני" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "מצב אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "מצב עדיפות צמצם" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "רמת שחור" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "איזון לובן, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "איזון האדום" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "איזון הכחול" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "חשיפה" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "מרווח, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "הישג" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "היפוך אופקי" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "היפוך אנכי" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "מרכז אופקי" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "מרכז אנכי" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "פקדי מצלמה" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "חשיפה אוטומטית" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "זמן חשיפה, מוחלט" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "נטייה, יחסי" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "נטייה, אפס" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "מיקוד, מוחלט" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "מיקוד, יחסי" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "מיקוד, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "פרטיות" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "חשיפה, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "חשיפה, עדיפות אוטומטית" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "חשיפה (מוחלטת)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "טמפרטורת איזון הלבן, אוטומטית" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "טפמרטורת איזון הלבן" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "רכיב איזון הלבן, אוטומטי" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "רכיב איזון הלבן הכחול" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "רכיב איזון הלבן האדום" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "איפוס הטייה" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "מיקוד (מוחלט)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "מצב LED1" @@ -395,242 +395,275 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "קצב דגימה" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "ערוצים:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - מונו" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - סטריאו" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "--- מסנני וידאו ---" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " הד" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "בטל" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "התקן:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "פקדי תמונה" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "פקדי משתמש" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "פקדי משתמש" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "פקדי משתמש" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "שם קובץ תמונה" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "שם קובץ תמונה" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "הפעל עכשיו" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "הפעל מחדש" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "חדש" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "בטל" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -638,429 +671,487 @@ "הפעל תהליך חדש או הפעל מחדש?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "ערכי מקודד" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "קצב סיביות: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "פקדי תמונה" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "קצב סיביות: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "רזולוציה:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "פקדי תמונה" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 msgid "Frame Interval" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 msgid "B Frames:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1072,294 +1163,351 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "שמאל" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "ימין" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "למטה" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "למעלה" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "מיקוד אוטומטי (מתמשך)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "הגדר מיקוד" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "החל" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "רזולוציה:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "פלט מצלמה:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "--- מסנני וידאו ---" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " מראה" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " הפוך" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr "" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " מונו" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " חלקים" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "מדפיס גרסה" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "התקן וידאו לשימוש [ברירת מחדל:/dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1367,23 +1515,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "החל" + +#~ msgid "Focus (absolute)" +#~ msgstr "מיקוד (מוחלט)" + #~ msgid "Audio" #~ msgstr "שמע" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/hr.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/hr.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/hr.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/hr.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-09-27 09:35+0000\n" "Last-Translator: gogo \n" "Language-Team: Croatian \n" @@ -48,246 +48,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Korisničke Kontrole" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Osvjetljenje" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Nijansa" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Zasićenje" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Oštrina" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gama" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Ispravke pozadinskog osvjetljenja" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Fokusiranje, Automatsko" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Ručni Način" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Automatski Način" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Razina Crne boje" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Ravnoteža Bijele, Automatski" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Uredi Ravnotežu Bijele" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Ravnoteža Crvene" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Ravnoteža Plave" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Izloženost" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Dobit" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Vodoravno Okretanje" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Okomito Okretanje" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Vodoravno Centriraj" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Okomito Centriraj" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Efekti boje" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Kontrole Kamere" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Automatska Izloženost" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Vrijeme Izloženosti, Apsolutno" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Izloženost, Broj Slika" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Fokusiranje, Apsolutno" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Fokusiranje, Relativno" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Fokusiranje, Automatsko" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Približavanje, Apsolutno" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Približavanje, Relativno" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Približavanje, Neprestano" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privatnost" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Izloženost, Automatsko" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Izloženost (Apsolutna)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Fokusiranje" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -307,10 +311,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -395,247 +395,281 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Ulazni uređaj:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Zadane Postavke Uređaja" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanali:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Video Filteri ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Jeka" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Odjek" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Mutno" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Patka" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Zaustavi Video (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Snimi Video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Grješka" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "odustani" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Imate više uređaja instalirano.\n" "Želite li isprobati ostale?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Uređaj:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview Snimanje Videa" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "Guvcview Upozorenje" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Zaustavi Automatsko (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Snimi Sliku (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Kontrole Slike" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Korisničke Kontrole" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Korisničke Kontrole" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Korisničke Kontrole" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Ime Slikovne Datoteke" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Ime Slikovne Datoteke" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "pokreni novo" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "ponovo pokreni" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "novo" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "odustani" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -643,431 +677,489 @@ "upalite novi proces ili ponovno pokrenite?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "vrijednosti audio codeca" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "vrijednosti audio codeca" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Kontrole Slike" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "Broj Slika:" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Razlučivost:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Kontrole Slike" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Broj Slika:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Broj Slika:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 msgid "Encoder Reset" msgstr "" @@ -1079,294 +1171,351 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Lijevo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Desno:" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Dolje" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Gore" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Automatski Focus (neprekidno)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "postavi fokusiranje" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Primjeni" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Broj Slika:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Razlučivost:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Video Filteri ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Zrcalo" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Izokrenuto" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativ" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Komadići" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Čestice" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Isprintaj verziju" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Video uređaj rabljen [zadani: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview Upozorenje" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1374,23 +1523,45 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Primjeni" + #~ msgid "Audio" #~ msgstr "Audio" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/it.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/it.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/it.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/it.po 2016-04-25 16:35:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-03-07 02:31+0000\n" "Last-Translator: Giovanni Scafora \n" "Language-Team: Arch Linux Italian Team \n" @@ -48,246 +48,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Controlli dell'utente" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Luminosità" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contrasto" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Colore" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturazione" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Nitidezza" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Compensazione del controluce" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Frequenza di aggiornamento" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Colore automatico" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Messa a fuoco automatica" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Modalità manuale" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Modalità automatica" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Modalità di priorità dell'otturatore" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Modalità di priorità dell'apertura" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Livello del nero" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Bilanciamento automatico del bianco" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Bilanciamento del bianco" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Bilanciamento del rosso" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Bilanciamento del blu" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Esposizione" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Guadagno automatico" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Guadagno" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Rifletti orizzontalmente" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Rifletti verticalmente" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Centra orizzontalmente" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Centra verticalmente" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Chroma AGC" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Killer del colore" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Effetti del colore" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Controlli della webcam" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Esposizione automatica" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Tempo di esposizione assoluto" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Esposizione, framerate dinamico" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Panoramica relativa" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Inclinazione relativa" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Ripristina la panoramica" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Ripristina l'inclinazione" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Panoramica assoluta" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Messa a fuoco assoluta" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Messa a fuoco relativa" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Messa a fuoco automatica" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Zoom assoluto" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Zoom relativo" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoom continuo" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privacy" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Esposizione automatica" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Esposizione, priorità automatica" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Esposizione (assoluta)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Bilanciamento del bianco automatico" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Bilanciamento del bianco" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Bilanciamento dei componenti del bianco automatico" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Bilanciamento del bianco, canale blu" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Bilanciamento del bianco, canale rosso" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Messa a fuoco" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Messa a fuoco (assoluta)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Spento" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Acceso" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Lampeggiante" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Automatico" @@ -307,10 +311,6 @@ msgid "Tilt Reset" msgstr "Ripristina l'inclinazione" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Messa a fuoco (assoluta)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Modalità LED1" @@ -397,249 +397,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "API dell'audio:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Dispositivo di ingresso:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Frequenza di campionamento:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Impostazione predefinita del dispositivo" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Canali:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtri video ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Eco" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Riverbero" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Rumore" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Anatroccolo" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Ferma il video (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Registra video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Errore" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "annulla" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "C'è più di un dispositivo video installato.\n" "Vuoi provare l'altro ?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Dispositivo:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Cattura video di Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Arresto automatico (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Cattura immagine (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Controlli dell'immagine" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Controlli dell'utente" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Controlli dell'utente" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Controlli dell'utente" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Carica profilo" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Formato del file:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Nome del file immagine" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Immagine raw (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Nome del file immagine" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "inizia nuovo" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "riavvia" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "nuovo" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "annulla" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -647,16 +681,18 @@ "vuoi lanciare un nuovo processo o riavviare?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "valori del codec audio" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -664,425 +700,481 @@ " encoder fps: \n" " (0 - usare il valore fps della combobox)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " punti monocromatici" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bit rate: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dim. dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "dim. pre dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "conteggio dell'ultimo indicatore: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "dim. gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "metodo me: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "decisione mb: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "numero massimo di immagini B: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "numero di thread: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "valori del codec audio" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "Formato di campionamento: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Controlli dell'immagine" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bit rate: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Risoluzione:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Controlli dell'immagine" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Frame rate:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Salva profilo" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Formato del file:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - formato avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "numero massimo di immagini B: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Ripristina la panoramica" @@ -1095,296 +1187,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Impostazioni" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Ripristina l'hardware di default" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Pulsante della camera" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Cattura l'immagine" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Registra il video" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Foto" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "File" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Incrementa il nome del file" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Codec video" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Proprietà del codec video" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Codec audio" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Proprietà del codec audio" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Sinistra" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Destra" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Sotto" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Sopra" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Messa a fuoco automatica (continua)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "imposta la messa a fuoco" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Applica" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Frame rate:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Risoluzione:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Uscita della webcam:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtri video ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Specchio" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Inverti" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativo" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Monocromatico" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Pezzi" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Particelle" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Visualizza la versione" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Dispositivo video da utilizzare [predefinito: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Metodo di registrazione (1-mmap (predefinito) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Carica profilo" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Avviso di Guvcview:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1392,23 +1541,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "registra video da" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Applica" + +#~ msgid "Focus (absolute)" +#~ msgstr "Messa a fuoco (assoluta)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/ja.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/ja.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/ja.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/ja.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: GUVCView 1.0.2\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:38+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: LANGUAGE \n" @@ -49,246 +49,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "輝度" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "コントラスト" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "色相" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "彩度" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "鮮明度" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "ガンマ" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "バックライト補正" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "電源ライン周波数" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "フォーカス,自動" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "手動モード" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "自動モード" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "シャッター優先モード" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "絞り優先モード" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "ゲイン" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "露出、自動" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "露出、自動優先" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposure (完全な)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "ホワイトバランス温度、自動" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "ホワイトバランス温度" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "ホワイトバランス成分、自動" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "ホワイトバランス青成分" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "ホワイトバランス赤成分" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -308,10 +312,6 @@ msgid "Tilt Reset" msgstr "チルト リセット" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "フォーカス (完全な)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1 モード" @@ -397,242 +397,275 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "入力デバイス:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "サンプルレート:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "デバイス デフォルト" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "チャンネル:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - モノラル" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - ステレオ" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- ビデオフィルタ ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Fuzz" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ducky" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "キャンセル" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "デバイス:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "イメージコントロール" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "イメージコントロール" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "GUVCViewer コントロール" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "イメージコントロール" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "画像ファイル名" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "画像ファイル名" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "新しく開始する" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "再起動" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "新規" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "キャンセル" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -640,430 +673,488 @@ "新しいプロセスを立ち上げるか、再起動しますか?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 msgid "video codec values" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "イメージコントロール" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "フレームレート:" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "解像度:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "イメージコントロール" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "フレームレート:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "フレームレート:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "パン リセット" @@ -1076,293 +1167,350 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "左" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "右" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "下" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "上" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "オートフォーカス(連続)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "フォーカスを設定する" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 msgid "_Apply" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "フレームレート:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "解像度:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "カメラ出力:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- ビデオフィルタ ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " 鏡" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " 反転" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " ネガ" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " モノクロ" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " 断片" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "バージョンを表示する" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "使用するビデオデバイス [デフォルト: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1370,23 +1518,47 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +msgid "Apply" +msgstr "" + +#~ msgid "Focus (absolute)" +#~ msgstr "フォーカス (完全な)" + #~ msgid "Audio" #~ msgstr "オーディオ" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/lv.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/lv.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/lv.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/lv.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-05-01 09:27+0000\n" "Last-Translator: tuxmaniack \n" "Language-Team: Latvian \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Lietotāja vadīklas" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Gaišums" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrasts" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Tonis" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Piesātinājums" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Asums" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Fona apgaismojuma kompensācija" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Līnijas frekvence" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Tonis, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Fokuss, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Rokas režīms" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Automātiskais režīms" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Aizvara prioritātes režīms" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Diafragmas prioritātes režīms" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Melnā līmenis" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Baltās krāsas līdzsvars, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Sarkanais līdzsvars" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Zilais līdzsvars" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Ekspozīcija" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Pieaugums, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Pieaugums" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Horizontāli apgriezts" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Vertikāli apgriezts" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Horizontāli centrā" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Vertikāli centrā" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Krāsu slepkava" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Krāsu efekti" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Kameras vadīklas" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Automātiska ekspozīcija" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Ekspozīcijas laiks, absolūts" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Ekspozīcija, dinamisks kadrātrums" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Vert. pagrieziens, relatīvi" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Horiz. pagrieziens, relatīvi" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Vert. pagrieziens, pārstatīt" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Horiz. pagrieziens, pārstatīt" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Vert. pagrieziens, absolūti" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Fokuss, absolūts" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Fokuss, relatīvs" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Fokuss, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Mērogošana, absolūta" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Mērogošana, relatīva" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Mērogošana, nepārtraukta" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privātums" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Ekspozīcija" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Ekspozīcija, automātiska prioritāte" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Ekspozīcija (absolūta)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Baltās krāsas līdzsvars, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Baltās krāsas līdzsvars" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Baltās krāsas līdzsvara komponents, automātiski" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Baltās krāsas līdzsvara zilais komponents" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Baltās krāsas līdzsvara sarkanais komponents" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Fokuss" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Fokuss (absolūts)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Izslēgts" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Ieslēgts" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Mirgošana" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Automātiski" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "Horiz. pagrieziens, pārstatīt" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Fokuss (absolūts)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1 režīms" @@ -396,248 +396,282 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio saskarne:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Ievades ierīce:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Nolases biežums:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Izstrādātāja noklusējums" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanāli:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Video filtri ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Atbalss" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverbācija" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Rācija" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " VahVah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Pīle" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Uzņemt video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Kļūda" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "atcelt" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Ir pieejamas vairākas video ierīces.\n" "Vai vēlaties izmēģināt citu?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Ierīce:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview video uzņemšana" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Uzņemt attēlu (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Attēla vadīklas" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Lietotāja vadīklas" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Lietotāja vadīklas" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Lietotāja vadīklas" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Ielādēt profilu" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Faila formāts:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Attēla faila nosaukums" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Raw Image (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Attēla faila nosaukums" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "sākt jaunu" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "pārstartēt" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "jauns" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "atcelt" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -645,440 +679,498 @@ "palaist jaunu procesu vai pārstartēt?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "audio kodeka vērtības" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bitu ātrums: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "audio kodeka vērtības" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Attēla vadīklas" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bitu ātrums: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Izšķirtspēja:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Attēla vadīklas" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Kadru ātrums:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Saglabāt profilu" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Faila formāts:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - avi formāts" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Kadru ātrums:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Vert. pagrieziens, pārstatīt" @@ -1091,296 +1183,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Iestatījumi" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Aparatūras noklusējums" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Kameras poga" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Uzņemt attēlu" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Uzņemt video" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Foto" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Fails" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Automātiski pieaugošs" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Video kodeks" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Video kodeka īpašības" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Audio kodeks" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Audio kodeka īpašības" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Pa kreisi" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Pa labi" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Lejup" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Augšup" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 biti" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 biti" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Automātisks fokuss (nepārtraukts)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "iestatīt fokusu" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Pielietot" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Kadru ātrums:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Izšķirtspēja:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Kameras izvade:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Video filtri ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Spogulis" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Invertēt" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negatīvs" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Melnbalts" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Mozaīka" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Daļiņas" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Izdrukas versija" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Video ierīce, kuru izmantot [noklusējums: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Uzņemšanas metode (1-mmap (noklusētais) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Ielādēt profilu" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview brīdinājums:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1388,23 +1537,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Pielietot" + +#~ msgid "Focus (absolute)" +#~ msgstr "Fokuss (absolūts)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/nl.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/nl.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/nl.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/nl.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-05-04 16:28+0000\n" "Last-Translator: Pjotr12345 \n" "Language-Team: Dutch \n" @@ -49,246 +49,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Bedieningsknoppen voor gebruiker" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Helderheid" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Tint" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Verzadiging" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Scherpte" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Achtergrondverlichtingscompensatie" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Frequentie van de elektrische aansluiting" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Waas, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Scherpstelling, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Handmatige modus" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Automatische modus" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Voorkeurmodus van sluiter" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Voorkeurmodus van lensopening" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Zwartniveau" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Witbalans, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Pas witbalans toe" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Roodbalans" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Blauwbalans" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Belichting" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Versterking, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Versterking" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Horizontaal spiegelen" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Verticaal spiegelen" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Horizontaal centreren" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Verticaal centreren" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Chroma AGC" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Kleurdoder" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Kleureffecten" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Bedieningsknoppen voor camera" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Autobelichting" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Belichtingstijd, absoluut" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Belichtingstijd, dynamische opnamesnelheid" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Meedraaien, relatief" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Kantelen, relatief" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Meedraaien, terugzetten op standaardwaarden" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Kantelen, terugzetten op standaardwaarden" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Meedraaien, absoluut" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Scherpstellen, absoluut" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Scherpstellen, relatief" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Scherpstellen, automatisch" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Zoomen, absoluut" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Zoomen, relatief" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoomen, bij voortduring" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privéleven" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Belichting, auto" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Belichting, auto-prioriteit" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Belichting (absoluut)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Witbalanstemperatuur, auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Witbalanstemperatuur" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Witbalans-onderdeel, auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Blauw witbalansonderdeel" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Rood witbalansonderdeel" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Scherpstelling" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Scherpstelling (absoluut)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Uit" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Aan" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Knipperen" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Auto" @@ -308,10 +312,6 @@ msgid "Tilt Reset" msgstr "Kantelen terugzetten op standaardwaarden" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Scherpstellen (absoluut)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1-modus" @@ -398,249 +398,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Invoerapparaat:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Samplesnelheid:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Dev. standaard" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanalen:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Videofilters ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Weergalm" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Fuzz" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ducky" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Stop Video (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Video Vastleggen (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Fout" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "annuleren" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "U hebt meer dan één video-apparaat geïnstalleerd.\n" "Wilt u een ander proberen?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Apparaat:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview video-opname" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Stop Auto (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Afbeelding vastleggen (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Fotobedieningsknoppen" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Bedieningsknoppen voor gebruiker" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Bedieningsknoppen voor gebruiker" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Bedieningsknoppen voor gebruiker" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Profiel laden" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Bestandtype:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Naam van fotobestand" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Raw Image (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Naam van fotobestand" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "start nieuw" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "herstarten" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "nieuw" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "annuleren" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -648,16 +682,18 @@ "nieuw proces starten of herstarten?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "audio codec-waarden" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -665,425 +701,481 @@ " encoder fps: \n" " (0 - gebruik fps-comboboxwaarde)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " monotonic pts" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bitrate: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "diagrootte: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "pre-diagrootte: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "laatste telling van voorspeller: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop-grootte: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me-methode: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb-besluit: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "max B frames: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "num threads: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "audio codec-waarden" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "bestandtype van voorbeeld: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Fotobedieningsknoppen" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bitrate: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Resolutie:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Fotobedieningsknoppen" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Beelden per seconde:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Profiel opslaan" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Bestandtype:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - aviformaat" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "max B frames: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Meedraaien terugzetten op standaardwaarden" @@ -1096,296 +1188,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Instellingen" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Apparatuurstandaarden" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Cameraknop" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Afbeelding vastleggen" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Video vastleggen" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Foto" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Bestand" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Bestandnaam aanvullen" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Videocodec" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Eigenschappen van videocodec" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Audiocodec" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Eigenschappen van audiocodec" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Links" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Rechts" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Omlaag" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Omhoog" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8-bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12-bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Automatische scherpstelling (voortdurend)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "scherpstelling instellen" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Toepassen" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Beelden per seconde:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Resolutie:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Camera-uitvoer:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Videofilters ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Spiegelen" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Omdraaien" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negatief" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Delen" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Deeltjes" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Drukt versie af" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Te gebruiken video-apparaat [standaard: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Opnamemethode (1-mmap (standaard) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Profiel laden" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview -waarschuwing:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1393,23 +1542,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "video wordt vastgelegd naar" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Toepassen" + +#~ msgid "Focus (absolute)" +#~ msgstr "Scherpstellen (absoluut)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/pl.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/pl.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/pl.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/pl.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:33+0000\n" "Last-Translator: Adam Czabara \n" "Language-Team: Polish \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Kontrolki użytkownika" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Jasność:" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Kontrast" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Barwa:" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Nasycenie" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Ostrość" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gamma" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Kompensacja oświetlenia tła" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Częstotliwość lini zasilania" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Barwa: Automatycznie" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Ostrość, Auto" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Tryb ręczny" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Tryb automatyczny" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Priorytet migwaki" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Priorytet przysłony" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Poziom czerni" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Automatyczny balans bieli" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Balans bieli" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Balans czerwieni" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Balans niebieskiego" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Ekspozycja" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Automatyczna ziarnistość" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Wzmocnienie" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Odbicie poziome" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Odbicie pionowe" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Wyśrodkowanie poziome" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Wyśrodkowanie pionowe" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Automatyczna kontrola kluczowania" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Usunięcie koloru" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Efekty kolorów" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Kontrola kamery" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Automatyczna ekspozycja" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Absolutny czas ekspozycji" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "dynamiczna ilośc klatek/s ekspozycji" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Względne Pan" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Przechylenie względne" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Reset Pan" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Reset nachylenia" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Absolutny Pan" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Ostrośc absolutna" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Ostrość względna" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Automatyczna ostrość" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Absolutny zoom" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Względny zoom" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoom ciągły" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Prywatność" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Auto ekspozycja" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Auto priorytet ekspozycji" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Ekspozycja (absolutna)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Automatyczny balans bieli temperatury" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Temperatura balansu bieli" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Automatyczny komponent balansu bieli" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Komponent balansu bieli - niebieskiego" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Komponent balansu bieli - czerwonego" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Ostrość" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Ostrość (absolutna)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "" @@ -394,255 +394,290 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Audio API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Urządzenie wejścia:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Próbkowanie audio:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Urzadzenie domyślne" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanały:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtry wideo ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Echo" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr "" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr "" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr "" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr "" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Stop Video (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Przechwicenie Wideo (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 msgid "_Cancel" msgstr "" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Urządzenie:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Przechwytywanie wideo Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 msgid "Guvcview" msgstr "" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Stop Auto (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Przechwycenie obrazu (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Kontrola obrazu" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Kontrolki użytkownika" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Kontrolki użytkownika" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Kontrolki użytkownika" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 msgid "Photo file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 msgid "Video file name" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "wartości kodeka audio" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -650,416 +685,472 @@ " enkoder fps: \n" " (0 - użycie wartości fps combobox)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bit rate: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmaks: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "rozmiar dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "rozmiar pre dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "rozmiar gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "max klatek B: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "wartości kodeka audio" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Kontrola obrazu" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bit rate: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Rozdzielczość:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Kontrola obrazu" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Klatki na sekundę:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "max klatek B: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Reset Pan" @@ -1072,292 +1163,349 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Lewy" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Prawy" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Dół" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Góra" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Zastosuj" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Klatki na sekundę:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Rozdzielczość:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtry wideo ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr "" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Odwrócenie" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negatyw" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr "" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 msgid "Print version" msgstr "" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 msgid "Set device name (def: /dev/video0)" msgstr "" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 msgid "Set capture method [read | mmap (def)]" msgstr "" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1365,23 +1513,45 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Zastosuj" + #~ msgid "Audio" #~ msgstr "Audio" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/POTFILES.in guvcview-2.0.4+ubuntu2~ppa1+1380/po/POTFILES.in --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/POTFILES.in 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/POTFILES.in 2016-04-25 16:35:21.000000000 +0000 @@ -22,7 +22,7 @@ guvcview/video_capture.c guvcview/gui_qt5.cpp guvcview/gui_qt5_callbacks.cpp -guvcview/gui_gt5_h264ctrls.cpp +guvcview/gui_qt5_h264ctrls.cpp guvcview/gui_qt5_menu.cpp guvcview/gui_qt5_v4l2ctrls.cpp guvcview/gui_qt5_videoctrls.cpp diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/pt_BR.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/pt_BR.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/pt_BR.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/pt_BR.po 2016-04-25 16:35:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pt_BR\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-08-25 02:20+0000\n" "Last-Translator: Celio Alves \n" "Language-Team: Brazilian Portuguese \n" @@ -49,246 +49,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Controles do usuário" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Brilho" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contraste" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Matiz" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturação" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Nitidez" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gama" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Compensação de Luz" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Frequência da linha de transmissão" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Matiz, Automático" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Focagem, auto" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Modo manual" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Modo automático" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Modo prioridade do obturador" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Modo prioridade da abertura" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Níveis de preto" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Balanço de brancos" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Fazer balanço de brancos" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Balanço do vermelho" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Balanço do azul" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Exposição" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Ganho, automático" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Ganho" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Virar horizontalmente" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Virar verticalmente" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Eixo horizontal" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Eixo vertical" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "AGC de Chroma" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Removedor de cores" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Efeitos de cor" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Controles de câmera" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Exposição automática" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Tempo de exposição, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Exposição, taxa de quadros dinâmicos" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Deslocamento, relativo" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Inclinação, relativo" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Deslocamento, restaurar" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Inclinação, restaurar" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Deslocamento, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Foco, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Foco, relativo" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Foco, automático" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Zoom, absoluto" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Zoom, relativo" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Zoom, contínuo" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privacidade" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Exposição, auto" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Exposição, prioridade auto" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposição (absoluta)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Balanço de branco, auto" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Balanço de branco temperatura" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Componente de cor, auto" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Balanço de branco componente azul" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Balando de branco componente vermelho" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Foco" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Foco (absoluto)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Desligado" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Ligado" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Intermitente" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Auto" @@ -308,10 +312,6 @@ msgid "Tilt Reset" msgstr "Restaurar inclinação" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Foco (absoluto)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Modo LED1" @@ -397,249 +397,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "API de áudio:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Dispositivo de entrada:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Taxa de amostragem:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Padrão" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Canais:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtros de vídeo ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Eco" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Ruído" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Patinho" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Parar vídeo (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Cap. vídeo (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Erro" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Foram detectados múltiplos dispositivos de vídeo.\n" "Quer tentar outro?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Dispositivo:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Capturador de vídeo Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Parar auto (I):" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Cap. imagem (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Controles de imagem" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Controles do usuário" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Controles do usuário" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Controles do usuário" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Carregar Perfil" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Formato do arquivo:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Nome do arquivo de imagem" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Imagem Raw (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Nome do arquivo de imagem" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "iniciar novo" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "reiniciar" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "novo" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -647,16 +681,18 @@ "lançar novo processo ou recomeçar?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "valores do codec de áudio" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -664,425 +700,481 @@ " codificador fps: \n" " (0 - use o valor fps da caixa de marcação)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " pts monotonico" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "taxa de bits: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "qdiff max: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "tamanho do dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "tamanho do diâ pré: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "última contagem preditor: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "tamanho do gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "método me: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "decisão mb: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "Max quadros B: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "num threads: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "valores do codec de áudio" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Controles de imagem" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "taxa de bits: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Resolução:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Controles de imagem" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Taxa de quadros:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Salvar perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Formato do arquivo:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - formato avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Max quadros B: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Restaurar deslocamento" @@ -1095,296 +1187,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Definições" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Pré-definição de Hardware" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Botão da Câmera" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Capturar Imagem" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Capturar Video" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Foto" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Ficheiro" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Increm. nome do ficheiro" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Codec de Video" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Propr. Codec de Video" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Codec de Audio" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Propr. Codec de Audio" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Esquerda" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Direita" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Baixo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Cima" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Focagem automática (contínua)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Definir foco" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Aplicar" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Taxa de quadros:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Resolução:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Saída de câmera:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtros de vídeo ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Espelho" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Invertido" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativo" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Cinza" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Pedaços" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Partículas" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Exibe a versão" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Dispositivo de vídeo para usar [padrão: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Método de captura (1-mmap (padrão) 2-leitura)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Carregar Perfil" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Alerta Guvcview:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1392,23 +1541,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Aplicar" + +#~ msgid "Focus (absolute)" +#~ msgstr "Foco (absoluto)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/pt.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/pt.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/pt.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/pt.po 2016-04-25 16:35:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pt_PT\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:38+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: Portuguese\n" @@ -48,246 +48,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Controlos de utilizador" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Brilho" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Contraste" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Cor" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Saturação" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Nitidez" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Gama" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Compensação da iluminação" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Frequência da linha elétrica" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Cor automática" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Focagem automática" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Modo manual" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Modo automático" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Modo prioridade do obturador" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Modo prioridade da abertura" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Nível do preto" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Balanço de brancos automático" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Balancear brancos" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Balancear vermelhos" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Balancear azuis" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Exposição" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Ganho automático" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Ganho" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Inversão horizontal" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Inversão vertical" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Eixo horizontal" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Eixo vertical" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Chroma AGC" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Remoção de cores" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Efeitos de cor" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Controlos de câmara" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Exposição automática" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Tempo de exposição absoluto" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Exposição com fotogramas dinâmicos" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Rotação relativa" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Inclinação relativa" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Restaurar rotação" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Restaurar inclinação" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Rotação absoluta" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Focagem absoluta" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Focagem relativa" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Focagem automática" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Ampliação absoluta" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Ampliação relativa" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Ampliação continua" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Privacidade" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Exposição automática" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Esxposição com prioridade automática" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Exposição absoluta" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Balanceamento de brancos automático" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Temperatura do balanceamento de brancos" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Componente de brancos automática" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Componente azul" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Componente vermelho" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Focagem" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Focagem absoluta" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Desligado" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Ligado" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Intermitente" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Automático" @@ -307,10 +311,6 @@ msgid "Tilt Reset" msgstr "Restaurar inclinação" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Focagem (absoluta)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Modo LED1" @@ -397,247 +397,281 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Áudio API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Dispositivo de som:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Frequência:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Automático" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Canais:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - estéreo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Filtros de vídeo ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Eco" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Ruído" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WhaWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Patinho" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Parar Video (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Cap. Video (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Erro" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Parece que possui mais do que 1 dispositivo de vídeo.\n" "Quer tentar outro?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Dispositivo:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Captura de vídeo Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Parar Auto (I):" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Cap. Imagem (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Controlos de imagem" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Controlos de utilizador" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Controlos de utilizador" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Controlos de utilizador" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Carregar Perfil" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Nome do ficheiro" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Nome do ficheiro" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "iniciar novo" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "reiniciar" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "novo" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "cancelar" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -645,16 +679,18 @@ "quer iniciar um novo processo ou reiniciar?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "valores do codificador áudio" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -662,424 +698,480 @@ " fps do codificador: \n" " (0 - utilizar valor da caixa de combinação)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " pts monótonos" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "taxa de dados " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "tamanho dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "tamanho pré-dia: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "última contagem: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "tamanho gop: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "método me: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "decisão mb: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "max B frames: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "processos: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "valores do codificador áudio" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Controlos de imagem" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "taxa de dados " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Resolução:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Controlos de imagem" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Taxa de imagens:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Gravar Perfil" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - vídeo avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "max B frames: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Restaurar rotação" @@ -1092,296 +1184,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Definições" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Pré-definição de Hardware" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Botão da Câmera" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Capturar Imagem" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Capturar Video" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Foto" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Ficheiro" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Increm. nome do ficheiro" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Video" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Codec de Video" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Propr. Codec de Video" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Codec de Audio" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Propr. Codec de Audio" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Esquerda" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Direita" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Baixo" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Cima" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bits" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bits" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Foco automático (continuo)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Focar" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Aplicar" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Taxa de imagens:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Resolução:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Saída da câmara:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Filtros de vídeo ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Espelho" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Invertido" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negativo" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Cinza" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Pedaços" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Partículas" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Mostra a versão" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Dispositivo de vídeo [predefinição: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Método de captura (1-mmap (predefinido) 2 -leitura)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Carregar Perfil" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Alerta do Guvcview:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1389,23 +1538,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Aplicar" + +#~ msgid "Focus (absolute)" +#~ msgstr "Focagem (absoluta)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/ru.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/ru.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/ru.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/ru.po 2016-04-25 16:35:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-06-06 13:32+0000\n" "Last-Translator: Николай Авдеев (NickKolok, Nikolay Avdeev) \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Настройки пользователя" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Яркость" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Контрастность" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Оттенок" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Насыщенность" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Резкость" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Гамма" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Компенсация ярких участков" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Частота в электросети" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Оттенок, Автоматически" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Фокус, авто" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Ручной режим" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Авторежим" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Режим приоритета затвора" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Режим приоритета диафрагмы" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Уровень чёрного" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Баланс белого, Автоматически" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Сбалансировать белый цвет" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Баланс красного" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Баланс синего" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Экспозиция" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Усиление, автоматически" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Усиление" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Отразить по горизонтали" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Отразить по вертикали" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Горизонтальный центр" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Вертикальный центр" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Обесцвечиватель" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Цветовые эффекты" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Настройки камеры" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Авто выдержка" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Время выдержки, Абсолютное" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Выдержка, Динамичная частота кадров" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Фокус, Совершенный" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Фокус, Относительный" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Фокус, Автоматический" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Увеличение, Совершенное" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Увеличение, Относительное" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Увеличение, Постоянное" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Конфиденциальность" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Экспозиция, авто" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Режим частоты кадров" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Выдержка (совершенная)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Температура баланса белого, авто" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Температура баланса белого" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Компонент баланса белого, авто" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Синий компонент баланса белого" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Красный компонент баланса белого" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Фокусирование" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Фокусирование (Абсолютное)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Откл." -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Вкл." -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Мерцание" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Авто" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "Верт. возврат" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Фокус (абсолютный)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Режим светодиода1" @@ -396,249 +396,283 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Аудио-API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Устройство ввода:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Частота дискретизации:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "по умолчанию" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Каналов:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - моно" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - стерео" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Видео-фильтры ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Эхо" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Реверберация" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Фуз" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " Квакушка" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Утёнок" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Остановить видео (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Захв. видео (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Ошибка" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "Отмена" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "У вас установлен дополнительный видео прибор.\n" "Хотите попробовать другой?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Устройство:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Заxват видео через Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Прекратить автоматический захват (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Захв. Изображение (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Регулировка изображения" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Настройки пользователя" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Настройки пользователя" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Настройки пользователя" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Загрузить профиль" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Формат файла:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Имя файла изображения" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Необработанное изображение Raw Image (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Имя файла изображения" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "Запуск нового" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "перезагрузить" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "Новый" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "Отмена" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -646,16 +680,18 @@ "Запустить новый процесс или перезапустить?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "значения звукового кодека" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -663,425 +699,481 @@ " кодек кадров/с.: \n" " (0 - использовать значение списка)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "Битрейт: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "макс. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dia-size: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "pre-dia-size: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre-me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre-cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub-cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "last-predictor-count: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop-size: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me-method: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb-decision: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "значения звукового кодека" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "Формат сэмпла " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Регулировка изображения" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "Битрейт: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Разрешение:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Регулировка изображения" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Частота кадров:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Сохранить профиль" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Формат файла:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - формат avi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "Частота кадров:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Гор. возврат" @@ -1094,296 +1186,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Настройки" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Настройки оборудования по умолчанию" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Кнопка камеры" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Захватить изображение" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Захватить видео" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Фото" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Файл" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Увеличить имя файла" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Видео" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Видеокодек" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Свойства видеокодека" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Звуковой кодек" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Свойства звукового кодека" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Влево" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Вправо" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Вниз" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Вверх" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 бит" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 бит" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Автофокусировка (непрерывная)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Установка фокуса" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Применить" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Частота кадров:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Разрешение:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Вывод камеры:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Видео-фильтры ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Гор. отражение" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Верт. отражение" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Негатив" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Чёрно-белое" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Мозаика" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr "" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Показывает версию" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Используемое видео-устройство (по умолчанию /dev/video0)" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Метод захвата (1 - mmap (по умолчанию) 2-читать)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Загрузить профиль" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview предупреждение:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1391,23 +1540,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "захват видео в" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Применить" + +#~ msgid "Focus (absolute)" +#~ msgstr "Фокус (абсолютный)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/si.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/si.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/si.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/si.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-06-03 09:59+0000\n" "Last-Translator: sajith \n" "Language-Team: Sinhalese \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "පරිශ්‍රීලක පාලකයන්" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "දීප්තිය" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "දීප්ති වෙනස" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "පැහැය" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "පරිපූර්ණබව" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "තියුණු බව" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "ගැමා" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "පසු ආලෝකන හානිපූරණය" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "බල සැපයුම් සංඛ්‍යාතය" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "පැහැය, ස්වයංක්‍රීයව" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "ස්වයංක්‍රීයව නාභිගත කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "අත්පොත් ක්‍රමය" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "ස්වයංක්‍රීය ක්‍රමය" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "සංවෘත ප්‍රමුඛතා ක්‍රමය" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "විවෘත ප්‍රමුඛතා ක්‍රමය" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "කළු පාට මට්ටම" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "සුදු පාට සමබරතාවය, ස්වයංක්‍රීය" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "සුදු සමබර කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "රතු සමබරතාවය" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "නිල් සමබරතාවය" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "අනාවර්ණය" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "ලබාගන්න, ස්වයංක්‍රීයව" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "ලබාගන්න" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "තිරස් හැරවුම" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "සිරස් හැරවුම" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "තිරස් මධ්‍යය" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "සිරස් මධ්‍යය" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "AGC වර්ණතීව‍්‍රතාව" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "වර්ණ නැතිකරන්නා" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "වර්ණ සැරසිලි" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "කැමරා පාලකයන්" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "ස්වයංක්‍රීය අනාවරණය" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "නිරපේක්ෂ කාලය අනාවරණ කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "වෙනස්වන රාමු ශ්‍රීඝ‍්‍රතාව අනාවරණ කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "තිරස් ලෙස කරකවන්න, සාපේක්ෂව" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "සිරස් ලෙස කරකවන්න, සාපේක්ෂව" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "තිරස් ලෙස කරකැවීම නැවත අරඹන්න" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "සිරස් ලෙස කරකැවීම නැවත අරඹන්න" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "තිරස් ලෙස කරකවන්න, නිරපේක්ෂ" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "නිරපේක්ෂව නාභිගත කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "සාපේක්ෂව නාභිගත කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "ස්වයංක්‍රීයව නාභිගත කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "සමීප දුරස්ථ රූප ගැනීම සඳහා කැමරාව හසුරුවන්න, නිරපේක්ෂව" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "සමීප දුරස්ථ රූප ගැනීම සඳහා කැමරාව හසුරුවන්න, සාපේක්ෂව" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "සමීප දුරස්ථ රූප ගැනීම සඳහා කැමරාව හසුරුවන්න, අඛණ්ඩව" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "පුද්ගලිකත්වය" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "ස්වයංක්‍රීයව අනාවරණය කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "ස්වයංක්‍රීය ප්‍රමුඛතාව අනාවරණය කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "අනාවරණය කරන්න (නිරපේක්ෂව)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "සුදු පැහැය සැසඳීමේ උෂ්ණත්වය, ස්වයංක්‍රීයව" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "සුදු පැහැය සැසඳීමේ උෂ්ණත්වය" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "සුදු පැහැය සැසඳීමේ උපාංගය, ස්වයංක්‍රීයව" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "සුදු පැහැය සැසඳීමේ නිල් පැහැයේ උපාංගය" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "සුදු පැහැය සැසඳීමේ රතු පැහැයේ උපාංගය" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "නාභාගත කරන්න" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "නාභාගත කරන්න (නිරපේක්ෂව)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "අක්‍රීය" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "සක්‍රීය" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "ක්ෂණික ආලෝකය" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "ස්වයංක්‍රීය" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "සිරස් ලෙස කරකැවීම නැවත සකසන්න" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "නාභිගත කරන්න (නිරපේක්ෂව)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1 ක්‍රමය" @@ -396,249 +396,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "ශ්‍රව්‍ය API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "යෙදවුම් උපකරණය:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "ආදර්ශ අනුපාතය:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Dev. Default" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "නාලිකාවන්:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - එකක්" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - ත්‍රිමාන" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- වීඩියෝ පෙරනයන්----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " අනුකරණය කරන්න" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Fuzz" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ducky" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "වීඩියෝව නවත්වන්න (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "වීඩියෝව ග්‍රහණය කරගන්න (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "දෝෂය" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "අවලංගු කරන්න" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "ඔබ වීඩියෝ උපකරණ එකකට වඩා වැඩියෙන් සවිකර ඇත.\n" "ඔබට වෙනත් එකක් අත්හදා බැලීමට අවශ්‍යද?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "උපකරණය:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview වීඩියෝ ග්‍රහණය කරගැනීම" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "ස්වයංක්‍රීයව නවත්වන්න (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "රූපය ග්‍රහණය කරගන්න (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "රූප පාලක" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "පරිශ්‍රීලක පාලකයන්" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "පරිශ්‍රීලක පාලකයන්" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "පරිශ්‍රීලක පාලකයන්" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "ආකෘතිය ප්‍රවේශනය කරන්න" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "ගොනු ආකෘතිය:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "රූපයේ ගොනු නාමය" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "දළ රූපය (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "රූපයේ ගොනු නාමය" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "අලුතින් අරඹන්න" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "නැවත අරඹන්න" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "අලුත් එකක්" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "අවලංගු කරන්න" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -646,16 +680,18 @@ "අලුත් ක්‍රියාවලියක් දියත් කරන්න හෝ නැවත අරඹන්නද?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "ශ්‍රව්‍ය කොඩෙක් අගයන්" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -663,425 +699,481 @@ " fps සංකේතකය: \n" " (0 - fps ලැයිස්තුවක් සහිත රාමුවේ අගය පාවිච්චි කරන්න)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " ඒකවිධ pts" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "බිට් අනුපාතය: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "උපරිම qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "pre dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "අවසාන අනාවැකි ගණන: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop size: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me method: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb decision: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "උපරිම B රාමු: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "num සම්බන්ධයන්: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "ශ්‍රව්‍ය කොඩෙක් අගයන්" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "ආදර්ශ ආකෘතිය: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "රූප පාලක" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "බිට් අනුපාතය: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "තීරණය:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "රූප පාලක" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "රාමු ශීඝ්‍රතාවය:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "ආකෘතිය සුරකින්න" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "ගොනු ආකෘතිය:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - avi ආකෘතිය" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "උපරිම B රාමු: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "තිරස් ලෙස කරකැවීම නැවත සකසන්න" @@ -1094,296 +1186,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "සැකසුම්" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "ස්වභාවික දෘඩාංග" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "කැමරා බොත්තම" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "රූපය ග්‍රහණය කරගන්න" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "වීඩියෝව ග්‍රහණය කරගන්න" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "ඡායාරූපය" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "ගොනුව" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "වර්ධක ගොනු නාමය" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "වීඩියෝ" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "වීඩියෝ කොඩෙක්" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "වීඩියෝ කොඩෙක් ගුණාංග" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "ශ්‍රව්‍ය කොඩෙක්" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "ශ්‍රව්‍ය කොඩෙක් ගුණාංග" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "වම" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "දකුණ" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "පහලට" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "ඉහළට" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "බිට් 8" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "බිට් 12" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "ස්වයංක්‍රීයව නාභිගත කරන්න (අඛණ්ඩව)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "නාභිගත වීම සකස් කරන්න" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "යොදන්න" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "රාමු ශීඝ්‍රතාවය:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "තීරණය:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "කැමරා නිමැවුම:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- වීඩියෝ පෙරනයන්----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " කැඩපත" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " යටිකුරු කරන්න" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " ප්‍රතික්ෂේප කරන්න" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " එකක්" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " කොටස්" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " ඉතා කුඩා කොටස්" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "පිටපත මුද්‍රණය කරන්න" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "පාවිච්චිය සඳහා වීඩියෝ උපකරණය [ස්වභාවික: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "ග්‍රහණය කරගැනීමේ ක්‍රමය (1-mmap (ස්වභාවික) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "ආකෘතිය ප්‍රවේශනය කරන්න" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview අනතුරු ඇඟවීම:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1391,23 +1540,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "වීඩියෝව ග්‍රහණය කිරීම" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "යොදන්න" + +#~ msgid "Focus (absolute)" +#~ msgstr "නාභිගත කරන්න (නිරපේක්ෂව)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/sr.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/sr.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/sr.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/sr.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-03-09 13:12+0000\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Контроле корисника" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Осветљеност" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Контраст" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Нијанса" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Засићеност" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Оштрина" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Гама" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Поправка светла позадине" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Учесталост освежавања" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Нијанса, аутоматски" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Фокус, ауто" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Ручно" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Аутоматски" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Приоритет затварача" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Приоритет бленде" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Ниво црне" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Равнотежа белог, аутоматски" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Уравнотежавање белог" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Равнотежа црвеног" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Равнотежа плавог" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Излагање" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Појачање, аутоматски" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Појачање" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Водоравно превртање" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Усправно превртање" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Водоравно центрирање" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Усправно центрирање" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "АГЦ хроминансе" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Укидач боје" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Ефекти боје" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Контроле камере" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Аутоматска експозиција" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Време излагања, апсолутно" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Излагање, динамички проток кадра" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Праћење, релативно" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Нагибање, релативно" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Праћење, поновно" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Нагибање, поновно" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Праћење, апсолутно" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Фокус, апсолутни" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Фокус, релативни" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Фокус, аутоматски" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Зум, апсолутни" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Зум, релативни" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Зум, непрекидни" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Приватност" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Излагање, аутоматско" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Излагање, приоритет аутоматског" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Излагање (апсолутно)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Температура равнотеже белог, ауто" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Температура равнотеже белог" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Састојак равнотеже белог, ауто" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Плави састојак равнотеже белог" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Црвени састојак равнотеже белог" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Фокус" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Фокус (апсолутни)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Искљ." -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Укљ." -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Треперење" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Самостално" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "Поновно нагибање" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Фокус (апсолутни)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "ЛЕД1 режим" @@ -396,249 +396,283 @@ msgid "Theora (ogg theora)" msgstr "Теора (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Аудио АПИ:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "ПОРТАУДИО" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "ПУЛСЕАУДИО" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Улазни уређај:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Проток узорка:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Основни са уређаја" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Број канала:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 — моно" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 — стерео" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "———— Видео филтери ————" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Ехо" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Одјек" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Маљ" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " ВауВау" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Паче" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Заустави видео (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Сними видео (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Грешка" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "откажи" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Имате неколико видео уређаја инсталирана.\n" "Желите ли да пробате неки други ?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Уређај:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Камерица — видео снимање" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "Камерица" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Заустави аутоматик (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Сними слику (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Контроле слике" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Контроле корисника" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Контроле корисника" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Контроле корисника" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Учитај профил" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Запис датотеке:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Назив датотеке слике" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Сирова слика (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Јпег (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Назив датотеке слике" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "покрени нови" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "поново покрени" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "нови" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "откажи" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -646,16 +680,18 @@ "да покренем нови процес или да се поново покренем?.\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "вредност кодека звука" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -663,425 +699,481 @@ " ф/с енкодера: \n" " (0 — користите вредност ф/с поља за бирање)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " једнообразне тачке" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "проток бита: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. q разл: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "диа величина: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "пре диа величина: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "пре ме: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "пре цмп: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "цмп: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "под цмп: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "последњи број предсказивача: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "гоп величина: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "q-сажимање: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "q-замућење: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "под-q: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "ме начин: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "мб одлука: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "највише Б оквира: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "бр. нити: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "вредност кодека звука" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "запис узорка: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Контроле слике" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "проток бита: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Резолуција:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 #, fuzzy msgid "Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Контроле слике" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Проток кадра:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Сачувај профил" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Запис датотеке:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "АВИ — ави формат" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "највише Б оквира: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Поновно праћење" @@ -1094,296 +1186,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Подешавања" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Основно са уређаја" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Дугме фото-апарата" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Сними слику" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Сними видео" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Фотографија" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Датотека" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Назив датотеке увећања" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Видео" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Видео кодек" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Својства видео кодека" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Аудио кодек" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Својства аудио кодека" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Лево" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Десно" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Доле" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Горе" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 бита" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 бита" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Самостално фокусирање (непрекидно)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "подеси фокус" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Примени" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Проток кадра:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Резолуција:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Излаз камере:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "———— Видео филтери ————" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Огледало" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Обрнуто" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Негатив" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Моно" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Комадићи" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Честице" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Штампа издање" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Видео уређај за коришћење [основни: „/dev/video0“]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Начин снимања (1-ммап (основно) 2-читај)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Учитај профил" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Упозорење Камерице:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1391,23 +1540,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "снимам видео у" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Јпег (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Јпег (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Примени" + +#~ msgid "Focus (absolute)" +#~ msgstr "Фокус (апсолутни)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "МПЕГ2 — (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/tr.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/tr.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/tr.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/tr.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-11-06 12:49+0000\n" "Last-Translator: Volkan Gezer \n" "Language-Team: Turkish \n" @@ -47,246 +47,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Kullanıcı Denetimleri" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Parlaklık" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Karşıtlık" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Renk" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Doygunluk" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Keskinlik" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Kontras derecesi (gama)" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Arka Işık Desteği" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Güç Hattı Frekansı" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Renk, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Odak, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "El Kipi" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Otomatik Kip" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Kapak Öncelik Kipi" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Açıklık Öncelik Kipi" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Siyah Seviyesi" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Beyaz Dengesi, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Beyaz Dengesi Yap" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Kırmızı Dengesi" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Mavi Dengesi" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Pozlandırma" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Kazanç, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Kazanç" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Yatay Çevir" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Dikey Çevir" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Yatay Merkez" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Dikey Merkez" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Kroma Otomatik Kazanç Kontrolü (AGC)" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Renk Öldürücü" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Renk Efektleri" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Kamera Denetimleri" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Otomatik Pozlandırma" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Pozlandırma Süresü, Kesin" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Pozlandırma, Dinamik Kare Oranı" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Kaydırma, Bağıl" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Eğme, Bağıl" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Kaydırma, Sıfırla" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Eğme, Sıfırla" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Kaydırma, Kesin" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Odaklama, Kesin" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Odaklama, Bağıl" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Odaklama, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Yakınlaştırma, Kesin" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Yakınlaştırma, Bağıl" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Yakınlaştırma, Sürekli" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Gizlilik" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Pozlama, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Pozlama, Otomatik Öncelik" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Pozlama (Kesin)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Beyaz Denge Sıcaklığı, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Beyaz Dengesi Sıcaklığı" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Beyaz Denge Bileşeni, Otomatik" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Beyaz Denge Mavi Bileşeni" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Beyaz Denge Kırmızı Bileşeni" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Odaklama" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Odaklama (Kesin)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "Kapalı" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "Açık" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "Yanıp Sönme" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "Otomatik" @@ -306,10 +310,6 @@ msgid "Tilt Reset" msgstr "Eğme Sıfırla" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Odaklan (kesin)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1 Kipi" @@ -396,249 +396,283 @@ msgid "Theora (ogg theora)" msgstr "Theora (ogg theora)" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "SES API'yı:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Girdi Aygıtı:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Örnekleme Oranı:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Aygıt Vars." -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Kanallar:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Video Filtreleri----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Göster" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Yankı" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Bulanma" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ördek" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "Videoyu Durdur (V)" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "Video Yakala (V)" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Hata" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "iptal" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Kurulu birden fazla video aygıtınız var.\n" "Bir diğerini denemek ister misiniz?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Aygıt:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview Video Yakala" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "guvcview" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 #, fuzzy msgid "Stop Cap. (I)" msgstr "Otomatik Durdur (I)" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "Görüntü Yakala (I)" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "Resim Denetimleri" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Kullanıcı Denetimleri" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Kullanıcı Denetimleri" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Kullanıcı Denetimleri" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "Profili Kaydet" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "Profili Yükle" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "Dosya Biçimi:" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Resim Dosya adı" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 #, fuzzy msgid "Raw (*.raw)" msgstr "Ham Görüntü (raw)" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 #, fuzzy msgid "Jpeg (*.jpg)" msgstr "Jpeg (jpg)" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Resim Dosya adı" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "yeni başlat" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "yeniden başlat" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "yeni" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "iptal" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -646,16 +680,18 @@ "yeni süreç başlat veya yeniden başlat?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "ses çözücü değerleri" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -663,425 +699,481 @@ " kodlayıcı fps: \n" " (0 - fps kutu değerini kullan)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr " tek düze puan" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bıt oranı: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "azami qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dia boyutu: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "ön dia boyutu: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "ön me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "ön cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "alt cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "son öngörücü sayısı: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop boyutu: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me yöntemi: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb kararı: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "en yüks. B karesi: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "işlem sayısı: " -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "ses çözücü değerleri" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "örnek biçimi: " -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "Resim Denetimleri" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 #, fuzzy msgid "CBR" msgstr "VBR (Değişken bitoranı)" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "VBR (Değişken bitoranı)" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 msgid "Bit Rate:" msgstr "Bit Oranı:" -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 msgid "Resolution" msgstr "Çözünürlük" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "Profil" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "Resim Denetimleri" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Kare Oranı:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 #, fuzzy msgid "Bit Rate" msgstr "Bit Oranı:" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 #, fuzzy msgid "Profile:" msgstr "Profil" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 #, fuzzy msgid "Baseline Profile" msgstr "Profili Kaydet" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 #, fuzzy msgid "Main Profile" msgstr "Profili Kaydet" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 #, fuzzy msgid "High Profile" msgstr "Profil" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 #, fuzzy msgid "Scalable High Profile" msgstr "Profili Kaydet" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 #, fuzzy msgid "Stereo High Profile" msgstr "Profili Kaydet" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 #, fuzzy msgid "Profile flags:" msgstr "Profil" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 #, fuzzy msgid "Stream Format:" msgstr "Dosya Biçimi:" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 #, fuzzy msgid "NAL stream format" msgstr "AVI - avi biçimi" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "en yüks. B karesi: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Kaydırmayı Sıfırla" @@ -1094,296 +1186,353 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "Ayarlar" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "Donanım Varsayılanları" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "Kamera Düğmesi" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "Resim Yakala" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "Video Yakala" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "Fotoğraf" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "Dosya" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "Dosya Adını Arttır" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "Görüntü" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "Video Kodlayıcısı" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "Video Kodlayıcı Özellikleri" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "Ses Kodlayıcı" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "Ses Kodlayıcı Özellikleri" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Sol" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Sağ" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Aşağı" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Yukarı" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "8 bit" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "12 bit" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Otomatik Odakla (sürekli)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "Odak ayarla" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Uygula" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Kare Oranı:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Çözünürlük:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Kamera Çıktısı:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Video Filtreleri----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Ayna" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Tersine Çevir" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Negatif" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Mono" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Parçalar" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Tanecikler" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Sürümü yazdırır" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Kullanılacak Video Aygıtı [varsayılan: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Yakalama yöntemi (1-mmap (varsayılan) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 #, fuzzy msgid "load control profile" msgstr "Profili Yükle" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview Uyarısı:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1391,23 +1540,50 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, fuzzy, c-format msgid "saving video to %s" msgstr "video yakalanıyor" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +#, fuzzy +msgid "Jpeg (*.jpg)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +#, fuzzy +msgid "Png (*.png)" +msgstr "Jpeg (jpg)" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Uygula" + +#~ msgid "Focus (absolute)" +#~ msgstr "Odaklan (kesin)" + #~ msgid "MPEG2 - (lavc)" #~ msgstr "MPEG2 - (lavc)" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/uk.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/uk.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/uk.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/uk.po 2016-04-25 16:35:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:37+0000\n" "Last-Translator: Paulo Assis \n" "Language-Team: Ukrainian \n" @@ -48,246 +48,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "Керуючі елементи користувача" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "Яскравість" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "Контраст" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "Відтінок" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "Насиченість" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "Різкість" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "Гамма" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "Компенсація підсвітки" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "Частота електромережі" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "Авто відтінок" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "Авто фокус" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "Ручний режим" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "Авторежим" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "Пріоритет затвору" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "Пріоритет діафрагми" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "Рівень чорного" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "Авто баланс білого" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "Збалансувати білий" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "Баланс червоного" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "Баланс синього" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "Експозиція" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "Авто посилення" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "Посилення" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "Горизонтальне віддзеркалення" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "Вертикальне віддзеркалення" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "Горизонтальна середина" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "Вертикальна середина" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "Chroma AGC" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "Подавлювач кольору" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "Ефекти кольору" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "Керування камерою" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "Авто експозиція" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "Абсолютний час експозиції" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "Експозиція, динамічна частота кадрів" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "Відносний поворот" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "Відносний нахил" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "Скинути поворот" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "Скинути нахил" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "Абсолютний поворот" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "Абсолютний фокус" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "Відносний фокус" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "Авто фокус" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "Абсолютний зум" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "Відносний зум" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "Безперервний зум" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "Конфіденційність" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "Авто експозиція" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "Пріоритет авто експозиції" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "Абсолютна експозиція" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "Авто температура балансу білого" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "Температура балансу білого" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "Авто компонент балансу білого" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "Синій компонент балансу білого" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "Червоний компонент балансу білого" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "Фокус" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "Абсолютний фокус" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -307,10 +311,6 @@ msgid "Tilt Reset" msgstr "Скинути нахил" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "Абсолютний фокус" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "Метод світлодіода" @@ -396,248 +396,282 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "Аудіо API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "Пристрій вводу:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "Частота дискредитації:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Пристрій по замовч." -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "Канали:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - моно" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - стерео" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---- Відео фільтри ----" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " Ехо" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Ревербація" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " Пух" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " ВахВах" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Голубка" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "Помилка" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "відмінити" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 +#, fuzzy msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" "\n" "Встановлено більше одного відео пристрою.\n" "Ви хочете спробувати ще один?\n" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "Пристрій:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Захоплювач відео Guvcview" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "Попередження:" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "" "Керування\n" "зображенням" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "Керуючі елементи користувача" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "Керуючі елементи користувача" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "Керуючі елементи користувача" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "Файл зображення" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "Файл зображення" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "запустити новий" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "перезавантаж." -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "новий" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "відмінити" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -646,16 +680,18 @@ "чи перезавантажити?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "значення аудіо-кодека" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -663,420 +699,476 @@ " частота кадрів: \n" " (0 - використати значення з випадаючого списку)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "бітрейт: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "макс. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "pre dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "значення лічильника прогнозиста: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop size: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me method: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb decision: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "max B frames: " -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "значення аудіо-кодека" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "" "Керування\n" "зображенням" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "бітрейт: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "Роздільна здатність:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "" "Керування\n" "зображенням" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "Частота кадрів:" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "max B frames: " -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Скинути поворот" @@ -1089,295 +1181,352 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "Лівий" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "Правий" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "Вниз" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "Вверх" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "Авто фокус (безперервний)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "встановити фокус" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "Застосувати" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "Частота кадрів:" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "Роздільна здатність:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "Вивід камери:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---- Відео фільтри ----" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " Гор. віддзеркал." #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " Верт. віддзеркал." #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " Негатив" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " Чорно-біле" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " Мозаїка" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " Часточки" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "Показує версію" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "Використаний відео-пристрій [default: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "Метод захоплення (1-mmap (замовч.) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Попередження:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1385,23 +1534,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "Застосувати" + +#~ msgid "Focus (absolute)" +#~ msgstr "Абсолютний фокус" + #~ msgid "Audio" #~ msgstr "Аудіо" diff -Nru guvcview-2.0.3+ubuntu2~ppa1+1334/po/zh_TW.po guvcview-2.0.4+ubuntu2~ppa1+1380/po/zh_TW.po --- guvcview-2.0.3+ubuntu2~ppa1+1334/po/zh_TW.po 2016-01-22 17:11:06.000000000 +0000 +++ guvcview-2.0.4+ubuntu2~ppa1+1380/po/zh_TW.po 2016-04-25 16:35:21.000000000 +0000 @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: guvcview\n" "Report-Msgid-Bugs-To: pj.assis@gmail.com\n" -"POT-Creation-Date: 2014-08-17 22:49+0100\n" +"POT-Creation-Date: 2016-01-25 10:14+0000\n" "PO-Revision-Date: 2013-02-25 05:36+0000\n" "Last-Translator: kentxchang \n" "Language-Team: none \n" @@ -45,246 +45,250 @@ #. * needed only for language files (not used) #. #. V4L2 control strings -#: ../gview_v4l2core/v4l2_controls.c:49 +#: ../gview_v4l2core/v4l2_controls.c:53 msgid "User Controls" msgstr "使用者設定" -#: ../gview_v4l2core/v4l2_controls.c:50 +#: ../gview_v4l2core/v4l2_controls.c:54 msgid "Brightness" msgstr "亮度" -#: ../gview_v4l2core/v4l2_controls.c:51 +#: ../gview_v4l2core/v4l2_controls.c:55 msgid "Contrast" msgstr "對比" -#: ../gview_v4l2core/v4l2_controls.c:52 +#: ../gview_v4l2core/v4l2_controls.c:56 msgid "Hue" msgstr "色調" -#: ../gview_v4l2core/v4l2_controls.c:53 +#: ../gview_v4l2core/v4l2_controls.c:57 msgid "Saturation" msgstr "飽和度" -#: ../gview_v4l2core/v4l2_controls.c:54 +#: ../gview_v4l2core/v4l2_controls.c:58 msgid "Sharpness" msgstr "銳利度" -#: ../gview_v4l2core/v4l2_controls.c:55 +#: ../gview_v4l2core/v4l2_controls.c:59 msgid "Gamma" msgstr "伽瑪值" -#: ../gview_v4l2core/v4l2_controls.c:56 +#: ../gview_v4l2core/v4l2_controls.c:60 msgid "Backlight Compensation" msgstr "背光補償" -#: ../gview_v4l2core/v4l2_controls.c:57 +#: ../gview_v4l2core/v4l2_controls.c:61 msgid "Power Line Frequency" msgstr "視訊頻率" -#: ../gview_v4l2core/v4l2_controls.c:58 +#: ../gview_v4l2core/v4l2_controls.c:62 msgid "Hue, Automatic" msgstr "自動色調" -#: ../gview_v4l2core/v4l2_controls.c:59 +#: ../gview_v4l2core/v4l2_controls.c:63 msgid "Focus, Auto" msgstr "自動對焦" -#: ../gview_v4l2core/v4l2_controls.c:60 +#: ../gview_v4l2core/v4l2_controls.c:64 msgid "Manual Mode" msgstr "手動模式" -#: ../gview_v4l2core/v4l2_controls.c:61 +#: ../gview_v4l2core/v4l2_controls.c:65 msgid "Auto Mode" msgstr "自動模式" -#: ../gview_v4l2core/v4l2_controls.c:62 +#: ../gview_v4l2core/v4l2_controls.c:66 msgid "Shutter Priority Mode" msgstr "快門優先模式" -#: ../gview_v4l2core/v4l2_controls.c:63 +#: ../gview_v4l2core/v4l2_controls.c:67 msgid "Aperture Priority Mode" msgstr "光圈優先模式" -#: ../gview_v4l2core/v4l2_controls.c:64 +#: ../gview_v4l2core/v4l2_controls.c:68 msgid "Black Level" msgstr "黑色等級" -#: ../gview_v4l2core/v4l2_controls.c:65 +#: ../gview_v4l2core/v4l2_controls.c:69 msgid "White Balance, Automatic" msgstr "自動白平衡" -#: ../gview_v4l2core/v4l2_controls.c:66 +#: ../gview_v4l2core/v4l2_controls.c:70 msgid "Do White Balance" msgstr "設置白平衡" -#: ../gview_v4l2core/v4l2_controls.c:67 +#: ../gview_v4l2core/v4l2_controls.c:71 msgid "Red Balance" msgstr "紅平衡" -#: ../gview_v4l2core/v4l2_controls.c:68 +#: ../gview_v4l2core/v4l2_controls.c:72 msgid "Blue Balance" msgstr "藍平衡" -#: ../gview_v4l2core/v4l2_controls.c:69 +#: ../gview_v4l2core/v4l2_controls.c:73 msgid "Exposure" msgstr "曝光度" -#: ../gview_v4l2core/v4l2_controls.c:70 +#: ../gview_v4l2core/v4l2_controls.c:74 msgid "Gain, Automatic" msgstr "自動增益" -#: ../gview_v4l2core/v4l2_controls.c:71 +#: ../gview_v4l2core/v4l2_controls.c:75 msgid "Gain" msgstr "增益" -#: ../gview_v4l2core/v4l2_controls.c:72 +#: ../gview_v4l2core/v4l2_controls.c:76 msgid "Horizontal Flip" msgstr "水平翻轉" -#: ../gview_v4l2core/v4l2_controls.c:73 +#: ../gview_v4l2core/v4l2_controls.c:77 msgid "Vertical Flip" msgstr "垂直翻轉" -#: ../gview_v4l2core/v4l2_controls.c:74 +#: ../gview_v4l2core/v4l2_controls.c:78 msgid "Horizontal Center" msgstr "水平中心" -#: ../gview_v4l2core/v4l2_controls.c:75 +#: ../gview_v4l2core/v4l2_controls.c:79 msgid "Vertical Center" msgstr "垂直中心" -#: ../gview_v4l2core/v4l2_controls.c:76 +#: ../gview_v4l2core/v4l2_controls.c:80 msgid "Chroma AGC" msgstr "濃度AGC" -#: ../gview_v4l2core/v4l2_controls.c:77 +#: ../gview_v4l2core/v4l2_controls.c:81 msgid "Color Killer" msgstr "顏色 killer" -#: ../gview_v4l2core/v4l2_controls.c:78 +#: ../gview_v4l2core/v4l2_controls.c:82 msgid "Color Effects" msgstr "色彩效果" #. CAMERA CLASS control strings -#: ../gview_v4l2core/v4l2_controls.c:81 +#: ../gview_v4l2core/v4l2_controls.c:85 msgid "Camera Controls" msgstr "攝影機設定" -#: ../gview_v4l2core/v4l2_controls.c:82 +#: ../gview_v4l2core/v4l2_controls.c:86 msgid "Auto Exposure" msgstr "自動曝光" -#: ../gview_v4l2core/v4l2_controls.c:83 +#: ../gview_v4l2core/v4l2_controls.c:87 msgid "Exposure Time, Absolute" msgstr "絕對曝光時間" -#: ../gview_v4l2core/v4l2_controls.c:84 +#: ../gview_v4l2core/v4l2_controls.c:88 msgid "Exposure, Dynamic Framerate" msgstr "曝光,動態碼率" -#: ../gview_v4l2core/v4l2_controls.c:85 +#: ../gview_v4l2core/v4l2_controls.c:89 msgid "Pan, Relative" msgstr "筆,相對的" -#: ../gview_v4l2core/v4l2_controls.c:86 +#: ../gview_v4l2core/v4l2_controls.c:90 msgid "Tilt, Relative" msgstr "傾斜,相對的" -#: ../gview_v4l2core/v4l2_controls.c:87 +#: ../gview_v4l2core/v4l2_controls.c:91 msgid "Pan, Reset" msgstr "筆,重設" -#: ../gview_v4l2core/v4l2_controls.c:88 +#: ../gview_v4l2core/v4l2_controls.c:92 msgid "Tilt, Reset" msgstr "傾斜,重設" -#: ../gview_v4l2core/v4l2_controls.c:89 +#: ../gview_v4l2core/v4l2_controls.c:93 msgid "Pan, Absolute" msgstr "筆,絕對的" -#: ../gview_v4l2core/v4l2_controls.c:91 +#: ../gview_v4l2core/v4l2_controls.c:95 msgid "Focus, Absolute" msgstr "對焦,絕對的" -#: ../gview_v4l2core/v4l2_controls.c:92 +#: ../gview_v4l2core/v4l2_controls.c:96 msgid "Focus, Relative" msgstr "對焦,相對的" -#: ../gview_v4l2core/v4l2_controls.c:93 +#: ../gview_v4l2core/v4l2_controls.c:97 msgid "Focus, Automatic" msgstr "對焦,自動" -#: ../gview_v4l2core/v4l2_controls.c:94 +#: ../gview_v4l2core/v4l2_controls.c:98 msgid "Zoom, Absolute" msgstr "變焦,絕對的" -#: ../gview_v4l2core/v4l2_controls.c:95 +#: ../gview_v4l2core/v4l2_controls.c:99 msgid "Zoom, Relative" msgstr "變焦,相對的" -#: ../gview_v4l2core/v4l2_controls.c:96 +#: ../gview_v4l2core/v4l2_controls.c:100 msgid "Zoom, Continuous" msgstr "變焦,連續的" -#: ../gview_v4l2core/v4l2_controls.c:97 +#: ../gview_v4l2core/v4l2_controls.c:101 msgid "Privacy" msgstr "隱私" #. UVC specific control strings -#: ../gview_v4l2core/v4l2_controls.c:100 +#: ../gview_v4l2core/v4l2_controls.c:104 msgid "Exposure, Auto" msgstr "曝光,自動" -#: ../gview_v4l2core/v4l2_controls.c:101 +#: ../gview_v4l2core/v4l2_controls.c:105 msgid "Exposure, Auto Priority" msgstr "曝光,自動優先" -#: ../gview_v4l2core/v4l2_controls.c:102 +#: ../gview_v4l2core/v4l2_controls.c:106 msgid "Exposure (Absolute)" msgstr "曝光(絕對)" -#: ../gview_v4l2core/v4l2_controls.c:103 +#: ../gview_v4l2core/v4l2_controls.c:107 msgid "White Balance Temperature, Auto" msgstr "白平衡溫度,自動" -#: ../gview_v4l2core/v4l2_controls.c:104 +#: ../gview_v4l2core/v4l2_controls.c:108 msgid "White Balance Temperature" msgstr "白平衡溫度" -#: ../gview_v4l2core/v4l2_controls.c:105 +#: ../gview_v4l2core/v4l2_controls.c:109 msgid "White Balance Component, Auto" msgstr "白平衡元件,自動" -#: ../gview_v4l2core/v4l2_controls.c:106 +#: ../gview_v4l2core/v4l2_controls.c:110 msgid "White Balance Blue Component" msgstr "白平衡藍元件" -#: ../gview_v4l2core/v4l2_controls.c:107 +#: ../gview_v4l2core/v4l2_controls.c:111 msgid "White Balance Red Component" msgstr "白平衡紅元件" #. libwebcam specific control strings -#: ../gview_v4l2core/v4l2_controls.c:110 +#: ../gview_v4l2core/v4l2_controls.c:114 ../gview_v4l2core/v4l2_xu_ctrls.c:125 msgid "Focus" msgstr "對焦" -#: ../gview_v4l2core/v4l2_controls.c:111 +#: ../gview_v4l2core/v4l2_controls.c:115 msgid "Focus (Absolute)" msgstr "對焦(絕對的)" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:63 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Off" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:64 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "On" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:65 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Blinking" msgstr "" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:239 +#: ../gview_v4l2core/v4l2_xu_ctrls.c:66 ../guvcview/gui_gtk3_v4l2ctrls.c:248 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:198 msgid "Auto" msgstr "" @@ -304,10 +308,6 @@ msgid "Tilt Reset" msgstr "傾斜重設" -#: ../gview_v4l2core/v4l2_xu_ctrls.c:125 -msgid "Focus (absolute)" -msgstr "對焦(絕對值)" - #: ../gview_v4l2core/v4l2_xu_ctrls.c:138 msgid "LED1 Mode" msgstr "LED1模式" @@ -393,243 +393,276 @@ msgid "Theora (ogg theora)" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:95 +#. API +#: ../guvcview/gui_gtk3_audioctrls.c:96 ../guvcview/gui_qt5_audioctrls.cpp:81 msgid "Audio API:" msgstr "音頻API:" -#: ../guvcview/gui_gtk3_audioctrls.c:106 +#: ../guvcview/gui_gtk3_audioctrls.c:111 ../guvcview/gui_qt5_audioctrls.cpp:90 msgid "NO SOUND" msgstr "" -#: ../guvcview/gui_gtk3_audioctrls.c:107 +#: ../guvcview/gui_gtk3_audioctrls.c:112 ../guvcview/gui_qt5_audioctrls.cpp:91 msgid "PORTAUDIO" msgstr "PORTAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:110 +#: ../guvcview/gui_gtk3_audioctrls.c:115 ../guvcview/gui_qt5_audioctrls.cpp:93 msgid "PULSEAUDIO" msgstr "PULSEAUDIO" -#: ../guvcview/gui_gtk3_audioctrls.c:127 +#: ../guvcview/gui_gtk3_audioctrls.c:132 +#: ../guvcview/gui_qt5_audioctrls.cpp:109 msgid "Input Device:" msgstr "輸入設備:" -#: ../guvcview/gui_gtk3_audioctrls.c:161 +#: ../guvcview/gui_gtk3_audioctrls.c:172 +#: ../guvcview/gui_qt5_audioctrls.cpp:138 msgid "Sample Rate:" msgstr "範例碼率:" -#: ../guvcview/gui_gtk3_audioctrls.c:168 ../guvcview/gui_gtk3_audioctrls.c:214 +#: ../guvcview/gui_gtk3_audioctrls.c:185 ../guvcview/gui_gtk3_audioctrls.c:236 +#: ../guvcview/gui_qt5_audioctrls.cpp:147 +#: ../guvcview/gui_qt5_audioctrls.cpp:193 msgid "Dev. Default" msgstr "Dev. Default" -#: ../guvcview/gui_gtk3_audioctrls.c:207 +#: ../guvcview/gui_gtk3_audioctrls.c:224 +#: ../guvcview/gui_qt5_audioctrls.cpp:184 msgid "Channels:" msgstr "聲道:" -#: ../guvcview/gui_gtk3_audioctrls.c:215 +#: ../guvcview/gui_gtk3_audioctrls.c:237 +#: ../guvcview/gui_qt5_audioctrls.cpp:194 msgid "1 - mono" msgstr "1 - mono" -#: ../guvcview/gui_gtk3_audioctrls.c:216 +#: ../guvcview/gui_gtk3_audioctrls.c:238 +#: ../guvcview/gui_qt5_audioctrls.cpp:195 msgid "2 - stereo" msgstr "2 - stereo" -#: ../guvcview/gui_gtk3_audioctrls.c:235 +#: ../guvcview/gui_gtk3_audioctrls.c:258 +#: ../guvcview/gui_qt5_audioctrls.cpp:211 +msgid "Latency:" +msgstr "" + +#: ../guvcview/gui_gtk3_audioctrls.c:302 +#: ../guvcview/gui_qt5_audioctrls.cpp:242 #, fuzzy msgid "---- Audio Filters ----" msgstr "---影像濾波器---" #. Echo FX -#: ../guvcview/gui_gtk3_audioctrls.c:255 +#: ../guvcview/gui_gtk3_audioctrls.c:327 +#: ../guvcview/gui_qt5_audioctrls.cpp:256 msgid " Echo" msgstr " 迴聲" #. Reverb FX -#: ../guvcview/gui_gtk3_audioctrls.c:268 +#: ../guvcview/gui_gtk3_audioctrls.c:340 +#: ../guvcview/gui_qt5_audioctrls.cpp:265 msgid " Reverb" msgstr " Reverb" #. Fuzz FX -#: ../guvcview/gui_gtk3_audioctrls.c:281 +#: ../guvcview/gui_gtk3_audioctrls.c:353 +#: ../guvcview/gui_qt5_audioctrls.cpp:274 msgid " Fuzz" msgstr " 模糊" #. WahWah FX -#: ../guvcview/gui_gtk3_audioctrls.c:294 +#: ../guvcview/gui_gtk3_audioctrls.c:366 +#: ../guvcview/gui_qt5_audioctrls.cpp:283 msgid " WahWah" msgstr " WahWah" #. Ducky FX -#: ../guvcview/gui_gtk3_audioctrls.c:307 +#: ../guvcview/gui_gtk3_audioctrls.c:379 +#: ../guvcview/gui_qt5_audioctrls.cpp:292 msgid " Ducky" msgstr " Ducky" -#: ../guvcview/gui_gtk3.c:310 ../guvcview/gui_gtk3_callbacks.c:749 +#: ../guvcview/gui_gtk3.c:355 ../guvcview/gui_gtk3_callbacks.c:740 +#: ../guvcview/gui_qt5.cpp:121 ../guvcview/gui_qt5_callbacks.cpp:508 msgid "Stop Video (V)" msgstr "" #. video button -#: ../guvcview/gui_gtk3.c:315 ../guvcview/gui_gtk3.c:600 -#: ../guvcview/gui_gtk3_callbacks.c:755 +#: ../guvcview/gui_gtk3.c:360 ../guvcview/gui_gtk3.c:695 +#: ../guvcview/gui_gtk3_callbacks.c:746 ../guvcview/gui_qt5.cpp:126 +#: ../guvcview/gui_qt5_callbacks.cpp:500 msgid "Cap. Video (V)" msgstr "" -#: ../guvcview/gui_gtk3.c:376 ../guvcview/gui_gtk3.c:383 +#: ../guvcview/gui_gtk3.c:420 ../guvcview/gui_gtk3.c:427 msgid "Error" msgstr "" -#: ../guvcview/gui_gtk3.c:379 ../guvcview/gui_gtk3.c:386 -#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_gtk3.c:423 ../guvcview/gui_gtk3.c:430 +#: ../guvcview/gui_gtk3_callbacks.c:2226 msgid "_Ok" msgstr "" -#: ../guvcview/gui_gtk3.c:380 ../guvcview/gui_gtk3_callbacks.c:185 -#: ../guvcview/gui_gtk3_callbacks.c:199 ../guvcview/gui_gtk3_callbacks.c:522 -#: ../guvcview/gui_gtk3_callbacks.c:624 ../guvcview/gui_gtk3_callbacks.c:1755 -#: ../guvcview/gui_gtk3_callbacks.c:2098 +#: ../guvcview/gui_gtk3.c:424 ../guvcview/gui_gtk3_callbacks.c:182 +#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_callbacks.c:517 +#: ../guvcview/gui_gtk3_callbacks.c:617 ../guvcview/gui_gtk3_callbacks.c:1779 +#: ../guvcview/gui_gtk3_callbacks.c:2227 #, fuzzy msgid "_Cancel" msgstr "取消" -#: ../guvcview/gui_gtk3.c:407 +#: ../guvcview/gui_gtk3.c:480 ../guvcview/gui_qt5.cpp:309 msgid "" "\n" -"You have more than one video device installed.\n" -"Do you want to try another one ?\n" +"You seem to have video devices installed.\n" +"Do you want to try one ?\n" msgstr "" #. ---- Devices ---- -#: ../guvcview/gui_gtk3.c:414 ../guvcview/gui_gtk3_videoctrls.c:106 +#: ../guvcview/gui_gtk3.c:501 ../guvcview/gui_gtk3_videoctrls.c:102 +#: ../guvcview/gui_qt5_videoctrls.cpp:95 msgid "Device:" msgstr "設備:" -#: ../guvcview/gui_gtk3.c:516 +#. check for device errors +#. if(!device) +#. { +#. gui_error("Guvcview error", "no video device found", 1); +#. return -1; +#. } +#: ../guvcview/gui_gtk3.c:608 msgid "Guvcview Video Capture" msgstr "Guvcview Video Capture" -#: ../guvcview/gui_gtk3.c:525 +#: ../guvcview/gui_gtk3.c:619 #, fuzzy msgid "Guvcview" msgstr "Guvcview警告:" -#: ../guvcview/gui_gtk3.c:572 +#: ../guvcview/gui_gtk3.c:665 ../guvcview/gui_qt5.cpp:96 msgid "Stop Cap. (I)" msgstr "" -#: ../guvcview/gui_gtk3.c:578 ../guvcview/gui_gtk3_callbacks.c:720 -#: ../guvcview/video_capture.c:250 +#: ../guvcview/gui_gtk3.c:671 ../guvcview/gui_gtk3_callbacks.c:713 +#: ../guvcview/video_capture.c:258 ../guvcview/gui_qt5.cpp:101 +#: ../guvcview/gui_qt5_callbacks.cpp:473 msgid "Cap. Image (I)" msgstr "" #. quit button #. GtkWidget *quitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT); -#: ../guvcview/gui_gtk3.c:621 -msgid "_Quit" +#: ../guvcview/gui_gtk3.c:718 ../guvcview/gui_qt5.cpp:145 +msgid "Quit" msgstr "" -#: ../guvcview/gui_gtk3.c:667 +#: ../guvcview/gui_gtk3.c:765 ../guvcview/gui_qt5.cpp:166 msgid "Image Controls" msgstr "影像設定" -#: ../guvcview/gui_gtk3.c:703 +#: ../guvcview/gui_gtk3.c:801 ../guvcview/gui_qt5.cpp:179 #, fuzzy msgid "H264 Controls" msgstr "使用者設定" -#: ../guvcview/gui_gtk3.c:742 +#: ../guvcview/gui_gtk3.c:840 ../guvcview/gui_qt5.cpp:194 #, fuzzy msgid "Video Controls" msgstr "使用者設定" -#: ../guvcview/gui_gtk3.c:777 +#: ../guvcview/gui_gtk3.c:875 ../guvcview/gui_qt5.cpp:205 #, fuzzy msgid "Audio Controls" msgstr "使用者設定" -#: ../guvcview/gui_gtk3_callbacks.c:182 ../guvcview/gui_gtk3_menu.c:72 +#: ../guvcview/gui_gtk3_callbacks.c:179 ../guvcview/gui_gtk3_menu.c:69 +#: ../guvcview/gui_qt5_callbacks.cpp:180 ../guvcview/gui_qt5_menu.cpp:73 msgid "Save Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:186 ../guvcview/gui_gtk3_callbacks.c:523 -#: ../guvcview/gui_gtk3_callbacks.c:625 +#: ../guvcview/gui_gtk3_callbacks.c:183 ../guvcview/gui_gtk3_callbacks.c:518 +#: ../guvcview/gui_gtk3_callbacks.c:618 msgid "_Save" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:196 ../guvcview/gui_gtk3_menu.c:71 +#: ../guvcview/gui_gtk3_callbacks.c:193 ../guvcview/gui_gtk3_menu.c:68 +#: ../guvcview/gui_qt5_callbacks.cpp:145 ../guvcview/gui_qt5_menu.cpp:71 msgid "Load Profile" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:200 +#: ../guvcview/gui_gtk3_callbacks.c:197 msgid "_Open" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:208 ../guvcview/gui_gtk3_callbacks.c:531 -#: ../guvcview/gui_gtk3_callbacks.c:634 +#: ../guvcview/gui_gtk3_callbacks.c:205 ../guvcview/gui_gtk3_callbacks.c:526 +#: ../guvcview/gui_gtk3_callbacks.c:627 msgid "File Format:" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:220 +#: ../guvcview/gui_gtk3_callbacks.c:217 ../guvcview/gui_qt5_callbacks.cpp:142 +#: ../guvcview/gui_qt5_callbacks.cpp:173 msgid "gpfl (*.gpfl)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:221 +#: ../guvcview/gui_gtk3_callbacks.c:218 ../guvcview/gui_qt5_callbacks.cpp:144 +#: ../guvcview/gui_qt5_callbacks.cpp:175 msgid "any (*.*)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:519 +#: ../guvcview/gui_gtk3_callbacks.c:514 ../guvcview/gui_qt5_callbacks.cpp:366 #, fuzzy msgid "Photo file name" msgstr "圖片檔案名稱" -#: ../guvcview/gui_gtk3_callbacks.c:543 +#: ../guvcview/gui_gtk3_callbacks.c:538 ../guvcview/gui_qt5_callbacks.cpp:346 msgid "Raw (*.raw)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:544 +#: ../guvcview/gui_gtk3_callbacks.c:539 msgid "Jpeg (*.jpg)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:545 +#: ../guvcview/gui_gtk3_callbacks.c:540 msgid "Png (*.png)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:546 +#: ../guvcview/gui_gtk3_callbacks.c:541 ../guvcview/gui_qt5_callbacks.cpp:345 msgid "Bmp (*.bmp)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:621 +#: ../guvcview/gui_gtk3_callbacks.c:614 ../guvcview/gui_qt5_callbacks.cpp:419 #, fuzzy msgid "Video file name" msgstr "圖片檔案名稱" -#: ../guvcview/gui_gtk3_callbacks.c:646 +#: ../guvcview/gui_gtk3_callbacks.c:639 ../guvcview/gui_qt5_callbacks.cpp:402 msgid "Matroska (*.mkv)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:647 +#: ../guvcview/gui_gtk3_callbacks.c:640 ../guvcview/gui_qt5_callbacks.cpp:403 msgid "WebM (*.webm)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:648 +#: ../guvcview/gui_gtk3_callbacks.c:641 ../guvcview/gui_qt5_callbacks.cpp:404 msgid "Avi (*.avi)" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1158 +#: ../guvcview/gui_gtk3_callbacks.c:1129 ../guvcview/gui_qt5_callbacks.cpp:890 msgid "start new" msgstr "馬上啟動" -#: ../guvcview/gui_gtk3_callbacks.c:1161 +#: ../guvcview/gui_gtk3_callbacks.c:1132 ../guvcview/gui_qt5_callbacks.cpp:892 msgid "restart" msgstr "重新啟動" -#: ../guvcview/gui_gtk3_callbacks.c:1163 +#: ../guvcview/gui_gtk3_callbacks.c:1134 ../guvcview/gui_qt5_callbacks.cpp:893 msgid "new" msgstr "新增" -#: ../guvcview/gui_gtk3_callbacks.c:1165 +#: ../guvcview/gui_gtk3_callbacks.c:1136 msgid "cancel" msgstr "取消" -#: ../guvcview/gui_gtk3_callbacks.c:1170 +#: ../guvcview/gui_gtk3_callbacks.c:1141 ../guvcview/gui_qt5_callbacks.cpp:891 msgid "" "launch new process or restart?.\n" "\n" @@ -637,16 +670,18 @@ "啟動新的程序或重新啟動?\n" "\n" -#: ../guvcview/gui_gtk3_callbacks.c:1751 +#: ../guvcview/gui_gtk3_callbacks.c:1775 +#: ../guvcview/gui_qt5_callbacks.cpp:1441 #, fuzzy msgid "video codec values" msgstr "音頻編碼器數值" -#: ../guvcview/gui_gtk3_callbacks.c:1754 +#: ../guvcview/gui_gtk3_callbacks.c:1778 msgid "_OK" msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:1760 +#: ../guvcview/gui_gtk3_callbacks.c:1784 +#: ../guvcview/gui_qt5_callbacks.cpp:1462 msgid "" " encoder fps: \n" " (0 - use fps combobox value)" @@ -654,416 +689,472 @@ " encoder fps: \n" " (0 - use fps combobox value)" -#: ../guvcview/gui_gtk3_callbacks.c:1773 +#: ../guvcview/gui_gtk3_callbacks.c:1802 +#: ../guvcview/gui_qt5_callbacks.cpp:1467 msgid " monotonic pts" msgstr "" #. bit rate -#: ../guvcview/gui_gtk3_callbacks.c:1780 ../guvcview/gui_gtk3_callbacks.c:2105 +#: ../guvcview/gui_gtk3_callbacks.c:1809 ../guvcview/gui_gtk3_callbacks.c:2234 +#: ../guvcview/gui_qt5_callbacks.cpp:1473 +#: ../guvcview/gui_qt5_callbacks.cpp:1665 msgid "bit rate: " msgstr "bit rate: " -#: ../guvcview/gui_gtk3_callbacks.c:1793 +#: ../guvcview/gui_gtk3_callbacks.c:1827 +#: ../guvcview/gui_qt5_callbacks.cpp:1479 msgid "qmax: " msgstr "qmax: " -#: ../guvcview/gui_gtk3_callbacks.c:1806 +#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_qt5_callbacks.cpp:1485 msgid "qmin: " msgstr "qmin: " -#: ../guvcview/gui_gtk3_callbacks.c:1819 +#: ../guvcview/gui_gtk3_callbacks.c:1863 +#: ../guvcview/gui_qt5_callbacks.cpp:1491 msgid "max. qdiff: " msgstr "max. qdiff: " -#: ../guvcview/gui_gtk3_callbacks.c:1832 +#: ../guvcview/gui_gtk3_callbacks.c:1881 +#: ../guvcview/gui_qt5_callbacks.cpp:1497 msgid "dia size: " msgstr "dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1845 +#: ../guvcview/gui_gtk3_callbacks.c:1899 +#: ../guvcview/gui_qt5_callbacks.cpp:1503 msgid "pre dia size: " msgstr "pre dia size: " -#: ../guvcview/gui_gtk3_callbacks.c:1858 +#: ../guvcview/gui_gtk3_callbacks.c:1917 +#: ../guvcview/gui_qt5_callbacks.cpp:1509 msgid "pre me: " msgstr "pre me: " -#: ../guvcview/gui_gtk3_callbacks.c:1871 +#: ../guvcview/gui_gtk3_callbacks.c:1935 +#: ../guvcview/gui_qt5_callbacks.cpp:1515 msgid "pre cmp: " msgstr "pre cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1884 +#: ../guvcview/gui_gtk3_callbacks.c:1953 +#: ../guvcview/gui_qt5_callbacks.cpp:1521 msgid "cmp: " msgstr "cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1897 +#: ../guvcview/gui_gtk3_callbacks.c:1971 +#: ../guvcview/gui_qt5_callbacks.cpp:1527 msgid "sub cmp: " msgstr "sub cmp: " -#: ../guvcview/gui_gtk3_callbacks.c:1910 +#: ../guvcview/gui_gtk3_callbacks.c:1989 +#: ../guvcview/gui_qt5_callbacks.cpp:1533 msgid "last predictor count: " msgstr "last predictor count: " -#: ../guvcview/gui_gtk3_callbacks.c:1923 +#: ../guvcview/gui_gtk3_callbacks.c:2007 +#: ../guvcview/gui_qt5_callbacks.cpp:1539 msgid "gop size: " msgstr "gop size: " -#: ../guvcview/gui_gtk3_callbacks.c:1936 +#: ../guvcview/gui_gtk3_callbacks.c:2025 +#: ../guvcview/gui_qt5_callbacks.cpp:1545 msgid "qcompress: " msgstr "qcompress: " -#: ../guvcview/gui_gtk3_callbacks.c:1949 +#: ../guvcview/gui_gtk3_callbacks.c:2043 +#: ../guvcview/gui_qt5_callbacks.cpp:1551 msgid "qblur: " msgstr "qblur: " -#: ../guvcview/gui_gtk3_callbacks.c:1962 +#: ../guvcview/gui_gtk3_callbacks.c:2061 +#: ../guvcview/gui_qt5_callbacks.cpp:1557 msgid "subq: " msgstr "subq: " -#: ../guvcview/gui_gtk3_callbacks.c:1975 +#: ../guvcview/gui_gtk3_callbacks.c:2079 +#: ../guvcview/gui_qt5_callbacks.cpp:1563 msgid "framerefs: " msgstr "framerefs: " -#: ../guvcview/gui_gtk3_callbacks.c:1988 +#: ../guvcview/gui_gtk3_callbacks.c:2097 +#: ../guvcview/gui_qt5_callbacks.cpp:1569 msgid "me method: " msgstr "me method: " -#: ../guvcview/gui_gtk3_callbacks.c:2001 +#: ../guvcview/gui_gtk3_callbacks.c:2115 +#: ../guvcview/gui_qt5_callbacks.cpp:1575 msgid "mb decision: " msgstr "mb decision: " -#: ../guvcview/gui_gtk3_callbacks.c:2014 +#: ../guvcview/gui_gtk3_callbacks.c:2133 +#: ../guvcview/gui_qt5_callbacks.cpp:1581 msgid "max B frames: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2027 +#: ../guvcview/gui_gtk3_callbacks.c:2151 +#: ../guvcview/gui_qt5_callbacks.cpp:1587 msgid "num threads: " msgstr "" -#: ../guvcview/gui_gtk3_callbacks.c:2094 +#: ../guvcview/gui_gtk3_callbacks.c:2223 +#: ../guvcview/gui_qt5_callbacks.cpp:1643 msgid "audio codec values" msgstr "音頻編碼器數值" #. sample format -#: ../guvcview/gui_gtk3_callbacks.c:2119 +#: ../guvcview/gui_gtk3_callbacks.c:2253 +#: ../guvcview/gui_qt5_callbacks.cpp:1672 msgid "sample format: " msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:622 +#. streaming controls +#. bRateControlMode +#: ../guvcview/gui_gtk3_h264ctrls.c:605 ../guvcview/gui_qt5_h264ctrls.cpp:485 #, fuzzy msgid "Rate Control Mode:" msgstr "影像設定" -#: ../guvcview/gui_gtk3_h264ctrls.c:633 +#: ../guvcview/gui_gtk3_h264ctrls.c:621 ../guvcview/gui_qt5_h264ctrls.cpp:498 msgid "CBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:636 +#: ../guvcview/gui_gtk3_h264ctrls.c:624 ../guvcview/gui_qt5_h264ctrls.cpp:500 msgid "VBR" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:640 +#: ../guvcview/gui_gtk3_h264ctrls.c:628 ../guvcview/gui_qt5_h264ctrls.cpp:503 msgid "Constant QP" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:658 +#: ../guvcview/gui_gtk3_h264ctrls.c:646 ../guvcview/gui_qt5_h264ctrls.cpp:518 msgid "Rate Control Mode flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:683 +#: ../guvcview/gui_gtk3_h264ctrls.c:676 ../guvcview/gui_qt5_h264ctrls.cpp:537 msgid "Temporal Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:711 +#: ../guvcview/gui_gtk3_h264ctrls.c:711 ../guvcview/gui_qt5_h264ctrls.cpp:562 msgid "Spatial Scale Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:741 +#: ../guvcview/gui_gtk3_h264ctrls.c:747 ../guvcview/gui_qt5_h264ctrls.cpp:583 msgid "Frame Interval (100ns units):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:778 +#: ../guvcview/gui_gtk3_h264ctrls.c:789 ../guvcview/gui_qt5_h264ctrls.cpp:615 #, fuzzy msgid "Bit Rate:" msgstr "bit rate: " -#: ../guvcview/gui_gtk3_h264ctrls.c:801 +#: ../guvcview/gui_gtk3_h264ctrls.c:817 ../guvcview/gui_qt5_h264ctrls.cpp:631 msgid "Hints:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:806 +#. Hints Resolution +#: ../guvcview/gui_gtk3_h264ctrls.c:827 ../guvcview/gui_qt5_h264ctrls.cpp:646 #, fuzzy msgid "Resolution" msgstr "影像尺寸:" -#: ../guvcview/gui_gtk3_h264ctrls.c:810 +#. Hints Profile +#: ../guvcview/gui_gtk3_h264ctrls.c:831 ../guvcview/gui_qt5_h264ctrls.cpp:650 msgid "Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:814 +#. Hints Ratecontrol +#: ../guvcview/gui_gtk3_h264ctrls.c:835 ../guvcview/gui_qt5_h264ctrls.cpp:654 #, fuzzy msgid "Rate Control" msgstr "影像設定" -#: ../guvcview/gui_gtk3_h264ctrls.c:818 +#. Hints Usage +#: ../guvcview/gui_gtk3_h264ctrls.c:839 ../guvcview/gui_qt5_h264ctrls.cpp:658 msgid "Usage Type" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:822 +#. Hints SliceMode +#: ../guvcview/gui_gtk3_h264ctrls.c:843 ../guvcview/gui_qt5_h264ctrls.cpp:662 msgid "Slice Mode" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:826 +#. Hints Sliceunit +#: ../guvcview/gui_gtk3_h264ctrls.c:847 ../guvcview/gui_qt5_h264ctrls.cpp:666 msgid "Slice Unit" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:830 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:851 ../guvcview/gui_qt5_h264ctrls.cpp:670 msgid "MVC View" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:834 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:855 ../guvcview/gui_qt5_h264ctrls.cpp:674 msgid "Temporal Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:838 +#. Hints View +#: ../guvcview/gui_gtk3_h264ctrls.c:859 ../guvcview/gui_qt5_h264ctrls.cpp:678 msgid "SNR Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:842 +#. Hints Spatial +#: ../guvcview/gui_gtk3_h264ctrls.c:863 ../guvcview/gui_qt5_h264ctrls.cpp:682 msgid "Spatial Scale" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:846 +#. Hints Spatial layer +#: ../guvcview/gui_gtk3_h264ctrls.c:867 ../guvcview/gui_qt5_h264ctrls.cpp:686 msgid "Spatial Layer Ratio" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:850 +#. Hints FrameInterval +#: ../guvcview/gui_gtk3_h264ctrls.c:871 ../guvcview/gui_qt5_h264ctrls.cpp:690 #, fuzzy msgid "Frame Interval" msgstr "影格率" -#: ../guvcview/gui_gtk3_h264ctrls.c:854 +#. Hints Leaky bucket +#: ../guvcview/gui_gtk3_h264ctrls.c:875 ../guvcview/gui_qt5_h264ctrls.cpp:694 msgid "Leaky Bucket Size" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:858 +#. Hints Bit Rate +#: ../guvcview/gui_gtk3_h264ctrls.c:879 ../guvcview/gui_qt5_h264ctrls.cpp:698 msgid "Bit Rate" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:862 ../guvcview/gui_gtk3_h264ctrls.c:1220 +#. Hints Cabac +#: ../guvcview/gui_gtk3_h264ctrls.c:883 ../guvcview/gui_gtk3_h264ctrls.c:1296 +#: ../guvcview/gui_qt5_h264ctrls.cpp:702 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1017 msgid "CABAC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:866 +#. Hints I Frame +#: ../guvcview/gui_gtk3_h264ctrls.c:887 ../guvcview/gui_qt5_h264ctrls.cpp:706 msgid "(I) Frame Period" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:878 +#: ../guvcview/gui_gtk3_h264ctrls.c:899 ../guvcview/gui_qt5_h264ctrls.cpp:715 msgid "Slice Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:885 +#: ../guvcview/gui_gtk3_h264ctrls.c:911 ../guvcview/gui_qt5_h264ctrls.cpp:724 msgid "no multiple slices" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:887 +#: ../guvcview/gui_gtk3_h264ctrls.c:913 ../guvcview/gui_qt5_h264ctrls.cpp:725 msgid "bits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:889 +#: ../guvcview/gui_gtk3_h264ctrls.c:915 ../guvcview/gui_qt5_h264ctrls.cpp:726 msgid "Mbits/slice" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:891 +#: ../guvcview/gui_gtk3_h264ctrls.c:917 ../guvcview/gui_qt5_h264ctrls.cpp:727 msgid "slices/frame" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:900 +#: ../guvcview/gui_gtk3_h264ctrls.c:926 ../guvcview/gui_qt5_h264ctrls.cpp:734 msgid "Slice Units:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:921 +#: ../guvcview/gui_gtk3_h264ctrls.c:952 ../guvcview/gui_qt5_h264ctrls.cpp:751 msgid "Profile:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:928 +#: ../guvcview/gui_gtk3_h264ctrls.c:964 ../guvcview/gui_qt5_h264ctrls.cpp:760 msgid "Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:930 +#: ../guvcview/gui_gtk3_h264ctrls.c:966 ../guvcview/gui_qt5_h264ctrls.cpp:761 msgid "Main Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:932 +#: ../guvcview/gui_gtk3_h264ctrls.c:968 ../guvcview/gui_qt5_h264ctrls.cpp:762 msgid "High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:934 +#: ../guvcview/gui_gtk3_h264ctrls.c:970 ../guvcview/gui_qt5_h264ctrls.cpp:763 msgid "Scalable Baseline Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:936 +#: ../guvcview/gui_gtk3_h264ctrls.c:972 ../guvcview/gui_qt5_h264ctrls.cpp:764 msgid "Scalable High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:938 +#: ../guvcview/gui_gtk3_h264ctrls.c:974 ../guvcview/gui_qt5_h264ctrls.cpp:765 msgid "Multiview High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:940 +#: ../guvcview/gui_gtk3_h264ctrls.c:976 ../guvcview/gui_qt5_h264ctrls.cpp:766 msgid "Stereo High Profile" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:979 +#: ../guvcview/gui_gtk3_h264ctrls.c:1015 ../guvcview/gui_qt5_h264ctrls.cpp:804 msgid "Profile flags:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1004 +#: ../guvcview/gui_gtk3_h264ctrls.c:1045 ../guvcview/gui_qt5_h264ctrls.cpp:824 msgid "(I) Frame Period (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1025 +#: ../guvcview/gui_gtk3_h264ctrls.c:1071 ../guvcview/gui_qt5_h264ctrls.cpp:841 msgid "Estimated Video Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1046 +#: ../guvcview/gui_gtk3_h264ctrls.c:1097 ../guvcview/gui_qt5_h264ctrls.cpp:858 msgid "Estimated Max Config Delay (ms):" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1067 +#: ../guvcview/gui_gtk3_h264ctrls.c:1123 ../guvcview/gui_qt5_h264ctrls.cpp:875 msgid "Usage Type:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1074 +#: ../guvcview/gui_gtk3_h264ctrls.c:1135 ../guvcview/gui_qt5_h264ctrls.cpp:884 msgid "Real-time" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1076 +#: ../guvcview/gui_gtk3_h264ctrls.c:1137 ../guvcview/gui_qt5_h264ctrls.cpp:885 msgid "Broadcast" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1078 +#: ../guvcview/gui_gtk3_h264ctrls.c:1139 ../guvcview/gui_qt5_h264ctrls.cpp:886 msgid "Storage" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1080 +#: ../guvcview/gui_gtk3_h264ctrls.c:1141 ../guvcview/gui_qt5_h264ctrls.cpp:887 msgid "(0) Non-scalable single layer AVC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1082 +#: ../guvcview/gui_gtk3_h264ctrls.c:1143 ../guvcview/gui_qt5_h264ctrls.cpp:888 msgid "(1) SVC temporal scalability with hierarchical P" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1084 +#: ../guvcview/gui_gtk3_h264ctrls.c:1145 ../guvcview/gui_qt5_h264ctrls.cpp:889 msgid "(2q) SVC temporal scalability + Quality/SNR scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1086 +#: ../guvcview/gui_gtk3_h264ctrls.c:1147 ../guvcview/gui_qt5_h264ctrls.cpp:890 msgid "(2s) SVC temporal scalability + spatial scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1088 +#: ../guvcview/gui_gtk3_h264ctrls.c:1149 ../guvcview/gui_qt5_h264ctrls.cpp:891 msgid "(3) Full SVC scalability" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1102 +#: ../guvcview/gui_gtk3_h264ctrls.c:1163 ../guvcview/gui_qt5_h264ctrls.cpp:905 msgid "SNR Control Mode:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1109 +#: ../guvcview/gui_gtk3_h264ctrls.c:1175 ../guvcview/gui_qt5_h264ctrls.cpp:914 msgid "No SNR Enhancement Layer" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1111 +#: ../guvcview/gui_gtk3_h264ctrls.c:1177 ../guvcview/gui_qt5_h264ctrls.cpp:915 msgid "CGS NonRewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1113 +#: ../guvcview/gui_gtk3_h264ctrls.c:1179 ../guvcview/gui_qt5_h264ctrls.cpp:916 msgid "CGS NonRewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1115 +#: ../guvcview/gui_gtk3_h264ctrls.c:1181 ../guvcview/gui_qt5_h264ctrls.cpp:917 msgid "CGS Rewrite (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1117 +#: ../guvcview/gui_gtk3_h264ctrls.c:1183 ../guvcview/gui_qt5_h264ctrls.cpp:918 msgid "CGS Rewrite (3 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1119 +#: ../guvcview/gui_gtk3_h264ctrls.c:1185 ../guvcview/gui_qt5_h264ctrls.cpp:919 msgid "MGS (2 Layer)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1144 +#. ---enable +#: ../guvcview/gui_gtk3_h264ctrls.c:1210 ../guvcview/gui_qt5_h264ctrls.cpp:948 msgid "Stream Mux Enable" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1151 +#: ../guvcview/gui_gtk3_h264ctrls.c:1217 ../guvcview/gui_qt5_h264ctrls.cpp:957 msgid "Embed H.264 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1153 +#: ../guvcview/gui_gtk3_h264ctrls.c:1219 ../guvcview/gui_qt5_h264ctrls.cpp:958 msgid "Embed YUY2 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1155 +#: ../guvcview/gui_gtk3_h264ctrls.c:1221 ../guvcview/gui_qt5_h264ctrls.cpp:959 msgid "Embed NV12 aux stream" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1175 +#. ---mjpg payload +#: ../guvcview/gui_gtk3_h264ctrls.c:1241 ../guvcview/gui_qt5_h264ctrls.cpp:977 msgid "MJPG payload container" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1189 +#: ../guvcview/gui_gtk3_h264ctrls.c:1255 ../guvcview/gui_qt5_h264ctrls.cpp:989 msgid "Stream Format:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1197 +#: ../guvcview/gui_gtk3_h264ctrls.c:1268 ../guvcview/gui_qt5_h264ctrls.cpp:998 msgid "Byte stream format (H.264 Annex-B)" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1199 +#: ../guvcview/gui_gtk3_h264ctrls.c:1270 ../guvcview/gui_qt5_h264ctrls.cpp:999 msgid "NAL stream format" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1210 +#: ../guvcview/gui_gtk3_h264ctrls.c:1281 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1007 msgid "Entropy CABAC:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1218 +#: ../guvcview/gui_gtk3_h264ctrls.c:1294 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1016 msgid "CAVLC" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1231 +#: ../guvcview/gui_gtk3_h264ctrls.c:1307 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1025 msgid "Picture timing SEI" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1238 +#: ../guvcview/gui_gtk3_h264ctrls.c:1314 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1033 #, fuzzy msgid "B Frames:" msgstr "影格率" -#: ../guvcview/gui_gtk3_h264ctrls.c:1263 +#: ../guvcview/gui_gtk3_h264ctrls.c:1344 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1053 msgid "Preview Flipped" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1270 +#: ../guvcview/gui_gtk3_h264ctrls.c:1351 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1061 msgid "Additional MVC Views:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1295 +#: ../guvcview/gui_gtk3_h264ctrls.c:1381 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1081 msgid "Simulcast stream index:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1320 +#: ../guvcview/gui_gtk3_h264ctrls.c:1411 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1101 msgid "Spatial Layer Ratio:" msgstr "" -#: ../guvcview/gui_gtk3_h264ctrls.c:1349 +#: ../guvcview/gui_gtk3_h264ctrls.c:1445 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1125 msgid "Leaky Bucket Size (ms):" msgstr "" #. encoder reset -#: ../guvcview/gui_gtk3_h264ctrls.c:1376 +#: ../guvcview/gui_gtk3_h264ctrls.c:1477 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1146 #, fuzzy msgid "Encoder Reset" msgstr "Pan 重設" @@ -1076,295 +1167,352 @@ #. gtk_grid_attach (GTK_GRID(h264_controls_grid), probe_button, 0, line, 1 ,1); #. gtk_widget_show(probe_button); #. -#: ../guvcview/gui_gtk3_h264ctrls.c:1391 +#. commit button +#: ../guvcview/gui_gtk3_h264ctrls.c:1492 +#: ../guvcview/gui_qt5_h264ctrls.cpp:1155 msgid "COMMIT" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:70 +#: ../guvcview/gui_gtk3_menu.c:67 ../guvcview/gui_qt5_menu.cpp:70 msgid "Settings" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:73 +#: ../guvcview/gui_gtk3_menu.c:70 ../guvcview/gui_qt5_menu.cpp:75 msgid "Hardware Defaults" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:81 +#: ../guvcview/gui_gtk3_menu.c:78 ../guvcview/gui_qt5_menu.cpp:82 msgid "Camera Button" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:86 +#: ../guvcview/gui_gtk3_menu.c:83 ../guvcview/gui_qt5_menu.cpp:88 msgid "Capture Image" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:91 +#: ../guvcview/gui_gtk3_menu.c:88 ../guvcview/gui_qt5_menu.cpp:95 msgid "Capture Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:134 +#. photo menu +#: ../guvcview/gui_gtk3_menu.c:131 ../guvcview/gui_qt5_menu.cpp:108 msgid "Photo" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:135 ../guvcview/gui_gtk3_menu.c:159 +#: ../guvcview/gui_gtk3_menu.c:132 ../guvcview/gui_gtk3_menu.c:156 +#: ../guvcview/gui_qt5_menu.cpp:112 ../guvcview/gui_qt5_menu.cpp:122 msgid "File" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:136 ../guvcview/gui_gtk3_menu.c:160 +#: ../guvcview/gui_gtk3_menu.c:133 ../guvcview/gui_gtk3_menu.c:157 +#: ../guvcview/gui_qt5_menu.cpp:113 ../guvcview/gui_qt5_menu.cpp:123 msgid "Increment Filename" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:158 +#. video menu +#: ../guvcview/gui_gtk3_menu.c:155 ../guvcview/gui_qt5_menu.cpp:118 msgid "Video" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:175 +#. video codecs +#: ../guvcview/gui_gtk3_menu.c:172 ../guvcview/gui_qt5_menu.cpp:128 msgid "Video Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:202 +#: ../guvcview/gui_gtk3_menu.c:199 ../guvcview/gui_qt5_menu.cpp:154 msgid "Video Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:208 +#. audio codec menu +#: ../guvcview/gui_gtk3_menu.c:205 ../guvcview/gui_qt5_menu.cpp:157 msgid "Audio Codec" msgstr "" -#: ../guvcview/gui_gtk3_menu.c:235 +#: ../guvcview/gui_gtk3_menu.c:232 ../guvcview/gui_qt5_menu.cpp:182 msgid "Audio Codec Properties" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:174 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:183 ../guvcview/gui_qt5_v4l2ctrls.cpp:133 msgid "Left" msgstr "左" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:175 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:184 ../guvcview/gui_qt5_v4l2ctrls.cpp:134 msgid "Right" msgstr "右" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:179 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:188 ../guvcview/gui_qt5_v4l2ctrls.cpp:138 msgid "Down" msgstr "下" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:180 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:189 ../guvcview/gui_qt5_v4l2ctrls.cpp:139 msgid "Up" msgstr "上" #. turn it into a menu control -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "8 bit" msgstr "" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:296 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:305 ../guvcview/gui_qt5_v4l2ctrls.cpp:256 msgid "12 bit" msgstr "" #. add a virtual control for software autofocus -#: ../guvcview/gui_gtk3_v4l2ctrls.c:348 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:357 ../guvcview/gui_qt5_v4l2ctrls.cpp:309 msgid "Auto Focus (continuous)" msgstr "自動對焦(連續)" -#: ../guvcview/gui_gtk3_v4l2ctrls.c:349 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:358 ../guvcview/gui_qt5_v4l2ctrls.cpp:316 msgid "set Focus" msgstr "設定焦點" #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2= gtk_button_new_from_stock(GTK_STOCK_APPLY); #. control_widgets_list[n].widget2 = gtk_button_new_from_stock(GTK_STOCK_APPLY); -#: ../guvcview/gui_gtk3_v4l2ctrls.c:433 ../guvcview/gui_gtk3_v4l2ctrls.c:456 -#: ../guvcview/gui_gtk3_v4l2ctrls.c:478 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:441 ../guvcview/gui_gtk3_v4l2ctrls.c:464 +#: ../guvcview/gui_gtk3_v4l2ctrls.c:486 #, fuzzy msgid "_Apply" msgstr "套用" -#: ../guvcview/gui_gtk3_videoctrls.c:144 +#: ../guvcview/gui_gtk3_videoctrls.c:145 +#: ../guvcview/gui_qt5_videoctrls.cpp:127 msgid "Frame Rate:" msgstr "影格率" -#: ../guvcview/gui_gtk3_videoctrls.c:204 +#: ../guvcview/gui_gtk3_videoctrls.c:209 +#: ../guvcview/gui_qt5_videoctrls.cpp:175 msgid "Resolution:" msgstr "影像尺寸:" -#: ../guvcview/gui_gtk3_videoctrls.c:254 +#: ../guvcview/gui_gtk3_videoctrls.c:264 +#: ../guvcview/gui_qt5_videoctrls.cpp:213 msgid "Camera Output:" msgstr "攝影機輸出:" -#: ../guvcview/gui_gtk3_videoctrls.c:287 +#: ../guvcview/gui_gtk3_videoctrls.c:302 +#: ../guvcview/gui_qt5_videoctrls.cpp:236 msgid "---- Video Filters ----" msgstr "---影像濾波器---" #. Mirror FX -#: ../guvcview/gui_gtk3_videoctrls.c:307 +#: ../guvcview/gui_gtk3_videoctrls.c:327 +#: ../guvcview/gui_qt5_videoctrls.cpp:250 msgid " Mirror" msgstr " 鏡像(水平翻轉)" #. Upturn FX -#: ../guvcview/gui_gtk3_videoctrls.c:319 +#: ../guvcview/gui_gtk3_videoctrls.c:339 +#: ../guvcview/gui_qt5_videoctrls.cpp:259 msgid " Invert" msgstr " 倒置(垂直翻轉)" #. Negate FX -#: ../guvcview/gui_gtk3_videoctrls.c:331 +#: ../guvcview/gui_gtk3_videoctrls.c:351 +#: ../guvcview/gui_qt5_videoctrls.cpp:269 msgid " Negative" msgstr " 負片效果" #. Mono FX -#: ../guvcview/gui_gtk3_videoctrls.c:343 +#: ../guvcview/gui_gtk3_videoctrls.c:363 +#: ../guvcview/gui_qt5_videoctrls.cpp:279 msgid " Mono" msgstr " 灰階" #. Pieces FX -#: ../guvcview/gui_gtk3_videoctrls.c:356 +#: ../guvcview/gui_gtk3_videoctrls.c:376 +#: ../guvcview/gui_qt5_videoctrls.cpp:289 msgid " Pieces" msgstr " 馬賽克" #. Particles -#: ../guvcview/gui_gtk3_videoctrls.c:369 +#: ../guvcview/gui_gtk3_videoctrls.c:389 +#: ../guvcview/gui_qt5_videoctrls.cpp:299 msgid " Particles" msgstr " 顆粒" -#: ../guvcview/options.c:51 +#: ../guvcview/gui_gtk3_videoctrls.c:403 +#: ../guvcview/gui_qt5_videoctrls.cpp:310 +msgid "---- OSD ----" +msgstr "" + +#. Crosshair OSD +#: ../guvcview/gui_gtk3_videoctrls.c:428 +#: ../guvcview/gui_qt5_videoctrls.cpp:324 +msgid " Cross-hair" +msgstr "" + +#: ../guvcview/options.c:36 +msgid "Select GUI API (e.g none; gtk3; qt5)" +msgstr "" + +#: ../guvcview/options.c:37 +msgid "Select GUI API (e.g none; gtk3)" +msgstr "" + +#: ../guvcview/options.c:38 +msgid "Select GUI API (e.g none; qt5)" +msgstr "" + +#: ../guvcview/options.c:39 +msgid "Select GUI API (e.g none)" +msgstr "" + +#: ../guvcview/options.c:57 msgid "Print help" msgstr "" -#: ../guvcview/options.c:58 +#: ../guvcview/options.c:64 #, fuzzy msgid "Print version" msgstr "列印版本" -#: ../guvcview/options.c:64 +#: ../guvcview/options.c:70 msgid "LEVEL" msgstr "" -#: ../guvcview/options.c:65 +#: ../guvcview/options.c:71 msgid "Set Verbosity level (def: 0)" msgstr "" -#: ../guvcview/options.c:71 +#: ../guvcview/options.c:77 msgid "DEVICE" msgstr "" -#: ../guvcview/options.c:72 +#: ../guvcview/options.c:78 #, fuzzy msgid "Set device name (def: /dev/video0)" msgstr "使用影像設備[default: /dev/video0]" -#: ../guvcview/options.c:78 +#: ../guvcview/options.c:84 msgid "METHOD" msgstr "" -#: ../guvcview/options.c:79 +#: ../guvcview/options.c:85 #, fuzzy msgid "Set capture method [read | mmap (def)]" msgstr "擷取方法(1-mmap (default) 2-read)" -#: ../guvcview/options.c:85 +#: ../guvcview/options.c:92 +msgid "disable calls to libv4l2" +msgstr "" + +#: ../guvcview/options.c:98 msgid "WIDTHxHEIGHT" msgstr "" -#: ../guvcview/options.c:86 +#: ../guvcview/options.c:99 msgid "Request resolution (e.g 640x480)" msgstr "" -#: ../guvcview/options.c:92 +#: ../guvcview/options.c:105 msgid "FOURCC" msgstr "" -#: ../guvcview/options.c:93 +#: ../guvcview/options.c:106 msgid "Request format (e.g MJPG)" msgstr "" -#: ../guvcview/options.c:99 +#: ../guvcview/options.c:112 msgid "RENDER_API" msgstr "" -#: ../guvcview/options.c:100 +#: ../guvcview/options.c:113 msgid "Select render API (e.g none; sdl)" msgstr "" -#: ../guvcview/options.c:106 +#: ../guvcview/options.c:119 +msgid "RENDER_WINDOW_FLAGS" +msgstr "" + +#: ../guvcview/options.c:120 +msgid "Set render window flags (e.g none; full; max)" +msgstr "" + +#: ../guvcview/options.c:126 msgid "AUDIO_API" msgstr "" -#: ../guvcview/options.c:107 +#: ../guvcview/options.c:127 msgid "Select audio API (e.g none; port; pulse)" msgstr "" -#: ../guvcview/options.c:113 +#: ../guvcview/options.c:133 msgid "AUDIO_DEVICE" msgstr "" -#: ../guvcview/options.c:114 +#: ../guvcview/options.c:134 msgid "Select audio device index for selected api (0..N)" msgstr "" -#: ../guvcview/options.c:120 +#: ../guvcview/options.c:140 msgid "GUI_API" msgstr "" -#: ../guvcview/options.c:121 -msgid "Select GUI API (e.g none; gtk3)" -msgstr "" - -#: ../guvcview/options.c:127 ../guvcview/options.c:134 +#: ../guvcview/options.c:156 ../guvcview/options.c:163 msgid "CODEC" msgstr "" -#: ../guvcview/options.c:128 +#: ../guvcview/options.c:157 msgid "Audio codec [pcm mp2 mp3 aac ac3 vorb]" msgstr "" -#: ../guvcview/options.c:135 +#: ../guvcview/options.c:164 msgid "Video codec [raw mjpg mpeg flv1 wmv1 mpg2 mp43 dx50 h264 vp80 theo]" msgstr "" -#: ../guvcview/options.c:141 ../guvcview/options.c:148 -#: ../guvcview/options.c:155 +#: ../guvcview/options.c:170 ../guvcview/options.c:177 +#: ../guvcview/options.c:184 msgid "FILENAME" msgstr "" -#: ../guvcview/options.c:142 +#: ../guvcview/options.c:171 msgid "load control profile" msgstr "" -#: ../guvcview/options.c:149 +#: ../guvcview/options.c:178 msgid "filename for captured video)" msgstr "" -#: ../guvcview/options.c:156 +#: ../guvcview/options.c:185 msgid "filename for captured image)" msgstr "" -#: ../guvcview/options.c:162 ../guvcview/options.c:169 +#: ../guvcview/options.c:191 ../guvcview/options.c:198 msgid "TIME_IN_SEC" msgstr "" -#: ../guvcview/options.c:163 +#: ../guvcview/options.c:192 msgid "time (double) in sec. for video capture)" msgstr "" -#: ../guvcview/options.c:170 +#: ../guvcview/options.c:199 msgid "time (double) in sec. between captured photos)" msgstr "" -#: ../guvcview/options.c:176 +#: ../guvcview/options.c:205 msgid "TOTAL" msgstr "" -#: ../guvcview/options.c:177 +#: ../guvcview/options.c:206 msgid "total number of captured photos)" msgstr "" -#: ../guvcview/options.c:184 +#: ../guvcview/options.c:213 +msgid "exit app after video or image capture ends" +msgstr "" + +#: ../guvcview/options.c:220 msgid "Start in control panel mode" msgstr "" -#: ../guvcview/options.c:307 +#: ../guvcview/options.c:345 #, fuzzy, c-format msgid "" "Guvcview version %s\n" "\n" msgstr "Guvcview警告:" -#: ../guvcview/options.c:308 +#: ../guvcview/options.c:346 #, c-format msgid "" "Usage:\n" @@ -1372,23 +1520,48 @@ "\n" msgstr "" -#: ../guvcview/options.c:309 +#: ../guvcview/options.c:347 #, c-format msgid "OPTIONS:\n" msgstr "" -#: ../guvcview/video_capture.c:819 +#: ../guvcview/video_capture.c:826 #, c-format msgid "saving video to %s" msgstr "" #. if(debug_level > 1) #. printf("GUVCVIEW: saving image to %s\n", img_filename); -#: ../guvcview/video_capture.c:1069 +#: ../guvcview/video_capture.c:1122 #, c-format msgid "saving image to %s" msgstr "" +#: ../guvcview/gui_qt5_callbacks.cpp:343 +msgid "Jpeg (*.jpg)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:344 +msgid "Png (*.png)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:347 +msgid "Images (*.jpg *.png *.bmp *.raw)" +msgstr "" + +#: ../guvcview/gui_qt5_callbacks.cpp:405 +msgid "Videos (*.mkv *.webm *.avi)" +msgstr "" + +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:394 ../guvcview/gui_qt5_v4l2ctrls.cpp:415 +#: ../guvcview/gui_qt5_v4l2ctrls.cpp:436 +#, fuzzy +msgid "Apply" +msgstr "套用" + +#~ msgid "Focus (absolute)" +#~ msgstr "對焦(絕對值)" + #~ msgid "Audio" #~ msgstr "音頻"