You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
Merge commit '15b0517da986b312fc2fcb364a92db328380b15b'
* commit '15b0517da986b312fc2fcb364a92db328380b15b': svq3: make the dsp functions static Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
@@ -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] = {
|
|||||||
|
|
||||||
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,7 +199,7 @@ 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];
|
||||||
@@ -498,7 +497,7 @@ 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,
|
|||||||
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)
|
|||||||
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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 */
|
|
Reference in New Issue
Block a user