OBJCLI = $(SRCCLI:%.c=%.o)
DEP = depend
-.PHONY: default fprofiled clean distclean install uninstall
+.PHONY: default fprofiled clean distclean install install-gtk uninstall
default: $(DEP) x264$(EXE)
libx264.a: .depend $(OBJS) $(OBJASM)
x264vfw.dll: libx264.a $(wildcard vfw/*.c vfw/*.h)
$(MAKE) -C vfw/build/cygwin
+libx264gtk.a: muxers.o libx264.a
+ $(MAKE) -C gtk
+
checkasm: tools/checkasm.o libx264.a
$(CC) -o $@ $+ $(LDFLAGS)
$(MAKE) -C gtk clean
distclean: clean
- rm -f config.mak config.h vfw/build/cygwin/config.mak gtk/config.mak x264.pc
+ rm -f config.mak config.h vfw/build/cygwin/config.mak x264.pc
+ $(MAKE) -C gtk distclean
install: x264 $(SONAME)
install -d $(DESTDIR)$(bindir) $(DESTDIR)$(includedir)
$(if $(SONAME), ln -sf $(SONAME) $(DESTDIR)$(libdir)/libx264.so)
$(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(libdir))
+install-gtk: libx264gtk.a
+ $(MAKE) -C gtk install
+
uninstall:
rm -f $(DESTDIR)$(includedir)/x264.h $(DESTDIR)$(libdir)/libx264.a
rm -f $(DESTDIR)$(bindir)/x264 $(DESTDIR)$(libdir)/pkgconfig/x264.pc
$(if $(SONAME), rm -f $(DESTDIR)$(libdir)/$(SONAME) $(DESTDIR)$(libdir)/libx264.so)
+ $(MAKE) -C gtk uninstall
etags: TAGS
echo " --enable-avis-input enables avisynth input (win32 only)"
echo " --enable-mp4-output enables mp4 output (using gpac)"
echo " --enable-vfw compiles the VfW frontend"
+echo " --enable-gtk build GTK+ interface"
echo " --enable-pthread enables multithreaded encoding"
echo " --enable-debug adds -g, doesn't strip"
echo " --enable-gprof adds -pg, doesn't strip"
gprof="no"
pic="no"
vfw="no"
+gtk="no"
vis="no"
shared="no"
--disable-vfw)
vfw="no"
;;
+ --enable-gtk)
+ gtk="yes"
+ ;;
+ --disable-gtk)
+ gtk="no"
+ ;;
--enable-shared)
shared="yes"
if [ $ARCH = "X86_64" -o $ARCH = "PPC" -o $ARCH = "ALPHA" ] ; then
AS=$AS
ASFLAGS=$ASFLAGS
VFW=$vfw
+GTK=$gtk
EXE=$EXE
VIS=$vis
HAVE_GETOPT_LONG=$HAVE_GETOPT_LONG
API=`grep '#define X264_BUILD' < x264.h | cut -f 3 -d ' '`
echo "SONAME=libx264.so.$API" >> config.mak
echo 'default: $(SONAME)' >> config.mak
+ if [ "$gtk" = "yes" ]; then
+ echo "SONAMEGTK=libx264gtk.so.$API" >> gtk/config.mak
+ fi
+fi
+
+if [ "$gtk" = "yes" ]; then
+ echo 'default: libx264gtk.a' >> config.mak
+ echo 'install: install-gtk' >> config.mak
fi
./version.sh
echo "mp4 output: $mp4_output"
echo "pthread: $pthread"
echo "vfw: $vfw"
+echo "gtk: $gtk"
echo "debug: $debug"
echo "gprof: $gprof"
echo "PIC: $pic"
ifeq ($(SYS),MINGW)
datadir=.
-TEST_OBJECTS+=x264gtk.o
-LDFLAGS+=-mwindows
-XGETTEXT=xgettext.exe
X264GTK_O = x264gtk.o
+TEST_OBJECTS+=$(X264GTK_O)
+LDFLAGS+=-mwindows
ICONV_LIB = -liconv
-TEST_BIN = test.exe
-ENCODE_BIN = x264_gtk_encode.exe
else
datadir=${prefix}/share
-XGETTEXT=xgettext
X264GTK_O =
ICONV_LIB =
-TEST_BIN = test
-ENCODE_BIN = x264_gtk_encode
endif
+XGETTEXT=xgettext$(EXE)
+TEST_BIN = test$(EXE)
+ENCODE_BIN = x264_gtk_encode$(EXE)
# PO / MO files
PO_FILES = $(shell ls *.po)
OBJECTS_ALL = $(OBJECTS_LIB) $(OBJECTS_TEST) $(OBJECTS_ENCODE)
SOURCES_ALL = $(OBJECTS_ALL:%.o=%.c)
+X264GTK_PC = x264gtk.pc
+
EXTERNAL_DEPS= ../muxers.o ../matroska.o ../libx264.a
-all: $(ENCODE_BIN) $(TEST_BIN) $(MO_FILES)
+all: $(ENCODE_BIN) $(TEST_BIN) $(MO_FILES) $(X264GTK_PC)
# Already provides iconv/intl
CPPFLAGS = -g `pkg-config --cflags gtk+-2.0 gthread-2.0` -I.. -DX264_DATA_DIR=\"${datadir}\"
-LDFLAGS += `pkg-config --libs gtk+-2.0 gthread-2.0 x264`
+LDFLAGS += `pkg-config --libs gtk+-2.0 gthread-2.0` ../libx264.a
# gettext rules
@ar rc libx264gtk.a $(OBJECTS_LIB)
@ranlib libx264gtk.a
+$(SONAMEGTK): $(OBJECTS_LIB)
+ @echo " L: $(@F)"
+ @$(CC) -shared -o $@ $(OBJECTS_LIB) -Wl,-soname,$(SONAMEGTK) $(LDFLAGS)
+
# Program : test
$(TEST_BIN): $(OBJECTS_LIB) $(OBJECTS_TEST)
@echo " B: $(@F)"
@$(CC) -o $(TEST_BIN) $(OBJECTS_LIB) $(OBJECTS_TEST) $(LDFLAGS) $(ICONV_LIB) -lintl
# Program : x264_gtk_encode
-$(ENCODE_BIN): $(OBJECTS_LIB) x264_icon.h libx264gtk.a $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(X264GTK_O)
+$(ENCODE_BIN): x264_icon.h libx264gtk.a $(SONAMEGTK) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(X264GTK_O)
@echo " B: $(@F)"
@$(CC) -o $(ENCODE_BIN) $(OBJECTS_LIB) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(LDFLAGS) $(X264GTK_O)
+# x264gtk.pc file
+$(X264GTK_PC):
+ @echo " S: $(X264GTK_PC)"
+ @rm -f $(X264GTK_PC)
+ @echo "prefix=$(DESTDIR)${prefix}" > $(X264GTK_PC)
+ @echo "exec_prefix=$(DESTDIR)${exec_prefix}" >> $(X264GTK_PC)
+ @echo "libdir=$(DESTDIR)${libdir}" >> $(X264GTK_PC)
+ @echo "includedir=$(DESTDIR)${includedir}" >> $(X264GTK_PC)
+ @echo "" >> $(X264GTK_PC)
+ @echo "Name: Gtk+ interface for X264" >> $(X264GTK_PC)
+ @echo "Description: Gtk+ interface to configure X264" >> $(X264GTK_PC)
+ @echo "Requires: x264" >> $(X264GTK_PC)
+ @echo "Version: 0.1" >> $(X264GTK_PC)
+ @echo "Libs: -L$(DESTDIR)$(libdir) -lx264gtk" >> $(X264GTK_PC)
+ @echo "Cflags: -I$(DESTDIR)$(includedir)" >> $(X264GTK_PC)
+
# Clean rule
clean:
@rm -f *.o *.mo x264_gtk.pot $(TEST_BIN) $(ENCODE_BIN) libx264gtk.a x264_icon.h x264gtk.o
+# Distclean rule
+distclean:
+ @rm -f config.mak $(X264GTK_PC)
+
# Install rule
install: x264_gtk_encode
@echo " I: $(DESTDIR)$(includedir)/x264_gtk.h"
@install -m 644 x264_gtk_enum.h "$(DESTDIR)$(includedir)"
@echo " I: $(DESTDIR)$(libdir)/libx264gtk.a"
@install -m 644 libx264gtk.a "$(DESTDIR)$(libdir)"
+ @echo " I: $(DESTDIR)$(libdir)/libx264gtk.so"
+ @$(if $(SONAMEGTK), ln -sf $(SONAMEGTK) $(DESTDIR)$(libdir)/libx264gtk.so)
+ @$(if $(SONAMEGTK), install -m 755 $(SONAMEGTK) $(DESTDIR)$(libdir))
@echo " I: $(DESTDIR)$(bindir)/x264_gtk_encode"
@install x264_gtk_encode "$(DESTDIR)$(bindir)"
@echo " D: ${prefix}/share/x264"
echo " I: $(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
install -m 644 $$L.mo "$(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
done
+ @echo " I: ${libdir}/pkgconfig/$(X264GTK_PC)"
+ @install -m 644 $(X264GTK_PC) "$(DESTDIR)${libdir}/pkgconfig"
# Uninstall rule
uninstall:
@rm -f "$(DESTDIR)$(includedir)/x264_gtk_enum.h"
@echo " U: $(DESTDIR)$(libdir)/libx264gtk.a"
@rm -f "$(DESTDIR)$(libdir)/libx264gtk.a"
+ @echo " U: $(DESTDIR)$(libdir)/libx264gtk.so"
+ @$(if $(SONAMEGTK), rm -f "$(DESTDIR)$(libdir)/$(SONAMEGTK)")
+ @rm -f "$(DESTDIR)$(libdir)/libx264gtk.so"
@echo " U: $(DESTDIR)$(bindir)/x264_gtk_encode"
@rm -f "$(DESTDIR)$(bindir)/x264_gtk_encode"
@echo " U: $(DESTDIR)${prefix}/share/x264"
echo " U: $(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
rm -f "$(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
done
+ @echo " U: $(DESTDIR)${libdir}/pkgconfig/$(X264GTK_PC)"
+ @rm -f "$(DESTDIR)${libdir}/pkgconfig/$(X264GTK_PC)"
x264_gtk.o: x264_gtk.h x264gtk.rc x264.ico x264_gtk_bitrate.h x264_gtk_bitrate.o x264_gtk_rc.h x264_gtk_rc.o x264_gtk_mb.h x264_gtk_mb.o x264_gtk_more.h x264_gtk_more.o x264_gtk_cqm.h x264_gtk_cqm.o x264_gtk_i18n.h
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-12 01:09-0700\n"
-"PO-Revision-Date: 2006-03-30 00:37+0200\n"
+"POT-Creation-Date: 2006-06-22 16:00+0200\n"
+"PO-Revision-Date: 2006-06-14 13:27+0200\n"
"Last-Translator: Kurosu <kurosu@free.fr>\n"
"Language-Team: N/A\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: test.c:47
+#: test.c:48
#, c-format
msgid ""
"\n"
"\n"
"Diffère des valeurs par défaut\n"
-#: test.c:45
+#: test.c:46
#, c-format
msgid ""
"\n"
msgid "%dKB"
msgstr "%dKo"
-#: x264_gtk_encode_status_window.c:73
+#: x264_gtk_encode_status_window.c:74
msgid "0KB"
msgstr "0Ko"
msgid "Bidirectional ME - description"
msgstr "Estimation de mouvement bidirectionnel"
-#: x264_gtk_rc.c:30 x264_gtk.c:236
+#: x264_gtk_rc.c:30 x264_gtk.c:238
msgid "Bitrate"
msgstr "Débit"
msgid "Bitrate variability - description"
msgstr "Variabilié du débit (%)"
-#: x264_gtk_more.c:261
+#: x264_gtk_more.c:269
msgid "CABAC"
msgstr "CABAC"
-#: x264_gtk_more.c:264
+#: x264_gtk_more.c:272
msgid "CABAC - description"
msgstr ""
msgid "Custom matrix - description"
msgstr "Matrice personnalisée"
-#: x264_gtk_more.c:39 x264_gtk_more.c:318
+#: x264_gtk_more.c:197
+msgid "DCT decimate"
+msgstr "Décimation DCT"
+
+#: x264_gtk_more.c:199
+#, fuzzy
+msgid "DCT decimate - description"
+msgstr "Décimation DCT"
+
+#: x264_gtk_more.c:39 x264_gtk_more.c:326
msgid "Deblocking Filter"
msgstr "Filtre de lissage"
-#: x264_gtk_more.c:320
+#: x264_gtk_more.c:328
#, fuzzy
msgid "Deblocking Filter - description"
msgstr "Filtre de lissage"
-#: x264_gtk_more.c:376 x264_gtk_more.c:410
+#: x264_gtk_more.c:384 x264_gtk_more.c:418
msgid "Debug"
msgstr "Déboguage"
-#: x264_gtk.c:215
+#: x264_gtk.c:217
msgid "Default"
msgstr "Par défaut"
msgid "Direct mode - description"
msgstr "Mode direct"
-#: x264_gtk_more.c:289
+#: x264_gtk_more.c:297
msgid "Disabled"
msgstr "Désactivé"
msgid "Do you want to overwrite file\n"
msgstr ""
-#: x264_gtk_more.c:293
+#: x264_gtk_more.c:301
msgid "Enabled (mode decision)"
msgstr "Activé (décision de mode)"
-#: x264_gtk_more.c:291
+#: x264_gtk_more.c:299
msgid "Enabled (once)"
msgstr "Activé"
msgid "Encoding type - description"
msgstr "Type de codage"
-#: x264_gtk_more.c:404
+#: x264_gtk_more.c:412
msgid "Error"
msgstr "Erreurs"
msgid "Flat matrix - description"
msgstr "Matrice plate"
-#: x264_gtk_more.c:418
+#: x264_gtk_more.c:426
msgid "FourCC - description"
msgstr ""
msgid "Hexagonal Search"
msgstr "Recherche en hexagone"
-#: x264_gtk_more.c:408
+#: x264_gtk_more.c:416
msgid "Info"
msgstr "Information"
msgid "Keyframe boost - description"
msgstr "Bonus image clé (%)"
-#: x264_gtk.c:174
+#: x264_gtk.c:176
#, c-format
msgid "Loading configuration from %s\n"
msgstr "Chargement de la configuration à partir de %s\n"
-#: x264_gtk.c:166
+#: x264_gtk.c:168
msgid "Loading default configuration\n"
msgstr "Chargement de la configuration par défaut\n"
-#: x264_gtk_more.c:395
+#: x264_gtk_more.c:403
msgid "Log level"
msgstr "Niveau de trace"
-#: x264_gtk_more.c:389
+#: x264_gtk_more.c:397
msgid "Log level - description"
msgstr ""
-#: x264_gtk.c:250
+#: x264_gtk.c:252
msgid "MB & Frames"
msgstr "MB et image"
msgid "Min QP - description"
msgstr ""
-#: x264_gtk_more.c:198
+#: x264_gtk_more.c:206
msgid "Misc. Options"
msgstr "Options diverses"
msgid "Mixed Refs - description"
msgstr ""
-#: x264_gtk.c:257
+#: x264_gtk.c:259
msgid "More..."
msgstr "Plus..."
msgid "Multipass - Nth Pass"
msgstr "Plusieurs - passe N"
-#: x264_gtk_more.c:307
+#: x264_gtk_more.c:315
msgid "Noise reduction"
msgstr "Débruitage"
-#: x264_gtk_more.c:301
+#: x264_gtk_more.c:309
#, fuzzy
msgid "Noise reduction - description"
msgstr "Débruitage"
-#: x264_gtk_mb.c:192 x264_gtk_more.c:402
+#: x264_gtk_mb.c:192 x264_gtk_more.c:410
msgid "None"
msgstr "Aucune"
msgid "Partitions"
msgstr "Partitions"
-#: x264_gtk_encode_status_window.c:117
+#: x264_gtk_encode_status_window.c:122
msgid "Progress:"
msgstr "Progression:"
msgid "Quantization limits"
msgstr "Limite de quantification"
-#: x264_gtk.c:264
+#: x264_gtk.c:266
msgid "Quantization matrices"
msgstr "Matrices"
msgid "Range - description"
msgstr ""
-#: x264_gtk.c:243
+#: x264_gtk.c:245
msgid "Rate Control"
msgstr "Contrôle de débit"
-#: x264_gtk_more.c:218
+#: x264_gtk_more.c:226
msgid "Sample Aspect Ratio"
msgstr "Ratio d'aspect de pixel"
-#: x264_gtk_more.c:212
+#: x264_gtk_more.c:220
#, fuzzy
msgid "Sample Aspect Ratio - description"
msgstr "Ratio d'aspect de pixel"
msgid "Statistic file name"
msgstr "Fichier de statistiques"
-#: x264_gtk_more.c:338
+#: x264_gtk_more.c:346
msgid "Strength"
msgstr "Force"
-#: x264_gtk_more.c:332
+#: x264_gtk_more.c:340
msgid "Strength - description"
msgstr ""
msgid "Temporal"
msgstr "Temporelle"
-#: x264_gtk_more.c:247
+#: x264_gtk_more.c:255
msgid "Threads"
msgstr "Tâches"
-#: x264_gtk_more.c:241
+#: x264_gtk_more.c:249
msgid "Threads - description"
msgstr ""
-#: x264_gtk_more.c:47 x264_gtk_more.c:362
+#: x264_gtk_more.c:47 x264_gtk_more.c:370
msgid "Threshold"
msgstr "Seuil"
-#: x264_gtk_more.c:356
+#: x264_gtk_more.c:364
msgid "Threshold - description"
msgstr ""
-#: x264_gtk_encode_status_window.c:89
+#: x264_gtk_encode_status_window.c:92
msgid "Time elapsed:"
msgstr "Temps écoulé:"
-#: x264_gtk_encode_status_window.c:99
-msgid "Total time (estimated):"
+#: x264_gtk_encode_status_window.c:103
+#, fuzzy
+msgid "Time remaining (estimated):"
msgstr "Temps total (estimé):"
-#: x264_gtk_more.c:282
+#: x264_gtk_more.c:290
msgid "Trellis"
msgstr "Treillis"
-#: x264_gtk_more.c:276
+#: x264_gtk_more.c:284
msgid "Trellis - description"
msgstr ""
msgid "Video buffer verifier"
msgstr ""
-#: x264_gtk_encode_status_window.c:67
+#: x264_gtk_encode_status_window.c:68
msgid "Video data:"
msgstr "Données vidéo:"
-#: x264_gtk_encode_status_window.c:78
+#: x264_gtk_encode_status_window.c:80
msgid "Video rendering rate:"
msgstr "Vitesse de codage vidéo:"
-#: x264_gtk_more.c:406
+#: x264_gtk_more.c:414
msgid "Warning"
msgstr "Avertissements"
msgid "Width:"
msgstr "Largeur:"
-#: x264_gtk.c:340
+#: x264_gtk.c:342
#, c-format
msgid "Writing configuration to %s\n"
msgstr "Ecriture de la configuration dans %s\n"
-#: x264_gtk.c:210
+#: x264_gtk.c:212
msgid "X264 Configuration"
msgstr "Configuration de X264"
msgid "need to increase buffer size (size=%d)\n"
msgstr "doit accroître la taille de mémoire tampon (taille=%d)\n"
-#: x264_gtk.c:793
+#: x264_gtk.c:801
msgid "problem...\n"
msgstr "Problème...\n"
-#: x264_gtk.c:165
+#: x264_gtk.c:167
#, c-format
msgid "x264.cfg: %s\n"
msgstr ""
#include <gtk/gtk.h>
-# define DECLARE_ALIGNED( type, var, n ) type var __attribute__((aligned(n)))
+#define DECLARE_ALIGNED( type, var, n ) type var __attribute__((aligned(n)))
+
#include "../x264.h"
#include "../common/common.h"
param->i_frame_reference = x264_gtk->max_ref_frames;
param->analyse.b_mixed_references = x264_gtk->mixed_refs;
param->analyse.b_fast_pskip = x264_gtk->fast_pskip;
+ param->analyse.b_dct_decimate = x264_gtk->dct_decimate;
+ /* rdo : RD based mode decision for B-frames. Requires subme 6 */
param->vui.i_sar_width = x264_gtk->sample_ar_x;
param->vui.i_sar_height = x264_gtk->sample_ar_y;
gtk_widget_set_sensitive (config->bitrate.statsfile_name, FALSE);
/* rate control */
- g_snprintf (buf, 64, "%d", round((param.rc.f_ip_factor - 1) * 100));
+ g_snprintf (buf, 64, "%d", round((param.rc.f_ip_factor - 1.0) * 100));
gtk_entry_set_text (GTK_ENTRY (config->rate_control.bitrate.keyframe_boost), buf);
- g_snprintf (buf, 64, "%d", round((param.rc.f_pb_factor - 1) * 100));
+ g_snprintf (buf, 64, "%d", round((param.rc.f_pb_factor - 1.0) * 100));
gtk_entry_set_text (GTK_ENTRY (config->rate_control.bitrate.bframes_reduction), buf);
g_snprintf (buf, 64, "%d", (gint)(param.rc.f_qcompress * 100));
gtk_entry_set_text (GTK_ENTRY (config->rate_control.bitrate.bitrate_variability), buf);
g_snprintf (buf, 64, "%d", param.i_frame_reference);
gtk_entry_set_text (GTK_ENTRY (config->more.motion_estimation.max_ref_frames), buf);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->more.motion_estimation.fast_pskip), param.analyse.b_fast_pskip);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->more.motion_estimation.dct_decimate), param.analyse.b_dct_decimate);
g_snprintf (buf, 64, "%d", param.vui.i_sar_width);
gtk_entry_set_text (GTK_ENTRY (config->more.misc.sample_ar_x), buf);
memcpy (x264_gtk->statsfile_name, text, strlen (text) + 1);
/* rate control */
- x264_gtk->keyframe_boost = round((param.rc.f_ip_factor - 1) * 100);
- x264_gtk->bframes_reduction = round((param.rc.f_pb_factor - 1) * 100);
+ x264_gtk->keyframe_boost = round((param.rc.f_ip_factor - 1.0) * 100);
+ x264_gtk->bframes_reduction = round((param.rc.f_pb_factor - 1.0) * 100);
x264_gtk->bitrate_variability = round(param.rc.f_qcompress * 100);
x264_gtk->min_qp = param.rc.i_qp_min;
x264_gtk->max_ref_frames = param.i_frame_reference;
x264_gtk->mixed_refs = param.analyse.b_mixed_references;
x264_gtk->fast_pskip = param.analyse.b_fast_pskip;
+ x264_gtk->dct_decimate = param.analyse.b_dct_decimate;
x264_gtk->sample_ar_x = param.vui.i_sar_width;
x264_gtk->sample_ar_y = param.vui.i_sar_height;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->more.motion_estimation.fast_pskip), TRUE);
else
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->more.motion_estimation.fast_pskip), FALSE);
+ if (x264_gtk->dct_decimate)
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->more.motion_estimation.dct_decimate), TRUE);
+ else
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->more.motion_estimation.dct_decimate), FALSE);
g_snprintf (buf, 5, "%d", x264_gtk->sample_ar_x);
gtk_entry_set_text (GTK_ENTRY (config->more.misc.sample_ar_x), buf);
x264_gtk->fast_pskip = 1;
else
x264_gtk->fast_pskip = 0;
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gconfig->more.motion_estimation.dct_decimate)))
+ x264_gtk->dct_decimate = 1;
+ else
+ x264_gtk->dct_decimate = 0;
text = gtk_entry_get_text (GTK_ENTRY (gconfig->more.misc.sample_ar_x));
guint chroma_me : 1;
guint mixed_refs : 1;
guint fast_pskip : 1;
+ guint dct_decimate : 1;
/* more - misc */
guint cabac : 1;
/* more - misc - df */
gtk_widget_show (label);
thread_data->current_video_frame = gtk_entry_new ();
+ gtk_editable_set_editable (GTK_EDITABLE (thread_data->current_video_frame), FALSE);
gtk_table_attach_defaults (GTK_TABLE (table),
thread_data->current_video_frame,
1, 2, 0, 1);
thread_data->video_data = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (thread_data->video_data), _("0KB"));
+ gtk_editable_set_editable (GTK_EDITABLE (thread_data->video_data), FALSE);
gtk_table_attach_defaults (GTK_TABLE (table), thread_data->video_data,
1, 2, 1, 2);
gtk_widget_show (thread_data->video_data);
gtk_widget_show (label);
thread_data->video_rendering_rate = gtk_entry_new ();
+ gtk_editable_set_editable (GTK_EDITABLE (thread_data->video_rendering_rate), FALSE);
gtk_table_attach_defaults (GTK_TABLE (table),
thread_data->video_rendering_rate,
1, 2, 2, 3);
gtk_widget_show (label);
thread_data->time_elapsed = gtk_entry_new ();
+ gtk_editable_set_editable (GTK_EDITABLE (thread_data->time_elapsed), FALSE);
gtk_table_attach_defaults (GTK_TABLE (table), thread_data->time_elapsed,
1, 2, 3, 4);
gtk_widget_show (thread_data->time_elapsed);
- label = gtk_label_new (_("Total time (estimated):"));
+ label = gtk_label_new (_("Time remaining (estimated):"));
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 4, 5);
gtk_widget_show (label);
thread_data->time_remaining = gtk_entry_new ();
+ gtk_editable_set_editable (GTK_EDITABLE (thread_data->time_remaining), FALSE);
gtk_table_attach_defaults (GTK_TABLE (table), thread_data->time_remaining,
1, 2, 4, 5);
gtk_widget_show (thread_data->time_remaining);
0, 1, 4, 5);
gtk_widget_show (config->more.motion_estimation.fast_pskip);
+ config->more.motion_estimation.dct_decimate = gtk_check_button_new_with_label (_("DCT decimate"));
+ gtk_tooltips_set_tip (tooltips, config->more.motion_estimation.dct_decimate,
+ _("DCT decimate - description"),
+ "");
+ gtk_table_attach_defaults (GTK_TABLE (table), config->more.motion_estimation.dct_decimate,
+ 1, 2, 4, 5);
+ gtk_widget_show (config->more.motion_estimation.dct_decimate);
+
/* Misc. Options */
frame = gtk_frame_new (_("Misc. Options"));
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 6);
GtkWidget *max_ref_frames;
GtkWidget *mixed_refs;
GtkWidget *fast_pskip;
+ GtkWidget *dct_decimate;
}motion_estimation;
/* Misc. Options */