summaryrefslogtreecommitdiff
path: root/libavcodec/arm/h264dsp_init_arm.c
diff options
context:
space:
mode:
authorBen Avison <bavison@riscosopen.org>2013-08-05 13:12:48 +0100
committerMartin Storsjö <martin@martin.st>2013-08-08 12:08:34 +0300
commit45e10e5c8d3df09c80a4d80483bff2712367f3fa (patch)
treea2969ab18ca59c9c0bbe15deecaa2c90d84322a2 /libavcodec/arm/h264dsp_init_arm.c
parent218d6844b37d339ffbf2044ad07d8be7767e2734 (diff)
arm: Add assembly version of h264_find_start_code_candidate
Before After Mean StdDev Mean StdDev Change This function 508.8 23.4 185.4 9.0 +174.4% Overall 3068.5 31.7 2752.1 29.4 +11.5% In combination with the preceding patch: Before After Mean StdDev Mean StdDev Change Overall 2925.6 26.2 2752.1 29.4 +6.3% Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/arm/h264dsp_init_arm.c')
-rw-r--r--libavcodec/arm/h264dsp_init_arm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/arm/h264dsp_init_arm.c b/libavcodec/arm/h264dsp_init_arm.c
index bb8b3b98b6..b206a1b3ba 100644
--- a/libavcodec/arm/h264dsp_init_arm.c
+++ b/libavcodec/arm/h264dsp_init_arm.c
@@ -24,6 +24,8 @@
#include "libavutil/arm/cpu.h"
#include "libavcodec/h264dsp.h"
+int ff_h264_find_start_code_candidate_armv6(const uint8_t *buf, int size);
+
void ff_h264_v_loop_filter_luma_neon(uint8_t *pix, int stride, int alpha,
int beta, int8_t *tc0);
void ff_h264_h_loop_filter_luma_neon(uint8_t *pix, int stride, int alpha,
@@ -102,6 +104,8 @@ av_cold void ff_h264dsp_init_arm(H264DSPContext *c, const int bit_depth,
{
int cpu_flags = av_get_cpu_flags();
+ if (have_armv6(cpu_flags))
+ c->h264_find_start_code_candidate = ff_h264_find_start_code_candidate_armv6;
if (have_neon(cpu_flags))
h264dsp_init_neon(c, bit_depth, chroma_format_idc);
}