diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 828849a3271bd2f4f3ad612ebf6cf7b874761235..e458193142df04475e7f495f1011c3891171c07b 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -328,6 +328,7 @@ set(viewer_SOURCE_FILES
     llfloaterimsessiontab.cpp
     llfloaterimsession.cpp
     llfloaterimcontainer.cpp
+    llimagefiltersmanager.cpp
     llimhandler.cpp
     llimview.cpp
     llinspect.cpp
@@ -919,6 +920,7 @@ set(viewer_HEADER_FILES
     llfloaterimsessiontab.h
     llfloaterimsession.h
     llfloaterimcontainer.h
+    llimagefiltersmanager.h
     llimview.h
     llinspect.h
     llinspectavatar.h
diff --git a/indra/newview/app_settings/filters/Hefe.xml b/indra/newview/app_settings/filters/Grayscale.xml
similarity index 72%
rename from indra/newview/app_settings/filters/Hefe.xml
rename to indra/newview/app_settings/filters/Grayscale.xml
index 527aaee847f8af2fc8cbf8426ca6e72e2d0f055e..101ed8233ab550e0809be18fedf9b55ebcbe108b 100755
--- a/indra/newview/app_settings/filters/Hefe.xml
+++ b/indra/newview/app_settings/filters/Grayscale.xml
@@ -2,22 +2,20 @@
     <array>
         <array>
             <string>linearize</string>
-            <real>0.0</real>
+            <real>0.01</real>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
         </array>
-        <array>
-            <string>blend</string>
-            <real>4.0</real>
-            <real>0.5</real>
-        </array>
         <array>
             <string>contrast</string>
-            <real>2.0</real>
+            <real>0.8</real>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
         </array>
+        <array>
+            <string>grayscale</string>
+        </array>
     </array>
 </llsd>
diff --git a/indra/newview/app_settings/filters/Lomofi.xml b/indra/newview/app_settings/filters/GreenGray.xml
similarity index 66%
rename from indra/newview/app_settings/filters/Lomofi.xml
rename to indra/newview/app_settings/filters/GreenGray.xml
index f5ec911e5935d78801de0c822423541f23d28774..dce5ab3e9e81b99bfc58d2c38570a0892c04246e 100755
--- a/indra/newview/app_settings/filters/Lomofi.xml
+++ b/indra/newview/app_settings/filters/GreenGray.xml
@@ -1,23 +1,24 @@
 <llsd>
     <array>
-        <array>
-            <string>blend</string>
-            <real>4.0</real>
-            <real>0.0</real>
-        </array>
         <array>
             <string>linearize</string>
-            <real>0.2</real>
+            <real>0.1</real>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
         </array>
         <array>
-            <string>brighten</string>
-            <real>20.0</real>
+            <string>colorize</string>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
+            <real>0.0</real>
+            <real>0.3</real>
+            <real>0.0</real>
+        </array>
+        <array>
+            <string>saturate</string>
+            <real>0.35</real>
         </array>
     </array>
 </llsd>
diff --git a/indra/newview/app_settings/filters/Gotham.xml b/indra/newview/app_settings/filters/HLines.xml
similarity index 58%
rename from indra/newview/app_settings/filters/Gotham.xml
rename to indra/newview/app_settings/filters/HLines.xml
index eb0725e6bf27560fb7abe6452422646a0802d1c1..ddff4d19771fe9ef748ee790000cc850171d0ada 100755
--- a/indra/newview/app_settings/filters/Gotham.xml
+++ b/indra/newview/app_settings/filters/HLines.xml
@@ -2,29 +2,24 @@
     <array>
         <array>
             <string>linearize</string>
-            <real>0.0</real>
+            <real>0.1</real>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
         </array>
         <array>
-            <string>gamma</string>
-            <real>1.5</real>
-            <real>1.0</real>
-            <real>1.0</real>
-            <real>1.0</real>
+            <string>grayscale</string>
         </array>
         <array>
-            <string>colorize</string>
-            <real>0.0</real>
+            <string>blend</string>
             <real>0.0</real>
             <real>0.0</real>
-            <real>0.0</real>
-            <real>0.0</real>
-            <real>1.0</real>
         </array>
         <array>
-            <string>grayscale</string>
+            <string>screen</string>
+            <string>line</string>
+            <real>5.0</real>
+            <real>0.0</real>
         </array>
     </array>
 </llsd>
diff --git a/indra/newview/app_settings/filters/Inkwell.xml b/indra/newview/app_settings/filters/Inkwell.xml
deleted file mode 100755
index 77c88b5fbb38c228b811b4da017c92549f475837..0000000000000000000000000000000000000000
--- a/indra/newview/app_settings/filters/Inkwell.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<llsd>
-    <array>
-        <array>
-            <string>linearize</string>
-            <real>0.05</real>
-            <real>1.0</real>
-            <real>1.0</real>
-            <real>1.0</real>
-        </array>
-        <array>
-            <string>grayscale</string>
-        </array>
-    </array>
-</llsd>
diff --git a/indra/newview/app_settings/filters/Newspaper.xml b/indra/newview/app_settings/filters/Newspaper.xml
index 748032554211cb2fc26df2699cf3576deae004ac..8247c34500a71eeac728bda7d66fc66bcf8d5496 100755
--- a/indra/newview/app_settings/filters/Newspaper.xml
+++ b/indra/newview/app_settings/filters/Newspaper.xml
@@ -2,7 +2,7 @@
     <array>
         <array>
             <string>linearize</string>
-            <real>0.2</real>
+            <real>0.1</real>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
@@ -18,7 +18,7 @@
         <array>
             <string>screen</string>
             <string>2Dsine</string>
-            <real>15.0</real>
+            <real>5.0</real>
             <real>0.0</real>
         </array>
     </array>
diff --git a/indra/newview/app_settings/filters/Poprocket.xml b/indra/newview/app_settings/filters/RedV.xml
similarity index 65%
rename from indra/newview/app_settings/filters/Poprocket.xml
rename to indra/newview/app_settings/filters/RedV.xml
index 7e64003908ff29676141ce8c6780d74908dd2170..5c47ca0f849c064021e8ff4a72277b75a0485b59 100755
--- a/indra/newview/app_settings/filters/Poprocket.xml
+++ b/indra/newview/app_settings/filters/RedV.xml
@@ -2,7 +2,14 @@
     <array>
         <array>
             <string>linearize</string>
-            <real>0.0</real>
+            <real>0.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>contrast</string>
+            <real>0.8</real>
             <real>1.0</real>
             <real>1.0</real>
             <real>1.0</real>
@@ -16,10 +23,10 @@
             <string>colorize</string>
             <real>1.0</real>
             <real>0.0</real>
-            <real>0.0</real>
+            <real>1.0</real>
             <real>0.4</real>
             <real>0.0</real>
-            <real>0.0</real>
+            <real>0.2</real>
         </array>
     </array>
 </llsd>
diff --git a/indra/newview/app_settings/filters/Saturate30.xml b/indra/newview/app_settings/filters/Saturate30.xml
new file mode 100755
index 0000000000000000000000000000000000000000..b77f07a0374b0f6143b59761758483b7ecc80453
--- /dev/null
+++ b/indra/newview/app_settings/filters/Saturate30.xml
@@ -0,0 +1,8 @@
+<llsd>
+    <array>
+        <array>
+            <string>saturate</string>
+            <real>3.0</real>
+        </array>
+    </array>
+</llsd>
diff --git a/indra/newview/app_settings/filters/Toaster.xml b/indra/newview/app_settings/filters/SepiaV.xml
similarity index 77%
rename from indra/newview/app_settings/filters/Toaster.xml
rename to indra/newview/app_settings/filters/SepiaV.xml
index 170a1183ed0bbe306a712266a68b72dc4da234b8..d26df608b9e408cc9b037940eda624c2c7264393 100755
--- a/indra/newview/app_settings/filters/Toaster.xml
+++ b/indra/newview/app_settings/filters/SepiaV.xml
@@ -1,5 +1,12 @@
 <llsd>
     <array>
+        <array>
+            <string>linearize</string>
+            <real>0.01</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
         <array>
             <string>contrast</string>
             <real>0.8</real>
@@ -13,11 +20,7 @@
             <real>0.5</real>
         </array>
         <array>
-            <string>brighten</string>
-            <real>10.0</real>
-            <real>1.0</real>
-            <real>1.0</real>
-            <real>1.0</real>
+            <string>sepia</string>
         </array>
     </array>
 </llsd>
diff --git a/indra/newview/app_settings/filters/Sutro.xml b/indra/newview/app_settings/filters/Sutro.xml
deleted file mode 100755
index 3b0a58f01e5b0eb86b9fa0a72d9fa620407b946e..0000000000000000000000000000000000000000
--- a/indra/newview/app_settings/filters/Sutro.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<llsd>
-    <array>
-        <array>
-            <string>linearize</string>
-            <real>0.05</real>
-            <real>1.0</real>
-            <real>1.0</real>
-            <real>1.0</real>
-        </array>
-        <array>
-            <string>fade</string>
-            <real>4.0</real>
-            <real>0.5</real>
-        </array>
-        <array>
-            <string>sepia</string>
-        </array>
-    </array>
-</llsd>
diff --git a/indra/newview/app_settings/filters/VividV.xml b/indra/newview/app_settings/filters/VividV.xml
new file mode 100755
index 0000000000000000000000000000000000000000..203130bdeeda720f51dc50fe0e24f7cd971888e7
--- /dev/null
+++ b/indra/newview/app_settings/filters/VividV.xml
@@ -0,0 +1,45 @@
+<llsd>
+    <array>
+        <array>
+            <string>linearize</string>
+            <real>0.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>contrast</string>
+            <real>0.8</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>saturate</string>
+            <real>1.5</real>
+        </array>
+        <array>
+            <string>fade</string>
+            <real>1.0</real>
+            <real>0.25</real>
+        </array>
+        <array>
+            <string>saturate</string>
+            <real>0.8</real>
+        </array>
+        <array>
+            <string>contrast</string>
+            <real>1.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>brighten</string>
+            <real>30</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+    </array>
+</llsd>
diff --git a/indra/newview/app_settings/filters/VividYellowV.xml b/indra/newview/app_settings/filters/VividYellowV.xml
new file mode 100755
index 0000000000000000000000000000000000000000..2da27e53c14fed1bb06f09ee3c280b72f81a31c6
--- /dev/null
+++ b/indra/newview/app_settings/filters/VividYellowV.xml
@@ -0,0 +1,39 @@
+<llsd>
+    <array>
+        <array>
+            <string>linearize</string>
+            <real>0.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>contrast</string>
+            <real>1.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>fade</string>
+            <real>1.0</real>
+            <real>0.25</real>
+        </array>
+        <array>
+            <string>colorize</string>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>0.3</real>
+            <real>0.2</real>
+            <real>0.0</real>
+        </array>
+        <array>
+            <string>contrast</string>
+            <real>1.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+    </array>
+</llsd>
diff --git a/indra/newview/app_settings/filters/YellowV.xml b/indra/newview/app_settings/filters/YellowV.xml
new file mode 100755
index 0000000000000000000000000000000000000000..0dab2489a05a1b3f42b51e19413a7ee35e806206
--- /dev/null
+++ b/indra/newview/app_settings/filters/YellowV.xml
@@ -0,0 +1,41 @@
+<llsd>
+    <array>
+        <array>
+            <string>linearize</string>
+            <real>0.1</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>contrast</string>
+            <real>0.8</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+        </array>
+        <array>
+            <string>colorize</string>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>0.5</real>
+            <real>0.0</real>
+            <real>0.0</real>
+        </array>
+        <array>
+            <string>blend</string>
+            <real>10.0</real>
+            <real>0.0</real>
+        </array>
+        <array>
+            <string>colorize</string>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>1.0</real>
+            <real>0.1</real>
+            <real>0.1</real>
+            <real>0.0</real>
+        </array>
+    </array>
+</llsd>
diff --git a/indra/newview/llimagefiltersmanager.cpp b/indra/newview/llimagefiltersmanager.cpp
new file mode 100755
index 0000000000000000000000000000000000000000..efc4f56ad3f3badd0c30e2e16d8970d009a562ca
--- /dev/null
+++ b/indra/newview/llimagefiltersmanager.cpp
@@ -0,0 +1,84 @@
+/** 
+ * @file llimagefilters.cpp
+ * @brief Load and execute image filters. Mostly used for Flickr at the moment.
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2014, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llimagefilters.h"
+
+#include "lldiriterator.h"
+
+
+//---------------------------------------------------------------------------
+// LLImageFilters
+//---------------------------------------------------------------------------
+
+LLImageFilters::LLImageFilters()
+{
+}
+
+LLImageFilters::~LLImageFilters()
+{
+}
+
+// virtual static
+void LLImageFilters::initSingleton()
+{
+	loadAllFilters();
+}
+
+// static
+std::string LLImageFilters::getSysDir()
+{
+	return gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "filters", "");
+}
+
+void LLImageFilters::loadAllFilters()
+{
+	// Load system (coming out of the box) filters
+	loadFiltersFromDir(getSysDir());
+}
+
+void LLImageFilters::loadFiltersFromDir(const std::string& dir)
+{
+	LLDirIterator dir_iter(dir, "*.xml");
+	while (1)
+	{
+		std::string file;
+		if (!dir_iter.next(file))
+		{
+			break; // no more files
+		}
+        
+		std::string path = gDirUtilp->add(dir, file);
+
+        // For the moment, just output the file found to the log
+        llinfos << "Merov : loadFiltersFromDir, filter = " << path << llendl;
+	}
+}
+
+
+
+//============================================================================
diff --git a/indra/newview/llimagefiltersmanager.h b/indra/newview/llimagefiltersmanager.h
new file mode 100755
index 0000000000000000000000000000000000000000..52b4a56b9b0bb525ed67ee4af86f699d21340035
--- /dev/null
+++ b/indra/newview/llimagefiltersmanager.h
@@ -0,0 +1,74 @@
+/** 
+ * @file llimagefilters.h
+ * @brief Load and execute image filters. Mostly used for Flickr at the moment.
+ *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2014, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLIMAGEFILTERS_H
+#define LL_LLIMAGEFILTERS_H
+
+#include "llsingleton.h"
+#include "llimage.h"
+/*
+typedef enum e_vignette_mode
+{
+	VIGNETTE_MODE_NONE  = 0,
+	VIGNETTE_MODE_BLEND = 1,
+	VIGNETTE_MODE_FADE  = 2
+} EVignetteMode;
+
+typedef enum e_screen_mode
+{
+	SCREEN_MODE_2DSINE   = 0,
+	SCREEN_MODE_LINE     = 1
+} EScreenMode;
+*/
+//============================================================================
+// library initialization class
+
+class LLImageFilters : public LLSingleton<LLImageFilters>
+{
+	LOG_CLASS(LLImageFilters);
+public:
+    // getFilters(); get a vector of std::string containing the filter names
+    //LLSD loadFilter(const std::string& filter_name);
+    //void executeFilter(const LLSD& filter_data, LLPointer<LLImageRaw> raw_image);
+   
+protected:
+private:
+	void loadAllFilters();
+	void loadFiltersFromDir(const std::string& dir);
+	LLSD loadFilter(const std::string& path);
+    
+	static std::string getSysDir();
+    
+    friend class LLSingleton<LLImageFilters>;
+	/*virtual*/ void initSingleton();
+	LLImageFilters();
+	~LLImageFilters();
+    
+    // Needed here:
+    // - a map of filter files with name and path
+};
+
+#endif
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 9e8623c1f9c12910a6eff8c81ea8bdde5bb8c09f..3a76773dded40fcdadb9c50b91aaba36ee03681e 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -98,6 +98,9 @@ def construct(self):
                 # ... and the entire windlight directory
                 self.path("windlight")
 
+                # ... and the entire image filters directory
+                self.path("filters")
+            
                 # ... and the included spell checking dictionaries
                 pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')
                 if self.prefix(src=pkgdir,dst=""):