Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-18diracdec: check return code of get_buffer_with_edgeAndreas Cadhalpun
If it fails, buffers aren't allocated, causing NULL pointer dereferencing. Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> (cherry picked from commit db79dedb1ae5dd38432eee3f09155e26f3f2d95a) Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-11-18diracdec: clear slice_params_num_buf on allocation failureAndreas Cadhalpun
Otherwise it can be non-zero next time decode_lowdelay is called, causing slice_params_buf not to be allocated, leading to a NULL pointer dereference. The problem was introduced in commit dcad4677d637cd2f701917e38361fa96b8c9a418. Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> (cherry picked from commit 24d20496d2e6e1df6456c5231d892269dd1fcf38) Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-11-18diracdec: use correct buffer for slice_params_buf reallocAndreas Cadhalpun
This fixes a double-free detected by AddressSanitizer. The problem was introduced in commit dcad4677d637cd2f701917e38361fa96b8c9a418. Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> (cherry picked from commit 8a4ea9644833d43fdfe8579c0cb569f8a0930206) Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-08-20avcodec/diracdec: Check numx/yMichael Niedermayer
Fixes division by 0 Fixes: 60261c4469ba3e11059890fb2832a515/asan_generic_135e694_2790_beb94eaa0aeb7d11c0437375a8964a99.drc Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-14diracdec: fix unchecked byte lengthRostislav Pehlivanov
Also drops the start variable since it's redundant. Found by Coverity, fixes CID1363964 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-07-14diracdec: fix maximum quantization index checksRostislav Pehlivanov
Found by Coverity, fixes CID1363961 and CID1363962 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-07-12diracdec: fix #coeffs -> byte conversionRostislav Pehlivanov
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-07-12diracdec: do not memset the entire coefficient buffer for HQ picturesRostislav Pehlivanov
This is now handled by the slice decoding function. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-07-12diracdec: do not allocate and free slice parameters every frameRostislav Pehlivanov
Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-07-12diracdec: implement a LUT-based Golomb code parserRostislav Pehlivanov
Still much left to optimize, but it provides a significant performance improvement - 10% for 300Mbps (1080p30), 25% for 1.5Gbps (4k 60fps) in comparison with the default implementation. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-07-12diracdec: rewrite HQ slice decodingRostislav Pehlivanov
Now coefficients are written to a buffer and are then dequantized by the new SIMD dequantization functions. For the lower bands without enough coefficients to fill a register (and hence they overwrite) the C version of the dequantization function is used. The buffer is per-thread and will be realloc'd if anything changes. This prevents regressions and having to limit slice size. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-07-12diractab: expose the maximum quantization index as a macroRostislav Pehlivanov
Prevents having to have random magic values in the decoder and a separate macro in the encoder. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-07-12diracdec: decode HQ profile slices in rowsRostislav Pehlivanov
Siginificantly improves the performance. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-07-12diracdec: simplify golomb parsing and dequantizationRostislav Pehlivanov
In preparation for the following commits, this commit simplifies the coefficient parsing and dequantization function. It was needlessly inlined without much performance gain. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2016-06-26Merge commit '4024b566d664a4b161d677554be52f32e7ad4236'Hendrik Leppkes
* commit '4024b566d664a4b161d677554be52f32e7ad4236': golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-05-19avcodec/diracdec: Fix potential integer overflowMichael Niedermayer
Fixes CID1361948 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-28avcodec/diracdec: check bitstream size related fields for overflowsMichael Niedermayer
Fixes segfault Fixes Ticket5333 Regression since bfc8a4dabe5a0154b31128b59dca575010176441 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-07diracdec: Pass DWTPlane to dwt initTimothy Gu
2016-02-07diracdec: Split DWTPlane struct from PlaneTimothy Gu
2016-02-07dirac_dwt: Rename init2 to initTimothy Gu
The functions are all private.
2016-02-03diradec: split tables away to a separate diractab fileRostislav Pehlivanov
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-03diracdec: move the MAX_DWT_LEVELS macro to dirac.hRostislav Pehlivanov
Used by the VC-2 encoder. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21diracdec: fix original Dirac Low Delay profileRostislav Pehlivanov
The version structure in the main decoder context was not (and apparently has never been) populated since it was added. Still, having VC-2 break the existing Dirac Low Delay mode was odd and easily avoidable had the specifications authors noticed/cared. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21diracdec: add support for 12 bit videosRostislav Pehlivanov
The DSP lacked a function needed to convert signed to unsigned. This was ignored when originally adding support and templating for bit depths greater than 8. The 10 bit function was used for 12 bit pictures and resulted in an improper conversion. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-17avcodec/diracdec: Fix qfactor/offset tablesMichael Niedermayer
It seems the previous tables where calculated with 32bit integers ignoring overflows. Also check for the max qindex, the value is choosen so that the qfactor/offset fit in int32. Fixes: 070b7914fd5dfe8f93248bea71363410/asan_static-oob_c8d034_2764_258e20f4a3c79158aecddb61a833d756.drc Fixes out of array reads Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-13avcodec/diracdec: Handle the 0 vlc case at the top of coeff_unpack_golomb()Michael Niedermayer
decoding changes from 17 to 20 fps Reviewed-by; Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-13avcodec/diracdec: Factor +2 out of the inner loopMichael Niedermayer
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-13avcodec/diracdec: Inline svq3_get_ue_golomb() and merge the sign bit ↵Michael Niedermayer
decoding into it This avoids closing and opening the bit reader Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-13diracdec: Add slice threading to HQ profileKieran Kunhya
2016-01-12diracdec: fix idwt_stride calculation in bytesAndreas Cadhalpun
The transformation to bytes must happen after alignment to get the same resulting pointers as before. This fixes segmentation faults in the assembler code. The regression was introduced in commit 9553689. Reviewed-by: Kieran Kunhya <kierank@obe.tv> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17avcodec/diracdec: Check ff_set_dimensions() for failureMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-17avcodec/diracdec: fix aspect ratio (it was lost after ↵Michael Niedermayer
efcc8fddd6b7d1f931ff349e195d78c3c943d7fd) Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-17Merge commit 'e02de9df4b218bd6e1e927b67fd4075741545688'Hendrik Leppkes
* commit 'e02de9df4b218bd6e1e927b67fd4075741545688': lavc: export Dirac parsing API used by the ogg demuxer as public Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17diracdec: Fix codeblock parameters readingKieran Kunhya
2015-12-17diracdec: Add support for HQ profileKieran Kunhya
2015-12-11diracdec: remove duplicate codeblock decodingRostislav Pehlivanov
Broken by commit 7424a6d0a589d31100d6067ebcb47236c00f4b36 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-11diracdec: Fix FPE on invalid low_delay dataKieran Kunhya
2015-12-11diracdec: Replace dirac parse codes with better onesKieran Kunhya
2015-12-11diracdec: Read picture types by using parse_codeKieran Kunhya
2015-12-11diracdec: Support new extended quantiser rangeKieran Kunhya
2015-12-11diracdec: Extract version parametersKieran Kunhya
2015-12-11diracdec: Make slice parameters common between lowdelay and future hq profileKieran Kunhya
2015-12-10diracdec: Rename lowdelay_subband to decode_subband because it is shared ↵Kieran Kunhya
with HQ profile
2015-12-10diracdec: Template DSP functions adding 10-bit versionsKieran Kunhya
2015-12-10diracdec: Move strides to bytes, and pointer types to uint8_t.Kieran Kunhya
Start templating functions for move to support 10-bit Parts of this patch were written by Rostislav Pehlivanov
2015-08-06avcodec/diracdec: Move reference to DiracFrame, avoid use of the deprecated ↵Michael Niedermayer
field from AVFrame Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer
* commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18avcodec/diracdec: Check for hpel_base allocation failureMichael Niedermayer
Fixes null pointer dereference Fixes: signal_sigsegv_b02a96_280_RL_420p_ffdirac.drc with memlimit of 67108864 Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-05-15avcodec/diracdec: Make data_unit_size unsignedMichael Niedermayer
Fixes CID1271788 with this change the value is more explicitly checked, it was fully checked before though Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07avcodec/diracdec: Replace default_bsep[] by multiplicationMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>