diff options
Diffstat (limited to 'chromium/third_party/ffmpeg/libavcodec/arm/dsputil_init_armv6.c')
-rw-r--r-- | chromium/third_party/ffmpeg/libavcodec/arm/dsputil_init_armv6.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/chromium/third_party/ffmpeg/libavcodec/arm/dsputil_init_armv6.c b/chromium/third_party/ffmpeg/libavcodec/arm/dsputil_init_armv6.c index 8f383025a25..17d55eaac72 100644 --- a/chromium/third_party/ffmpeg/libavcodec/arm/dsputil_init_armv6.c +++ b/chromium/third_party/ffmpeg/libavcodec/arm/dsputil_init_armv6.c @@ -20,53 +20,55 @@ #include <stdint.h> +#include "libavutil/attributes.h" #include "libavcodec/avcodec.h" +#include "libavcodec/dsputil.h" +#include "libavcodec/mpegvideo.h" #include "dsputil_arm.h" void ff_simple_idct_armv6(int16_t *data); void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data); -void ff_add_pixels_clamped_armv6(const int16_t *block, - uint8_t *restrict pixels, +void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels, int line_size); void ff_get_pixels_armv6(int16_t *block, const uint8_t *pixels, int stride); void ff_diff_pixels_armv6(int16_t *block, const uint8_t *s1, const uint8_t *s2, int stride); -int ff_pix_abs16_armv6(void *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h); -int ff_pix_abs16_x2_armv6(void *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_x2_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h); -int ff_pix_abs16_y2_armv6(void *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_y2_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h); -int ff_pix_abs8_armv6(void *s, uint8_t *blk1, uint8_t *blk2, - int line_size, int h); +int ff_pix_abs8_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, + int line_size, int h); -int ff_sse16_armv6(void *s, uint8_t *blk1, uint8_t *blk2, +int ff_sse16_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h); int ff_pix_norm1_armv6(uint8_t *pix, int line_size); int ff_pix_sum_armv6(uint8_t *pix, int line_size); -av_cold void ff_dsputil_init_armv6(DSPContext *c, AVCodecContext *avctx) +av_cold void ff_dsputil_init_armv6(DSPContext *c, AVCodecContext *avctx, + unsigned high_bit_depth) { - const int high_bit_depth = 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_SIMPLEARMV6)) { - c->idct_put = ff_simple_idct_put_armv6; - c->idct_add = ff_simple_idct_add_armv6; - c->idct = ff_simple_idct_armv6; - c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM; + if (!avctx->lowres && !high_bit_depth) { + if (avctx->idct_algo == FF_IDCT_AUTO || + avctx->idct_algo == FF_IDCT_SIMPLEARMV6) { + c->idct_put = ff_simple_idct_put_armv6; + c->idct_add = ff_simple_idct_add_armv6; + c->idct = ff_simple_idct_armv6; + c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM; + } } + c->add_pixels_clamped = ff_add_pixels_clamped_armv6; if (!high_bit_depth) c->get_pixels = ff_get_pixels_armv6; - c->add_pixels_clamped = ff_add_pixels_clamped_armv6; c->diff_pixels = ff_diff_pixels_armv6; c->pix_abs[0][0] = ff_pix_abs16_armv6; |