1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

258 Commits

Author SHA1 Message Date
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
Carl Eugen Hoyos
3323c5f353 Remove a few occurences of "long long" from the libraries. 2015-06-13 09:28:41 +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
ebe919cce2 postproc/postprocess_template: Compute packedYScale and QPCorrecture without floats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 00:59:34 +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
cbe27006ce postproc: Made QP, nonBQP, and pQPb arrays
Also pulled QP initialization out of inner loop, which removed some redundent code.

Added some dummy fields to PPContext to allow current code to work while
changing the rest of the postprocessing code to support the arrays.

I also increased alignment requirements for some fields in the PPContext struct to
support future avx2 code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 23:59:03 +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
Tucker DiNapoli
303c3dada2 postproc: Removed unecessary if/else branch when getting QP.
There's still an if, as QP needs to be modified if isColor=0, but it
still removes a unecessary branch.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:49:12 +01:00
Michael Niedermayer
83020f8978 postproc/postprocess_template: split 2nd blockgroup loop out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:41:41 +01:00
Michael Niedermayer
d9e3fe8c22 postproc/postprocess_template: split first part of block loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:33:16 +01:00
Michael Niedermayer
2a9b9579ab postproc/postprocess_template: Move QP initialization down
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:24:46 +01:00
Michael Niedermayer
330113b032 postproc/postprocess_template: Remove dead code and comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:22:43 +01:00
Michael Niedermayer
fc90d1502a bpostproc/postprocess_template: drop avoidable #ifdef
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:16:07 +01:00
Michael Niedermayer
93f4538363 postproc/postprocess_template: split loop in 2 (block groups of 4, blocks)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:15:58 +01: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
1d3c87d6cd postprocess: add YUV 4:4:0 support
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
3c4fc6a782 postproc/postprocess_template: mark unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 17:49:55 +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
7f8d28f686 postproc: Replace CLIP by av_clip_uint8
drop "#define CLIP av_clip_uint8"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 02:52:52 +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
97f8c7a03e bump libpostproc and libswresample
this is needed / avoids some headaches  as one of their dependancies
(libavutil) was bumped

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:17:02 +02:00
Carl Eugen Hoyos
a19bcf4ee8 Fix libpostproc compilation with !HAVE_6REGS. 2014-04-24 17:50:02 +02:00
Matt Oliver
8236747511 Automatically change MANGLE() into named inline asm operands when direct symbol reference in inline asm are not supported.
This is part of the patch-set for intel C inline asm on windows support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 23:39:30 +01: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
James Almer
56572787ae Add Windows resource file support for shared libraries
Originally written by James Almer <jamrial@gmail.com>

With the following contributions by Timothy Gu <timothygu99@gmail.com>

* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
  file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.

[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 23:42:07 +01:00
Michael Niedermayer
78d2d1e027 postprocess_template: put rsp on the clobber list to prevent gcc from using it in "q"
Fixes Ticket2675

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 18:21:39 +02:00
Michael Niedermayer
1d3476f258 postproc/postprocess_template: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:39:58 +02: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
Michael Niedermayer
a2f7314ba2 libpostproc: silence valgrind/fate warning about using uninitialized data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 21:48:45 +01:00
Carl Eugen Hoyos
7a259a5fcd Fix libpostproc compilation on x86_32 with disable-optimizations. 2013-02-09 15:03:04 +01: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