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 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
