Commit 656b071a authored by Derek Buitenhuis's avatar Derek Buitenhuis

Merge commit '15b0517d'

* commit '15b0517d':
  svq3: make the dsp functions static
Merged-by: 's avatarDerek Buitenhuis <derek.buitenhuis@gmail.com>
parents d6f01c61 15b0517d
...@@ -61,7 +61,6 @@ ...@@ -61,7 +61,6 @@
#endif #endif
#include "svq1.h" #include "svq1.h"
#include "svq3.h"
/** /**
* @file * @file
...@@ -165,7 +164,7 @@ static const uint32_t svq3_dequant_coeff[32] = { ...@@ -165,7 +164,7 @@ static const uint32_t svq3_dequant_coeff[32] = {
static int svq3_decode_end(AVCodecContext *avctx); static int svq3_decode_end(AVCodecContext *avctx);
void ff_svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp) static void svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp)
{ {
const int qmul = svq3_dequant_coeff[qp]; const int qmul = svq3_dequant_coeff[qp];
#define stride 16 #define stride 16
...@@ -200,8 +199,8 @@ void ff_svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp) ...@@ -200,8 +199,8 @@ void ff_svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp)
} }
#undef stride #undef stride
void ff_svq3_add_idct_c(uint8_t *dst, int16_t *block, static void svq3_add_idct_c(uint8_t *dst, int16_t *block,
int stride, int qp, int dc) int stride, int qp, int dc)
{ {
const int qmul = svq3_dequant_coeff[qp]; const int qmul = svq3_dequant_coeff[qp];
int i; int i;
...@@ -498,8 +497,8 @@ static av_always_inline void hl_decode_mb_idct_luma(const H264Context *h, H264Sl ...@@ -498,8 +497,8 @@ static av_always_inline void hl_decode_mb_idct_luma(const H264Context *h, H264Sl
for (i = 0; i < 16; i++) for (i = 0; i < 16; i++)
if (sl->non_zero_count_cache[scan8[i]] || sl->mb[i * 16]) { if (sl->non_zero_count_cache[scan8[i]] || sl->mb[i * 16]) {
uint8_t *const ptr = dest_y + block_offset[i]; uint8_t *const ptr = dest_y + block_offset[i];
ff_svq3_add_idct_c(ptr, sl->mb + i * 16, linesize, svq3_add_idct_c(ptr, sl->mb + i * 16, linesize,
sl->qscale, IS_INTRA(mb_type) ? 1 : 0); sl->qscale, IS_INTRA(mb_type) ? 1 : 0);
} }
} }
} }
...@@ -540,13 +539,12 @@ static av_always_inline void hl_decode_mb_predict_luma(const H264Context *h, ...@@ -540,13 +539,12 @@ static av_always_inline void hl_decode_mb_predict_luma(const H264Context *h,
h->hpc.pred4x4[dir](ptr, topright, linesize); h->hpc.pred4x4[dir](ptr, topright, linesize);
nnz = sl->non_zero_count_cache[scan8[i]]; nnz = sl->non_zero_count_cache[scan8[i]];
if (nnz) { if (nnz) {
ff_svq3_add_idct_c(ptr, sl->mb + i * 16, linesize, qscale, 0); svq3_add_idct_c(ptr, sl->mb + i * 16, linesize, qscale, 0);
} }
} }
} else { } else {
h->hpc.pred16x16[sl->intra16x16_pred_mode](dest_y, linesize); h->hpc.pred16x16[sl->intra16x16_pred_mode](dest_y, linesize);
ff_svq3_luma_dc_dequant_idct_c(sl->mb, svq3_luma_dc_dequant_idct_c(sl->mb, sl->mb_luma_dc[0], qscale);
sl->mb_luma_dc[0], qscale);
} }
} }
...@@ -593,9 +591,8 @@ static void hl_decode_mb(const H264Context *h, H264SliceContext *sl) ...@@ -593,9 +591,8 @@ static void hl_decode_mb(const H264Context *h, H264SliceContext *sl)
for (i = j * 16; i < j * 16 + 4; i++) for (i = j * 16; i < j * 16 + 4; i++)
if (sl->non_zero_count_cache[scan8[i]] || sl->mb[i * 16]) { if (sl->non_zero_count_cache[scan8[i]] || sl->mb[i * 16]) {
uint8_t *const ptr = dest[j - 1] + block_offset[i]; uint8_t *const ptr = dest[j - 1] + block_offset[i];
ff_svq3_add_idct_c(ptr, sl->mb + i * 16, svq3_add_idct_c(ptr, sl->mb + i * 16,
uvlinesize, uvlinesize, ff_h264_chroma_qp[0][sl->qscale + 12] - 12, 2);
ff_h264_chroma_qp[0][sl->qscale + 12] - 12, 2);
} }
} }
} }
......
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_SVQ3_H
#define AVCODEC_SVQ3_H
#include <stdint.h>
void ff_svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp);
void ff_svq3_add_idct_c(uint8_t *dst, int16_t *block, int stride, int qp, int dc);
#endif /* AVCODEC_SVQ3_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment