[FFmpeg-devel] [PATCH] intreadwrite: Altivec implementations of AV_COPY128 and AV_ZERO128.

Michael Niedermayer michaelni at gmx.at
Sun Mar 8 22:37:53 CET 2015


On Sun, Mar 08, 2015 at 09:59:21PM +0100, Reimar Döffinger wrote:
> On Sun, Mar 08, 2015 at 08:44:50PM +0100, Michael Niedermayer wrote:
> > On Sun, Mar 08, 2015 at 07:43:29PM +0100, Reimar Döffinger wrote:
> > > On 08.03.2015, at 19:34, Michael Niedermayer <michaelni at gmx.at> wrote:
> > > > On Sun, Mar 08, 2015 at 05:16:43PM +0100, Reimar Döffinger wrote:
> > > >> Slightly (ca. 4%?) faster and smaller ff_h264_decode_mb_cavlc
> > > >> in my tests on a G4 7450.
> > > >> 
> > > >> Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
> > > > 
> > > > breaks build:
> > > > CC      libavcodec/aliaspixdec.o
> > > > libavcodec/aliaspixdec.c: In function ‘decode_frame’:
> > > > libavcodec/aliaspixdec.c:35:75: error: expected identifier or ‘(’ before ‘unsigned’
> > > 
> > > What compiler/os/... is this? I only tried on Linux, not OSX for example. Though maybe I just messed up the merge, sorry my PPC machine doesn't have email.
> > 
> > gcc 4.6 (Debian 4.6.3-14)
> > 
> > the problem is the "pixel" identifer, renaming it make it build the
> > affected file
> 
> Hm, I don't have that issue with 4.9.
> I guess something's broken with the altivec header?
> Looking at the 4.9 version a #undef pixel right after
> the altivec.h include might fix it?
> Assuming we don't actually use it anywhere as an altivec
> keyword.

your patch with #undef pixel added after the include:

CC      libavcodec/dss_sp.o
libavcodec/dss_sp.c: In function ‘dss_sp_gen_exc’:
libavcodec/dss_sp.c:473:1: error: parameter name omitted
libavcodec/dss_sp.c:482:13: error: expected expression before ‘__attribute__’
libavcodec/dss_sp.c:485:13: error: expected expression before ‘__attribute__’
libavcodec/dss_sp.c:488:26: error: expected expression before ‘__attribute__’
libavcodec/dss_sp.c:489:43: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/dss_sp.c:488:13: warning: unused variable ‘tmp’ [-Wunused-variable]
libavcodec/dss_sp.c: In function ‘dss_sp_update_buf’:
libavcodec/dss_sp.c:505:1: error: parameter name omitted
libavcodec/dss_sp.c:510:9: error: expected expression before ‘__attribute__’
libavcodec/dss_sp.c:513:9: error: expected expression before ‘__attribute__’
libavcodec/dss_sp.c: In function ‘dss_sp_decode_one_frame’:
libavcodec/dss_sp.c:720:24: warning: passing argument 1 of ‘dss_sp_gen_exc’ from incompatible pointer type [enabled by default]
libavcodec/dss_sp.c:473:13: note: expected ‘__vector(4) int *’ but argument is of type ‘int32_t *’
libavcodec/dss_sp.c:724:9: warning: passing argument 2 of ‘dss_sp_update_buf’ from incompatible pointer type [enabled by default]
libavcodec/dss_sp.c:505:13: note: expected ‘__vector(4) int *’ but argument is of type ‘int32_t *’
make: *** [libavcodec/dss_sp.o] Error 1
CC      libavcodec/eatgv.o
libavcodec/eatgv.c: In function ‘tgv_decode_inter’:
libavcodec/eatgv.c:226:61: error: expected identifier or ‘(’ before ‘=’ token
libavcodec/eatgv.c:230:17: error: expected expression before ‘__attribute__’
libavcodec/eatgv.c:231:49: error: expected expression before ‘__attribute__’
libavcodec/eatgv.c:232:49: error: expected expression before ‘__attribute__’
libavcodec/eatgv.c:243:30: error: expected expression before ‘__attribute__’
make: *** [libavcodec/eatgv.o] Error 1
CC      libavcodec/g723_1.o
libavcodec/g723_1.c: In function ‘scale_vector’:
libavcodec/g723_1.c:249:1: error: parameter name omitted
libavcodec/g723_1.c:255:57: error: expected expression before ‘>=’ token
libavcodec/g723_1.c:255:57: warning: type defaults to ‘int’ in type name [enabled by default]
libavcodec/g723_1.c:255:57: error: variable length array is used [-Werror=vla]
libavcodec/g723_1.c:261:18: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c: In function ‘gen_dirac_train’:
libavcodec/g723_1.c:445:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:448:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:448:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:451:27: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c: In function ‘gen_fcb_excitation’:
libavcodec/g723_1.c:464:1: error: parameter name omitted
libavcodec/g723_1.c:469:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:469:12: error: too few arguments to function ‘memset’
libavcodec/g723_1.c:484:51: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:487:51: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:494:29: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:494:29: error: too few arguments to function ‘gen_dirac_train’
libavcodec/g723_1.c:443:13: note: declared here
libavcodec/g723_1.c:504:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:504:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
libavcodec/g723_1.c:516:17: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:500:21: warning: variable ‘beta’ set but not used [-Wunused-but-set-variable]
libavcodec/g723_1.c:500:13: warning: variable ‘offset’ set but not used [-Wunused-but-set-variable]
libavcodec/g723_1.c:496:13: warning: unused variable ‘cb_gain’ [-Wunused-variable]
libavcodec/g723_1.c: In function ‘gen_acb_excitation’:
libavcodec/g723_1.c:546:1: error: parameter name omitted
libavcodec/g723_1.c:569:43: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:569:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
libavcodec/g723_1.c:555:9: warning: variable ‘sum’ set but not used [-Wunused-but-set-variable]
libavcodec/g723_1.c: In function ‘comp_interp_index’:
libavcodec/g723_1.c:756:5: warning: passing argument 2 of ‘scale_vector’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:249:12: note: expected ‘const __vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c: In function ‘formant_postfilter’:
libavcodec/g723_1.c:922:9: warning: passing argument 2 of ‘scale_vector’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:249:12: note: expected ‘const __vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c: In function ‘generate_noise’:
libavcodec/g723_1.c:1075:28: warning: passing argument 1 of ‘gen_acb_excitation’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:546:13: note: expected ‘__vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c:1079:28: warning: passing argument 1 of ‘gen_acb_excitation’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:546:13: note: expected ‘__vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c: In function ‘g723_1_decode_frame’:
libavcodec/g723_1.c:1215:36: warning: passing argument 1 of ‘gen_fcb_excitation’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:464:13: note: expected ‘__vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c:1218:36: warning: passing argument 1 of ‘gen_acb_excitation’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:546:13: note: expected ‘__vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c: In function ‘comp_autocorr’:
libavcodec/g723_1.c:1404:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:1406:18: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1406:18: error: too few arguments to function ‘scale_vector’
libavcodec/g723_1.c:249:12: note: declared here
libavcodec/g723_1.c:1410:9: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1413:27: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1413:27: error: too few arguments to function ‘ff_dot_product’
libavcodec/celp_math.h:85:9: note: declared here
libavcodec/g723_1.c:1428:34: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1428:34: error: too few arguments to function ‘ff_dot_product’
libavcodec/celp_math.h:85:9: note: declared here
libavcodec/g723_1.c: In function ‘levinson_durbin’:
libavcodec/g723_1.c:1445:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:1471:16: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1471:16: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:1473:35: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c: In function ‘perceptual_filter’:
libavcodec/g723_1.c:1672:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:1676:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1676:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:1677:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1677:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:1687:229: error: expected ‘)’ before ‘+’ token
libavcodec/g723_1.c:1687:233: error: expected expression before ‘[’ token
libavcodec/g723_1.c:1687:233: warning: type defaults to ‘int’ in type name [enabled by default]
libavcodec/g723_1.c:1687:379: error: expected ‘)’ before ‘+’ token
libavcodec/g723_1.c:1687:383: error: expected expression before ‘[’ token
libavcodec/g723_1.c:1687:383: warning: type defaults to ‘int’ in type name [enabled by default]
libavcodec/g723_1.c:1692:24: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:1692:24: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c: In function ‘g723_1_encode_frame’:
libavcodec/g723_1.c:2347:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/g723_1.c:2360:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2360:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2361:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2361:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2363:20: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2363:20: error: too few arguments to function ‘comp_lpc_coeff’
libavcodec/g723_1.c:1487:13: note: declared here
libavcodec/g723_1.c:2368:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2369:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2370:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2371:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2374:16: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2374:16: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2376:49: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2378:16: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2378:16: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2379:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2379:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2380:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2380:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2382:18: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2382:18: error: too few arguments to function ‘scale_vector’
libavcodec/g723_1.c:249:12: note: declared here
libavcodec/g723_1.c:2384:38: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2384:38: error: too few arguments to function ‘estimate_pitch’
libavcodec/g723_1.c:1701:12: note: declared here
libavcodec/g723_1.c:2385:38: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2385:38: error: too few arguments to function ‘estimate_pitch’
libavcodec/g723_1.c:1701:12: note: declared here
libavcodec/g723_1.c:2388:29: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2388:29: error: too few arguments to function ‘comp_harmonic_coeff’
libavcodec/g723_1.c:1774:13: note: declared here
libavcodec/g723_1.c:2390:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2390:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2391:12: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2391:12: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2392:32: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2392:32: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2395:33: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2395:33: error: too few arguments to function ‘harmonic_filter’
libavcodec/g723_1.c:1847:13: note: declared here
libavcodec/g723_1.c:2414:16: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2414:16: error: too few arguments to function ‘memset’
libavcodec/g723_1.c:2419:50: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2419:50: error: too few arguments to function ‘synth_percept_filter’
libavcodec/g723_1.c:1877:13: note: declared here
libavcodec/g723_1.c:2420:33: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2420:33: error: too few arguments to function ‘harmonic_filter’
libavcodec/g723_1.c:1847:13: note: declared here
libavcodec/g723_1.c:2428:48: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2428:48: error: too few arguments to function ‘synth_percept_filter’
libavcodec/g723_1.c:1877:13: note: declared here
libavcodec/g723_1.c:2429:16: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2429:16: error: too few arguments to function ‘memcpy’
libavcodec/g723_1.c:2430:36: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2430:36: error: too few arguments to function ‘harmonic_noise_sub’
libavcodec/g723_1.c:1857:13: note: declared here
libavcodec/g723_1.c:2434:28: warning: passing argument 1 of ‘gen_acb_excitation’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:546:13: note: expected ‘__vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c:2441:28: warning: passing argument 1 of ‘gen_acb_excitation’ from incompatible pointer type [enabled by default]
libavcodec/g723_1.c:546:13: note: expected ‘__vector(8) short int *’ but argument is of type ‘int16_t *’
libavcodec/g723_1.c:2453:34: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2453:34: error: too few arguments to function ‘synth_percept_filter’
libavcodec/g723_1.c:1877:13: note: declared here
libavcodec/g723_1.c:2456:51: error: expected expression before ‘__attribute__’
libavcodec/g723_1.c:2457:16: error: too few arguments to function ‘memcpy’
cc1: some warnings being treated as errors
make: *** [libavcodec/g723_1.o] Error 1
CC      libavcodec/svq1enc.o
libavcodec/svq1enc.c: In function ‘encode_block’:
libavcodec/svq1enc.c:143:61: error: expected identifier or ‘(’ before ‘;’ token
libavcodec/svq1enc.c:149:52: error: expected identifier or ‘(’ before ‘=’ token
libavcodec/svq1enc.c:150:44: error: expected expression before ‘__attribute__’
libavcodec/svq1enc.c:150:44: error: too few arguments to function ‘s->ssd_int8_vs_int16’
libavcodec/svq1enc.c:164:48: error: expected identifier or ‘(’ before ‘=’ token
libavcodec/svq1enc.c:164:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
libavcodec/svq1enc.c:166:57: error: expected expression before ‘__attribute__’
libavcodec/svq1enc.c:100:34: warning: variable ‘codebook’ set but not used [-Wunused-but-set-variable]
make: *** [libavcodec/svq1enc.o] Error 1
CC      libavcodec/truespeech.o
libavcodec/truespeech.c:42:47: error: expected identifier or ‘(’ before ‘[’ token
libavcodec/truespeech.c: In function ‘truespeech_read_frame’:
libavcodec/truespeech.c:85:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:86:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:87:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:88:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:89:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:90:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:91:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:92:10: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c: In function ‘truespeech_correlate_filter’:
libavcodec/truespeech.c:135:59: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:138:37: error: expected identifier before ‘__attribute__’
libavcodec/truespeech.c:143:25: error: expected identifier before ‘__attribute__’
make: *** [libavcodec/truespeech.o] Error 1
CC      libavcodec/xan.o
libavcodec/xan.c: In function ‘xan_wc3_decode_frame’:
libavcodec/xan.c:433:13: warning: useless type name in empty declaration [enabled by default]
libavcodec/xan.c:439:48: error: expected identifier or ‘(’ before ‘=’ token
libavcodec/xan.c:439:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
libavcodec/xan.c:440:36: error: expected expression before ‘__attribute__’
libavcodec/xan.c:440:36: error: too few arguments to function ‘sign_extend’
libavcodec/mathops.h:139:42: note: declared here
libavcodec/xan.c:441:36: error: expected expression before ‘__attribute__’
libavcodec/xan.c:441:36: error: too few arguments to function ‘sign_extend’
libavcodec/mathops.h:139:42: note: declared here
make: *** [libavcodec/xan.o] Error 1
make: Target `all' not remade because of errors.



> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The misfortune of the wise is better than the prosperity of the fool.
-- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150308/c2a29828/attachment.asc>


More information about the ffmpeg-devel mailing list