summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevcdsp_template.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/hevcdsp: rename sao_band_filter c functionsJames Almer2015-08-211-4/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-271-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevcdsp: add missing () to CMP macroJames Almer2015-02-161-1/+1
| | | | | | | | | | Found-by: Clément Bœsch <u@pkh.me> Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/hevcdsp: optimize pixel comparison in sao_edge_filterJames Almer2015-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.9.2 on a Core i5-4200U @ 1.60GHz, Linux x86_64 Before 715487 decicycles in sao_edge_filter_8, 262144 runs, 0 skips After 672104 decicycles in sao_edge_filter_8, 262144 runs, 0 skips Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | hevcdsp: remove compilation-time-fixed parameter from sao_edge_filterJames Almer2015-02-051-3/+2
| | | | | | | | | | | | The stride_src parameter is always 2 * MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE. Signed-off-by: James Almer <jamrial@gmail.com>
* | hevcdsp: replace the SAOParams struct parameter from sao_edge_filterJames Almer2015-02-041-5/+2
| | | | | | | | | | | | | | | | As with sao_band_filter, pass instead the two variables from the struct needed in the function. This simplifies writing asm optimized versions. Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr> Signed-off-by: James Almer <jamrial@gmail.com>
* | hevcdsp: further simplify sao_edge_filterJames Almer2015-02-041-7/+5
| | | | | | | | | | | | Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr> Signed-off-by: James Almer <jamrial@gmail.com>
* | hevcdsp: simplified sao_edge_filterSeppo Tomperi2015-02-041-20/+16
| | | | | | | | | | Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
* | hevcdsp: separated sao edge filter and pixel restore funcsSeppo Tomperi2015-02-041-10/+5
| | | | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
* | hevcdsp: replace the SAOParams struct parameter from sao_band_filterJames Almer2015-02-011-4/+3
| | | | | | | | | | | | | | Pass instead the two variables from the struct needed in the function. This simplifies writing asm optimized versions of the function Signed-off-by: James Almer <jamrial@gmail.com>
* | hevcdsp: remove unused parameter from sao_band_filterJames Almer2015-02-011-2/+1
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit 'de1f8ead8993512925a3ee6c7491473414419e55'Michael Niedermayer2014-11-171-40/+13
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'de1f8ead8993512925a3ee6c7491473414419e55': hevcdsp_template: templatize transquant_bypass Conflicts: libavcodec/hevcdsp_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevcdsp_template: templatize transquant_bypassAnton Khirnov2014-11-171-40/+13
| |
| * hevcdsp: remove an unneeded variable in the loop filterAnton Khirnov2014-07-261-4/+5
| | | | | | | | beta0 and beta1 will always be the same
* | hevcdsp: remove more instances of compile-time-fixed parametersChristophe Gisquet2014-08-221-28/+28
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevcdsp: remove compilation-time-fixed parameterChristophe Gisquet2014-08-221-14/+13
| | | | | | | | | | | | | | The dststride parameter is always MAX_PB_SIZE. Reviewed-by: Mickaël Raulet <mraulet@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc_deblock: change tc typeChristophe Gisquet2014-08-061-4/+4
| | | | | | | | | | | | | | The x86 asm expects int32_t so use that type. Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevcdsp: change types of SAO parametersChristophe Gisquet2014-07-231-4/+4
| | | | | | | | | | | | | | From openhevc Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevcdsp: remove an unneeded variable in the loop filterAnton Khirnov2014-07-221-4/+5
| | | | | | | | | | | | | | | | | | 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>
* | hevc/sao: optimze sao implementationMickaël Raulet2014-07-181-45/+46
| | | | | | | | | | | | | | | | | | | | - 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>
* | hevc/rext: add support for Range extension toolsMickaël Raulet2014-07-151-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+3
| | | | | | | | | | | | | | | | - 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-83/+85
| | | | | | | | | | | | (cherry picked from commit 6b3856ef57d66f2e59ee61fd2eb5f83b6d0d7d4a) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: simplify SAO computation, delay from one row its computationMickaël Raulet2014-07-151-315/+74
| | | | | | | | | | | | (cherry picked from commit f2c5f647cec786df26f442a85e6d685a131a50c9) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/hevc: new idct + asmplepere2014-06-171-152/+102
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: C code update for new motion compensationMickaël Raulet2014-05-061-195/+858
| | | | | | | | | | | | | | pretty print C Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8eeacf31c5ea37baf6b222dc38d20cf4fd33c455'Michael Niedermayer2014-02-231-1/+1
|\ \ | |/ | | | | | | | | | | * commit '8eeacf31c5ea37baf6b222dc38d20cf4fd33c455': hevc: Do not left shift a negative value in hevc_loop_filter_chroma Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc: Do not left shift a negative value in hevc_loop_filter_chromaLuca Barbato2014-02-231-1/+1
| |
| * hevc: Remove useless clipGuillaume Martres2014-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | The src buffer should only contain values in the interval [0, (1 << BIT_DEPTH) - 1]. Since shift = (BIT_DEPTH - 5), src[x] >> shift must be in the interval [0, 31], so no clip is needed. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hevc: clip pixels when transquant bypass is usedGuillaume Martres2014-01-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | The reconstructed picture should always be clipped (see section 8.6.5), previously we did not clip coding units where cu_transquant_bypass_flag == 1. Sample-Id: 00001325-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * Add HEVC decoderGuillaume Martres2013-10-311-0/+1340
| | | | | | | | | | | | | | | | | | | | | | 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: remove useless clip in FUNC(sao_band_filter)()Guillaume Martres2014-01-121-1/+1
| | | | | | | | | | | The src buffer should only contain values in the interval [0, (1 << BIT_DEPTH) - 1]. Since shift = (BIT_DEPTH - 5), src[x] >> shift must be in the interval [0, 31], so no clip is needed. This removes the code that was changed in 5856bca360c5bc3e340a357d91b1f993c80a7bea as the clip that was repositioned in that commit is removed Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: clip pixels when transquant bypass is usedGuillaume Martres2014-01-121-4/+4
| | | | | | | | | | | | | Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind This is a more proper fix than 5856bca360c5bc3e340a357d91b1f993c80a7bea The reconstructed picture should always be clipped (see section 8.6.5), previously we did not clip coding units where cu_transquant_bypass_flag == 1 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: Clip the pixel before shiftingLuca Barbato2014-01-111-1/+1
| | | | | | | | Prevent an out of array bound read. Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: avoid some unnecessary differences with libavGuillaume Martres2013-12-101-41/+11
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevc: random cosmetics to reduce diff to ↵Michael Niedermayer2013-11-021-3/+3
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevc: random cosmetics to reduce diff to ↵Michael Niedermayer2013-11-021-24/+13
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevcdsp_template: random cosmetics to reduce diff to ↵Michael Niedermayer2013-11-021-18/+23
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevc: indention related cosmetics to reduce diff to ↵Michael Niedermayer2013-11-021-13/+34
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevcdsp_template: cosmetics to reduce diff to ↵Michael Niedermayer2013-11-021-64/+71
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevc: reduce whitespace differences to ↵Michael Niedermayer2013-11-021-51/+63
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libavcodec/hevc: reduce bracket differences to ↵Michael Niedermayer2013-11-021-26/+14
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/hevc: Adjust white-spaces to reduce difference to ↵Michael Niedermayer2013-11-021-210/+222
| | | | | | 064698d381e1e7790f21b0199a8930ea04e2e942 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* hevc: fix transform_skip which is only valid for 4x4(cherry picked from ↵Mickaël Raulet2013-10-221-34/+6
| | | | | | commit 740e5a71e5121dbf3fabdc4fec97829c18ecc2d8) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavc: add a HEVC decoder.Guillaume Martres2013-10-151-0/+1366
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