On Wed, 31 Jul 2013, Ben Avison wrote:

Here's another patch series, this time aimed at accelerating the
playback of MPEG transport streams (including BluRay ISOs). I was
primarily targeting the ARM11 again (ARMv6) but in practice most of
these are actually cross-platform optimisations.

Benchmarks are given for Raspberry Pi (ARM1176JZF-S), measuring an
avconv command with arguments
 -f null -vcodec copy -acodec copy
The patch series as a whole shows a speedup of 29%.

I realise that there may be some question over whether I've put the
new h264_find_start_code_candidate function pointer in the right
place, or whether it's actually a bug that there are two
H264DSPContext structs, but I'm sure there will be discussion on
those points if so.

Ben Avison (6):
 Add missing h264dsp initialisation call
 New h264dsp method, h264_find_start_code_candidate
 arm: Add assembly version of h264_find_start_code_candidate
 Remove one 64-bit integer modulus operation per MPEGTS packet
 Remove one memcpy per MPEGTS packet
 Made discard_pid() faster for single-program MPEGTS streams

libavcodec/arm/Makefile           |    1 +
libavcodec/arm/h264dsp_armv6.S    |  251 +++++++++++++++++++++++++++++++++++++
libavcodec/arm/h264dsp_init_arm.c |    4 +
libavcodec/h264_parser.c          |   28 +----
libavcodec/h264dsp.c              |   29 +++++
libavcodec/h264dsp.h              |    9 ++
libavformat/avio.h                |   15 +++
libavformat/aviobuf.c             |   12 ++
libavformat/mpegts.c              |   58 +++++++--
9 files changed, 369 insertions(+), 38 deletions(-)
create mode 100644 libavcodec/arm/h264dsp_armv6.S

--
1.7.5.4

FWIW, with the missing thumb 'it' instructions added, this seems to build in most of my 'tricky' arm build setups, and passes fate-h264 even when processed by gas-preprocessor.pl. (With the previous patchset I ran into a few missing features in gas-preprocessor.pl that I had to fix.)

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to