shithub: libvpx

Download patch

ref: fa3e530bcac03bf5dfc4aea381336a50eea23f23
parent: 4a6ac727fed7684c7bd8c2cd06e4e98d77c412cd
author: John Koleszar <jkoleszar@google.com>
date: Thu Sep 22 09:24:33 EDT 2011

vpxenc: get version string programatically

To avoid a dependency on vpx_version.h, call the vpx_codec_version_str()
function and build up the string manually.

Change-Id: Ie650e9b8f2aaaffaa31da5e9ef3b566b972321b4

--- a/vpxenc.c
+++ b/vpxenc.c
@@ -32,7 +32,6 @@
 #include <fcntl.h>
 #include <unistd.h>
 #endif
-#include "vpx_version.h"
 #include "vpx/vp8cx.h"
 #include "vpx_ports/mem_ops.h"
 #include "vpx_ports/vpx_timer.h"
@@ -624,7 +623,19 @@
         //segment info
         EbmlLoc startInfo;
         uint64_t frame_time;
+        char version_string[64];
 
+        /* Assemble version string */
+        if(ebml->debug)
+            strcpy(version_string, "vpxenc");
+        else
+        {
+            strcpy(version_string, "vpxenc ");
+            strncat(version_string,
+                    vpx_codec_version_str(),
+                    sizeof(version_string) - 1 - strlen(version_string));
+        }
+
         frame_time = (uint64_t)1000 * ebml->framerate.den
                      / ebml->framerate.num;
         ebml->segment_info_pos = ftello(ebml->stream);
@@ -632,10 +643,8 @@
         Ebml_SerializeUnsigned(ebml, TimecodeScale, 1000000);
         Ebml_SerializeFloat(ebml, Segment_Duration,
                             ebml->last_pts_ms + frame_time);
-        Ebml_SerializeString(ebml, 0x4D80,
-            ebml->debug ? "vpxenc" : "vpxenc" VERSION_STRING);
-        Ebml_SerializeString(ebml, 0x5741,
-            ebml->debug ? "vpxenc" : "vpxenc" VERSION_STRING);
+        Ebml_SerializeString(ebml, 0x4D80, version_string);
+        Ebml_SerializeString(ebml, 0x5741, version_string);
         Ebml_EndSubElement(ebml, &startInfo);
     }
 }
--