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:
commit
024a5f72ee
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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--) {
|
||||
|
@ -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++){
|
||||
|
@ -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++){\
|
||||
|
@ -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) {
|
||||
|
@ -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]];
|
||||
|
@ -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;
|
||||
|
@ -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];
|
||||
|
@ -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; \
|
||||
|
Loading…
Reference in New Issue
Block a user