Make pp_help a constant array of characters to move it to .rodata.
[libav.git] / libpostproc / postprocess.c
index 21e35aa..4890bf8 100644 (file)
@@ -90,8 +90,6 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
 #include "postprocess.h"
 #include "postprocess_internal.h"
 
-#include "mangle.h" //FIXME should be supressed
-
 #ifdef HAVE_ALTIVEC_H
 #include <altivec.h>
 #endif
@@ -113,9 +111,6 @@ static DECLARE_ALIGNED(8, uint64_t attribute_used, b08)= 0x0808080808080808LL;
 static DECLARE_ALIGNED(8, uint64_t attribute_used, b80)= 0x8080808080808080LL;
 #endif
 
-static uint8_t clip_table[3*256];
-static uint8_t * const clip_tab= clip_table + 256;
-
 static const int attribute_used deringThreshold= 20;
 
 
@@ -144,11 +139,11 @@ static struct PPFilter filters[]=
 
 static const char *replaceTable[]=
 {
-        "default",      "hdeblock:a,vdeblock:a,dering:a",
-        "de",           "hdeblock:a,vdeblock:a,dering:a",
-        "fast",         "x1hdeblock:a,x1vdeblock:a,dering:a",
-        "fa",           "x1hdeblock:a,x1vdeblock:a,dering:a",
-        "ac",           "ha:a:128:7,va:a,dering:a",
+        "default",      "hb:a,vb:a,dr:a",
+        "de",           "hb:a,vb:a,dr:a",
+        "fast",         "h1:a,v1:a,dr:a",
+        "fa",           "h1:a,v1:a,dr:a",
+        "ac",           "ha:a:128:7,va:a,dr:a",
         NULL //End Marker
 };
 
@@ -699,7 +694,11 @@ static inline void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int
 
 /* -pp Command line Help
 */
-char *pp_help=
+#if LIBPOSTPROC_VERSION_INT < (52<<16)
+const char *const pp_help=
+#else
+const char pp_help[] =
+#endif
 "Available postprocessing filters:\n"
 "Filters                        Options\n"
 "short  long name       short   long option     Description\n"
@@ -743,12 +742,12 @@ char *pp_help=
 "\n"
 ;
 
-pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality)
+pp_mode_t *pp_get_mode_by_name_and_quality(const char *name, int quality)
 {
         char temp[GET_MODE_BUFFER_SIZE];
         char *p= temp;
-        const char *filterDelimiters= ",/";
-        const char *optionDelimiters= ":";
+        static const char filterDelimiters[] = ",/";
+        static const char optionDelimiters[] = ":";
         struct PPMode *ppMode;
         char *filterToken;
 
@@ -972,27 +971,17 @@ static void reallocBuffers(PPContext *c, int width, int height, int stride, int
         reallocAlign((void **)&c->forcedQPTable, 8, mbWidth*sizeof(QP_STORE_T));
 }
 
-static void global_init(void){
-        int i;
-        memset(clip_table, 0, 256);
-        for(i=256; i<512; i++)
-                clip_table[i]= i;
-        memset(clip_table+512, 0, 256);
-}
-
 static const char * context_to_name(void * ptr) {
     return "postproc";
 }
 
-static AVClass av_codec_context_class = { "Postproc", context_to_name, NULL };
+static const AVClass av_codec_context_class = { "Postproc", context_to_name, NULL };
 
 pp_context_t *pp_get_context(int width, int height, int cpuCaps){
         PPContext *c= av_malloc(sizeof(PPContext));
         int stride= (width+15)&(~15);    //assumed / will realloc if needed
         int qpStride= (width+15)/16 + 2; //assumed / will realloc if needed
 
-        global_init();
-
         memset(c, 0, sizeof(PPContext));
         c->av_class = &av_codec_context_class;
         c->cpuCaps= cpuCaps;