Commit Graph

29616 Commits

Author SHA1 Message Date
Michael Niedermayer
b7f8d3de2c Merge commit '7835c24e19d9e1cb43fba5a02ce9d81d518f1300'
* commit '7835c24e19d9e1cb43fba5a02ce9d81d518f1300':
  dv: Update DV-profile-related functions to current public API

Conflicts:
	libavcodec/dvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 18:29:38 +02:00
Michael Niedermayer
b4d525eb63 avcodec/pnm: check buf[0] before using buf[1]
Fixes CSA warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 14:01:03 +02:00
Diego Biurrun
9f17685dfb avcodec: Deprecate unused defines and options 2014-08-03 03:24:16 -07:00
Diego Biurrun
bad81800bb avcodec: options: Add missing deprecation ifdefs around emu_edge 2014-08-03 03:24:15 -07:00
Michael Niedermayer
4fed019821 avcodec/takdec: remove unused variable
Found-by: CSA
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 11:35:25 +02:00
Michael Niedermayer
7dbc27dc1d avcodec/takdec: move tmp declaration to where its used
Makes the code a bit easier to read

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 11:34:51 +02:00
Diego Biurrun
c697c590fb lcl: Disentangle pointers to input data and decompression buffer
This is cleaner and avoids a cast plus a related const qualifier warning.
2014-08-03 01:29:43 -07:00
James Almer
d0f56ca071 x86/hevc_deblock: improve 8bit transpose store macros
Up to four instructions less depending on function and instruction set.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 04:24:15 +02:00
Clément Bœsch
ee7ee9b1b4 avcodec/mpeg12dec: fix vissible typo after 17c65651 2014-08-03 00:02:23 +02:00
Michael Niedermayer
17c6565186 avcodec/mpeg12dec: Document Ticket3809 fix
Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 23:10:23 +02:00
Michael Niedermayer
c103c48525 avcodec/error_resilience: make error an local variable where possible
This makes the code easier to understand as the scope of the variable is
smaller.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 22:04:08 +02:00
Michael Niedermayer
459996325d avcodec/error_resilience: comment out unused assignment
Its not removed as the code which uses this is out-commented too.

Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 22:01:59 +02:00
Diego Biurrun
7835c24e19 dv: Update DV-profile-related functions to current public API 2014-08-02 12:54:37 -07:00
Diego Biurrun
df507d5aa0 tiff: Replace deprecated PIX_FMT names by modern ones 2014-08-02 12:54:37 -07:00
Michael Niedermayer
d73371b58c avcodec/mmvideo: remove unused return value and assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 21:46:24 +02:00
Michael Niedermayer
08b6591cf6 avcodec/avuienc: move pointer declaration to where its used
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 20:13:08 +02:00
Michael Niedermayer
146e498c9e Merge commit 'ffa4d4ef0bd66c4e8bde7357b69bdedc78123ea8'
* commit 'ffa4d4ef0bd66c4e8bde7357b69bdedc78123ea8':
  ppc: fft: Build AltiVec optimizations in the standard way

Conflicts:
	libavcodec/ppc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 19:40:18 +02:00
Michael Niedermayer
e706fe7640 avcodec/wavpackenc: Fix log2sample() result value
Found-by: CSA
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 18:15:12 +02:00
Diego Biurrun
ffa4d4ef0b ppc: fft: Build AltiVec optimizations in the standard way 2014-08-02 07:40:37 -07:00
Matthew Oliver
66627075d9 msvc: fix implicitly declared read/close.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 14:52:17 +02:00
Michael Niedermayer
3fa9692ae2 avcodec/hevc: move HEVCLocalContext declaration into loop
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 05:15:57 +02:00
Michael Niedermayer
92be540636 avcodec/h264_parser: remove redundant assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 05:14:18 +02:00
Michael Niedermayer
bcc898dd26 avcodec/dvdsub_parser: print message if packet is smaller than the packet size field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:17:24 +02:00
Michael Niedermayer
81c1657a59 avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:15:37 +02:00
Michael Niedermayer
cfdb30d2f1 avcodec/dvdsub_parser: never return 0 when the input isnt 0
Fixes a infinite loop
Fixes Ticket3804

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 00:27:23 +02:00
Michael Niedermayer
f95298c913 avcodec/mpeg12dec: fix support for interlaced mpeg2 with missing last slice
Fixes Ticket3809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 21:10:43 +02:00
Michael Niedermayer
7f852962dc avcodec/mpeg12dec: print the amount of overread
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 21:06:13 +02:00
Benoit Fouet
f9bd6d61bc h264_mp4toannexb_bsf: rename first_idr to new_idr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 17:58:30 +02:00
Michael Niedermayer
5727d387fb Merge commit '92a36a6b3338df5f5cff573a486e182005367c24'
* commit '92a36a6b3338df5f5cff573a486e182005367c24':
  pngdec: correctly indent macros

Conflicts:
	libavcodec/pngdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:48:09 +02:00
Michael Niedermayer
79d0e164cf Merge commit '4da8cdbb91ddbac118b79076cad4dc28ba72e86f'
* commit '4da8cdbb91ddbac118b79076cad4dc28ba72e86f':
  tscc: Eliminate pointless variable indirections in decode_frame()

Conflicts:
	libavcodec/tscc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:34:20 +02:00
Michael Niedermayer
96cea6269a Merge commit '5735552f1f17ea01dcbc99b08f54b5bf52176a8f'
* commit '5735552f1f17ea01dcbc99b08f54b5bf52176a8f':
  pngenc: Drop pointless pointer cast in png_write_row()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:24:23 +02:00
Michael Niedermayer
f54e01c24e Merge commit 'a786c8259dafeca9744252230b5d78f67810770c'
* commit 'a786c8259dafeca9744252230b5d78f67810770c':
  idct: Split off Xvid IDCT

Conflicts:
	libavcodec/Makefile
	libavcodec/mpeg4videodec.c
	libavcodec/x86/Makefile
	libavcodec/x86/idctdsp_init.c

This split is somewhat restructured leaving the xvid IDCT available
outside mpeg4 if manually selected.

The code also could not be merged unchanged as it conflicted with a
bugfix in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:21:52 +02:00
Michael Niedermayer
ad99837b63 Merge commit '03c9f357a4c2307a7913cea2cbf0ba817e80beb6'
* commit '03c9f357a4c2307a7913cea2cbf0ba817e80beb6':
  ppc: idctdsp: Immediately return if no AltiVec is available

Conflicts:
	libavcodec/ppc/idctdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 15:11:05 +02:00
Vittorio Giovara
7ab551f9fd h264: prevent theoretical infinite loop in SEI parsing
Properly address CVE-2011-3946 and parse bitstream as described in the spec.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-08-01 13:08:32 +01:00
Vittorio Giovara
92a36a6b33 pngdec: correctly indent macros 2014-08-01 13:07:53 +01:00
Diego Biurrun
4da8cdbb91 tscc: Eliminate pointless variable indirections in decode_frame() 2014-08-01 04:08:46 -07:00
Diego Biurrun
5735552f1f pngenc: Drop pointless pointer cast in png_write_row() 2014-08-01 04:08:45 -07:00
Carl Eugen Hoyos
a80191379b Fix standalone compilation of the WebVTT decoder. 2014-08-01 12:50:38 +02:00
Benoit Fouet
42f25fe009 h264_mp4toannexb_bsf: always set idr_sps_pps_seen when SPS/PPS is seen.
In order not to break a sequence like "SPS IDR SPS IDR", the boolean
telling that the SPS/PPS has been seen should always be set.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 12:20:14 +02:00
Benoit Fouet
66af2a01d2 h264: remove useless assignment.
source index, as well as dest one, is unconditionnaly set afterwards,
before being effectively used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 12:20:01 +02:00
Diego Biurrun
a786c8259d idct: Split off Xvid IDCT
The Xvid IDCT is only required to decode some Xvid-encoded MPEG-4 files,
so there is no point in having it as an unconditional part of idctdsp.
2014-08-01 01:25:18 -07:00
Diego Biurrun
03c9f357a4 ppc: idctdsp: Immediately return if no AltiVec is available
This is how all the other init functions operate.
2014-08-01 01:23:11 -07:00
Michael Niedermayer
7db3a46a3d Merge commit 'd98e6c5d5d80c1dfe0c30f2e73d41a3aea0b920d'
* commit 'd98e6c5d5d80c1dfe0c30f2e73d41a3aea0b920d':
  pgssubdec: Check RLE size before copying

See: c0d68be555
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 04:46:50 +02:00
Michael Niedermayer
d98e6c5d5d pgssubdec: Check RLE size before copying
Make sure the buffer size does not exceed the expected
RLE size.

Prevent an out of array bound write.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Bug-Id: CVE-2013-0852

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-01 02:13:32 +02:00
James Almer
62baf5b853 x86/hevc_deblock: use existing x86util transpose macro in chroma_{10, 12}
Cosmetic change. No measurable difference in speed.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 22:56:21 +02:00
Michael Niedermayer
5bedbc3da2 avcodec/diracdec: remove unneeded assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:40:10 +02:00
Michael Niedermayer
590c2996ee avcodec/flac_parser: remove duplicate assignent
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:35:54 +02:00
Michael Niedermayer
1af563b5df avcodec/ratecontrol: remove unneeded statement
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:35:54 +02:00
Michael Niedermayer
0782fb6bcb libavcodec/h264_parser: Increase parse_history, fix huge resolutions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 16:39:04 +02:00
Benoit Fouet
bf428bb314 h264_mp4toannexb_bsf: account for consecutive IDR pictures.
If there are consecutive IDR pictures, then SPS/PPS should be prepended
to all of them, not only the first one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 15:59:47 +02:00
Michael Niedermayer
dd200c56c0 avcodec/dvdsubdec: free subtitle rectangles if nothing is output
Fixes assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 14:17:46 +02:00
Michael Niedermayer
ceff29b9ad avcodec/resample: check for malloc failure
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 13:04:28 +02:00
Michael Niedermayer
72555f4a38 avcodec/pthread_slice: Check for malloc failure
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 12:56:21 +02:00
Michael Niedermayer
37ec7d291e avcodec/mpeg4video_parser: Check for extradata parsing failure
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 12:56:21 +02:00
Christophe Gisquet
a507623bad x86: hevc_mc: fix register count usage
A macro was using a fixed register, causing too many GPRs to be
declared as used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 22:50:50 +02:00
Michael Niedermayer
58eaa95116 Merge commit 'ccbf370f2000b9b27f4af259c23007d67f7ea46e'
* commit 'ccbf370f2000b9b27f4af259c23007d67f7ea46e':
  mpegvideo: move vol_control_parameters to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:26:59 +02:00
Nidhi Makhijani
ccbf370f20 mpegvideo: move vol_control_parameters to the only place it is used
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-29 09:13:18 -07:00
James Almer
73c4f63ba5 x86/hevc_deblock: add add ff_hevc_[hv]_loop_filter_luma_{8, 10, 12}_avx
~5% faster than SSSE3

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 14:04:59 +02:00
James Almer
88ba821f23 x86/hevc_deblock: improve luma functions register allocation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 13:38:05 +02:00
James Almer
c74b08c5c6 x86/hevc_deblock: remove some unnecessary instructions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 13:27:44 +02:00
Christophe Gisquet
65746bfbae hevc_filter: run vertical and horizontal together
This should help cache locality. On win64:
Before: 1397x cycles, 16216 bytes
After:  1369x cycles, 16040 bytes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 03:56:43 +02:00
James Almer
4f91bb0ff0 x86/hevc_deblock: use psignw instead of pmullw where possible
It's slightly faster

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 03:42:29 +02:00
Michael Niedermayer
d55d8229fb Merge commit '019a28cd630286ecb2b06ee62025a17c821b493e'
* commit '019a28cd630286ecb2b06ee62025a17c821b493e':
  sanm: Use correct printf conversion specifiers for POSIX int types

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 01:22:46 +02:00
Michael Niedermayer
a91c5ed008 Merge commit '4f8cf0dc4ef6110174056df7edd9dc2f2a988b6d'
* commit '4f8cf0dc4ef6110174056df7edd9dc2f2a988b6d':
  x86: build: Restore ordering of OBJS lines

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:34:53 +02:00
Diego Biurrun
019a28cd63 sanm: Use correct printf conversion specifiers for POSIX int types 2014-07-28 13:19:04 -07:00
Diego Biurrun
4f8cf0dc4e x86: build: Restore ordering of OBJS lines 2014-07-28 13:19:04 -07:00
James Almer
664e9e4331 x86/hevc_deblock: load less data in hevc_h_loop_filter_luma_8
Reading 8 bytes is enough.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 21:55:22 +02:00
James Almer
f137876182 x86/hevc_idct: add a colon to labels
This fixes a warning spam when using NASM

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 21:43:32 +02:00
Michael Niedermayer
243236a6f5 avcodec/hevc: fix "discards const qualifier from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:34:47 +02:00
Michael Niedermayer
772dfd5f6e avcodec/hevc: add some const to cbf arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:28:56 +02:00
Mickaël Raulet
42ffa226f9 hevc: clean up non relevant TODO
cherry picked from commit a2ef95f043d89d05482af19460c9e9afdadec685

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:27:04 +02:00
Anton Khirnov
a5c621aa85 hevc: rename variable in boundary strength to b more explicit
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>

cherry picked from commit 348bebedc0012aae201419669fca1eb61ec93ca6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:20:19 +02:00
Michael Niedermayer
e0492311c8 Merge commit 'e76f2d11970484266e67a12961f2339a5c2fccf9'
* commit 'e76f2d11970484266e67a12961f2339a5c2fccf9':
  hevc: eliminate the last element from TransformTree

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:02:03 +02:00
Michael Niedermayer
4a73fa19ca Merge commit '4aa80808bcc2a30fcd7ce5b38594319df3a85b36'
* commit '4aa80808bcc2a30fcd7ce5b38594319df3a85b36':
  hevc: eliminate unnecessary cbf_c{b,r} arrays

Conflicts:
	libavcodec/hevc.c

See: 77ef9fd1e9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 13:54:51 +02:00
Michael Niedermayer
0a1ffc5788 Merge commit '0daa2554636ba1d31f3162ffb86991e84eb938a8'
* commit '0daa2554636ba1d31f3162ffb86991e84eb938a8':
  hevc: do not store the transform inter_split flag in the context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 13:09:28 +02:00
Michael Niedermayer
2fb8aa9b10 Merge commit '53a11135f2fb2123408b295f9aaae3d6f861aea5'
* commit '53a11135f2fb2123408b295f9aaae3d6f861aea5':
  hevc: simplify splitting the transform tree blocks

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 13:03:59 +02:00
Michael Niedermayer
453224f10b Merge commit 'e36a2f4c5280e2779b0e88974295a711cf8d88be'
* commit 'e36a2f4c5280e2779b0e88974295a711cf8d88be':
  hevc: eliminate an unnecessary array

Conflicts:
	libavcodec/hevc.c

See: 255086a7e0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 12:54:14 +02:00
Michael Niedermayer
2e5c8b0649 Merge commit 'c5fca0174db9ed45be821177f49bd9633152704d'
* commit 'c5fca0174db9ed45be821177f49bd9633152704d':
  lavc: add a property for marking codecs that support frame reordering

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 12:36:28 +02:00
Anton Khirnov
e76f2d1197 hevc: eliminate the last element from TransformTree
Replace it by passing an additional parameter to transform_unit()
2014-07-28 08:10:35 +00:00
Anton Khirnov
4aa80808bc hevc: eliminate unnecessary cbf_c{b,r} arrays
They are replaced by passing additional parameters to the transform
functions.
2014-07-28 08:09:18 +00:00
Anton Khirnov
0daa255463 hevc: do not store the transform inter_split flag in the context
It does not need to be preserved.
2014-07-28 08:05:47 +00:00
Anton Khirnov
53a11135f2 hevc: simplify splitting the transform tree blocks 2014-07-28 08:04:19 +00:00
Anton Khirnov
e36a2f4c52 hevc: eliminate an unnecessary array
We do not need to store the value of the split flag.
2014-07-28 08:03:53 +00:00
Anton Khirnov
4b169321b8 codec_desc: fix some typos in long codec names
The rv20 typo spotted by Hendrik Leppkes <h.leppkes@gmail.com>
2014-07-28 08:03:13 +00:00
Anton Khirnov
c5fca0174d lavc: add a property for marking codecs that support frame reordering 2014-07-28 08:02:50 +00:00
Michael Niedermayer
2f717be22a avcodec/avdct: Add avcodec_dct_get_class()
This should have been in the initial commit of AVDCT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 05:14:39 +02:00
Anton Khirnov
77ef9fd1e9 hevc: eliminate unnecessary cbf_c{b,r} arrays
- They are be replaced by passing additional parameters to the transform
functions.
- Adaptation to 4:2:2

Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>
cherry picked from commit f518bb22531c648f1c37f978b0c7ad2e71e04c25
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 00:55:44 +02:00
Mickaël Raulet
772f7f4edd hevc: fix skip_flag
cherry picked from commit 509ae456551005b9bf9b4d9730b6247c97fdd990

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 00:47:28 +02:00
Mickaël Raulet
3b777db132 hevc: remove non necessary parameters to ff_hevc_set_qpy
cherry picked from commit 6f58c111ad9920d983bb18eacf901193bac5d937

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 00:39:13 +02:00
Carl Eugen Hoyos
bcb7220d1c Fix standalone compilation of the webm_dash_manifest demuxer. 2014-07-27 23:27:14 +02:00
Carl Eugen Hoyos
6898c14959 Fix standalone compilation of the legacy mpegvideo decoder. 2014-07-27 23:13:10 +02:00
Christophe Gisquet
81943a10b5 x86: hevc_mc: load less data in epel filters
Before:
5679 decicycles in epel_bi, 2059976 runs, 37176 skips
3468 decicycles in epel_uni, 1040886 runs, 7690 skips

After:
5323 decicycles in epel_bi, 2059493 runs, 37659 skips
3262 decicycles in epel_uni, 1040871 runs, 7705 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 18:34:39 +02:00
Christophe Gisquet
36284ae981 x86: hevc_mc: replace one lea by add
Should have been in 036f11bdb5.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 17:42:56 +02:00
Michael Niedermayer
932ff70956 avcodec: add avdct
This provides a public sustainable API/ABI for DCT functions.
Only externally used dct functions are included.
The structure is extensible without ABI issues compared to the
existing dct contexts.

See Mailing list and IRC log of 2014-07-26/27

Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 17:21:40 +02:00
Michael Niedermayer
fbeb634e4d avcodec/ppc/idctdsp: Only select non bitexact IDCTs by default when bitexact is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 14:22:36 +02:00
Michael Niedermayer
b051a1bbb9 avcodec/arm/idctdsp_init_arm*: Only select non bitexact IDCTs by default when bitexact is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 14:21:36 +02:00
Michael Niedermayer
c2ef844aa7 Merge commit '541427ab4d5b4b6f5a90a687a06decdb78e7bc3c'
* commit '541427ab4d5b4b6f5a90a687a06decdb78e7bc3c':
  eamad: use the bytestream2 API instead of AV_RL

Conflicts:
	libavcodec/eamad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 12:27:01 +02:00
Anton Khirnov
541427ab4d eamad: use the bytestream2 API instead of AV_RL
This is safer and possibly fixes invalid reads on truncated data.

CC:libav-stable@libav.org
2014-07-27 07:10:54 +00:00
Chris \"Koying\" Browet
ad91bf854b avcodec/h264_mp4toannexb_bsf: fix issue when sps/pps are already in the bistream 2014-07-27 03:36:24 +02:00
Michael Niedermayer
0a7f3af27f Merge commit '53abe32409f13687c864b3cda077a1aa906a2459'
* commit '53abe32409f13687c864b3cda077a1aa906a2459':
  avcodec: Mark argument in av_{parser|hwaccel|bitstream_filter}_next as const

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:57:34 +02:00
James Almer
bfb3b2b7a6 x86/hevc_idct: add 12bit idct_dc
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:30:56 +02:00
Michael Niedermayer
d4a9e89b27 avcodec/x86/hevcdsp_init: make license header consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:28:44 +02:00
Michael Niedermayer
706f81a2c2 Merge commit '1a880b2fb8456ce68eefe5902bac95fea1e6a72d'
* commit '1a880b2fb8456ce68eefe5902bac95fea1e6a72d':
  hevc: SSE2 and SSSE3 loop filters

Conflicts:
	libavcodec/hevcdsp.c
	libavcodec/hevcdsp.h
	libavcodec/x86/Makefile
	libavcodec/x86/hevc_deblock.asm
	libavcodec/x86/hevcdsp_init.c

See: de7b89fd43 and several others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:20:48 +02:00
Michael Niedermayer
226b290f9f Merge commit '73bb8f61d48dbf7237df2e9cacd037f12b84b00a'
* commit '73bb8f61d48dbf7237df2e9cacd037f12b84b00a':
  hevcdsp: remove an unneeded variable in the loop filter

Conflicts:
	libavcodec/hevc_filter.c

See: d7e162d46b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 23:53:31 +02:00
Diego Biurrun
53abe32409 avcodec: Mark argument in av_{parser|hwaccel|bitstream_filter}_next as const 2014-07-26 14:51:16 -07:00
James Almer
1ace9573dc x86/hevc_idct: replace old and unused idct functions
Only 8-bit and 10-bit idct_dc() functions are included (adding others should be trivial).

Benchmarks on an Intel Core i5-4200U:

idct8x8_dc
       SSE2   MMXEXT  C
cycles 22     26      57

idct16x16_dc
       AVX2   SSE2    C
cycles 27     32      249

idct32x32_dc
       AVX2   SSE2    C
cycles 62     126     1375

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 18:00:11 +02:00
Pierre Edouard Lepere
1a880b2fb8 hevc: SSE2 and SSSE3 loop filters
Additional contributions by James Almer <jamrial@gmail.com>,
Carl Eugen Hoyos <cehoyos@ag.or.at>, Fiona Glaser <fiona@x264.com> and
Anton Khirnov <anton@khirnov.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-26 15:01:01 +00:00
Anton Khirnov
73bb8f61d4 hevcdsp: remove an unneeded variable in the loop filter
beta0 and beta1 will always be the same
2014-07-26 15:00:11 +00:00
Mickaël Raulet
23480da0aa hevc: add support for bumping process
cherry picked from commit 8aa2fb7df3cffc67a3fd03a3a7eb49dbed4094c7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 15:40:34 +02:00
Michael Niedermayer
c0a586d9d5 reintroduce avpriv_dsputil_init() to maintain ABI until next soname bump
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 13:21:07 +02:00
Christophe Gisquet
036f11bdb5 x86: hevc_mc: replace simple leas by adds
lea is detrimental for those simple cases. No impact overall to
the change though.

Before:
15017 decicycles in q, 1016152 runs, 32424 skips
15382 decicycles in q_bi, 1013673 runs, 34903 skips
3713 decicycles in e, 2074534 runs, 22618 skips
3901 decicycles in e_bi, 2065509 runs, 31643 skips
7852 decicycles in q_uni, 520165 runs, 4123 skips
2398 decicycles in e_uni, 1043339 runs, 5237 skips

After:
14898 decicycles in q, 1016295 runs, 32281 skips
15119 decicycles in q_bi, 1015392 runs, 33184 skips
3682 decicycles in e, 2073224 runs, 23928 skips
3720 decicycles in e_bi, 2065043 runs, 32109 skips
7643 decicycles in q_uni, 520280 runs, 4008 skips
2363 decicycles in e_uni, 1043780 runs, 4796 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 05:41:04 +02:00
Michael Niedermayer
7295ee7f51 Merge commit 'd8520d3ee032bf18f28897e0109f44b405caf5e3'
* commit 'd8520d3ee032bf18f28897e0109f44b405caf5e3':
  mpegvideo: Move QMAT_SHIFT* defines to the only place they are used

Conflicts:
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:47:32 +02:00
Michael Niedermayer
8b395315a5 Merge commit '4fbb62a21bd04bf261da2382d5ba6c249c702af8'
* commit '4fbb62a21bd04bf261da2382d5ba6c249c702af8':
  mpegvideo: Move ME_MAP_* defines to the only place they are used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:34:51 +02:00
Michael Niedermayer
0a9bab5be6 Merge commit 'ff85334375c6733c6116ea3686f128b4a11f33e7'
* commit 'ff85334375c6733c6116ea3686f128b4a11f33e7':
  mpegvideo: Drop unused MPEG_BUF_SIZE and CHROMA_444 defines

CHROMA_444 is not removed as we do support CHROMA_444 and use the
identifier

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:23:29 +02:00
Mickaël Raulet
f6e218a02d hevc: fix RAP_B_Bossen
cherry picked from commit 903236292f066bc321080e3e2192b64f8943d960

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:01:04 +02:00
Mickaël Raulet
bd0f2d316f x86/hevc: add 12bits support for MC
cherry picked from commit 3fcb7a4595a6f40100a22110a5805e3b7510c0fd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:55:20 +02:00
Mickaël Raulet
7df98d8c4d x86/hevc: remove unused constant in deblocking filter
cherry picked from commit a3f7282eaa6f1ab0524fb966c6eade50c3025f99

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:20:40 +02:00
Mickaël Raulet
7bdcf5c934 x86/hevc: add 12bits support for deblocking filter
cherry picked from commit 97d46afe320c7d61d7b9525e5f5588355cde4bb0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:19:42 +02:00
Diego Biurrun
d8520d3ee0 mpegvideo: Move QMAT_SHIFT* defines to the only place they are used 2014-07-25 12:00:53 -07:00
Diego Biurrun
4fbb62a21b mpegvideo: Move ME_MAP_* defines to the only place they are used 2014-07-25 12:00:53 -07:00
Diego Biurrun
ff85334375 mpegvideo: Drop unused MPEG_BUF_SIZE and CHROMA_444 defines 2014-07-25 12:00:52 -07:00
Michael Niedermayer
aadf5222da Merge commit '165e9df19567ec0b6abee1ee2c26027e6d7aa7bf'
* commit '165e9df19567ec0b6abee1ee2c26027e6d7aa7bf':
  fft-test: Pass the right struct members instead of casting

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 20:43:03 +02:00
Diego Biurrun
165e9df195 fft-test: Pass the right struct members instead of casting 2014-07-25 06:54:37 -07:00
Michael Niedermayer
2904d052b7 Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac'
* commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac':
  qpeldsp: Mark source pointer in qpel_mc_func function pointer const

Conflicts:
	libavcodec/h264qpel_template.c
	libavcodec/x86/cavsdsp.c
	libavcodec/x86/rv40dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 13:05:08 +02:00
Michael Niedermayer
937eaba2a1 Merge commit '060e4a9e0627adcda9101dd68ec7f22b4ce22b5b'
* commit '060e4a9e0627adcda9101dd68ec7f22b4ce22b5b':
  dct/rdft: Remove duplicate typedefs for context structs

See: 005e81d6cf
See: 77304cf352
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 12:39:17 +02:00
Diego Biurrun
58e65e44f4 vc1dsp: Add wrappers for {avg|put}_vc1_mspel_mc00_c
This avoids invoking the wrapped functions with too many arguments.
2014-07-25 02:52:54 -07:00
Diego Biurrun
7fb993d338 qpeldsp: Mark source pointer in qpel_mc_func function pointer const 2014-07-25 02:52:54 -07:00
Diego Biurrun
060e4a9e06 dct/rdft: Remove duplicate typedefs for context structs
The typedefs also exist in the avfft.h header and since typedefs cannot be
legally redefined in C, the code fails to compile with some compilers.

This reverts commits 11c7155cce and 57f1b1dcc7.
2014-07-25 02:02:15 -07:00
Michael Niedermayer
ce8e27e0ed Merge commit '436ced244fadcde2c0b925627920e84b25482542'
* commit '436ced244fadcde2c0b925627920e84b25482542':
  mpegenccontext: Remove unused opaque pointer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 18:53:34 +02:00
Nidhi Makhijani
436ced244f mpegenccontext: Remove unused opaque pointer
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-24 07:59:44 -07:00
Timothy Gu
c508adb223 hevc: propagate error code from set_sps()
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 16:25:55 +02:00
Carl Eugen Hoyos
badcd3da81 Print a warning instead of requesting a sample for an invalid exif tag.
Fixes ticket #3792.
Reviewed-by: Thilo Borgmann
2014-07-24 11:58:11 +02:00
Michael Niedermayer
ab0f78ea77 Merge commit 'd0de7330b973b354e2ceb0b99fd545b868b0a9c4'
* commit 'd0de7330b973b354e2ceb0b99fd545b868b0a9c4':
  fft-test: Pass correct struct members to (i)dct functions

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 01:50:01 +02:00
Michael Niedermayer
02ea384abd Merge commit '6133d65861f265d429ade53e910fe877c95a1615'
* commit '6133d65861f265d429ade53e910fe877c95a1615':
  fft-test: K&R formatting cosmetics

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 01:22:31 +02:00
Michael Niedermayer
629e5e28f7 avcodec/fft-test: fix memory alloc checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 00:47:11 +02:00
Michael Niedermayer
074bb7515e Merge commit 'c3c96deb5f8cbbdb700ba97920ceedddacb5dcb9'
* commit 'c3c96deb5f8cbbdb700ba97920ceedddacb5dcb9':
  fft-test: Check memory allocations

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 00:35:40 +02:00
Christophe Gisquet
670b7f203a x86: hevcdsp: align
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 22:18:08 +02:00
Diego Biurrun
d0de7330b9 fft-test: Pass correct struct members to (i)dct functions
This fixes a number of incompatible pointer type warnings.
2014-07-23 13:05:25 -07:00
Diego Biurrun
6133d65861 fft-test: K&R formatting cosmetics
Also rearrange #includes into canonical order.
2014-07-23 13:05:19 -07:00
Christophe Gisquet
373677f958 hevc_mvs: avoid deriving tmvp in amvp
Reduces on a sequence number of calls from 933685 to 586271.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 21:21:49 +02:00
Christophe Gisquet
ca081217cd hevcdsp: change types of SAO parameters
From openhevc

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:54:03 +02:00
Michael Niedermayer
088875b6b8 Merge commit '7288b345850792430302a8f85a4b29140b770497'
* commit '7288b345850792430302a8f85a4b29140b770497':
  fft-test: Drop unnecessary pointer indirection for context structs

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:48:05 +02:00
Michael Niedermayer
09f5b3750f Merge commit 'd445c865f87e7f13230e4dac3f77f5af21da95cb'
* commit 'd445c865f87e7f13230e4dac3f77f5af21da95cb':
  fft-test: Reduce variable scope where sensibly possible

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:40:41 +02:00
Michael Niedermayer
97d2b8d6f5 Merge commit 'eac77fcd56fc2a3391f0d86faf54302afb368ff7'
* commit 'eac77fcd56fc2a3391f0d86faf54302afb368ff7':
  mpegenccontext: Remove unused dct_unquantize_h261 function pointers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:20:08 +02:00
Michael Niedermayer
601c238854 avcodec/h264: support AV_PKT_DATA_NEW_EXTRADATA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 17:40:21 +02:00
Michael Niedermayer
1bf371b24e avcodec/h264: factor is_extra() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 17:40:21 +02:00
Diego Biurrun
c3c96deb5f fft-test: Check memory allocations 2014-07-23 06:05:02 -07:00
Diego Biurrun
7288b34585 fft-test: Drop unnecessary pointer indirection for context structs 2014-07-23 06:05:02 -07:00
Diego Biurrun
d445c865f8 fft-test: Reduce variable scope where sensibly possible
Also merge variable declaration and initialization.
2014-07-23 06:05:02 -07:00
Michael Niedermayer
54256482cb Merge commit '20ec0daaa1cdd3996ac6ed0198de961129474044'
* commit '20ec0daaa1cdd3996ac6ed0198de961129474044':
  fft-test: Make global exptab variable static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 14:27:10 +02:00
Michael Niedermayer
d0cb6caf69 Merge commit '2b6ab3a2bd7e7cee5e7a55dd2e48b8feb4a826bb'
* commit '2b6ab3a2bd7e7cee5e7a55dd2e48b8feb4a826bb':
  mpegvideo: Move QUANT_BIAS_SHIFT define to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 14:15:48 +02:00
Nidhi Makhijani
eac77fcd56 mpegenccontext: Remove unused dct_unquantize_h261 function pointers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-23 05:07:21 -07:00
Diego Biurrun
20ec0daaa1 fft-test: Make global exptab variable static 2014-07-23 03:45:33 -07:00
Diego Biurrun
2b6ab3a2bd mpegvideo: Move QUANT_BIAS_SHIFT define to the only place it is used 2014-07-23 03:16:55 -07:00
Carl Eugen Hoyos
c75fdee747 avcodec/x86/hevc_deblock: Fix compilation with nasm. 2014-07-23 10:32:27 +02:00
Michael Niedermayer
9515d7c629 Merge commit '5be7d8597d02bcaba2de2503c0e59cf865c746dc'
* commit '5be7d8597d02bcaba2de2503c0e59cf865c746dc':
  fft-test: Comment some #endifs

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 00:29:06 +02:00
Michael Niedermayer
9eeedf8769 Merge commit '57f1b1dcc77a93c2a5c503d4e47fe2f567cf9db5'
* commit '57f1b1dcc77a93c2a5c503d4e47fe2f567cf9db5':
  fft-test: Drop unnecessary #ifdefs around header includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 00:23:28 +02:00
Michael Niedermayer
77304cf352 avcodec: dct/rdft only support float mode, skip their contents for fixed point 2014-07-23 00:18:24 +02:00
Michael Niedermayer
1df2f7b6a8 Merge commit 'eba2233b58c2c4b468c58287d6537b2f1188a8cd'
* commit 'eba2233b58c2c4b468c58287d6537b2f1188a8cd':
  build: Add define for SIMD extensions requiring 16-byte aligned buffers

Conflicts:
	configure
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 22:32:40 +02:00
Michael Niedermayer
013172ae9f Merge commit '67bc1ba5d75953d136bfa02ce6c0a27e9fd9dac3'
* commit '67bc1ba5d75953d136bfa02ce6c0a27e9fd9dac3':
  libxvid: Drop PPC-specific CPU detection hack

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 22:23:26 +02:00
Diego Biurrun
5be7d8597d fft-test: Comment some #endifs 2014-07-22 11:55:40 -07:00
Diego Biurrun
57f1b1dcc7 fft-test: Drop unnecessary #ifdefs around header includes 2014-07-22 11:55:40 -07:00
Diego Biurrun
11c7155cce dct/rdft: Add missing typedefs for context structs
Without the typedefs there can be trouble depending on #include order.
2014-07-22 11:55:40 -07:00
Diego Biurrun
eba2233b58 build: Add define for SIMD extensions requiring 16-byte aligned buffers 2014-07-22 11:46:35 -07:00
Diego Biurrun
67bc1ba5d7 libxvid: Drop PPC-specific CPU detection hack
It is doubtful if the hack (still) works and Xvid had ten years to fix it.
2014-07-22 11:45:07 -07:00
Christophe Gisquet
ed248e7f70 hevc: wait proper position for tmvp
The position is either rounded or not checked, so delay the wait to
check the proper value.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 18:11:50 +02:00
Przemysław Sobala
c68098ba4a avcodec/mjpegdec: add pix_fmt: 0x14121200
Fixes: _15801_F.jpg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 18:07:44 +02:00
Michael Niedermayer
ca6b33b8bd avcodec/x86/hevcdsp_init: Fix "warning: assignment from incompatible pointer type" 2014-07-22 16:36:12 +02:00
Anton Khirnov
d7e162d46b hevcdsp: remove an unneeded variable in the loop filter
beta0 and beta1 will always be the same within a CU

Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>

cherry picked from commit 4a23d824741a289c7d2d2f2871d1e2621b63fa1b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:27:26 +02:00
Anton Khirnov
ae2f048fd7 avcodec/x86/hevc_deblock: cosmetics
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:18:05 +02:00
Anton Khirnov
b435043abb hevc: cleanups in SSE2 and SSSE3 loop filters, use fewer instructions
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:17:29 +02:00
Anton Khirnov
e8581b17a8 avcodec/x86/hevc_deblock: use test instead of cmp 0
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:16:05 +02:00
Anton Khirnov
dc69247de4 avcodec/x86/hevc_deblock: use of paddw instead of psllw
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:14:53 +02:00
Anton Khirnov
500a0394d5 avcodec/x86/hevc_deblock: add %ifs to avoid "do nothing instructions"
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:13:28 +02:00
Anton Khirnov
7a4cf67117 hevc: cleaning up SSE2 and SSSE3 deblocking filters
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>

cherry picked from commit b432041d7d1eca38831590f13b4e5baffff8186f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:00:48 +02:00
Mickaël Raulet
5f08b417b4 hevc/mvs: cosmetics
cherry picked from commit 9053cd92700e939cde49ab0ea3c6917be453cab7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 15:19:19 +02:00
Mickaël Raulet
cd714afe81 hevc/mvs: more cleanups
cherry picked from commit c4e467e79f59453783c97bc6044082edb7a6468b

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 15:13:09 +02:00
Mickaël Raulet
3ad0460831 hevc/mvs: code cleaning
cherry picked from commit 74f10da013ea71a3f6b77cdff989c4574c8a5ea2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 15:05:00 +02:00
Mickaël Raulet
c4d63cd230 hevc/mvs: simplifying derive_spatial_merge_candidates function
cherry picked from commit 99be11cf08a5628d0bb6ac7f4958bf9dd35cda62

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 14:17:19 +02:00
Mickaël Raulet
e9bb45ba79 hevc/mvs: remove same prediction block
cherry picked from commit 1206262ba1ef810328cadce99d5cdc0bf9285e4d

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 14:12:00 +02:00
Mickaël Raulet
560b0253ff hevc/mvs: simplify derive_temporal_colocated_mvs
cherry picked from commit def7db60966765f4687250d766b40dbcf0f7e503

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 14:11:43 +02:00
Mickaël Raulet
37822a566f hevc/rext: remove warning for cross component prediction
cherry picked from commit fb595102593c94179502bb1967f978a1d99cc7cb

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:59:00 +02:00
Mickaël Raulet
627c044f50 hevc/rext: fixing rdpcm and scaling list for Range Extension
-new rext bitstreams:
PERSIST_RPARAM_A_RExt_Sony_1.bit           ok    =
QMATRIX_A_RExt_Sony_1.bit                  ok    =
SAO_A_RExt_MediaTek_1.bit                  ok    =

(cherry picked from commit cdea029d452c521f8e5bcbe589f44b13a4011604)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:07:54 +02:00
Mickaël Raulet
fa0506e413 hevc/rext: update boundary strength for chroma deblocking filter
cherry picked from commit 7d05c95ac5a63d7675bf645e74b4cf1fffff4796

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:00:14 +02:00
Michael Niedermayer
4ec1cb2497 Merge commit '78670fbf07bd03479073d4218440de4914304680'
* commit '78670fbf07bd03479073d4218440de4914304680':
  imgconvert: cosmetics: Reshuffle defines to reduce ifdeffery

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 12:55:11 +02:00
Michael Niedermayer
7cdb3b2b79 Merge commit '6869612f5c7d4d2f20f69a5658328a761deadb1c'
* commit '6869612f5c7d4d2f20f69a5658328a761deadb1c':
  arm: Macroize the test for 'setend' CPU instruction support

Conflicts:
	libavcodec/arm/h264dsp_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 12:46:13 +02:00
Michael Niedermayer
c933f2c4cc Merge commit '16e6652286213014c28a9c3af70435e767d28638'
* commit '16e6652286213014c28a9c3af70435e767d28638':
  aarch64: NEON intrinsics dct_unquantize_h263.

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 03:35:29 +02:00
Diego Biurrun
78670fbf07 imgconvert: cosmetics: Reshuffle defines to reduce ifdeffery 2014-07-21 15:08:01 -07:00
Ben Avison
6869612f5c arm: Macroize the test for 'setend' CPU instruction support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 15:08:01 -07:00
James Yu
16e6652286 aarch64: NEON intrinsics dct_unquantize_h263.
Intrinsics only used on aarch64 since the existing ARMv7 NEON asm
is slightly faster (Cortex-A9, gcc-4.8, micro-benchmarks and full
decoding time).

Signed-off-by: James Yu <james.yu@linaro.org>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-07-21 23:18:29 +02:00
Michael Niedermayer
16c66f3151 Merge commit '2ce53880bfeb431decdd2fc82298c0aff823ab47'
* commit '2ce53880bfeb431decdd2fc82298c0aff823ab47':
  build: Conditionally compile all avcodec test programs

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 22:29:15 +02:00
Michael Niedermayer
9a436ae30f Merge commit '16b7328058fa600d5158c84d9cc621a134eb88bc'
* commit '16b7328058fa600d5158c84d9cc621a134eb88bc':
  build: Conditionally build and run DCT test program

Conflicts:
	libavcodec/Makefile
	libavcodec/dct-test.c
	tests/fate/libavcodec.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 22:02:23 +02:00
Michael Niedermayer
79df91bfc4 Merge commit 'bd499d9af668aef979ec9f3f3215b8dd508c7ec1'
* commit 'bd499d9af668aef979ec9f3f3215b8dd508c7ec1':
  build: Conditionally build and test iirfilter

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 21:35:02 +02:00
Diego Biurrun
2ce53880bf build: Conditionally compile all avcodec test programs 2014-07-21 05:33:03 -07:00
Diego Biurrun
16b7328058 build: Conditionally build and run DCT test program 2014-07-21 05:32:35 -07:00
Diego Biurrun
bd499d9af6 build: Conditionally build and test iirfilter 2014-07-21 05:32:07 -07:00
Michael Niedermayer
4054171666 avcodec/dct-test: remove fixed array sizes
They are unneeded and make adding elements slightly harder as they
would need to be constantly updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 14:00:48 +02:00
Michael Niedermayer
d986c414de Merge commit '81b9bf319226fe03436c80aaa8a2c91767cab7ce'
* commit '81b9bf319226fe03436c80aaa8a2c91767cab7ce':
  dct-test: Move arch-specific bits into arch-specific subdirectories

Conflicts:
	libavcodec/dct-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 13:33:51 +02:00
Nidhi Makhijani
c3ec963d0d mjpeg: return proper error code
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 01:25:33 -07:00
Diego Biurrun
81b9bf3192 dct-test: Move arch-specific bits into arch-specific subdirectories 2014-07-21 01:10:11 -07:00
Janne Grunau
a9f3f5fadb Revert "tiff: support reading gray+alpha at 8 bits"
This reverts commit b31d76e45f as it
uses an unkown pixel format.
2014-07-21 08:35:32 +02:00
Michael Niedermayer
dc021a0218 Merge commit 'c39059bea3adebcd888571d1181db215eee54495'
* commit 'c39059bea3adebcd888571d1181db215eee54495':
  h264: Fix direct temporal mvs for bottom-field-first poc order

Conflicts:
	libavcodec/h264_direct.c

See: ebd1c505d2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 02:16:13 +02:00
Michael Niedermayer
110420aac0 Merge commit '4de8b60684ce13dff3e3d372dae4f49b9e53f755'
* commit '4de8b60684ce13dff3e3d372dae4f49b9e53f755':
  idct: Move arm-specific declarations to a header in the arm directory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 01:56:22 +02:00
Ronald S. Bultje
c39059bea3 h264: Fix direct temporal mvs for bottom-field-first poc order
Such files can be created using the --bff x264 option.

Sample-Id: h264_direct_temporal_mvs_bff.mkv
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-20 23:32:13 +01:00
Carl Eugen Hoyos
b31d76e45f tiff: support reading gray+alpha at 8 bits
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-20 23:32:13 +01:00
Diego Biurrun
4de8b60684 idct: Move arm-specific declarations to a header in the arm directory 2014-07-20 13:02:17 -07:00
Michael Niedermayer
02e3e3ea51 Merge commit '9f99a5f1d078721a30a76aec27c58805b7b87e58'
* commit '9f99a5f1d078721a30a76aec27c58805b7b87e58':
  mpegencconetxt: Move rv10-specific orig_width/orig_height where they belong

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 20:32:24 +02:00
Nidhi Makhijani
9f99a5f1d0 mpegencconetxt: Move rv10-specific orig_width/orig_height where they belong
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-20 05:13:01 -07:00
Mickaël Raulet
950a4f8326 hevc: fix offset for sao temporary frame
fixes fate on alpha

cherry picked from commit 0a8ce1cbdaff7cd026bcf95ee3787bc7b4c063ee

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 02:48:53 +02:00
Michael Niedermayer
d13a731fc1 avcodec/hevc_ps: Check abs_delta_rps
Fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 17:30:44 +02:00
Michael Niedermayer
ba80b8d29b avcodec/hevc: check nb_cpb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 16:51:05 +02:00
Christophe Gisquet
7a4a5515b0 hevc: use intreadwrite
When dealing with MVs, both components may be processed at a time.

On Win64, 560 to 539 cycles for derive_spatial_merge_candidates.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 15:27:08 +02:00
Christophe Gisquet
5e55c7e1bc hevc: report more precise progress
There's a lag of one CTB line for SAO behind deblocking filter, except for
last line. However, once SAO has been completed on a line, all its pixels,
i.e. up to y+ctb_size are filtered and ready to be used as reference.

Without SAO, when deblocking filter finishes a CTB line, only the bottom
bottom 4 pixels may be filtered when next CTB is process by the deblocing.

The await_progess for hevc then checks whether the bottom pixels of a PU
requires access beyond that point, so the reporting should effectively
report up to the the above limits.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 14:20:10 +02:00
Michael Niedermayer
7bdbd2653f Merge commit '1a583c0c60240adb8fa6620c6df33f1a0a0fe5d9'
* commit '1a583c0c60240adb8fa6620c6df33f1a0a0fe5d9':
  fdct: Move ppc-specific declarations to a header in the ppc directory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 14:10:25 +02:00
Michael Niedermayer
776647360d Merge commit '5dcc201505f71b1e73e9eef12ce89d4eed252ad0'
* commit '5dcc201505f71b1e73e9eef12ce89d4eed252ad0':
  simple_idct: Move x86-specific declarations to a header in the x86 directory

Conflicts:
	libavcodec/x86/simple_idct.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 13:56:29 +02:00
Michael Niedermayer
6da96a9fc9 Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314'
* commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314':
  fdct: Move x86-specific declarations to a header in the x86 directory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 13:45:59 +02:00
Diego Biurrun
1a583c0c60 fdct: Move ppc-specific declarations to a header in the ppc directory 2014-07-19 02:38:22 -07:00
Diego Biurrun
5dcc201505 simple_idct: Move x86-specific declarations to a header in the x86 directory 2014-07-19 02:33:36 -07:00
Diego Biurrun
85cabb8d00 fdct: Move x86-specific declarations to a header in the x86 directory 2014-07-19 02:25:59 -07:00
Michael Niedermayer
a86d527c8b Merge commit 'e0a2e60c0a6cbcceef08e94af5081d2aa8e6a52f'
* commit 'e0a2e60c0a6cbcceef08e94af5081d2aa8e6a52f':
  dct-test: Reuse enum idct_permutation_type instead of duplicating it

Conflicts:
	libavcodec/dct-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 04:15:38 +02:00
Mickaël Raulet
e1e3ec9b02 hevc: fix transquant_bypass
cherry picked from commit 4a16cb2c70728a55d2fd723aff01b13ea259c4df
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 00:11:05 +02:00
Mickaël Raulet
fdb20db642 hevc/rext: put a warning log message instead of an error log message
cherry picked from commit 243cb99cff727d6a14c32cdff2748f6c255dbaf4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 23:47:06 +02:00
Michael Niedermayer
ffa0b510cd avcodec/hevc: fix pict_type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:59:03 +02:00
Mickaël Raulet
d249e6828e hevc/sao: optimze sao implementation
- adding one extra pixel all around the frame
- do not copy when SAO is not applied

5% improvement

cherry picked from commit 10fc29fc19a12c4d8168fbe1a954b76386db12d0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:46:50 +02:00
Michael Niedermayer
2897447ddf Merge commit '913fa85a2c1fcd71802f7decdef5f355e0d9c757'
* commit '913fa85a2c1fcd71802f7decdef5f355e0d9c757':
  dct-test: Skip indirection for MMX IDCT permutation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:45:32 +02:00
Michael Niedermayer
097bf834ba Merge commit '9e0b29911f1f167381a7dbdfca68bf417b8c767b'
* commit '9e0b29911f1f167381a7dbdfca68bf417b8c767b':
  x86: dnxhdenc: Eliminate some unnecessary ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:33:24 +02:00
Michael Niedermayer
4b0fa45b84 Merge commit 'b4edbe9a0eb48423fbf249b0ca7fb62838bdb7f5'
* commit 'b4edbe9a0eb48423fbf249b0ca7fb62838bdb7f5':
  libgsm: Split decoder and encoder

Conflicts:
	libavcodec/libgsmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:28:34 +02:00
Michael Niedermayer
521f569734 Merge commit '8b0dd4942aac320d1ca3c40fa7ea1be342c71273'
* commit '8b0dd4942aac320d1ca3c40fa7ea1be342c71273':
  idctdsp: prettyprinting cosmetics

Conflicts:
	libavcodec/idctdsp.c
	libavcodec/ppc/idctdsp.c
	libavcodec/x86/idctdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:16:04 +02:00
Diego Biurrun
e0a2e60c0a dct-test: Reuse enum idct_permutation_type instead of duplicating it 2014-07-18 13:04:39 -07:00
Michael Niedermayer
42d326353c Merge commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae'
* commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae':
  idct: Convert IDCT permutation #defines to an enum

Conflicts:
	libavcodec/idctdsp.c
	libavcodec/x86/cavsdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:01:17 +02:00
Michael Niedermayer
cff61d595e Merge commit '24af1aa0f70362a66cda04c9d7cd012e019f5572'
* commit '24af1aa0f70362a66cda04c9d7cd012e019f5572':
  fft: Convert FFT/MDCT permutation type #defines to enums

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:43:50 +02:00
Michael Niedermayer
29119aff6c Merge commit '746ad4e0df7faf93329804e412ec53c1d929a75b'
* commit '746ad4e0df7faf93329804e412ec53c1d929a75b':
  dct-test: Improve CPU flags struct member name

Conflicts:
	libavcodec/dct-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:36:46 +02:00
Michael Niedermayer
2dbda9378c Merge commit 'cb44b21da1f59923be577f08c267ec270529be97'
* commit 'cb44b21da1f59923be577f08c267ec270529be97':
  dct-test: Move cpu_flags variable out of global scope

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:30:25 +02:00
Carl Eugen Hoyos
5dcd43cd86 Fix make checkheaders for libavcodec/proresdsp.h. 2014-07-18 19:05:07 +02:00
Diego Biurrun
913fa85a2c dct-test: Skip indirection for MMX IDCT permutation 2014-07-18 09:58:17 -07:00
Diego Biurrun
9e0b29911f x86: dnxhdenc: Eliminate some unnecessary ifdefs 2014-07-18 09:58:17 -07:00
Nidhi Makhijani
b4edbe9a0e libgsm: Split decoder and encoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-18 17:27:54 +02:00
Diego Biurrun
8b0dd4942a idctdsp: prettyprinting cosmetics 2014-07-18 07:51:03 -07:00
Diego Biurrun
b4987f7219 idct: Convert IDCT permutation #defines to an enum
Also rename the enum values to be consistent with other DCT permutations.
2014-07-18 07:51:03 -07:00
Diego Biurrun
24af1aa0f7 fft: Convert FFT/MDCT permutation type #defines to enums 2014-07-18 07:29:13 -07:00
Diego Biurrun
746ad4e0df dct-test: Improve CPU flags struct member name 2014-07-18 06:14:43 -07:00
Diego Biurrun
cb44b21da1 dct-test: Move cpu_flags variable out of global scope 2014-07-18 06:14:42 -07:00
Timothy Gu
0035783488 smacker: remove dead code
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 13:31:19 +02:00
Michael Niedermayer
d13effb0b4 Merge commit '7e18a727d2c2a19f22fcf68875d1b05fd2eafcef'
* commit '7e18a727d2c2a19f22fcf68875d1b05fd2eafcef':
  arm: cosmetics: Consistently use lowercase for shift operators

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 13:17:29 +02:00
Michael Niedermayer
cd4497d8c5 Merge commit 'fe67f3fbb5f9f6a6b60f837f6bc5e087ac11f3bf'
* commit 'fe67f3fbb5f9f6a6b60f837f6bc5e087ac11f3bf':
  arm: cosmetics: Fix a misaligned asm operand

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 12:44:03 +02:00
Martin Storsjö
7e18a727d2 arm: cosmetics: Consistently use lowercase for shift operators
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 11:17:40 +03:00
Martin Storsjö
fe67f3fbb5 arm: cosmetics: Fix a misaligned asm operand
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 11:17:35 +03:00
James Almer
277e5ca617 alpha/me_cmp: move code out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 05:15:17 +02:00
James Almer
95a2d705cd alpha/idctdsp: move disabled cruft out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 05:15:05 +02:00
Michael Niedermayer
d5ba19e611 avcodec/a64multienc use av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 04:57:00 +02:00