avfilter: Factorize the use of norm_qscale in pp7
authorArwa Arif <arwaarif1994@gmail.com>
Fri, 9 Jan 2015 20:13:42 +0000 (01:43 +0530)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 10 Jan 2015 01:22:02 +0000 (02:22 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/internal.h
libavfilter/vf_pp7.c

index 308b115..d3a859c 100644 (file)
@@ -31,6 +31,7 @@
 #include "thread.h"
 #include "version.h"
 #include "video.h"
+#include "libavcodec/avcodec.h"
 
 #define POOL_SIZE 32
 typedef struct AVFilterPool {
@@ -374,4 +375,18 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, const char *inst_name);
  */
 void ff_filter_graph_remove_filter(AVFilterGraph *graph, AVFilterContext *filter);
 
+/**
+ * Normalize the qscale factor
+ */
+static inline int ff_norm_qscale(int qscale, int type)
+{
+    switch (type) {
+    case FF_QSCALE_TYPE_MPEG1: return qscale;
+    case FF_QSCALE_TYPE_MPEG2: return qscale >> 1;
+    case FF_QSCALE_TYPE_H264:  return qscale >> 2;
+    case FF_QSCALE_TYPE_VP56:  return (63 - qscale + 2) >> 2;
+    }
+    return qscale;
+}
+
 #endif /* AVFILTER_INTERNAL_H */
index 2f071f2..bb590a2 100644 (file)
@@ -33,7 +33,6 @@
 #include "libavutil/pixdesc.h"
 #include "internal.h"
 #include "vf_pp7.h"
-#include "libavcodec/avcodec.h"
 
 enum mode {
     MODE_HARD,
@@ -87,17 +86,6 @@ static const int thres[16] = {
     N / (SN2 * SN0), N / (SN2 * SN2), N / (SN2 * SN0), N / (SN2 * SN2),
 };
 
-static inline int norm_qscale(int qscale, int type)
-{
-    switch (type) {
-    case FF_QSCALE_TYPE_MPEG1: return qscale;
-    case FF_QSCALE_TYPE_MPEG2: return qscale >> 1;
-    case FF_QSCALE_TYPE_H264:  return qscale >> 2;
-    case FF_QSCALE_TYPE_VP56:  return (63 - qscale + 2) >> 2;
-    }
-    return qscale;
-}
-
 static void init_thres2(PP7Context *p)
 {
     int qp, i;
@@ -259,7 +247,7 @@ static void filter(PP7Context *p, uint8_t *dst, uint8_t *src,
                 qp = p->qp;
             else {
                 qp = qp_store[ (FFMIN(x, width - 1) >> qps) + (FFMIN(y, height - 1) >> qps) * qp_stride];
-                qp = norm_qscale(qp, p->qscale_type);
+                qp = ff_norm_qscale(qp, p->qscale_type);
             }
             for (; x < end; x++) {
                 const int index = x + y * stride + (8 - 3) * (1 + stride) + 8; //FIXME silly offset