Michael Niedermayer
d5fcca83b9
Merge commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2'
...
* commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2':
hevc: remove HEVCContext usage from hevc_ps
Conflicts:
libavcodec/hevc.c
libavcodec/hevc_cabac.c
libavcodec/hevc_filter.c
libavcodec/hevc_mvs.c
libavcodec/hevc_ps.c
libavcodec/hevc_refs.c
libavcodec/hevcpred_template.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 22:28:54 +02:00
Anton Khirnov
b11acd5732
hevc: remove HEVCContext usage from hevc_ps
...
Factor out the parameter sets into a separate struct and use it instead.
This will allow us to reuse this code in the parser.
2015-07-12 18:15:39 +02:00
James Almer
ba625dd8a1
avcodec: use av_mod_uintp2() where useful
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-21 22:41:20 -03:00
Michael Niedermayer
d1c705087f
avcodec/hevc_mvs: Use av_clip_intp2()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:40:17 +01:00
Peter Meerwald
eea769df32
hevc: Use generic av_clip function, not C implementation
...
hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-13 08:37:13 +01:00
Michael Niedermayer
4dd85093f1
Merge commit '9e9be5a20c0b36dce1cae11f5f5957886231a764'
...
* commit '9e9be5a20c0b36dce1cae11f5f5957886231a764':
hevc_mvs: prevent unitialized use
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:57:41 +01:00
Vittorio Giovara
9e9be5a20c
hevc_mvs: prevent unitialized use
...
CC: libav-stable@libav.org
Bug-Id: CID 1244202
2014-11-11 11:49:47 +01:00
Michael Niedermayer
33c8500db4
Merge commit 'd208d1eba3799c58fd6d3602d31de3e686f14aec'
...
* commit 'd208d1eba3799c58fd6d3602d31de3e686f14aec':
hevc_mvs: make sure to always initialize the temporal MV fully
Conflicts:
libavcodec/hevc_mvs.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 12:29:07 +02:00
Michael Niedermayer
018ca8b7f6
Merge commit '79a60c8e779242b5ba4c531b2c706c871e8e6420'
...
* commit '79a60c8e779242b5ba4c531b2c706c871e8e6420':
hevc_mvs: initialize the temporal MV in case of missing ref
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 12:21:43 +02:00
Anton Khirnov
d208d1eba3
hevc_mvs: make sure to always initialize the temporal MV fully
...
The spec requires this.
Fixes uninitialized reads on some samples.
Remove now unnecessary initialization of the whole merge candidate list.
2014-10-07 07:13:01 +00:00
Anton Khirnov
79a60c8e77
hevc_mvs: initialize the temporal MV in case of missing ref
...
The caller expects the MV to always be initialized.
2014-10-07 07:12:55 +00:00
Michael Niedermayer
46807921f7
Merge commit 'e3a00acde05c925617dc19b5373969d864bf8414'
...
* commit 'e3a00acde05c925617dc19b5373969d864bf8414':
hevc: Initialize mergecand_list to 0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:02:15 +02:00
Luca Barbato
e3a00acde0
hevc: Initialize mergecand_list to 0
...
Unbreak cf6090dc62
.
CC: libav-stable@libav.org
Sample-Id: hevc-conformance-LTRPSPS_A_Qualcomm_1
2014-09-29 12:33:46 +01:00
Michael Niedermayer
97bb456b6b
avcodec/hevc_mvs: dont redundantly initialize ref_idx_curr
...
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
17cbc6457b
Merge commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c'
...
* commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c':
hevc: use intreadwrite
Conflicts:
libavcodec/hevc_mvs.c
See: 7a4a5515b0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:39:58 +02:00
Michael Niedermayer
5195512add
Merge commit 'ed53cc217f6a6e4ddb35e3f01a79496091dc82dc'
...
* commit 'ed53cc217f6a6e4ddb35e3f01a79496091dc82dc':
hevc: derive partial merge list
Conflicts:
libavcodec/hevc_mvs.c
See: 4576eff05d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:27:39 +02:00
Michael Niedermayer
e6ffe7bcfc
Merge commit '09182b3224370e1d636631e77f201a8388766bd6'
...
* commit '09182b3224370e1d636631e77f201a8388766bd6':
hevc: simplify rounding
Conflicts:
libavcodec/hevc_mvs.c
See: 2e471e4703
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:07:07 +02:00
Christophe Gisquet
3187fa14a3
hevc_mvs: avoid deriving tmvp in amvp
...
Reduces the number of calls to tmvp derivation from 933685 to 586271 on
a sequence.
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:13:43 +00:00
Christophe Gisquet
14ca0aa69b
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: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:13:21 +00:00
Christophe Gisquet
cf6090dc62
hevc: use intreadwrite
...
When dealing with MVs, both components may be processed at a time.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:03:20 +00:00
Christophe Gisquet
ed53cc217f
hevc: derive partial merge list
...
The merge list only needs to be derived up to the merge index.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:59:30 +00:00
Christophe Gisquet
3505b19652
hevc: derive partially amvp list
...
When the candidate has been found, no need to derive others.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:58:14 +00:00
Christophe Gisquet
09182b3224
hevc: simplify rounding
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:57:25 +00:00
Christophe Gisquet
84bc45880a
hevc_mvs: set candidate availabilities
...
They might be left uninitialized otherwise since 3ad04608
.
Fixes ticket #3840 .
Found-by: Carl Eugen Hoyos <ce@hoyos.ws>
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 17:13:18 +02: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
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
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
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
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
Christophe Gisquet
2e471e4703
hevc: simplify rounding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 14:32:18 +02:00
gcocherel
ba70563d55
hevc/pps: optimized size of min_tb_addr_zs
...
reduce computation too
(cherry picked from commit 39c4d45c7788081c45c7fae51b7c5d0bcbaece9d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:11:40 +02:00
Mickaël Raulet
83976e40e8
hevc: C code update for new motion compensation
...
pretty print C
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:22:34 +02:00
Michael Niedermayer
03911c418f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
hevc: Conceal zero td
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 03:54:54 +01:00
Luca Barbato
246d3bf0ec
hevc: Conceal zero td
...
It was done only in check_mvset(), while mv_scale() is called also by
dist_scale().
Sample-Id: 00001579-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-02-09 19:53:43 +01:00
Michael Niedermayer
2c4f573696
libavcodec/hevc: random cosmetics to reduce diff to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 15:32:15 +01:00
Michael Niedermayer
69b3668b83
libavcodec/hevc: indention related cosmetics to reduce diff to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 14:36:59 +01:00
Michael Niedermayer
1a6948fa70
libavcodec/hevc: reduce bracket differences to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 13:09:31 +01:00
Michael Niedermayer
f578e5d937
avcodec/hevc: Adjust white-spaces to reduce difference to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 00:44:54 +01:00
Guillaume Martres
064698d381
Add HEVC decoder
...
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:
Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diego Biurrun <diego@biurrun.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:19:59 +01:00
Anton Khirnov
2f77894ccc
hevc: better mt implementation
...
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>
(cherry picked from commit 93afb8c519deca85b3c97804927de5b016dd32d1)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:49:50 +01:00
Mickaël Raulet
c1882e801d
hevc: clean up mvs(cherry picked from commit 955317c09b877a513d3fcfcd1615909b2f4f651c)
...
Decreases the difference to Anton Khirnovs patch v5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:48:43 +01:00
Mickaël Raulet
3c3ece24ea
hevc : cosmetic changes(cherry picked from commit 7308c0ccf13f18cebe4851e6dcd6b5c0b09be1dd)
...
Decreases the difference to Anton Khirnovs patch v5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:45:34 +01:00
Mickaël Raulet
0c8aba3842
hevc: add wavefront parallel processing
...
cherry picked from commit b971f2c8fdc60f8bab605a6e8060492eb548a53a
cherry picked from commit e57b0a2c915ce6b8a9d57b8292f6581f0680842e
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 20:20:40 +02:00
gcocherel
cf49d0156d
valgrind cleanup(cherry picked from commit 0d5efa40b94c0de92a1fe5091b21e0e2d36bae3d)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 00:17:28 +02:00