Commit Graph

129 Commits

Author SHA1 Message Date
Andreas Rheinhardt 1f0948272a postproc/postprocess: Remove obsolete MMX(EXT)/3Dnow functions
postprocess.c currently has C, MMX, MMXEXT, 3DNow as well as
SSE2 versions of its internal functions. But given that only
ancient 32-bit x86 CPUs don't support SSE2, the MMX, MMXEXT
and 3DNow versions are obsolete and are therefore removed by
this commit. This saves about 56KB here.

(The SSE2 version in particular is not really complete,
so that it often falls back to MMXEXT (which means that
there were some identical (apart from the name) MMXEXT
and SSE2 functions; this duplication no longer exists
with this commit.)

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-09 17:38:24 +01:00
Andreas Rheinhardt f2b79c5b85 lib*/version: Move library version functions into files of their own
This avoids having to rebuild big files every time FFMPEG_VERSION
changes (which it does with every commit).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-05-10 06:49:32 +02:00
Martin Storsjö 0f8b0b9ce2 libpostproc: Split version.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-16 14:05:26 +02:00
Andreas Rheinhardt 69f120ead7 avcodec/avcodec: Don't include cpu.h
It is not used here at all; instead, add it where it is used without
including it or any of the arch-specific CPU headers.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-07-22 12:59:07 +02:00
Andreas Rheinhardt cc2a9509ce libavcodec, libpostproc: Remove outcommented START/STOP_TIMER
as well as includes of libavutil/timer.h.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-14 18:24:04 +01:00
Carl Eugen Hoyos 96fab29e96 Silence "string-plus-int" warning shown by clang.
libswscale/utils.c:89:42: warning: adding 'unsigned long' to a string does not append to the string [-Wstring-plus-int]
2020-01-06 22:38:56 +01:00
James Almer 2b7da70a70 postproc: remove usage of deprecated QP_STORE_T define
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-30 14:44:27 -03:00
Clément Bœsch 172b0e2e88 Merge commit 'ea7ee4b4e381e0fa731458de0cbf740430eeb013'
* commit 'ea7ee4b4e381e0fa731458de0cbf740430eeb013':
  ppc: Centralize compiler-specific altivec.h #include handling in one place

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:23:28 +02:00
Carl Eugen Hoyos 2aa21eec1a postproc: fix unaligned access
Based on 59074310 by Andreas Cadhalpun.
Fixes ticket #5259.
2016-02-23 15:50:28 +01:00
Andreas Cadhalpun 590743101d postproc: fix unaligned access
QP_store is only 8-bit-aligned, so accessing it as uint32_t causes
SIGBUS crashes on sparc.
The AV_RN32/AV_WN32 macros only do unaligned access in the
HAVE_FAST_UNALIGNED case.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-19 01:47:59 +02:00
Michael Niedermayer 6f51674c91 postproc: Avoid floats in maxClipped computation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 01:40:12 +02:00
Michael Niedermayer 07cb6bf985 postproc/postprocess: Use size_t to hold strlen()s value
This should make no difference but its more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 16:28:37 +02:00
Tucker DiNapoli 6264b6227c postproc: Replaced inline asm for prefetching with prefetch functions
Prefetching functions are defined in postprocess_template using the
RENAME macro so that prefetching is used when available. For x86
targets inline asm is used and the functions are non-empty only for
cpus where prefetching is available. For non x86 targets the gcc bultin
prefetch is used if it is available, otherwise no prefetching is done.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 23:32:35 +02:00
Michael Niedermayer 78cd9c5671 postproc: mark alloc/free context functions as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:15:31 +01:00
Michael Niedermayer f9d24ee1dc postproc/postprocess: Check for av_malloc() failure
Fixes CID1271052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:19:05 +01:00
Michael Niedermayer ac424b23e4 postproc/postprocess: Check for av_mallocz() failure
Fixes CID1271050

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:11:08 +01:00
Michael Niedermayer 45e0aa46ca postproc/postprocess: use av_mallocz()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:09:47 +01:00
Michael Niedermayer 649c158e8c Add FFMPEG_VERSION into the binary libs
This simplifies identifying from which revision a binary of a lib came from

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 19:32:40 +01:00
Michael Niedermayer 0b7e5d0d75 postproc: fix qp count
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 16:12:30 +02:00
Michael Niedermayer 7a11333387 libpostproc: support grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:55:36 +02:00
Michael Niedermayer 941aaa39e8 postproc/postprocess: fix quant store for fq mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
Michael Niedermayer ac682955e9 postproc: add basic deblock filter visualization support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 16:58:47 +02:00
Michael Niedermayer bd68909753 postprocess: prefetch* dont change anything, thus their arguments should be const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 17:42:10 +02:00
Michael Niedermayer 5ccd08d26d postproc/postprocess: Avoid some ifs in do_a_deblock_C()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 17:00:15 +02:00
Michael Niedermayer 5a9ca68e15 postproc/postprocess: remove redundant casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:11:37 +02:00
Michael Niedermayer 859d7d4640 postproc/postprocess: Use FF_ARRAY_ELEMS() in pp_free_context() instead of hard-coding their size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:10:18 +02:00
Michael Niedermayer d9b141c05f postproc/postprocess: Remove unused argument from reallocAlign()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:08:44 +02:00
Michael Niedermayer 9e8be46252 postproc/postprocess: use av_strtok()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer 921caf6203 postprocess: make some variables in pp_get_mode_by_name_and_quality() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer 44dabf1f42 postproc: simplify forwarding return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer 9f9ebe631d libpostproc/postprocess: avoid some if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer bb8b752553 postproc: use FFMIN/FFMAX where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 03:50:46 +02:00
Reimar Döffinger d9e2aceb7f Add missing "const" all over the place.
Only "./configure --enable-gpl" on x86 was tested.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-29 18:57:25 +02:00
Michael Niedermayer 81a663f49e Drop remaining unneeded != NULL
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer f6173fed60 postproc: fix null pointer dereference with invalid option strings
Fixes CID1135760
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 22:28:42 +01:00
Clément Bœsch 8da1fff85a lavfi/pp: switch to an AVOptions-based system.
Also add and use the '|' separator instead of ':' since it's
incompatible with the new option system...
2013-04-10 23:16:03 +02:00
Clément Bœsch 518239cd61 build: postproc cleanup.
This reverts 79f80f5c, moves postproc along with the other libraries,
and fix the postproc dependency to libavutil.
2012-12-30 02:27:52 +01:00
Michael Niedermayer 9e04e11e83 libpostproc: alloc a few bytes more in the temporary buffer
This avoids dering reading 4 bytes prior the buffer (1 byte can
be used)

Fixes Ticket2057

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 02:47:25 +01:00
Michael Niedermayer f9d8658d67 libpostproc: fix leak of 2kb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 04:55:14 +01:00
Clément Bœsch 4e264d1c79 pp: add support for SSE2. 2012-11-18 16:21:59 +01:00
Clément Bœsch 59d686f100 pp: add auto detection cpu flag. 2012-11-18 16:21:59 +01:00
Clément Bœsch e034b07e40 pp: add various const for pointers. 2012-11-18 16:20:09 +01:00
Clément Bœsch c6945228e8 pp: simplify postProcess(). 2012-11-16 23:13:36 +01:00
Clément Bœsch 375cd3f2ec pp: rework the way templating is done.
This refactoring simplifies the usage of the template: define the
profile and include the template is all that is required. It should now
be easier to add more instruction sets.

The HAVE_* flags are changed with TEMPLATE_PP_* setting to avoid messing
them up.

See the top comment in postprocess_template.c for details.
2012-11-16 23:13:36 +01:00
Derek Buitenhuis e20ac54f3e postproc: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 20:12:14 +02:00
XhmikosR 08bd8c8ab3 rename the remaining instances of HAVE_MMX2 to HAVE_MMXEXT
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 17:47:25 +02:00
Michael Niedermayer 561a365dca pp: check that the argument is not NULL as this is not supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 19:14:21 +02:00
Michael Niedermayer 234d42f53b postprocess: fix another void returning void function.
lets hope this makes suncc happy finally ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 18:26:16 +02:00
Michael Niedermayer 7f80afe0a7 libpostproc: add bitexact mode, which is needed for regression testing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-29 02:05:54 +01:00