diff options
author | Roland Scheidegger <rscheidegger_lists@hispeed.ch> | 2012-04-27 22:19:39 +0200 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2012-04-28 09:43:25 -0700 |
commit | 9b9df1cdff149db5bbe6726b236934c5b5fbe21d (patch) | |
tree | b9c6d51cc923f003b05a51af7337ad048c426982 /libavcodec/h264_cabac.c | |
parent | 14e9ffc1e41424a530c83310611979c0d246417b (diff) | |
download | ffmpeg-9b9df1cdff149db5bbe6726b236934c5b5fbe21d.tar.gz |
h264: new assembly version of get_cabac for x86_64 with PIC
This adds a hand-optimized assembly version for get_cabac much like the
existing one, but it works if the table offsets are RIP-relative.
Compared to the non-RIP-relative version this adds 2 lea instructions
and it needs one extra register. get_cabac() gets about 40% faster, for
an overall speedup of about 5%.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diffstat (limited to 'libavcodec/h264_cabac.c')
-rw-r--r-- | libavcodec/h264_cabac.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/h264_cabac.c b/libavcodec/h264_cabac.c index f27e72faf0..08a6a5b15d 100644 --- a/libavcodec/h264_cabac.c +++ b/libavcodec/h264_cabac.c @@ -1652,7 +1652,7 @@ decode_cabac_residual_internal(H264Context *h, DCTELEM *block, index[coeff_count++] = last;\ } const uint8_t *sig_off = significant_coeff_flag_offset_8x8[MB_FIELD]; -#if ARCH_X86 && HAVE_7REGS && !defined(BROKEN_RELOCATIONS) +#if ARCH_X86 && HAVE_7REGS coeff_count= decode_significance_8x8_x86(CC, significant_coeff_ctx_base, index, last_coeff_ctx_base, sig_off); } else { |