summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc_cabac.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/hevc_cabac: Fix multiple integer overflowsMichael Niedermayer2015-11-271-3/+7
| | | | | | | Fixes: 04ec80eefa77aecd7a49a442cc02baea/asan_heap-oob_19544fa_3303_1905796cd9d8e15f86d664332caabc00.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'a062a55d37720abc8c704aa0e8682efd3cdc9c9b'Michael Niedermayer2015-07-131-52/+0
|\ | | | | | | | | | | | | | | | | | | | | * commit 'a062a55d37720abc8c704aa0e8682efd3cdc9c9b': hevc_parser: fix standalone build with the hevc decoder disabled Conflicts: libavcodec/Makefile libavcodec/hevc.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* \ Merge commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2'Michael Niedermayer2015-07-121-59/+59
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * hevc: remove HEVCContext usage from hevc_psAnton Khirnov2015-07-121-27/+27
| | | | | | | | | | | | Factor out the parameter sets into a separate struct and use it instead. This will allow us to reuse this code in the parser.
| * hevc: Use generic av_clip function, not C implementationPeter Meerwald2015-02-131-1/+1
| | | | | | | | | | | | | | | | | | 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>
| * hevc_cabac: decrease CABAC_MAX_BINMichael Niedermayer2014-11-111-1/+1
| | | | | | | | | | | | | | Prevents shifts with undefined behavior, as no syntax element has a valid value greater than 1 << 31. Bug-Id: CID 1206635
* | avcodec/hevc_cabac: Rename ff_hevc_transform_skip_flag_decode() to ↵Michael Niedermayer2015-05-181-2/+2
| | | | | | | | | | | | | | | | hevc_transform_skip_flag_decode() The function is static and used once in the file its defined in Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec: use av_mod_uintp2() where usefulJames Almer2015-04-211-4/+4
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | hevc: reuse edge emu buffer for coefficientsChristophe Gisquet2014-10-011-2/+2
| | | | | | | | | | | | | | Kind of hackish but... Reviewed-by: Mickael Raulet <Mickael.Raulet@insa-rennes.fr> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: remove CodingTreeChristophe Gisquet2014-09-271-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc/rext: fixing rdpcm and scaling list for Range ExtensionMickaël Raulet2014-07-221-12/+12
| | | | | | | | | | | | | | | | | | | | | | -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>
* | hevc/rext: add support for Range extension toolsMickaël Raulet2014-07-151-127/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | hevc/rext: basic infrastructure for supporting range extensionMickaël Raulet2014-07-151-3/+5
| | | | | | | | | | | | | | | | - 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>
* | hevc: separate residu and prediction (needed for Range Extension)Mickaël Raulet2014-07-151-7/+6
| | | | | | | | | | | | (cherry picked from commit 6b3856ef57d66f2e59ee61fd2eb5f83b6d0d7d4a) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc/cabac: add new context for new syntax elements related to Rext(cherry ↵Mickaël Raulet2014-07-151-47/+101
| | | | | | | | | | | | picked from commit 6d71e2394f52679cfc8b86fb5880f89e6bd311d4) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: cleaning up, remove unused constants(cherry picked from commit ↵Mickaël Raulet2014-07-141-52/+0
| | | | | | | | | | | | 7eed32d076c57aa03011d65a64903e8bdb633978) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '869fc416f7c78ed4e397e0208acd1545771c0502'Michael Niedermayer2014-06-181-1/+1
|\ \ | |/ | | | | | | | | | | * commit '869fc416f7c78ed4e397e0208acd1545771c0502': hevc: Mark num_bins_in_se as unused Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc: Mark num_bins_in_se as unusedLuca Barbato2014-06-181-1/+1
| | | | | | | | Only its size is actually used. Silence a clang warning.
* | avcodec/hevc: new idct + asmplepere2014-06-171-2/+15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: C code update for new motion compensationMickaël Raulet2014-05-061-2/+2
| | | | | | | | | | | | | | pretty print C Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/hevc_cabac: decrease CABAC_MAX_BINMichael Niedermayer2014-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | Prevents shifts with undefined behavior Fixes CID1206634 Fixes CID1206635 Fixed CID1206636 Reviewed-by: smarter Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavcodec/hevc: reduce bracket differences to ↵Michael Niedermayer2013-11-021-12/+11
| | | | | | | | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/hevc: more whitespaces to reduce difference to ↵Michael Niedermayer2013-11-021-2/+1
| | | | | | | | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/hevc: Adjust white-spaces to reduce difference to ↵Michael Niedermayer2013-11-021-288/+285
| | | | | | | | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '064698d381e1e7790f21b0199a8930ea04e2e942'Michael Niedermayer2013-11-011-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '064698d381e1e7790f21b0199a8930ea04e2e942': Add HEVC decoder Conflicts: Changelog libavcodec/Makefile libavcodec/allcodecs.c libavcodec/hevc.c libavcodec/hevc.h libavcodec/hevc_cabac.c libavcodec/hevc_filter.c libavcodec/hevc_mvs.c libavcodec/hevc_parser.c libavcodec/hevc_ps.c libavcodec/hevc_refs.c libavcodec/hevc_sei.c libavcodec/hevcdsp.c libavcodec/hevcdsp_template.c libavcodec/hevcpred.c libavcodec/hevcpred_template.c libavcodec/version.h cosmetics from hevc.h & hevc_ps.c mostly merged, other files left as they where in ffmpeg. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add HEVC decoderGuillaume Martres2013-10-311-0/+872
| | | | | | | | | | | | | | | | | | | | | | 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>
* hevc: more cosmetic(cherry picked from commit ↵Mickaël Raulet2013-10-271-3/+3
| | | | | | | | 9697abe41daa234602915f85bf6b1c0ca0252cff) Decreases the difference to Anton Khirnovs patch v5 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc : cosmetic changes(cherry picked from commit ↵Mickaël Raulet2013-10-271-4/+4
| | | | | | | | 7308c0ccf13f18cebe4851e6dcd6b5c0b09be1dd) Decreases the difference to Anton Khirnovs patch v5 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: add wavefront parallel processingMickaël Raulet2013-10-221-48/+54
| | | | | | | cherry picked from commit b971f2c8fdc60f8bab605a6e8060492eb548a53a cherry picked from commit e57b0a2c915ce6b8a9d57b8292f6581f0680842e Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: pretty print(cherry picked from commit ↵Mickaël Raulet2013-10-201-6/+6
| | | | | | 64a4b623b7d66dfc0f3883e5f1d9125c00c3b18c) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/hevc_cabac: trivial simplificationsMichael Niedermayer2013-10-201-2/+2
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: inline cabac in hls_mvd_coding(cherry picked from commit ↵Mickaël Raulet2013-10-201-4/+28
| | | | | | ad387195ad04e8a005a1bfd509e9e4f827e68fa9) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: inline cabac in residual coding(cherry picked from commit ↵Mickaël Raulet2013-10-201-9/+525
| | | | | | 17d7a880445b72feb36d684ae1f0597195811e97) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: optimize residual coding(cherry picked from commit ↵Mickaël Raulet2013-10-171-65/+15
| | | | | | 70692a44708157b4dfa50e402e446bfa2b27f55e) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavc: add a HEVC decoder.Guillaume Martres2013-10-151-0/+928
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> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud