mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
dsputil: update per-arch init funcs for non-h264 high bit depth
Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
874f1a901d
commit
a617c6aaa3
@ -270,7 +270,7 @@ static void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels,
|
|||||||
|
|
||||||
void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (!high_bit_depth) {
|
if (!high_bit_depth) {
|
||||||
c->put_pixels_tab[0][0] = put_pixels16_axp_asm;
|
c->put_pixels_tab[0][0] = put_pixels16_axp_asm;
|
||||||
|
@ -75,7 +75,7 @@ static void simple_idct_arm_add(uint8_t *dest, int line_size, DCTELEM *block)
|
|||||||
|
|
||||||
void dsputil_init_arm(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_arm(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
ff_put_pixels_clamped = c->put_pixels_clamped;
|
ff_put_pixels_clamped = c->put_pixels_clamped;
|
||||||
ff_add_pixels_clamped = c->add_pixels_clamped;
|
ff_add_pixels_clamped = c->add_pixels_clamped;
|
||||||
|
@ -72,7 +72,7 @@ int ff_pix_sum_armv6(uint8_t *pix, int line_size);
|
|||||||
|
|
||||||
void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
|
void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (!avctx->lowres && avctx->bits_per_raw_sample <= 8 &&
|
if (!avctx->lowres && avctx->bits_per_raw_sample <= 8 &&
|
||||||
(avctx->idct_algo == FF_IDCT_AUTO ||
|
(avctx->idct_algo == FF_IDCT_AUTO ||
|
||||||
|
@ -175,7 +175,7 @@ void ff_apply_window_int16_neon(int16_t *dst, const int16_t *src,
|
|||||||
|
|
||||||
void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx)
|
void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (!avctx->lowres && avctx->bits_per_raw_sample <= 8) {
|
if (!avctx->lowres && avctx->bits_per_raw_sample <= 8) {
|
||||||
if (avctx->idct_algo == FF_IDCT_AUTO ||
|
if (avctx->idct_algo == FF_IDCT_AUTO ||
|
||||||
|
@ -155,7 +155,7 @@ static void nop(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
|||||||
void ff_dsputil_init_iwmmxt(DSPContext* c, AVCodecContext *avctx)
|
void ff_dsputil_init_iwmmxt(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
int mm_flags = AV_CPU_FLAG_IWMMXT; /* multimedia extension flags */
|
int mm_flags = AV_CPU_FLAG_IWMMXT; /* multimedia extension flags */
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (avctx->dsp_mask) {
|
if (avctx->dsp_mask) {
|
||||||
if (avctx->dsp_mask & AV_CPU_FLAG_FORCE)
|
if (avctx->dsp_mask & AV_CPU_FLAG_FORCE)
|
||||||
|
@ -197,7 +197,7 @@ static int bfin_pix_abs8_xy2 (void *c, uint8_t *blk1, uint8_t *blk2, int line_si
|
|||||||
|
|
||||||
void dsputil_init_bfin( DSPContext* c, AVCodecContext *avctx )
|
void dsputil_init_bfin( DSPContext* c, AVCodecContext *avctx )
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
c->diff_pixels = ff_bfin_diff_pixels;
|
c->diff_pixels = ff_bfin_diff_pixels;
|
||||||
c->put_pixels_clamped = ff_bfin_put_pixels_clamped;
|
c->put_pixels_clamped = ff_bfin_put_pixels_clamped;
|
||||||
|
@ -421,7 +421,7 @@ static void ff_fdct_mlib(DCTELEM *data)
|
|||||||
|
|
||||||
void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
c->diff_pixels = diff_pixels_mlib;
|
c->diff_pixels = diff_pixels_mlib;
|
||||||
c->add_pixels_clamped = add_pixels_clamped_mlib;
|
c->add_pixels_clamped = add_pixels_clamped_mlib;
|
||||||
|
@ -1373,7 +1373,7 @@ static void avg_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, int l
|
|||||||
|
|
||||||
void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
c->pix_abs[0][1] = sad16_x2_altivec;
|
c->pix_abs[0][1] = sad16_x2_altivec;
|
||||||
c->pix_abs[0][2] = sad16_y2_altivec;
|
c->pix_abs[0][2] = sad16_y2_altivec;
|
||||||
|
@ -145,7 +145,7 @@ static void prefetch_ppc(void *mem, int stride, int h)
|
|||||||
|
|
||||||
void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
// Common optimizations whether AltiVec is available or not
|
// Common optimizations whether AltiVec is available or not
|
||||||
c->prefetch = prefetch_ppc;
|
c->prefetch = prefetch_ppc;
|
||||||
|
@ -967,7 +967,7 @@ H264_WEIGHT( 8, 8)
|
|||||||
H264_WEIGHT( 8, 4)
|
H264_WEIGHT( 8, 4)
|
||||||
|
|
||||||
void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx) {
|
void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx) {
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC) {
|
if (av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC) {
|
||||||
if (!high_bit_depth) {
|
if (!high_bit_depth) {
|
||||||
|
@ -142,7 +142,7 @@ static void put_pixels16_mmi(uint8_t *block, const uint8_t *pixels, int line_siz
|
|||||||
void dsputil_init_mmi(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_mmi(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int idct_algo= avctx->idct_algo;
|
const int idct_algo= avctx->idct_algo;
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (!high_bit_depth) {
|
if (!high_bit_depth) {
|
||||||
c->clear_blocks = clear_blocks_mmi;
|
c->clear_blocks = clear_blocks_mmi;
|
||||||
|
@ -333,7 +333,7 @@ DEFFUNC(avg,no_rnd,xy,16,OP_XY,PACK)
|
|||||||
|
|
||||||
void dsputil_init_align(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_align(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (!high_bit_depth) {
|
if (!high_bit_depth) {
|
||||||
c->put_pixels_tab[0][0] = put_rnd_pixels16_o;
|
c->put_pixels_tab[0][0] = put_rnd_pixels16_o;
|
||||||
|
@ -92,7 +92,7 @@ static void idct_add(uint8_t *dest, int line_size, DCTELEM *block)
|
|||||||
void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const int idct_algo= avctx->idct_algo;
|
const int idct_algo= avctx->idct_algo;
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
dsputil_init_align(c,avctx);
|
dsputil_init_align(c,avctx);
|
||||||
|
|
||||||
if (!high_bit_depth)
|
if (!high_bit_depth)
|
||||||
|
@ -3953,7 +3953,7 @@ void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx)
|
|||||||
{
|
{
|
||||||
/* VIS-specific optimizations */
|
/* VIS-specific optimizations */
|
||||||
int accel = vis_level ();
|
int accel = vis_level ();
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
if (accel & ACCEL_SPARC_VIS) {
|
if (accel & ACCEL_SPARC_VIS) {
|
||||||
if (avctx->bits_per_raw_sample <= 8 &&
|
if (avctx->bits_per_raw_sample <= 8 &&
|
||||||
|
@ -2437,7 +2437,7 @@ void ff_vector_clip_int32_sse41 (int32_t *dst, const int32_t *src, int32_t min
|
|||||||
void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
|
void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
int mm_flags = av_get_cpu_flags();
|
int mm_flags = av_get_cpu_flags();
|
||||||
const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
|
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
const int bit_depth = avctx->bits_per_raw_sample;
|
const int bit_depth = avctx->bits_per_raw_sample;
|
||||||
|
|
||||||
if (avctx->dsp_mask) {
|
if (avctx->dsp_mask) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user