summaryrefslogtreecommitdiff
path: root/libavcodec/h264_loopfilter.c
Commit message (Collapse)AuthorAge
* avcodec/h264_loopfilter: Fix incorrect function parameter array sizeAndreas Rheinhardt2022-07-23
| | | | | | | | | | | | | | | filter_mb_mbaff_edgev() and filter_mb_mbaff_edgecv() have a function parameter whose expected size depends upon another parameter: It is 2 * bsi + 1 (with bsi always being 1 or 2). This array is declared as const int16_t[7], yet some of the callers with bsi == 1 call it with only an const int16_t[4] available. This leads to -Wstringop-overread warnings from GCC 12.1. This commit fixes these by replacing [7] with [/* 2 * bsi + 1 */], so that the expected range and its dependence on bsi is immediately visible. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_*: Remove unnecessary internal.h inclusionsAndreas Rheinhardt2022-01-26
| | | | | | Also remove some other unnecessary headers while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu: move LOCAL_ALIGNED from internal.h to mem_internal.hAnton Khirnov2021-01-01
| | | | That is a more appropriate place for it.
* Merge commit '0574780d7a196f87ddd89d6362f4c47f3532b4c4'Clément Bœsch2017-03-24
|\ | | | | | | | | | | | | * commit '0574780d7a196f87ddd89d6362f4c47f3532b4c4': h264_loopfilter: Do not print value of uninitialized variable Merged-by: Clément Bœsch <u@pkh.me>
| * h264_loopfilter: Do not print value of uninitialized variableDiego Biurrun2016-10-27
| | | | | | | | libavcodec/h264_loopfilter.c:531:111: warning: variable 'edge' is uninitialized when used here [-Wuninitialized]
* | Merge commit 'f638b67e5790735f34620bf82025c9b9d6fc7216'James Almer2016-08-01
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'f638b67e5790735f34620bf82025c9b9d6fc7216': h264: move the parameter set definitions to a new header file Conflicts: libavcodec/h264_parse.h libavcodec/h264_ps.c libavcodec/h264dec.h Merged-by: James Almer <jamrial@gmail.com>
| * h264: move the parameter set definitions to a new header fileAnton Khirnov2016-06-21
| | | | | | | | | | The PS parsing code is independent from the decoder, so it makes more sense for it to have its own separate header.
* | Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'Clément Bœsch2016-07-29
|\| | | | | | | | | | | | | * commit '9df889a5f116c1ee78c2f239e0ba599c492431aa': h264: rename h264.[ch] to h264dec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * h264: rename h264.[ch] to h264dec.[ch]Anton Khirnov2016-06-21
| | | | | | | | This is more consistent with the naming of other decoders.
* | Merge commit '6e92181bf836f48627a4733b6fd240a99fd36365'Clément Bœsch2016-07-01
|\| | | | | | | | | | | | | * commit '6e92181bf836f48627a4733b6fd240a99fd36365': h264: pass just the PPS to get_chroma_qp() Merged-by: Clément Bœsch <clement@stupeflix.com>
| * h264: pass just the PPS to get_chroma_qp()Anton Khirnov2016-06-12
| | | | | | | | | | It does not need the whole context. This will simplify the following commit.
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '3176217c60ca7828712985092d9102d331ea4f3d'Clément Bœsch2016-06-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3176217c60ca7828712985092d9102d331ea4f3d': h264: decouple h264_ps from the h264 decoder Main changes: - a local GetBitContext is created for the various ff_h264_decode_seq_parameter_set() attempts - just like the old code, remove_sps() is adjusted so it doesn't remove the pps. Fixes decode with Ticket #631 http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20111108/dae58f17/attachment.mp4 but see next point as well. - ff_h264_update_thread_context() is updated to work even when SPS isn't set as it breaks current skip_frame code. This makes sure we can still decode the sample from ticket #631 without the need for -flags2 +chunks. (Thanks to Michael) - keep {sps,pps}_ref pointers that stay alive even when the active pps/sps get removed from the available lists (patch by michaelni with additionnal frees in ff_h264_free_context() from mateo) - added a check on sps in avpriv_h264_has_num_reorder_frames() to fix crashes with mpegts_with_dvbsubs.ts from Ticket #4074 http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4074/mpegts_with_dvbsubs.ts - in h264_parser.c:h264_parse(), after the ff_h264_decode_extradata() is called, the pps and sps from the local parser context are updated with the pps and sps from the used h264context. This fixes fate-flv-demux. - in h264_slice.c, "PPS changed between slices" error is not triggered anymore in one condition as it makes fate-h264-xavc-4389 fails with THREADS=N (Thanks to Michael) Merged-by: Clément Bœsch <clement@stupeflix.com> Merged-by: Michael Niedermayer <michael@niedermayer.cc> Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
| * h264: decouple h264_ps from the h264 decoderAnton Khirnov2016-04-24
| | | | | | | | | | | | | | | | | | Make the SPS/PPS parsing independent of the H264Context, to allow decoupling the parser from the decoder. The change is modelled after the one done earlier for HEVC. Move the dequant buffers to the PPS to avoid complex checks whether they changed and an expensive copy for frame threads.
* | Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | | | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25': lavc: Replace av_dlog and tprintf with internal macros Conflicts: libavcodec/aacdec.c libavcodec/audio_frame_queue.c libavcodec/bitstream.c libavcodec/dcadec.c libavcodec/dnxhddec.c libavcodec/dvbsubdec.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/get_bits.h libavcodec/gifdec.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/imc.c libavcodec/interplayvideo.c libavcodec/jpeglsdec.c libavcodec/libopencore-amr.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_parser.c libavcodec/pngdec.c libavcodec/ratecontrol.c libavcodec/rv10.c libavcodec/svq1dec.c libavcodec/vqavideo.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-19
| |
* | Merge commit '34d4c605e9a5116d5289b35633ade5b01cacab24'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | * commit '34d4c605e9a5116d5289b35633ade5b01cacab24': h264_loopfilter: constify all uses of H264Context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_loopfilter: constify all uses of H264ContextAnton Khirnov2015-03-21
| | | | | | | | | | All the variables modified by this code are either per-MB arrays or have been moved to the per-slice context
* | Merge commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | * commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191': h264: move mb_field_decoding_flag into the per-slice context Conflicts: libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move mb_field_decoding_flag into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit '0edbe6faa7ef80daf0e84353cbe733389bf1a522'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '0edbe6faa7ef80daf0e84353cbe733389bf1a522': h264: move mb_xy into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move mb_xy into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | * commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff': h264: move loopfilter parameters into the per-slice context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move loopfilter parameters into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit 'e7226984ac13aacb84eae77a372df8ff7685848f'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | * commit 'e7226984ac13aacb84eae77a372df8ff7685848f': h264: move [{top,left}_]cbp into the per-slice context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move [{top,left}_]cbp into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '95eb35f30513e335990ad0d5dca6ddc318477291': h264: move the ref lists variables into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_direct.c libavcodec/h264_mb.c libavcodec/h264_picture.c libavcodec/h264_refs.c libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move the ref lists variables into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit 'e6287f077c3e8e4aca11e61dd4bade1351439e6b'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | * commit 'e6287f077c3e8e4aca11e61dd4bade1351439e6b': h264: move {mv,ref}_cache into the per-slice context Conflicts: libavcodec/h264_cabac.c libavcodec/h264_mb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move {mv,ref}_cache into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit 'f69574cf7aca4fe4d57a2155e925f37fc863474d'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'f69574cf7aca4fe4d57a2155e925f37fc863474d': h264: move non_zero_count_cache into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move non_zero_count_cache into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit '8b00f4df20f4a8ab0656fdaf7d00233a6515a052'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | * commit '8b00f4df20f4a8ab0656fdaf7d00233a6515a052': h264: move some neighbour information into the per-slice context Conflicts: libavcodec/h264_cabac.c libavcodec/h264_cavlc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move some neighbour information into the per-slice contextAnton Khirnov2015-03-21
| |
* | Merge commit 'd231e84b06a9964c840cff4e228509f706165fb6'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'd231e84b06a9964c840cff4e228509f706165fb6': h264: move the quantizers into the per-slice context Conflicts: libavcodec/dxva2_h264.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move the quantizers into the per-slice contextAnton Khirnov2015-03-21
| |
* | lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNEDChristophe Gisquet2015-03-14
| | | | | | | | | | | | The later may yield incorrect code for on-stack variables. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '213e606752d16f51337e94431962fb5d7749c07e'Michael Niedermayer2014-09-05
|\| | | | | | | | | | | | | | | | | | | * commit '213e606752d16f51337e94431962fb5d7749c07e': Replace av_unused attributes by block structures Conflicts: libavcodec/h264_loopfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace av_unused attributes by block structuresDiego Biurrun2014-09-05
| | | | | | | | | | This is more portable and avoids warnings with compilers that do not properly support av_unused.
* | Merge commit 'd24e9a99a40166bf881ccd2e3ae5688af4726658'Michael Niedermayer2014-03-17
|\| | | | | | | | | | | | | * commit 'd24e9a99a40166bf881ccd2e3ae5688af4726658': h264 does not depend on mpegvideo any more Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264 does not depend on mpegvideo any moreVittorio Giovara2014-03-16
| |
* | Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'Michael Niedermayer2014-03-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b': mpegvideo: move mpegvideo formats-related defines to mpegutils.h Conflicts: libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_mvpred.h libavcodec/svq1enc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-02-21
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: Lower bound check for slice offsets Conflicts: libavcodec/h264.c See: 91253839e14cce9793ee93f184cef609ca8195d5 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: Lower bound check for slice offsetsVittorio Giovara2014-02-20
| | | | | | | | | | | | | | | | | | | | And use the value from the specification. Sample-Id: 00000451-google Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * avcodec: Remove some commented-out debug cruftDiego Biurrun2013-08-20
| |
* | h264: add an argument to CHROMA for consistencyMichael Niedermayer2013-03-21
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>