Commit Graph

52 Commits

Author SHA1 Message Date
Rémi Denis-Courmont df2057041b lavu/riscv: byte-swap operations
If the target supports the Basic bit-manipulation (Zbb) extension, then
the REV8 instruction is available to reverse byte order.

Note that this instruction only exists at the "XLEN" register size,
so we need to right shift the result down to the data width.

If Zbb is not supported, then this patchset does nothing. Support for
run-time detection is left for the future. Currently, there are no
bits in auxv/ELF HWCAP for Z-extensions, so there are no clean ways to
do this.
2022-09-13 16:50:43 -03:00
Bernd Kuhls bf6c84d7eb Fix compile error on bfin.
After the removal of all Blackfin architecture optimizations in
http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b55d3bbeed375f7b74442c4dd274d116a3e3d2e1
some includes were left behind leading to a compile error:

CC      libavformat/adtsenc.o
In file included from ./libavcodec/get_bits.h:35,
                 from ./libavcodec/ac3_parser.h:27,
                 from libavformat/ac3dec.c:23:
./libavcodec/mathops.h:43:29: error: bfin/mathops.h: No such file or directory

This compile error was found by buildroot autobuild system:
http://autobuild.buildroot.net/results/ae0/ae056f267e907091d09d2a1546d6f1ae02fa23b9/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 01:54:47 +02:00
Michael Niedermayer 53e6977c07 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aarch64: bswap inline assembly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 05:23:03 +01:00
Janne Grunau d0cd2a8c46 aarch64: bswap inline assembly
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-01-14 22:19:38 +01:00
Michael Niedermayer 8bc7fe4daf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: misc consistency, spelling and wording fixes
  vcr1: drop unnecessary emms_c() calls without MMX code
  Replace all uses of av_close_input_file() with avformat_close_input().
  lavf: add avformat_close_input().
  lavf: deprecate av_close_input_stream().
  lavf doxy: add some basic demuxing documentation.
  lavf doxy: add some general lavf information.
  lavf doxy: add misc utility functions to a group.
  lavf doxy: add av_guess_codec/format to the encoding group.
  lavf doxy: add core functions to a doxy group.
  Add basic libavdevice documentation.
  lavc: convert error_recognition to err_recognition.
  avconv: update -map option help text
  x86: Require 7 registers for the cabac asm
  x86: bswap: remove test for bswap instruction
  bswap: make generic implementation more compiler-friendly
  h264: remove useless cast
  proresdec: fix decode_slice() prototype

Conflicts:
	configure
	doc/APIchanges
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/celp_math.h
	libavcodec/h264.c
	libavfilter/src_movie.c
	libavformat/anm.c
	libavformat/avformat.h
	libavformat/version.h
	libavutil/avstring.h
	libavutil/bswap.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 00:39:48 +01:00
Mans Rullgard f64c2e710f bswap: make generic implementation more compiler-friendly
With these changes, gcc 4.5 and later recognise it as a bswap
and use the proper instructions on ARM and x86.  On x86, the
16-bit bswap is recognised from gcc 4.1.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-12 12:14:14 +00:00
Diego Biurrun e610098e7b bswap.h: Remove disabled code. 2011-04-29 20:01:04 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Måns Rullgård 1fc81e73dd Make bswap.h safe to install as public API
Originally committed as revision 24171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:21:55 +00:00
Måns Rullgård 8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Måns Rullgård e6b22522c9 bswap: change ME to NE in macro names
Other parts of FFmpeg use NE (native endian) rather than ME (machine).
This makes it consistent.

Originally committed as revision 24169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:09:01 +00:00
Måns Rullgård cc6849ae50 bswap: 10L add missing parens around macro args
Originally committed as revision 23070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-09 20:32:35 +00:00
Måns Rullgård 547b7bcbb7 bswap: add macros to byteswap constants
The normal byteswap functions might use inline asm which is suboptimal
with constants (and cannot be used in static initialisers), so special
macros for constants only is needed.

We should not rely on the gcc __builtin_constant_p() test since it is
not always available.

Originally committed as revision 22990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-29 14:41:20 +00:00
Diego Biurrun ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Måns Rullgård 2ed6f39944 Replace many includes of libavutil/common.h with what is actually needed
This reduces the number of false dependencies on header files and
speeds up compilation.

Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 17:39:19 +00:00
Måns Rullgård e482c2e2fb AVR32: inline asm for bswap.h
Originally committed as revision 19664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:15:51 +00:00
Måns Rullgård 63613fe615 Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 12:20:04 +00:00
Diego Biurrun bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun 89c9ff504b spelling/grammar/consistency review part I
Originally committed as revision 16840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-28 00:16:05 +00:00
Aurelien Jacobs b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Måns Rullgård a2fc0f6a6d ARM: replace "armv4l" with "arm"
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 00:54:54 +00:00
Måns Rullgård 3a90480ac4 split bswap.h into per-arch files
Originally committed as revision 15663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 22:29:57 +00:00
Måns Rullgård e80b267536 ARM: Kill warning in bswap_32()
Originally committed as revision 15648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-20 00:03:25 +00:00
Diego Pettenò be449fca79 Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is part of the C99
standard, but while GCC accepts the former in C89 syntax, it is not
accepted in C99 unless GNU extensions are turned on (with -fasm). The
latter form is accepted in any syntax as an extension (without
requiring further command-line options).

Sun Studio C99 compiler also does not accept asm() while accepting
__asm__(), albeit reporting warnings that it's not valid C99 syntax.

Originally committed as revision 15627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-16 13:34:09 +00:00
Carl Eugen Hoyos 89493e10ef Don't include byteswap.h anymore.
Originally committed as revision 15603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-12 19:50:24 +00:00
Stefano Sabatini 987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Måns Rullgård c696a863d4 ARM: fix ARCH_ARM -> ARCH_ARMV4L test in bswap_32()
Originally committed as revision 14240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 19:06:03 +00:00
Måns Rullgård ea66f252a8 ARM: ARMv6 optimised bswap_16/32
Originally committed as revision 14239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 19:05:49 +00:00
Zuxy Meng 85074d3c93 Reapply r12489: Add pure, const and malloc attributes to proper functions
in libavutil.
Fix a compilation failure in r12489.

Originally committed as revision 12498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-19 06:17:43 +00:00
Måns Rullgård 3662d880ed 32/64-bit agnostic x86 bswap
Originally committed as revision 12496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-18 22:28:33 +00:00
Måns Rullgård 70fa2e27ec cosmetics: sanitise asm() statements in bswap.h
Originally committed as revision 12494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-18 20:52:37 +00:00
Benoit Fouet 2119bb8f51 revert r12489.
Originally committed as revision 12490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-18 16:29:47 +00:00
Zuxy Meng 6544f48f03 Pure, const and malloc attributes to libavutil.
Patch by Zuxy Meng: zuxy meng gmail com
Original thread:
[FFmpeg-devel] [PATCH] Pure, const and malloc attributes to libavutil
Date: 03/18/2008 6:09 AM

Originally committed as revision 12489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-18 15:27:15 +00:00
Diego Biurrun a087028ad8 Add #include "config.h" to headers that need it.
Originally committed as revision 12431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-13 18:04:21 +00:00
Diego Biurrun 7ce6892373 misc spelling fixes
Originally committed as revision 12410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-10 18:42:09 +00:00
Måns Rullgård 6bd859d67e check for x86 bswap instruction
Originally committed as revision 12375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 18:33:07 +00:00
Diego Biurrun 27af15dc5c prettyprinting cosmetics
Originally committed as revision 11941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 14:58:18 +00:00
Diego Biurrun 5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Diego Biurrun 224906414b Remove leading underscores from specifiers, they are reserved.
Originally committed as revision 9461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-02 17:00:04 +00:00
Måns Rullgård 99545457bf include all prerequisites in header files
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 22:59:13 +00:00
Ramiro Polla bf5d7db5a0 reorder bswap functions into bit-depth, special-casing inside the functions.
patch by Ramiro Polla ramiro lisha ufsc br

Originally committed as revision 8823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 08:20:21 +00:00
Ramiro Polla 853d15c2f8 make 2 functions "return x;" to simplify next patch
patch by Ramiro Polla ramiro lisha ufsc br

Originally committed as revision 8822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 08:15:39 +00:00
Marc Hoffman 20d45dc2a8 Faster 32 bit byteswaping code for Blackfin.
200% faster on BF537 compiled with gcc 4.1.
patch by Marc Hoffman, mmh pleasantst com

Originally committed as revision 8802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-24 23:21:29 +00:00
Måns Rullgård 849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Diego Biurrun 3cd52279c9 Use common define for x86_32 and x86_64.
Originally committed as revision 6859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 18:34:40 +00:00
Diego Biurrun 6c02f9e7ee better #endif comment
Originally committed as revision 6851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 16:59:18 +00:00
Diego Biurrun b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Diego Biurrun 04d7f60143 Add official LGPL license headers to the files that were missing them.
Originally committed as revision 6219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-10 14:02:42 +00:00
Ivan Kalvachev afe6a4a0be Use native bswap32 instruction when __CPU__ is x86_64 instead of generic 386 code.
Originally committed as revision 5049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-22 10:28:44 +00:00
Diego Biurrun bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00