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
Timothy Gu
cd3c85ac5c
a64multienc: remove dead assignment
...
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 04:56:18 +02:00
Michael Niedermayer
c27adb37ef
Merge commit '87552d54d3337c3241e8a9e1a05df16eaa821496'
...
* commit '87552d54d3337c3241e8a9e1a05df16eaa821496':
armv6: Accelerate ff_fft_calc for general case (nbits != 4)
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 03:12:02 +02:00
Michael Niedermayer
c527c14d63
avcodec/dvenc: clear all dsp contexts
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 00:48:34 +02:00
Ben Avison
87552d54d3
armv6: Accelerate ff_fft_calc for general case (nbits != 4)
...
The previous implementation targeted DTS Coherent Acoustics, which only
requires nbits == 4 (fft16()). This case was (and still is) linked directly
rather than being indirected through ff_fft_calc_vfp(), but now the full
range from radix-4 up to radix-65536 is available. This benefits other codecs
such as AAC and AC3.
The implementaion is based upon the C version, with each routine larger than
radix-16 calling a hierarchy of smaller FFT functions, then performing a
post-processing pass. This pass benefits a lot from loop unrolling to
counter the long pipelines in the VFP. A relaxed calling standard also
reduces the overhead of the call hierarchy, and avoiding the excessive
inlining performed by GCC probably helps with I-cache utilisation too.
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in the FFT routines (fft4() to fft512() and pass()) for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 2245.5 53.1 1599.6 43.8 100.0% +40.4%
FFT routines 940.6 22.0 348.1 20.8 100.0% +170.2%
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:23 +03:00
Ben Avison
5c22e8e4ad
armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
...
The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.
In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.
I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
aac_decode_frame 2368.1 35.8 2117.2 35.3 100.0% +11.8%
ff_imdct_half_* 457.5 22.4 251.2 16.2 100.0% +82.1%
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:08 +03:00
Michael Niedermayer
162cffca80
avcodec/me_cmp: restore author attribution and copyrights
...
These where removed by libav in
See: git show -C 2d60444331
diff --git a/libavcodec/dsputil.c b/libavcodec/me_cmp.c
similarity index 98%
rename from libavcodec/dsputil.c
rename to libavcodec/me_cmp.c
index ba71a99..9fcc937 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/me_cmp.c
@@ -1,8 +1,4 @@
/*
- * DSP utils
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
- *
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:59:28 +02:00
Michael Niedermayer
3a2d1465c8
Merge commit '2d60444331fca1910510038dd3817bea885c2367'
...
* commit '2d60444331fca1910510038dd3817bea885c2367':
dsputil: Split motion estimation compare bits off into their own context
Conflicts:
configure
libavcodec/Makefile
libavcodec/arm/Makefile
libavcodec/dvenc.c
libavcodec/error_resilience.c
libavcodec/h264.h
libavcodec/h264_slice.c
libavcodec/me_cmp.c
libavcodec/me_cmp.h
libavcodec/motion_est.c
libavcodec/motion_est_template.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/x86/Makefile
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:27:40 +02:00
Michael Niedermayer
d6676a1605
Merge commit 'c23ce454b3e33634a188d6facfd2b7182af5af93'
...
* commit 'c23ce454b3e33634a188d6facfd2b7182af5af93':
x86: dsputil: Coalesce all init files
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_x86.h
libavcodec/x86/motion_est.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 22:07:52 +02:00
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
2014-07-17 09:07:10 -07:00
Michael Niedermayer
dca22ab055
avcodec/resample: Use av_m/realloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 18:00:25 +02:00
Michael Niedermayer
ad516dd271
avcodec/resample2: Use av_malloc(z)_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 18:00:25 +02:00
Michael Niedermayer
5fce29ef29
Merge commit '2db953f84671997e936f91140ffb5143c1537844'
...
* commit '2db953f84671997e936f91140ffb5143c1537844':
h264: K&R formatting cosmetics
Conflicts:
libavcodec/h264.c
libavcodec/h264_direct.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 14:00:01 +02:00
Michael Niedermayer
b884599f6a
Merge commit 'a11ef610eec5241e226efbd1c5bb5eb45c88d2c2'
...
* commit 'a11ef610eec5241e226efbd1c5bb5eb45c88d2c2':
h264: Remove some commented-out, broken cruft
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 13:50:31 +02:00
Diego Biurrun
c23ce454b3
x86: dsputil: Coalesce all init files
...
This makes the init files match the structure of the dsputil split.
2014-07-17 03:32:56 -07:00
Luca Barbato
2db953f846
h264: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-17 03:05:24 -07:00
Diego Biurrun
a11ef610ee
h264: Remove some commented-out, broken cruft
2014-07-16 12:26:34 -07:00
Michael Niedermayer
a3f752bcee
avcodec/snow: remove unused variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 21:24:11 +02:00
Timothy Gu
1b03448385
aaccoder: remove unused assignment
...
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 20:55:24 +02:00
Michael Niedermayer
21dfabfa64
Merge commit 'adff0a8166345bb9513f0f658043fb6387e90122'
...
* commit 'adff0a8166345bb9513f0f658043fb6387e90122':
arm: dsputil: Coalesce all init files
Conflicts:
libavcodec/arm/Makefile
libavcodec/arm/dsputil_arm.h
libavcodec/arm/dsputil_init_arm.c
libavcodec/arm/dsputil_init_armv6.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 20:09:25 +02:00
Diego Biurrun
adff0a8166
arm: dsputil: Coalesce all init files
2014-07-16 06:18:23 -07:00
Timothy Gu
9bc0410e4f
vp9: remove unused assignment
...
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: BBB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 14:38:42 +02:00
Timothy Gu
ea6178fff8
get_bits: remove unused assignment
...
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 14:27:45 +02:00
Michael Niedermayer
aa1d096d02
avcodec/snow: only allocate space for edges when encoding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 04:57:42 +02:00
Michael Niedermayer
8156e036e5
avcodec/snowdec: remove mpegvideoencdsp dependency
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 04:20:59 +02:00
James Almer
b67a0e99ee
diracdec: don't call ff_emulated_edge_mc_8 directly
...
Use the videodsp function pointer instead.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 03:53:49 +02:00
Michael Niedermayer
f00bb086cb
Merge commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b'
...
* commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b':
g2meet: allow size changes within original sizes
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 03:40:51 +02:00
Vittorio Giovara
14b4e64eab
g2meet: allow size changes within original sizes
2014-07-15 20:08:16 -04:00
Michael Niedermayer
cf92cc8751
avcodec/hevc: clear HEVClcList[i] on allocation
...
Fixes fate failure with --enable-memory-poisoning && make THREAD_TYPE=slice THREADS=7 fate-hevc-conformance-ENTP_C_Qualcomm_1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 01:34:57 +02:00
James Almer
ad24256e7e
diracdec: remove unused dsputil context
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 00:11:18 +02:00
Michael Niedermayer
880dbe43ca
avcodec/hevc: treat current_sps like sps_list
...
This simplifies the management of current_sps
Fixes Ticket3458
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
0fc2045d5f
avcodec/hevc_ps: prevent stale pointer in malloc failure case
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
5bda0467d2
avcodec/mpegvideo_enc: make edge for interlaced mpeg2 encoding smaller
...
Fixes segfault
the size can probably be reduced further for the mpeg2 case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:24 +02:00
Michael Niedermayer
339d8fb353
avcodec/mpegvideo_enc: check intra dc precission
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:23 +02:00
Michael Niedermayer
97f86cd976
avcodec/mpegvideo_enc: workaround applications specifying intra dc level based on 8 and othes based on 0bit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:22 +02:00
Michael Niedermayer
8a91cf857b
avcodec/options_table: add liberal limits to intra dc precission
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:21 +02:00
Michael Niedermayer
19e5114eaa
avcodec/mpegvideo_enc: return proper error instead of failing assertion when max rate is not set
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:19 +02:00
Mickaël Raulet
453f8eaee2
hevc/rext: add support for Range extension tools
...
SPS features/flags:
- transform_skip_rotation_enabled_flag
- transform_skip_context_enabled_flag
- implicit_rdpcm_enabled_flag
- explicit_rdpcm_enabled_flag
- intra_smoothing_disabled_flag
- persistent_rice_adaptation_enabled_flag
PPS features/flags:
- log2_max_transform_skip_block_size
- cross_component_prediction_enabled_flag
- chroma_qp_offset_list_enabled_flag
- diff_cu_chroma_qp_offset_depth
- chroma_qp_offset_list_len_minus1
- cb_qp_offset_list
- cr_qp_offset_list
- log2_sao_offset_scale_luma
- log2_sao_offset_scale_chroma
(cherry picked from commit 005294c5b939a23099871c6130c8a7cc331f73ee)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 14:08:20 +02:00
Mickaël Raulet
5a41999d81
hevc/rext: basic infrastructure for supporting range extension
...
- support for 4:2:2 and 4:4:4 up to 12 bits
- add a new profile for range extension
(cherry picked from commit d3c067fa65bbc871758d28aa07f54123430ca346)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:47:35 +02:00
Mickaël Raulet
250430bf28
hevc: separate residu and prediction (needed for Range Extension)
...
(cherry picked from commit 6b3856ef57d66f2e59ee61fd2eb5f83b6d0d7d4a)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:37:27 +02:00
Mickaël Raulet
255086a7e0
hevc: use local variable for split_cu_flag
...
(cherry picked from commit ee71e9e9c12fc47856c452efb278f9f593a923ee)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:31:40 +02:00
Mickaël Raulet
f5beda3bfd
hevc: move restore_tqb where it should be.
...
(cherry picked from commit 8fafc96a9805d11bfe32537c8f78a294a5844065)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:25:55 +02:00
Mickaël Raulet
1241eb8870
hevc: simplify SAO computation, delay from one row its computation
...
(cherry picked from commit f2c5f647cec786df26f442a85e6d685a131a50c9)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:11:33 +02:00
Mickaël Raulet
c4058b7288
hevc/cabac: add new context for new syntax elements related to Rext(cherry picked from commit 6d71e2394f52679cfc8b86fb5880f89e6bd311d4)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 00:00:45 +02:00
Mickaël Raulet
07b91b8d62
hevc: cleaning up, remove unused constants(cherry picked from commit 7eed32d076c57aa03011d65a64903e8bdb633978)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 23:46:36 +02:00
Michael Niedermayer
cc3e7a4c3d
Merge commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310'
...
* commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310':
x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:51:20 +02:00
Michael Niedermayer
98227ba5fa
Merge commit 'a8552ee3eb335d2fd2d6c99363367a6090298f78'
...
* commit 'a8552ee3eb335d2fd2d6c99363367a6090298f78':
ppc: dsputil: Coalesce all init files
Conflicts:
libavcodec/ppc/dsputil_altivec.h
libavcodec/ppc/dsputil_ppc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:08:28 +02:00
Diego Biurrun
acf91215c7
x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
...
The remaining dsputil bits are encoding-specific anyway.
2014-07-13 07:01:05 -07:00
Ben Avison
42c1cc35b7
armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
...
The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.
In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.
I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
aac_decode_frame 2368.1 35.8 2117.2 35.3 100.0% +11.8%
ff_imdct_half_* 457.5 22.4 251.2 16.2 100.0% +82.1%
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 15:17:04 +02:00
James Almer
276bef5340
x86/hevc_deblock: add ff_hevc_[hv]_loop_filter_luma_{8, 10}_sse2
...
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 13:48:31 +02:00
Ronald S. Bultje
ebd1c505d2
h264: fix direct temporal mvs for bottom-field-first poc order.
...
Fixes http://forum.doom9.org/showthread.php?t=170867 .
Fixes: corrupt-1677.mkv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 13:26:19 +02:00
Diego Biurrun
a8552ee3eb
ppc: dsputil: Coalesce all init files
2014-07-13 04:10:13 -07:00
Andreas Cadhalpun
39a6e02fd4
fix spelling errors
...
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 22:33:27 +02:00
Michael Niedermayer
1db641cbd2
avcodec/hevc: more clearing to avoid stale pointers
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:31:37 +02:00
Michael Niedermayer
ccd6911c18
avcodec/hevc_ps: do not loose all reference to pointers still in use
...
Fixes leaving a pointer to unreferenced memory
Fixes Ticket 3115
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:03:09 +02:00
James Almer
123649dd19
x86/dsputilenc: remove some empty if statements
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 15:04:58 +02:00
Michael Niedermayer
66558fe715
avcodec/hevc_ps: Check layer_id_included_flags count
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 07:46:08 +02:00
Michael Niedermayer
6935ae22ed
avcodec/hevc_ps: more complete check for vps_max_dec_pic_buffering
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 07:46:08 +02:00
Michael Niedermayer
5d88e40093
avcodec/hevc: check slice_header_extension data length
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 07:46:07 +02:00
Michael Niedermayer
c79acacd2e
avcodec/hevc: fix nb_sh / nb_sps check
...
fixes integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 04:39:01 +02:00
Michael Niedermayer
2cebd17e3f
avcodec/pgssubdec: Fix input pts
...
Fixes part of Ticket2516
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 01:09:51 +02:00
Michael Niedermayer
b8cdf04726
Merge commit '1173320249745eab01c901a39054fc0fced33c87'
...
* commit '1173320249745eab01c901a39054fc0fced33c87':
dsputil: Drop unused bit_depth parameter from all init functions
Conflicts:
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/ppc/dsputil_ppc.c
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 20:29:40 +02:00
Diego Biurrun
1173320249
dsputil: Drop unused bit_depth parameter from all init functions
2014-07-11 06:38:26 -07:00
Michael Niedermayer
e1f4397e74
Merge commit '458e7c94830d1522997e33a0b5e87bd709e8a349'
...
* commit '458e7c94830d1522997e33a0b5e87bd709e8a349':
hevc: implement pic_output_flag handling
Conflicts:
libavcodec/hevc.c
libavcodec/hevc_refs.c
See: 2eddf3a6ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 12:21:41 +02:00
Michael Niedermayer
aa56c37c8a
Merge commit 'f43789b76e661acd93c21664678f140e53cfa1fa'
...
* commit 'f43789b76e661acd93c21664678f140e53cfa1fa':
hevc: set the keyframe flag on output frames
See: e2760de605
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 12:16:24 +02:00
Gildas Cocherel
458e7c9483
hevc: implement pic_output_flag handling
...
Sample-Id: OPFLAG_B_Qualcomm_1.bit, OPFLAG_C_Qualcomm_1.bit
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:52:54 +00:00
Mickaël Raulet
f43789b76e
hevc: set the keyframe flag on output frames
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:43:01 +00:00
Mickaël Raulet
1493b237bd
hevc: Replace nal type chek with equivalent IS_IRAP macro
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:41:32 +00:00
Anton Khirnov
17e9d52c8c
hevc_ps: remove a write-only variable
2014-07-11 08:38:51 +00:00
Michael Niedermayer
9195c26d45
avcodec/rv34: fix crash while seeking on very damaged file
...
Fixes null pointer dereference
Fixes Ticket2093
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 05:34:13 +02:00
Christophe Gisquet
4576eff05d
hevc: derive partial merge list
...
The merge list only needs to be derived up to the merge index.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 17:27:56 +02:00
Christophe Gisquet
bbeaae96eb
hevc: derive partially amvp list
...
When the candidate has been found, no need to derive others.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 15:35:15 +02:00
Clément Bœsch
7e7168b82d
Fix 2 coeffecient typo
2014-07-10 15:29:54 +02:00
Christophe Gisquet
eca1957c4c
hevc: reorder loops
...
iterate over memory in a more continuous order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 14:46:49 +02:00
Christophe Gisquet
2e471e4703
hevc: simplify rounding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 14:32:18 +02:00