mpegts: Remove one memcpy per packet
authorBen Avison <bavison@riscosopen.org>
Wed, 31 Jul 2013 22:46:08 +0000 (23:46 +0100)
committerMartin Storsjö <martin@martin.st>
Mon, 5 Aug 2013 12:14:31 +0000 (15:14 +0300)
commitcabb1681697555e2c319c37c1f30f149207e9434
treef0e6c8bbb1ed4469eb5278342875cbb58253d1bb
parentdaf1e0d3de03bd424016e2a7520e4e94ece5c0ac
mpegts: Remove one memcpy per packet

This was being performed to ensure that a complete packet was held in
contiguous memory, prior to parsing the packet. However, the source buffer
is typically large enough that the packet was already contiguous, so it is
beneficial to return the packet by reference in most cases.

         Before          After
         Mean   StdDev   Mean   StdDev  Change
memcpy    720.7  32.7     649.8  25.1   +10.9%
Overall  2372.7  46.1    2291.7  21.8    +3.5%

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/mpegts.c