diff options
author | Ben Avison <bavison@riscosopen.org> | 2014-07-21 16:25:48 +0100 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2014-08-04 22:22:54 +0200 |
commit | db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8 (patch) | |
tree | d5d872aa5916ca99645f2373f053c15a773af30a /libavcodec/arm | |
parent | eee813eec7d3c0b0689f80665d3f796401742935 (diff) | |
download | ffmpeg-db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8.tar.gz |
h264: Move start code search functions into separate source files.
This permits re-use with parsers for codecs which use similar start codes.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavcodec/arm')
-rw-r--r-- | libavcodec/arm/Makefile | 2 | ||||
-rw-r--r-- | libavcodec/arm/h264dsp_init_arm.c | 5 | ||||
-rw-r--r-- | libavcodec/arm/startcode.h | 26 | ||||
-rw-r--r-- | libavcodec/arm/startcode_armv6.S (renamed from libavcodec/arm/h264dsp_armv6.S) | 4 |
4 files changed, 31 insertions, 6 deletions
diff --git a/libavcodec/arm/Makefile b/libavcodec/arm/Makefile index 742c3ee726..6c2eb997c9 100644 --- a/libavcodec/arm/Makefile +++ b/libavcodec/arm/Makefile @@ -53,7 +53,6 @@ ARMV5TE-OBJS-$(CONFIG_VIDEODSP) += arm/videodsp_init_armv5te.o \ ARMV5TE-OBJS-$(CONFIG_MLP_DECODER) += arm/mlpdsp_armv5te.o ARMV6-OBJS-$(CONFIG_AC3DSP) += arm/ac3dsp_armv6.o -ARMV6-OBJS-$(CONFIG_H264DSP) += arm/h264dsp_armv6.o ARMV6-OBJS-$(CONFIG_HPELDSP) += arm/hpeldsp_init_armv6.o \ arm/hpeldsp_armv6.o ARMV6-OBJS-$(CONFIG_IDCTDSP) += arm/idctdsp_init_armv6.o \ @@ -65,6 +64,7 @@ ARMV6-OBJS-$(CONFIG_MPEGVIDEOENC) += arm/mpegvideoencdsp_armv6.o ARMV6-OBJS-$(CONFIG_PIXBLOCKDSP) += arm/pixblockdsp_armv6.o ARMV6-OBJS-$(CONFIG_MLP_DECODER) += arm/mlpdsp_armv6.o +ARMV6-OBJS-$(CONFIG_STARTCODE) += arm/startcode_armv6.o ARMV6-OBJS-$(CONFIG_VP7_DECODER) += arm/vp8_armv6.o \ arm/vp8dsp_init_armv6.o \ arm/vp8dsp_armv6.o diff --git a/libavcodec/arm/h264dsp_init_arm.c b/libavcodec/arm/h264dsp_init_arm.c index 7cb1312c2b..7afd350890 100644 --- a/libavcodec/arm/h264dsp_init_arm.c +++ b/libavcodec/arm/h264dsp_init_arm.c @@ -23,8 +23,7 @@ #include "libavutil/attributes.h" #include "libavutil/arm/cpu.h" #include "libavcodec/h264dsp.h" - -int ff_h264_find_start_code_candidate_armv6(const uint8_t *buf, int size); +#include "libavcodec/arm/startcode.h" void ff_h264_v_loop_filter_luma_neon(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0); @@ -105,7 +104,7 @@ av_cold void ff_h264dsp_init_arm(H264DSPContext *c, const int bit_depth, int cpu_flags = av_get_cpu_flags(); if (have_setend(cpu_flags)) - c->h264_find_start_code_candidate = ff_h264_find_start_code_candidate_armv6; + c->startcode_find_candidate = ff_startcode_find_candidate_armv6; if (have_neon(cpu_flags)) h264dsp_init_neon(c, bit_depth, chroma_format_idc); } diff --git a/libavcodec/arm/startcode.h b/libavcodec/arm/startcode.h new file mode 100644 index 0000000000..d7996c1a4b --- /dev/null +++ b/libavcodec/arm/startcode.h @@ -0,0 +1,26 @@ +/* + * This file is part of Libav. + * + * Libav is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Libav is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_ARM_STARTCODE_H +#define AVCODEC_ARM_STARTCODE_H + +#include <stdint.h> + +int ff_startcode_find_candidate_armv6(const uint8_t *buf, int size); + +#endif /* AVCODEC_ARM_STARTCODE_H */ diff --git a/libavcodec/arm/h264dsp_armv6.S b/libavcodec/arm/startcode_armv6.S index 384ed86765..64078b2898 100644 --- a/libavcodec/arm/h264dsp_armv6.S +++ b/libavcodec/arm/startcode_armv6.S @@ -69,8 +69,8 @@ TMP3 .req lr andseq TMP3, TMP3, PATTERN .endm -/* int ff_h264_find_start_code_candidate_armv6(const uint8_t *buf, int size) */ -function ff_h264_find_start_code_candidate_armv6, export=1 +/* int ff_startcode_find_candidate_armv6(const uint8_t *buf, int size) */ +function ff_startcode_find_candidate_armv6, export=1 push {v1-v6,lr} mov PTR, BUF @ Ensure there are at least (PRELOAD_DISTANCE+2) complete cachelines to go |