From 741add08cf25e263d3a5733bebc0893a24c9c05c Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Tue, 12 Nov 2013 13:46:53 +0100
Subject: [PATCH] Fix most tests with videos

---
 xbob/io/script/video_test.py     | 40 +++++++++++++++++++++++---------
 xbob/io/test/test_video_codec.py |  1 -
 xbob/io/utils.py                 |  2 +-
 3 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/xbob/io/script/video_test.py b/xbob/io/script/video_test.py
index f5a9e56..b2f1008 100644
--- a/xbob/io/script/video_test.py
+++ b/xbob/io/script/video_test.py
@@ -23,17 +23,16 @@ import argparse
 import numpy
 
 # internal
-from .. import supported_video_codecs, available_video_codecs, supported_videowriter_formats, available_videowriter_formats
 from .. import utils, create_directories_save
-from ... import version
 from .. import save as save_to_file
-from ...test import utils as test_utils
-from .. import test as io_test
-
-CODECS = supported_video_codecs()
-ALL_CODECS = available_video_codecs()
+from ..test import utils as test_utils
 
 def list_codecs(*args, **kwargs):
+
+  from .._externals import supported_video_codecs, available_video_codecs
+  CODECS = supported_video_codecs()
+  ALL_CODECS = available_video_codecs()
+
   retval = """\
   Supported Codecs:
   -----------------\n"""
@@ -44,6 +43,10 @@ def list_codecs(*args, **kwargs):
   return retval[:-1]
 
 def list_all_codecs(*args, **kwargs):
+
+  CODECS = supported_video_codecs()
+  ALL_CODECS = available_video_codecs()
+
   retval = """\
   Available Codecs:
   -----------------\n"""
@@ -53,11 +56,12 @@ def list_all_codecs(*args, **kwargs):
 
   return retval[:-1]
 
-FORMATS = supported_videowriter_formats()
-ALL_FORMATS = available_videowriter_formats()
-
 def list_formats(*args, **kwargs):
 
+  from .._externals import supported_videowriter_formats, available_videowriter_formats
+  FORMATS = supported_videowriter_formats()
+  ALL_FORMATS = available_videowriter_formats()
+
   retval = """\
   Supported Formats:
   ------------------\n"""
@@ -69,6 +73,10 @@ def list_formats(*args, **kwargs):
 
 def list_all_formats(*args, **kwargs):
 
+  from .._externals import supported_videowriter_formats, available_videowriter_formats
+  FORMATS = supported_videowriter_formats()
+  ALL_FORMATS = available_videowriter_formats()
+
   retval = """\
   Available Formats:
   ------------------\n"""
@@ -258,11 +266,15 @@ def detail(function, shape, framerate, format, codec, outdir):
 
 def main(user_input=None):
 
+  from .._library import __version__
+  from .._externals import supported_video_codecs, available_video_codecs, supported_videowriter_formats, available_videowriter_formats
+  from .. import test as io_test
+
   parser = argparse.ArgumentParser(description=__doc__, epilog=__epilog__,
       formatter_class=argparse.RawDescriptionHelpFormatter)
 
   name = os.path.basename(os.path.splitext(sys.argv[0])[0])
-  version_info = 'Video Encoding/Decoding Test Tool v%s (%s)' % (version, name)
+  version_info = 'Video Encoding/Decoding Test Tool v%s (%s)' % (__version__, name)
   parser.add_argument('-V', '--version', action='version', version=version_info)
 
   test_choices = [
@@ -275,6 +287,9 @@ def main(user_input=None):
   parser.add_argument("test", metavar='TEST', type=str, nargs='*',
       default=test_choices, help="The name of the test or tests you want to run. Choose between `%s'. If none given, run through all." % ('|'.join(test_choices)))
 
+  CODECS = supported_video_codecs()
+  ALL_CODECS = available_video_codecs()
+
   supported_codecs = sorted(CODECS.keys())
   available_codecs = sorted(ALL_CODECS.keys())
 
@@ -285,6 +300,9 @@ def main(user_input=None):
   parser.add_argument("--list-all-codecs", action="store_true", default=False,
       help="List all available codecs and exits")
 
+  FORMATS = supported_videowriter_formats()
+  ALL_FORMATS = available_videowriter_formats()
+
   supported_formats = sorted(FORMATS.keys())
   available_formats = sorted(ALL_FORMATS.keys())
   parser.add_argument("-f", "--format", metavar='FORMAT', type=str, nargs='*',
diff --git a/xbob/io/test/test_video_codec.py b/xbob/io/test/test_video_codec.py
index 6578c57..116b9de 100644
--- a/xbob/io/test/test_video_codec.py
+++ b/xbob/io/test/test_video_codec.py
@@ -148,7 +148,6 @@ def check_user_video(format, codec, maxdist):
 
     if os.path.exists(fname): os.unlink(fname)
 
-@nose.tools.nottest
 def test_user_video():
 
   # distortion patterns for specific codecs
diff --git a/xbob/io/utils.py b/xbob/io/utils.py
index 9e3d67b..09fc461 100644
--- a/xbob/io/utils.py
+++ b/xbob/io/utils.py
@@ -61,7 +61,7 @@ def print_numbers(frame, counter, format, fontsize):
   img = Image.fromstring('RGB', (frame.shape[1], frame.shape[2]), frame.transpose(1,2,0).tostring())
   draw = ImageDraw.Draw(img)
   draw.text((x_pos, y_pos), text, font=font, fill=(255,255,255))
-  return numpy.asarray(img).transpose(2,0,1)
+  return numpy.asarray(img).transpose(2,0,1).copy()
 
 def generate_colors(height, width, shift):
   """Generates an image that serves as a test pattern for encoding/decoding and
-- 
GitLab