gimp-gap r822 - in trunk: . extern_libs vid_common vid_enc_ffmpeg



Author: wolfgangh
Date: Sun Mar 15 09:43:33 2009
New Revision: 822
URL: http://svn.gnome.org/viewvc/gimp-gap?rev=822&view=rev

Log:
updated GIMP-GAP to use formal release of ffmpeg-0.5)

Modified:
   trunk/ChangeLog
   trunk/configure.in
   trunk/extern_libs/README_extern_libs
   trunk/extern_libs/ffmpeg.tar.gz
   trunk/vid_common/gap_cme_gui.c
   trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_callbacks.c
   trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_gui.c
   trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_main.c
   trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_par.c

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Sun Mar 15 09:43:33 2009
@@ -297,20 +297,37 @@
   if test "x$enable_libavformat" != "xno"; then
     dnl
 
-    dnl check if old version off ffmpeg is already there 
-    dnl (typically for already existing svn build after 1st svn update to new version)
+    dnl check if old ffmpeg version(s) that were once part of GIMP-GAP are still there .
+    dnl typically for SVN users after an svn update. note that ffmpeg source tree
+    dnl is not under svn control and is derived from the tarball.
 
     FF_FILE_AVCODEC_H="$FFMPEG_DIR/libavcodec/avcodec.h"
+    FF_FILE_AVFORMAT_H="$FFMPEG_DIR/libavformat/avformat.h"
 
+    echo "checking $FF_FILE_AVCODEC_H for old content"
+    
+    ffmpeg_dir_is_old="no"
     if test -f "$FF_FILE_AVCODEC_H"; then
       if  grep '#define LIBAVCODEC_VERSION      51.47.2' $FF_FILE_AVCODEC_H >/dev/null; then
+        ffmpeg_dir_is_old="yes"
+      fi
+    fi
+    echo "checking files $FF_FILE_AVFORMAT_H for old content"
+    if test -f "$FF_FILE_AVFORMAT_H"; then
+      if  grep 'avformat_alloc_context' $FF_FILE_AVFORMAT_H >/dev/null; then
+        echo "checking ffmpeg/libavformat/avformat.h supports avformat_alloc_context (OK)"
+      else
+        ffmpeg_dir_is_old="yes"
+      fi
+    fi
+    
+    if eval "test x$ffmpeg_dir_is_old = xyes"; then
         mv "$FFMPEG_DIR" "$FFMPEG_DIR-OLD"
         echo "** UPDATE of ffmpeg forced, moving $FFMPEG_DIR  to $FFMPEG_DIR-OLD"
         moved_old_ffmpeg_warn="
 INFORMATION: old ffmpeg was moved to $FFMPEG_DIR-OLD
 (you may delete the old ffmpeg directory)
 "
-      fi
     fi
 
     AC_DEFINE(ENABLE_GVA_LIBAVFORMAT, 1,

Modified: trunk/extern_libs/README_extern_libs
==============================================================================
--- trunk/extern_libs/README_extern_libs	(original)
+++ trunk/extern_libs/README_extern_libs	Sun Mar 15 09:43:33 2009
@@ -3,9 +3,8 @@
 
 CURRENT FFMPEG version is:
 
-- ffmpeg-export-snapshot.2009.01.31.tar.bz2
+- ffmpeg-0.5.tar.bz2
 
-       
 CURRENT LIBMPEG3 version is:
        
 - libmpeg3-1.8
@@ -43,11 +42,11 @@
   A succsessful build is no guarantee that GIMP-GAP
   will work with a new ffmpeg version.
   Typically it requires much testing and some knowledge
-  of bothe GIMP-GAP and ffmpeg internals to get new ffmpeg versions
+  of both GIMP-GAP and ffmpeg internals to get new ffmpeg versions
   working. 
   
-  Therefore i decided to include an ffmpeg  SVN snaphot
-  that was tested with GIMP-GAP during Jan/Feb 2009
+  Therefore i decided to include the snapshot of the ffmpeg sourcetree.
+  that was tested with GIMP-GAP during Mar. 2009
 
   newer ffmpeg SVN snapshots
   may or may not compile, link and run with this GIMP-GAP release.
@@ -64,33 +63,22 @@
    <GIMP-GAP-sourcedir>/extern_libs/ffmpeg
 
 NOTE: Older ffmpeg versions that once worked with older GIMP-GAP
-releases definitly will NOT compile / work with this GIMP-GAP release.
-
-GIMP-GAP has dropped support for the follwing old ffmpeg versions: 
-
-   ==> BUG_003: Fails to detect DTS tmecode on some .VOB files
-                no native seek possible
-                (test with old gimp-gap and ffmpeg-export-snapshot-2008.01.13
-                shows the same problem !!)
-   ==> BUG_002: BREAKS video index compatibility based un url_ftell/url_fseek operations.
-                (test with old gimp-gap and ffmpeg-export-snapshot-2008.01.13
-                shows the same problem !!)
-   ==> BUG_001: read after seek fails on most MPEG1 videos
-                (test with old gimp-gap and ffmpeg-CVS-2005.04.08
-                shows the same problem !!)
+  releases definitly will NOT compile / work with this GIMP-GAP release.
 
+  GIMP-GAP has dropped support for the follwing old ffmpeg versions: 
 
 
-   ffmpeg-export-snapshot-2008.01.13.tar.bz2  BUG_002
-   ffmpeg-export-snapshot-2007.12.20.tar.bz2  BUG_002  breaks video index compatibility
+   ffmpeg-export-snapshot.2009.01.31.tar.bz2
+   ffmpeg-export-snapshot-2008.01.13.tar.bz2
+   ffmpeg-export-snapshot-2007.12.20.tar.bz2
    ffmpeg-export-snapshot-2007.10.31.tar.bz2
   
        the option --enable-x264 was renamed to --enable-libx264
 
    ffmpeg-export-snapshot-2007.05.15.tar.bz2
-   ffmpeg-export-snapshot-2007.04.20.tar.bz2                  BUG_001
-   ffmpeg-export-snapshot-2007.04.04.tar.bz2 (Revision 8608)  BUG_001
-   ffmpeg-export-snapshot-2007.03.06.tar.bz2                  BUG_001
+   ffmpeg-export-snapshot-2007.04.20.tar.bz2
+   ffmpeg-export-snapshot-2007.04.04.tar.bz2 (Revision 8608)
+   ffmpeg-export-snapshot-2007.03.06.tar.bz2
 
    ffmpeg-CVS-2005.04.08  (Support dropped)
    ffmpeg-CVS-2005.03.02  (Support dropped)

Modified: trunk/extern_libs/ffmpeg.tar.gz
==============================================================================
Binary files. No diff available.

Modified: trunk/vid_common/gap_cme_gui.c
==============================================================================
--- trunk/vid_common/gap_cme_gui.c	(original)
+++ trunk/vid_common/gap_cme_gui.c	Sun Mar 15 09:43:33 2009
@@ -877,13 +877,39 @@
   long        valid_playlist_references;
   int         l_rc;
   gint32      tmsec;        /* audioplaytime in milli secs */
+  gboolean    l_audioname_empty;
 
-  if ((lbl_info == NULL) || (lbl_time == NULL) || (lbl_time0))
+  if(gap_debug)
+  {
+    printf("p_update_aud_info: START lbl_info:%d lbl_time:%d lbl_time0:%d\n"
+       ,(int)lbl_info
+       ,(int)lbl_time
+       ,(int)lbl_time0
+       );
+  }
+
+  if ((lbl_info == NULL) || (lbl_time == NULL) || (lbl_time0 == NULL))
   {
     return 0;
   }
-  if(*audioname == '\0')
+  
+  l_audioname_empty = TRUE;
+  if(audioname != NULL)
+  {
+    if(*audioname != '\0')
+    {
+      l_audioname_empty = FALSE;
+    }
+  }
+  
+  
+  if(l_audioname_empty == TRUE)
   {
+     if(gap_debug)
+     {
+       printf("p_update_aud_info: audioname is null or empty\n");
+     }
+
      p_print_time_label(lbl_time, 0);
      p_print_time_label(lbl_time0, 0);
      return 0;
@@ -898,6 +924,13 @@
   samplerate = 0;
   disp_samplerate = gpp->val.samplerate;
   g_snprintf(txt, sizeof(txt), " ");
+
+  if(gap_debug)
+  {
+    printf("p_update_aud_info: audioname %s\n", audioname);
+  }
+
+
   if(g_file_test(audioname, G_FILE_TEST_EXISTS))
   {
      tmsec = 0;
@@ -914,6 +947,13 @@
 		     , gpp->val.samplerate          /* desired_samplerate */
 		     );
 
+     if(gap_debug)
+     {
+       printf("p_update_aud_info: l_rc:%d all_playlist_references:%d\n"
+         ,(int)l_rc
+         ,(int)all_playlist_references
+         );
+     }
 
      if((l_rc == 0)
      || (all_playlist_references >0))

Modified: trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_callbacks.c
==============================================================================
--- trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_callbacks.c	(original)
+++ trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_callbacks.c	Sun Mar 15 09:43:33 2009
@@ -139,7 +139,10 @@
   GtkAdjustment *adj;
   gint32         value;
 
-  if(gap_debug) printf("CB: on_ff_gint32_spinbutton_changed widget: %d\n", (int)widget);
+  if(gap_debug)
+  {
+    printf("CB: on_ff_gint32_spinbutton_changed widget: %d\n", (int)widget);
+  }
   if((dest_value_ptr == NULL) || (widget == NULL))
   { 
     return; 
@@ -150,7 +153,10 @@
   {
     value = (gint32) gtk_adjustment_get_value(GTK_ADJUSTMENT(adj));
     
-    if(gap_debug) printf("spin value: %d\n", (int)value );
+    if(gap_debug)
+    {
+      printf("spin value: %d\n", (int)value );
+    }
 
     if(value != *dest_value_ptr)
     {
@@ -171,7 +177,10 @@
   GtkAdjustment *adj;
   gdouble        value;
 
-  if(gap_debug) printf("CB: on_ff_gdouble_spinbutton_changed widget: %d\n", (int)widget);
+  if(gap_debug)
+  {
+    printf("CB: on_ff_gdouble_spinbutton_changed widget: %d\n", (int)widget);
+  }
 
   if((dest_value_ptr == NULL) || (widget == NULL))
   { 
@@ -183,7 +192,10 @@
   {
     value = (gdouble) gtk_adjustment_get_value(GTK_ADJUSTMENT(adj));
     
-    if(gap_debug) printf("spin value: %f\n", (float)value );
+    if(gap_debug)
+    {
+      printf("spin value: %f\n", (float)value );
+    }
 
     if(value != *dest_value_ptr)
     {

Modified: trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_gui.c
==============================================================================
--- trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_gui.c	(original)
+++ trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_gui.c	Sun Mar 15 09:43:33 2009
@@ -1264,7 +1264,7 @@
   gimp_help_set_help_data (spinbutton, _("Audio bitrate in kBit/sec"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.audio_bitrate);
 
@@ -1327,7 +1327,7 @@
   gimp_help_set_help_data (spinbutton, _("Video bitrate kBit/sec"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.video_bitrate);
 
@@ -1357,7 +1357,7 @@
   gimp_help_set_help_data (spinbutton, _("Use fixed video quantiser scale (VBR) (0=const bitrate)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.qscale);
 
@@ -1387,7 +1387,7 @@
   gimp_help_set_help_data (spinbutton, _("min video quantiser scale (VBR)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.qmin);
 
@@ -1415,7 +1415,7 @@
   gimp_help_set_help_data (spinbutton, _("max video quantiser scale (VBR)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.qmax);
 
@@ -1444,7 +1444,7 @@
   gimp_help_set_help_data (spinbutton, _("max difference between the quantiser scale (VBR)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.qdiff);
 
@@ -1496,7 +1496,7 @@
   gimp_help_set_help_data (spinbutton, _("Group of picture size"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                     G_CALLBACK (on_ff_gint32_spinbutton_changed),
                     &gpp->evl.gop_size);
 
@@ -1523,7 +1523,7 @@
   gimp_help_set_help_data (spinbutton, _("Max number of B-frames in sequence"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                     G_CALLBACK (on_ff_gint32_spinbutton_changed),
                     &gpp->evl.b_frames);
 
@@ -2920,7 +2920,7 @@
                                          "amount of qscale smoothing over time (0.0-1.0)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.qblur);
 
@@ -2950,7 +2950,7 @@
                                          "amount of qscale change between easy & hard scenes (0.0-1.0)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.qcomp);
 
@@ -2976,7 +2976,7 @@
   gimp_help_set_help_data (spinbutton, _("Initial complexity for 1-pass encoding"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.rc_init_cplx);
 
@@ -3003,7 +3003,7 @@
   gimp_help_set_help_data (spinbutton, _("qp factor between p and b frames"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.b_qfactor);
 
@@ -3029,7 +3029,7 @@
   gimp_help_set_help_data (spinbutton, _("qp factor between p and i frames"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.i_qfactor);
 
@@ -3057,7 +3057,7 @@
   gimp_help_set_help_data (spinbutton, _("qp offset between p and b frames"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.b_qoffset);
 
@@ -3083,7 +3083,7 @@
   gimp_help_set_help_data (spinbutton, _("qp offset between p and i frames"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.i_qoffset);
 
@@ -3110,7 +3110,7 @@
   gimp_help_set_help_data (spinbutton, _("Set video bitrate tolerance (in kbit/s)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.bitrate_tol);
 
@@ -3137,7 +3137,7 @@
   gimp_help_set_help_data (spinbutton, _("Set max video bitrate tolerance (in kbit/s)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.maxrate_tol);
 
@@ -3165,7 +3165,7 @@
   gimp_help_set_help_data (spinbutton, _("Set min video bitrate tolerance (in kbit/s)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.minrate_tol);
 
@@ -3192,7 +3192,7 @@
   gimp_help_set_help_data (spinbutton, _("Set ratecontrol buffer size (in kbyte)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.bufsize);
 
@@ -3219,7 +3219,7 @@
   gimp_help_set_help_data (spinbutton, _("How strictly to follow the standards"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.strict);
 
@@ -3247,7 +3247,7 @@
   gimp_help_set_help_data (spinbutton, _("Min macroblock quantiser scale (VBR)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.mb_qmin);
 
@@ -3274,7 +3274,7 @@
   gimp_help_set_help_data (spinbutton, _("Max macroblock quantiser scale (VBR)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.mb_qmax);
 
@@ -3395,7 +3395,7 @@
   gimp_help_set_help_data (spinbutton, _("Multiplexer rate Bit/sec"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.mux_rate);
 
@@ -3423,7 +3423,7 @@
   gimp_help_set_help_data (spinbutton, _("Multiplexer packet size"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gint32_spinbutton_changed),
                       &gpp->evl.mux_packet_size);
 
@@ -3453,7 +3453,7 @@
   gimp_help_set_help_data (spinbutton, _("Set the initial demux-decode delay (seconds)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.mux_preload);
 
@@ -3482,7 +3482,7 @@
   gimp_help_set_help_data (spinbutton, _("Set the maximum demux-decode delay (seconds)"), NULL);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_ADJ, (gpointer)adj);
   g_object_set_data (G_OBJECT (spinbutton), GAP_ENC_FFGUI_GPP, (gpointer)gpp);
-  g_signal_connect (G_OBJECT (spinbutton), "changed",
+  g_signal_connect (G_OBJECT (spinbutton), "value_changed",
                       G_CALLBACK (on_ff_gdouble_spinbutton_changed),
                       &gpp->evl.mux_max_delay);
 

Modified: trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_main.c
==============================================================================
--- trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_main.c	(original)
+++ trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_main.c	Sun Mar 15 09:43:33 2009
@@ -984,7 +984,7 @@
   static float  tab_b_qoffset[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]         =  {  1.25,      1.25,     1.25,   1.25,       1.25,     1.25,     1.25,     1.25,     1.25 };
   static float  tab_i_qoffset[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]         =  {   0.0,       0.0,      0.0,    0.0,        0.0,      0.0,      0.0,      0.0,      0.0 };
 
-  static gint32 tab_bitrate_tol[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]       =  {  4000,     6000,     2000,    4000,          0,     4000,     2000,     2000,     5000 };
+  static gint32 tab_bitrate_tol[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]       =  {  4000,     6000,     2000,    4000,       1150,     4000,     2000,     2000,     5000 };
   static gint32 tab_maxrate_tol[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]       =  {     0,        0,        0,       0,       1150,        0,     2516,     9000,        0 };
   static gint32 tab_minrate_tol[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]       =  {     0,        0,        0,       0,       1150,        0,        0,        0,        0 };
   static gint32 tab_bufsize[GAP_GVE_FFMPEG_PRESET_MAX_ELEMENTS]           =  {     0,        0,        0,       0,         40,        0,      224,      224,        0 };
@@ -2157,19 +2157,19 @@
 
   if (epp->title[0] != '\0')
   {
-    g_snprintf(ffh->output_context->title, sizeof(ffh->output_context->title), "%s", &epp->title[0]);
+      av_metadata_set(&ffh->output_context->metadata, "title",  &epp->title[0]);
   }
   if (epp->author[0] != '\0')
   {
-    g_snprintf(ffh->output_context->author, sizeof(ffh->output_context->author), "%s", &epp->author[0]);
+      av_metadata_set(&ffh->output_context->metadata, "author",  &epp->author[0]);
   }
   if (epp->copyright[0] != '\0')
   {
-    g_snprintf(ffh->output_context->copyright, sizeof(ffh->output_context->copyright), "%s", &epp->copyright[0]);
+      av_metadata_set(&ffh->output_context->metadata, "copyright",  &epp->copyright[0]);
   }
   if (epp->comment[0] != '\0')
   {
-    g_snprintf(ffh->output_context->comment, sizeof(ffh->output_context->comment), "%s", &epp->comment[0]);
+      av_metadata_set(&ffh->output_context->metadata, "comment",  &epp->comment[0]);
   }
 
 
@@ -2415,7 +2415,7 @@
   }
 
 
-  ffh->output_context = av_alloc_format_context();
+  ffh->output_context = avformat_alloc_context();
   ffh->output_context->oformat = ffh->file_oformat;
   g_snprintf(ffh->output_context->filename, sizeof(ffh->output_context->filename), "%s", &gpp->val.videoname[0]);
 

Modified: trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_par.c
==============================================================================
--- trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_par.c	(original)
+++ trunk/vid_enc_ffmpeg/gap_enc_ffmpeg_par.c	Sun Mar 15 09:43:33 2009
@@ -259,6 +259,63 @@
 
 
 /* --------------------------
+ * p_debug_printf_parameters
+ * --------------------------
+ */
+static void
+p_debug_printf_parameters(GapGveFFMpegValues *epp)
+{
+  printf("format_name  %s\n", epp->format_name);
+  printf("vcodec_name  %s\n", epp->vcodec_name);
+  printf("acodec_name  %s\n", epp->acodec_name);
+  printf("title  %s\n", epp->title);
+  printf("author  %s\n", epp->author);
+  printf("copyright  %s\n", epp->copyright);
+  printf("comment  %s\n", epp->comment);
+  printf("passlogfile  %s\n", epp->passlogfile);
+
+  printf("pass_nr  %d\n", (int)epp->pass_nr);
+  printf("audio_bitrate  %d\n", (int)epp->audio_bitrate);
+  printf("video_bitrate  %d\n", (int)epp->video_bitrate);
+  printf("gop_size  %d\n", (int)epp->gop_size);
+  printf("intra  %d\n", (int)epp->intra);
+  printf("qscale  %f\n", (float)epp->qscale);
+  printf("qmin  %d\n", (int)epp->qmin);
+  printf("qmax  %d\n", (int)epp->qmax);
+  printf("qdiff  %d\n", (int)epp->qdiff);
+  printf("qblur  %f\n", (float)epp->qblur);
+  printf("qcomp  %f\n", (float)epp->qcomp);
+  printf("rc_init_cplx  %f\n", (float)epp->rc_init_cplx);
+  printf("b_qfactor  %f\n", (float)epp->b_qfactor);
+  printf("i_qfactor  %f\n", (float)epp->i_qfactor);
+  printf("b_qoffset  %f\n", (float)epp->b_qoffset);
+  printf("i_qoffset  %f\n", (float)epp->i_qoffset);
+  printf("bitrate_tol  %d\n", (int)epp->bitrate_tol);
+  printf("maxrate_tol  %d\n", (int)epp->maxrate_tol);
+  printf("minrate_tol  %d\n", (int)epp->minrate_tol);
+  printf("bufsize  %d\n", (int)epp->bufsize);
+  printf("motion_estimation  %d\n", (int)epp->motion_estimation);
+  printf("dct_algo  %d\n", (int)epp->dct_algo);
+  printf("idct_algo  %d\n", (int)epp->idct_algo);
+  printf("strict  %d\n", (int)epp->strict);
+  printf("mb_qmin  %d\n", (int)epp->mb_qmin);
+  printf("mb_qmax  %d\n", (int)epp->mb_qmax);
+  printf("mb_decision  %d\n", (int)epp->mb_decision);
+  printf("aic  %d\n", (int)epp->aic);
+  printf("umv  %d\n", (int)epp->umv);
+  printf("b_frames  %d\n", (int)epp->b_frames);
+  printf("mv4  %d\n", (int)epp->mv4);
+  printf("partitioning  %d\n", (int)epp->partitioning);
+  printf("packet_size  %d\n", (int)epp->packet_size);
+  printf("bitexact  %d\n", (int)epp->bitexact);
+  printf("set_aspect_ratio  %d\n", (int)epp->set_aspect_ratio);
+  printf("dont_recode_flag  %d\n", (int)epp->dont_recode_flag);
+  printf("factor_aspect_ratio  %f\n", (float)epp->factor_aspect_ratio);
+
+}  /* end  p_debug_printf_parameters */
+
+
+/* --------------------------
  * gap_ffpar_get
  * --------------------------
  * get parameters from ffmpeg videoencoder parameter file.
@@ -297,52 +354,7 @@
   if(gap_debug)
   {
     printf("gap_ffpar_get: params loaded: epp:%d\n", (int)epp);
-    printf("format_name  %s\n", epp->format_name);
-    printf("vcodec_name  %s\n", epp->vcodec_name);
-    printf("acodec_name  %s\n", epp->acodec_name);
-    printf("title  %s\n", epp->title);
-    printf("author  %s\n", epp->author);
-    printf("copyright  %s\n", epp->copyright);
-    printf("comment  %s\n", epp->comment);
-    printf("passlogfile  %s\n", epp->passlogfile);
-
-    printf("pass_nr  %d\n", (int)epp->pass_nr);
-    printf("audio_bitrate  %d\n", (int)epp->audio_bitrate);
-    printf("video_bitrate  %d\n", (int)epp->video_bitrate);
-    printf("gop_size  %d\n", (int)epp->gop_size);
-    printf("intra  %d\n", (int)epp->intra);
-    printf("qscale  %f\n", (float)epp->qscale);
-    printf("qmin  %d\n", (int)epp->qmin);
-    printf("qmax  %d\n", (int)epp->qmax);
-    printf("qdiff  %d\n", (int)epp->qdiff);
-    printf("qblur  %f\n", (float)epp->qblur);
-    printf("qcomp  %f\n", (float)epp->qcomp);
-    printf("rc_init_cplx  %f\n", (float)epp->rc_init_cplx);
-    printf("b_qfactor  %f\n", (float)epp->b_qfactor);
-    printf("i_qfactor  %f\n", (float)epp->i_qfactor);
-    printf("b_qoffset  %f\n", (float)epp->b_qoffset);
-    printf("i_qoffset  %f\n", (float)epp->i_qoffset);
-    printf("bitrate_tol  %d\n", (int)epp->bitrate_tol);
-    printf("maxrate_tol  %d\n", (int)epp->maxrate_tol);
-    printf("minrate_tol  %d\n", (int)epp->minrate_tol);
-    printf("bufsize  %d\n", (int)epp->bufsize);
-    printf("motion_estimation  %d\n", (int)epp->motion_estimation);
-    printf("dct_algo  %d\n", (int)epp->dct_algo);
-    printf("idct_algo  %d\n", (int)epp->idct_algo);
-    printf("strict  %d\n", (int)epp->strict);
-    printf("mb_qmin  %d\n", (int)epp->mb_qmin);
-    printf("mb_qmax  %d\n", (int)epp->mb_qmax);
-    printf("mb_decision  %d\n", (int)epp->mb_decision);
-    printf("aic  %d\n", (int)epp->aic);
-    printf("umv  %d\n", (int)epp->umv);
-    printf("b_frames  %d\n", (int)epp->b_frames);
-    printf("mv4  %d\n", (int)epp->mv4);
-    printf("partitioning  %d\n", (int)epp->partitioning);
-    printf("packet_size  %d\n", (int)epp->packet_size);
-    printf("bitexact  %d\n", (int)epp->bitexact);
-    printf("set_aspect_ratio  %d\n", (int)epp->set_aspect_ratio);
-    printf("dont_recode_flag  %d\n", (int)epp->dont_recode_flag);
-    printf("factor_aspect_ratio  %f\n", (float)epp->factor_aspect_ratio);
+    p_debug_printf_parameters(epp);
   }
 }  /* end gap_ffpar_get */
 
@@ -365,6 +377,12 @@
   }
   keylist = gap_val_new_keylist();
 
+  if(gap_debug)
+  {
+    printf("gap_ffpar_set: now saving parameters: epp:%d to file:%s\n", (int)epp, filename);
+    p_debug_printf_parameters(epp);
+  }
+
   p_set_master_keywords(keylist, epp);
   l_rc = gap_val_rewrite_file(keylist
                           ,filename



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]