... | ... |
@@ -40,7 +40,6 @@ |
40 | 40 |
#include "libavutil/opt.h" |
41 | 41 |
#include "libavutil/pixdesc.h" |
42 | 42 |
#include "internal.h" |
43 |
-#include "libavcodec/avcodec.h" //for reference to FF_QSCALE_TYPE |
|
44 | 43 |
#include "vf_fspp.h" |
45 | 44 |
|
46 | 45 |
#define OFFSET(x) offsetof(FSPPContext, x) |
... | ... |
@@ -80,17 +79,6 @@ static const short custom_threshold[64] = { |
80 | 80 |
20, 27, 26, 23, 20, 15, 11, 5 |
81 | 81 |
}; |
82 | 82 |
|
83 |
-static inline int norm_qscale(int qscale, int type) |
|
84 |
-{ |
|
85 |
- switch (type) { |
|
86 |
- case FF_QSCALE_TYPE_MPEG1: return qscale; |
|
87 |
- case FF_QSCALE_TYPE_MPEG2: return qscale >> 1; |
|
88 |
- case FF_QSCALE_TYPE_H264: return qscale >> 2; |
|
89 |
- case FF_QSCALE_TYPE_VP56: return (63 - qscale + 2) >> 2; |
|
90 |
- } |
|
91 |
- return qscale; |
|
92 |
-} |
|
93 |
- |
|
94 | 83 |
//This func reads from 1 slice, 1 and clears 0 & 1 |
95 | 84 |
static void store_slice_c(uint8_t *dst, int16_t *src, |
96 | 85 |
ptrdiff_t dst_stride, ptrdiff_t src_stride, |
... | ... |
@@ -218,7 +206,7 @@ static void filter(FSPPContext *p, uint8_t *dst, uint8_t *src, |
218 | 218 |
if (t < 0) t = 0; //t always < width-2 |
219 | 219 |
|
220 | 220 |
t = qp_store[qy + (t >> qpsh)]; |
221 |
- t = norm_qscale(t, p->qscale_type); |
|
221 |
+ t = ff_norm_qscale(t, p->qscale_type); |
|
222 | 222 |
|
223 | 223 |
if (t != p->prev_q) p->prev_q = t, p->mul_thrmat((int16_t *)(&p->threshold_mtx_noq[0]), (int16_t *)(&p->threshold_mtx[0]), t); |
224 | 224 |
p->column_fidct((int16_t *)(&p->threshold_mtx[0]), block + x * 8, block3 + x * 8, 8); //yes, this is a HOTSPOT |
... | ... |
@@ -229,18 +229,6 @@ static inline void add_block(uint16_t *dst, int linesize, const int16_t block[64 |
229 | 229 |
} |
230 | 230 |
} |
231 | 231 |
|
232 |
-// XXX: export the function? |
|
233 |
-static inline int norm_qscale(int qscale, int type) |
|
234 |
-{ |
|
235 |
- switch (type) { |
|
236 |
- case FF_QSCALE_TYPE_MPEG1: return qscale; |
|
237 |
- case FF_QSCALE_TYPE_MPEG2: return qscale >> 1; |
|
238 |
- case FF_QSCALE_TYPE_H264: return qscale >> 2; |
|
239 |
- case FF_QSCALE_TYPE_VP56: return (63 - qscale + 2) >> 2; |
|
240 |
- } |
|
241 |
- return qscale; |
|
242 |
-} |
|
243 |
- |
|
244 | 232 |
static void filter(SPPContext *p, uint8_t *dst, uint8_t *src, |
245 | 233 |
int dst_linesize, int src_linesize, int width, int height, |
246 | 234 |
const uint8_t *qp_table, int qp_stride, int is_luma, int depth) |
... | ... |
@@ -284,7 +272,7 @@ static void filter(SPPContext *p, uint8_t *dst, uint8_t *src, |
284 | 284 |
} else{ |
285 | 285 |
const int qps = 3 + is_luma; |
286 | 286 |
qp = qp_table[(FFMIN(x, width - 1) >> qps) + (FFMIN(y, height - 1) >> qps) * qp_stride]; |
287 |
- qp = FFMAX(1, norm_qscale(qp, p->qscale_type)); |
|
287 |
+ qp = FFMAX(1, ff_norm_qscale(qp, p->qscale_type)); |
|
288 | 288 |
} |
289 | 289 |
for (i = 0; i < count; i++) { |
290 | 290 |
const int x1 = x + offset[i + count - 1][0]; |
... | ... |
@@ -32,7 +32,6 @@ |
32 | 32 |
#include "libavutil/opt.h" |
33 | 33 |
#include "libavutil/pixdesc.h" |
34 | 34 |
#include "internal.h" |
35 |
-#include "libavcodec/avcodec.h" |
|
36 | 35 |
#include "avfilter.h" |
37 | 36 |
|
38 | 37 |
#define MAX_LEVEL 8 /* quality levels */ |
... | ... |
@@ -181,18 +180,6 @@ static void store_slice_c(uint8_t *dst, const uint16_t *src, |
181 | 181 |
} |
182 | 182 |
} |
183 | 183 |
|
184 |
-static inline int norm_qscale(int qscale, int type) |
|
185 |
-{ |
|
186 |
- switch (type) { |
|
187 |
- case FF_QSCALE_TYPE_MPEG1: return qscale; |
|
188 |
- case FF_QSCALE_TYPE_MPEG2: return qscale >> 1; |
|
189 |
- case FF_QSCALE_TYPE_H264: return qscale >> 2; |
|
190 |
- case FF_QSCALE_TYPE_VP56: return (63 - qscale + 2) >> 2; |
|
191 |
- default: av_assert0(0); |
|
192 |
- } |
|
193 |
- return qscale; |
|
194 |
-} |
|
195 |
- |
|
196 | 184 |
static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3], |
197 | 185 |
int dst_stride[3], int src_stride[3], int width, |
198 | 186 |
int height, uint8_t *qp_store, int qp_stride) |
... | ... |
@@ -237,7 +224,7 @@ static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3], |
237 | 237 |
for (x = 0; x < (width>>4); x++) |
238 | 238 |
qpsum += qp_store[x + y * qp_stride]; |
239 | 239 |
} |
240 |
- p->frame->quality = norm_qscale((qpsum + qpcount/2) / qpcount, p->qscale_type) * FF_QP2LAMBDA; |
|
240 |
+ p->frame->quality = ff_norm_qscale((qpsum + qpcount/2) / qpcount, p->qscale_type) * FF_QP2LAMBDA; |
|
241 | 241 |
} |
242 | 242 |
// init per MB qscale stuff FIXME |
243 | 243 |
p->frame->height = height; |