On Mon, Jul 14, 2014 at 04:41:56PM +0100, Ben Avison wrote:
> On Fri, 11 Jul 2014 21:47:25 +0100, Diego Biurrun <[email protected]> wrote:
> >All this duplication could be avoided by adding a CONFIG_EXTRA entry in
> >configure and having the relevant bits depend on it.
> 
> I don't really know anything about configure scripts, but I'm hazarding a
> guess that you mean replacing it with
> 
> OBJS-$(CONFIG_STARTCODE}       += startcode.o
> 
> ARMV6-OBJS-$(CONFIG_STARTCODE} += arm/startcode_armv6.o
> 
> and then adding "startcode" to the following lines in configure:
> 
> h264_decoder_select
> h264_parser_select
> vc1_decoder_select
> vc1_parser_select
> 
> Is that right?

Yes, exactly.

> >> av_cold void ff_vc1dsp_init_arm(VC1DSPContext *dsp)
> >> {
> >>     int cpu_flags = av_get_cpu_flags();
> >>
> >>+    if (have_armv6(cpu_flags) && !(have_vfpv3(cpu_flags) || 
> >>have_neon(cpu_flags))) {
> >>+        // This function uses the 'setend' instruction which is deprecated
> >>+        // on ARMv8. This instruction is serializing on some ARMv7 cores as
> >>+        // well. Therefore, only use the function on ARMv6.
> >>+        dsp->vc1_find_start_code_candidate = 
> >>ff_startcode_find_candidate_armv6;
> >
> >Maybe it's time to add a macro for this case to libavutil/arm/cpu.h, it
> >seems to get reused in multiple places already.
> 
> That wasn't in the original patch series of course. I noticed the recent
> thread where the test was tightened up due to concerns about SETEND and
> copied the further restrictions.

Something like have_fast_setend or have_setend should not be hard to
cook up, but I cannot test it.

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

Reply via email to