1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Merge commit '9e0f14f16cfc9456a691655fda7d01090bffe47e'

* commit '9e0f14f16cfc9456a691655fda7d01090bffe47e':
  lavc: Make pointers to ff_cropTbl const
  vp3: Embed idct_permutation array directly in VP3DecoderContext

Conflicts:
	libavcodec/bit_depth_template.c
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-04-08 12:47:49 +02:00
commit 024a5f72ee
10 changed files with 29 additions and 28 deletions

View File

@ -30,7 +30,7 @@
/* Intra iDCT offset 128 */
static void bfin_vp3_idct_put(uint8_t *dest, int line_size, int16_t *block)
{
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP + 128;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP + 128;
int i,j;
ff_bfin_vp3_idct (block);

View File

@ -40,7 +40,7 @@ typedef struct DVDSubContext
static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *rgba, int num_values)
{
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
uint8_t r, g, b;
int i, y, cb, cr;
int r_add, g_add, b_add;

View File

@ -483,7 +483,7 @@ static void deinterlace_line_c(uint8_t *dst,
const uint8_t *lum,
int size)
{
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
int sum;
for(;size > 0;size--) {
@ -506,7 +506,7 @@ static void deinterlace_line_inplace_c(uint8_t *lum_m4, uint8_t *lum_m3,
uint8_t *lum_m2, uint8_t *lum_m1,
uint8_t *lum, int size)
{
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
int sum;
for(;size > 0;size--) {

View File

@ -124,7 +124,7 @@ static int rv30_decode_mb_info(RV34DecContext *r)
static inline void rv30_weak_loop_filter(uint8_t *src, const int step,
const int stride, const int lim)
{
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
int i, diff;
for(i = 0; i < 4; i++){

View File

@ -32,7 +32,7 @@
#define RV30_LOWPASS(OPNAME, OP) \
static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
const int h = 8;\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i;\
for(i = 0; i < h; i++)\
{\
@ -51,7 +51,7 @@ static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, uint8_t *src,
\
static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
const int w = 8;\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i;\
for(i = 0; i < w; i++)\
{\
@ -82,7 +82,7 @@ static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstSt
static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i, j;\
for(j = 0; j < h; j++){\
for(i = 0; i < w; i++){\
@ -101,7 +101,7 @@ static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, uint8_t *src, int dstS
static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i, j;\
for(j = 0; j < h; j++){\
for(i = 0; i < w; i++){\
@ -120,7 +120,7 @@ static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, uint8_t *src, int dst
static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i, j;\
for(j = 0; j < h; j++){\
for(i = 0; i < w; i++){\
@ -139,7 +139,7 @@ static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, uint8_t *src, int dst
static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i, j;\
for(j = 0; j < h; j++){\
for(i = 0; i < w; i++){\

View File

@ -33,7 +33,7 @@
#define RV40_LOWPASS(OPNAME, OP) \
static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
const int h, const int C1, const int C2, const int SHIFT){\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i;\
for(i = 0; i < h; i++)\
{\
@ -52,7 +52,7 @@ static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src,
\
static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
const int w, const int C1, const int C2, const int SHIFT){\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int i;\
for(i = 0; i < w; i++)\
{\
@ -351,7 +351,7 @@ static av_always_inline void rv40_weak_loop_filter(uint8_t *src,
const int lim_q1,
const int lim_p1)
{
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
int i, t, u, diff;
for (i = 0; i < 4; i++, src += stride) {

View File

@ -56,7 +56,7 @@ static void clear_blocks_sh4(int16_t *blocks)
static void idct_put(uint8_t *dest, int line_size, int16_t *block)
{
int i;
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
ff_idct_sh4(block);
for(i=0;i<8;i++) {
dest[0] = cm[block[0]];
@ -74,7 +74,7 @@ static void idct_put(uint8_t *dest, int line_size, int16_t *block)
static void idct_add(uint8_t *dest, int line_size, int16_t *block)
{
int i;
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
ff_idct_sh4(block);
for(i=0;i<8;i++) {
dest[0] = cm[dest[0]+block[0]];

View File

@ -363,7 +363,7 @@ static void gmc1_c(uint8_t *dst, uint8_t *src, int stride, int h, int x16, int y
#define QPEL_MC(r, OPNAME, RND, OP) \
static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
do {\
uint8_t *s = src; \
int src0,src1,src2,src3,src4,src5,src6,src7,src8;\
@ -390,7 +390,7 @@ static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstS
}\
\
static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int w=8;\
do{\
uint8_t *s = src, *d=dst;\
@ -418,7 +418,7 @@ static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstS
}\
\
static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
do {\
uint8_t *s = src;\
int src0,src1,src2,src3,src4,src5,src6,src7,src8;\
@ -462,7 +462,7 @@ static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dst
}\
\
static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
int w=16;\
do {\
uint8_t *s = src, *d=dst;\
@ -754,7 +754,7 @@ QPEL_MC(0, avg_ , _ , op_avg)
#undef op_put_no_rnd
static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
do{
int src_1,src0,src1,src2,src3,src4,src5,src6,src7,src8,src9;
@ -784,7 +784,7 @@ static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int
}
static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int w){
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
do{
int src_1,src0,src1,src2,src3,src4,src5,src6,src7,src8,src9;

View File

@ -381,7 +381,8 @@ static void init_dequantizer(Vp3DecodeContext *s, int qpi)
int qmin= 8<<(inter + !i);
int qscale= i ? ac_scale_factor : dc_scale_factor;
s->qmat[qpi][inter][plane][s->idct_permutation[i]]= av_clip((qscale * coeff)/100 * 4, qmin, 4096);
s->qmat[qpi][inter][plane][s->idct_permutation[i]] =
av_clip((qscale * coeff) / 100 * 4, qmin, 4096);
}
// all DC coefficients use the same quant so as not to interfere with DC prediction
s->qmat[qpi][inter][plane][0] = s->qmat[0][inter][plane][0];

View File

@ -160,7 +160,7 @@ static av_always_inline void filter_common(uint8_t *p, ptrdiff_t stride, int is4
{
LOAD_PIXELS
int a, f1, f2;
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
a = 3*(q0 - p0);
@ -215,7 +215,7 @@ static av_always_inline int hev(uint8_t *p, ptrdiff_t stride, int thresh)
static av_always_inline void filter_mbedge(uint8_t *p, ptrdiff_t stride)
{
int a0, a1, a2, w;
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
LOAD_PIXELS
@ -337,7 +337,7 @@ PUT_PIXELS(4)
static void put_vp8_epel ## SIZE ## _h ## TAPS ## _c(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my) \
{ \
const uint8_t *filter = subpel_filters[mx-1]; \
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; \
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; \
int x, y; \
\
for (y = 0; y < h; y++) { \
@ -351,7 +351,7 @@ static void put_vp8_epel ## SIZE ## _h ## TAPS ## _c(uint8_t *dst, ptrdiff_t dst
static void put_vp8_epel ## SIZE ## _v ## TAPS ## _c(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my) \
{ \
const uint8_t *filter = subpel_filters[my-1]; \
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; \
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; \
int x, y; \
\
for (y = 0; y < h; y++) { \
@ -365,7 +365,7 @@ static void put_vp8_epel ## SIZE ## _v ## TAPS ## _c(uint8_t *dst, ptrdiff_t dst
static void put_vp8_epel ## SIZE ## _h ## HTAPS ## v ## VTAPS ## _c(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my) \
{ \
const uint8_t *filter = subpel_filters[mx-1]; \
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; \
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; \
int x, y; \
uint8_t tmp_array[(2*SIZE+VTAPS-1)*SIZE]; \
uint8_t *tmp = tmp_array; \