Browse code

avfilter: Factorize the use of norm_qscale in pp7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Arwa Arif authored on 2015/01/10 05:13:42
Showing 2 changed files
... ...
@@ -31,6 +31,7 @@
31 31
 #include "thread.h"
32 32
 #include "version.h"
33 33
 #include "video.h"
34
+#include "libavcodec/avcodec.h"
34 35
 
35 36
 #define POOL_SIZE 32
36 37
 typedef struct AVFilterPool {
... ...
@@ -374,4 +375,18 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, const char *inst_name);
374 374
  */
375 375
 void ff_filter_graph_remove_filter(AVFilterGraph *graph, AVFilterContext *filter);
376 376
 
377
+/**
378
+ * Normalize the qscale factor
379
+ */
380
+static inline int ff_norm_qscale(int qscale, int type)
381
+{
382
+    switch (type) {
383
+    case FF_QSCALE_TYPE_MPEG1: return qscale;
384
+    case FF_QSCALE_TYPE_MPEG2: return qscale >> 1;
385
+    case FF_QSCALE_TYPE_H264:  return qscale >> 2;
386
+    case FF_QSCALE_TYPE_VP56:  return (63 - qscale + 2) >> 2;
387
+    }
388
+    return qscale;
389
+}
390
+
377 391
 #endif /* AVFILTER_INTERNAL_H */
... ...
@@ -33,7 +33,6 @@
33 33
 #include "libavutil/pixdesc.h"
34 34
 #include "internal.h"
35 35
 #include "vf_pp7.h"
36
-#include "libavcodec/avcodec.h"
37 36
 
38 37
 enum mode {
39 38
     MODE_HARD,
... ...
@@ -87,17 +86,6 @@ static const int thres[16] = {
87 87
     N / (SN2 * SN0), N / (SN2 * SN2), N / (SN2 * SN0), N / (SN2 * SN2),
88 88
 };
89 89
 
90
-static inline int norm_qscale(int qscale, int type)
91
-{
92
-    switch (type) {
93
-    case FF_QSCALE_TYPE_MPEG1: return qscale;
94
-    case FF_QSCALE_TYPE_MPEG2: return qscale >> 1;
95
-    case FF_QSCALE_TYPE_H264:  return qscale >> 2;
96
-    case FF_QSCALE_TYPE_VP56:  return (63 - qscale + 2) >> 2;
97
-    }
98
-    return qscale;
99
-}
100
-
101 90
 static void init_thres2(PP7Context *p)
102 91
 {
103 92
     int qp, i;
... ...
@@ -259,7 +247,7 @@ static void filter(PP7Context *p, uint8_t *dst, uint8_t *src,
259 259
                 qp = p->qp;
260 260
             else {
261 261
                 qp = qp_store[ (FFMIN(x, width - 1) >> qps) + (FFMIN(y, height - 1) >> qps) * qp_stride];
262
-                qp = norm_qscale(qp, p->qscale_type);
262
+                qp = ff_norm_qscale(qp, p->qscale_type);
263 263
             }
264 264
             for (; x < end; x++) {
265 265
                 const int index = x + y * stride + (8 - 3) * (1 + stride) + 8; //FIXME silly offset