Revert "Tidy up and increase exception handling in compare_videos"

This reverts commit 1c60ff521eda26c80fa53097d9c614f10200f651.

Reason for revert: Breaks downstream tests:
non-test target compare_videos depends on testonly target frame_analyzer

Original change's description:
> Tidy up and increase exception handling in compare_videos
> 
> Bug: webrtc:9642
> Change-Id: I5c8b252de3b285f81a5437af99d789b5a28ce646
> Reviewed-on: https://webrtc-review.googlesource.com/102880
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24909}

TBR=phoglund@webrtc.org,sakal@webrtc.org,phensman@webrtc.org

Change-Id: I69c94248faf7d448b871b91548336ff681e4d139
No-Try: true
Bug: webrtc:9642
Reviewed-on: https://webrtc-review.googlesource.com/102921
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24911}
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 48213ad..990d964 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -108,7 +108,6 @@
 
 rtc_executable("frame_analyzer") {
   visibility = [ "*" ]
-  testonly = true
   sources = [
     "frame_analyzer/frame_analyzer.cc",
   ]
@@ -119,7 +118,6 @@
     ":video_file_writer",
     ":video_quality_analysis",
     "../rtc_base:stringutils",
-    "../test:fileutils",
     "../test:perf_test",
   ]
 }
diff --git a/rtc_tools/compare_videos.py b/rtc_tools/compare_videos.py
index 7979043..ac41ef8 100755
--- a/rtc_tools/compare_videos.py
+++ b/rtc_tools/compare_videos.py
@@ -136,7 +136,7 @@
   return 0
 
 
-def _RunFrameAnalyzer(options, yuv_directory=None):
+def _RunFrameAnalyzer(options):
   """Run frame analyzer to compare the videos and print output."""
   cmd = [
     options.frame_analyzer,
@@ -152,17 +152,15 @@
     cmd.append('--chartjson_result_file=%s' % options.chartjson_result_file)
   if options.aligned_output_file:
     cmd.append('--aligned_output_file=%s' % options.aligned_output_file)
-  if yuv_directory:
-    cmd.append('--yuv_directory=%s' % yuv_directory)
+  if options.yuv_directory:
+    cmd.append('--yuv_directory=%s' % options.yuv_directory)
   frame_analyzer = subprocess.Popen(cmd, stdin=_DevNull(),
                                     stdout=sys.stdout, stderr=sys.stderr)
   frame_analyzer.wait()
-  if frame_analyzer.returncode != 0:
-    print 'Failed to run frame analyzer.'
   return frame_analyzer.returncode
 
 
-def _RunVmaf(options, yuv_directory):
+def _RunVmaf(options):
   """ Run VMAF to compare videos and print output.
 
   The provided vmaf directory is assumed to contain a c++ wrapper executable
@@ -176,28 +174,22 @@
     'yuv420p',
     str(options.yuv_frame_width),
     str(options.yuv_frame_height),
-    os.path.join(yuv_directory, "ref.yuv"),
-    os.path.join(yuv_directory, "test.yuv"),
+    os.path.join(options.yuv_directory, "ref.yuv"),
+    os.path.join(options.yuv_directory, "test.yuv"),
     options.vmaf_model,
   ]
   if options.vmaf_phone_model:
     cmd.append('--phone-model')
 
   vmaf = subprocess.Popen(cmd, stdin=_DevNull(),
-                          stdout=subprocess.PIPE, stderr=sys.stderr)
+                                  stdout=subprocess.PIPE, stderr=sys.stderr)
   vmaf.wait()
   if vmaf.returncode != 0:
     print 'Failed to run VMAF.'
     return 1
   output = vmaf.stdout.read()
   # Extract score from VMAF output.
-  try:
-    score = float(output.split('\n')[2].split()[3])
-  except (ValueError, IndexError):
-    print 'Error in VMAF output (expected "VMAF score = [float]" on line 3):'
-    print output
-    return 1
-
+  score = float(output.split('\n')[2].split()[3])
   print 'RESULT Vmaf: %s= %f' % (options.label, score)
   return 0
 
@@ -234,21 +226,25 @@
                            options.test_video, options.stats_file_test) != 0:
     return 1
 
-  if options.vmaf:
-    try:
-      # Directory to save temporary YUV files for VMAF in frame_analyzer.
-      yuv_directory = tempfile.mkdtemp()
+  try:
+    # Create a directory to save temporary YUV files for VMAF in frame_analyzer.
+    options.yuv_directory = None
+    if options.vmaf:
+      options.yuv_directory = tempfile.mkdtemp() + '/'
 
-      # Run frame analyzer to compare the videos and print output.
-      if _RunFrameAnalyzer(options, yuv_directory=yuv_directory) != 0:
-        return 1
+    # Run frame_analyzer to compare the videos and print output.
+    if _RunFrameAnalyzer(options) != 0:
+      print 'Failed to run frame analyzer.'
+      return 1
 
-      # Run VMAF for further video comparison and print output.
-      return _RunVmaf(options, yuv_directory)
-    finally:
-      shutil.rmtree(yuv_directory)
-  else:
-    return _RunFrameAnalyzer(options)
+    # Run VMAF for further video comparison and print output.
+    if options.vmaf:
+      return _RunVmaf(options)
+
+  finally:
+    if options.yuv_directory:
+      shutil.rmtree(options.yuv_directory)
+
 
   return 0
 
diff --git a/rtc_tools/frame_analyzer/frame_analyzer.cc b/rtc_tools/frame_analyzer/frame_analyzer.cc
index 78c1929..56dc1f4 100644
--- a/rtc_tools/frame_analyzer/frame_analyzer.cc
+++ b/rtc_tools/frame_analyzer/frame_analyzer.cc
@@ -21,7 +21,6 @@
 #include "rtc_tools/simple_command_line_parser.h"
 #include "rtc_tools/video_file_reader.h"
 #include "rtc_tools/video_file_writer.h"
-#include "test/testsupport/fileutils.h"
 #include "test/testsupport/perf_test.h"
 
 /*
@@ -148,12 +147,10 @@
   }
   std::string yuv_directory = parser.GetFlag("yuv_directory");
   if (!yuv_directory.empty()) {
-    webrtc::test::WriteVideoToFile(
-        reordered_video, webrtc::test::JoinFilename(yuv_directory, "ref.yuv"),
-        /*fps=*/30);
-    webrtc::test::WriteVideoToFile(
-        test_video, webrtc::test::JoinFilename(yuv_directory, "test.yuv"),
-        /*fps=*/30);
+    webrtc::test::WriteVideoToFile(reordered_video, yuv_directory + "ref.yuv",
+                                   /*fps=*/30);
+    webrtc::test::WriteVideoToFile(test_video, yuv_directory + "test.yuv",
+                                   /*fps=*/30);
   }
 
   return 0;