Index: mythtv/libs/libmythtv/avformatdecoder.cpp
===================================================================
--- mythtv/libs/libmythtv/avformatdecoder.cpp	(revision 24221)
+++ mythtv/libs/libmythtv/avformatdecoder.cpp	(working copy)
@@ -109,6 +109,8 @@
     if (VERBOSE_LEVEL_NONE)
         return;
 
+    static QString prev_line("");
+    static int count = 0;
     static QString full_line("");
     static const int msg_len = 255;
     static QMutex string_lock;
@@ -157,8 +159,25 @@
     full_line += QString(str);
     if (full_line.endsWith("\n"))
     {
-        full_line.truncate(full_line.length() - 1);
-        VERBOSE(verbose_level, full_line);
+        if (full_line == prev_line)
+            ++count;
+        else
+        {
+            if (count > 0)
+            {
+                // Assume level same for repeated messages
+                snprintf(str, msg_len,
+			"    Last message repeated %d times", count);
+                VERBOSE(verbose_level, str);
+                count = 0;
+            }
+
+            prev_line = full_line;
+
+            full_line.truncate(full_line.length() - 1);
+            VERBOSE(verbose_level, full_line);
+        }
+
         full_line.truncate(0);
     }
     string_lock.unlock();
Index: mythtv/programs/mythtranscode/mpeg2fix.cpp
===================================================================
--- mythtv/programs/mythtranscode/mpeg2fix.cpp	(revision 24221)
+++ mythtv/programs/mythtranscode/mpeg2fix.cpp	(working copy)
@@ -58,10 +58,13 @@
 
 void my_av_print(void *ptr, int level, const char* fmt, va_list vl)
 {
+    static QString prev_line("");
+    static int count = 0;
     (void) ptr;
 
     static QString full_line("");
-    char str[256];
+    static const int msg_len = 255;
+    char str[msg_len + 1];
 
     if (level > AV_LOG_INFO)
         return;
@@ -70,9 +73,26 @@
     full_line += QString(str);
     if (full_line.endsWith("\n"))
     {
-        full_line.truncate(full_line.length() - 1);
-        VERBOSE(MPF_IMPORTANT, full_line);
-        full_line = QString("");
+        if (full_line == prev_line)
+            ++count;
+        else
+        {
+            if (count > 0)
+            {
+                // Assume level same for repeated messages
+                snprintf(str, msg_len,
+			"    Last message repeated %d times", count);
+                VERBOSE(MPF_IMPORTANT, str);
+                count = 0;
+            }
+
+            prev_line = full_line;
+
+            full_line.truncate(full_line.length() - 1);
+            VERBOSE(MPF_IMPORTANT, full_line);
+        }
+
+        full_line.truncate(0);
     }
 }
 

