summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* vp8: make wait/thread_mb_pos atomic.Ronald S. Bultje2017-04-062-17/+18
| | | | | | | | | | | Fixes tsan warnings like this in fate-vp8-test-vector-007: WARNING: ThreadSanitizer: data race (pid=3590) Write of size 4 at 0x7d8c0000e07c by thread T2: #0 decode_mb_row_no_filter src/libavcodec/vp8.c:2330 (ffmpeg+0x000000ffb59e) [..] Previous write of size 4 at 0x7d8c0000e07c by thread T1: #0 decode_mb_row_no_filter src/libavcodec/vp8.c:2330 (ffmpeg+0x000000ffb59e)
* x86/idctdsp_init: reindent.Ronald S. Bultje2017-04-061-15/+15
|
* jrev/xvid: hardcode use of C put/add_pixels_clamped.Ronald S. Bultje2017-04-064-18/+14
| | | | | | | | | | | | | | | | | | | This removes the last use of the ff_put/add_pixels_clamped global function pointers, and as such they are removed. This patch has a negative effect on performance on MIPS, since there's a SIMD-optimized put/add_pixels_clamped, but no xvid or jrev. From a code maintenance point of view, that is probably acceptable. Because the global function pointers are removed, this fixes the following tsan warnings when running e.g. fate-dnxhr-parse: WARNING: ThreadSanitizer: data race (pid=29917) Write of size 8 at 0x0000025b12d8 by thread T2 (mutexes: write M1543): #0 ff_idctdsp_init src/libavcodec/idctdsp.c:313 (ffmpeg+0x00000044b68e) [..] Previous write of size 8 at 0x0000025b12d8 by thread T1 (mutexes: write M1541): #0 ff_idctdsp_init src/libavcodec/idctdsp.c:313 (ffmpeg+0x00000044b68e)
* x86/simple_idct: add explicit sse2 simple_idct_put/add versions.Ronald S. Bultje2017-04-063-14/+42
| | | | | | These use the mmx IDCT, but sse2 put/add_pixels_clamped implementations. This way we don't need to use the ff_put/add_pixels_clamped function pointers.
* cavs: add a sse2 idct implementation.Ronald S. Bultje2017-04-062-2/+61
| | | | | This makes using the function pointer ff_add_pixels_clamped() unnecessary, since we always know what the best implementation is at compile-time.
* cavs: convert idct from inline asm to yasm.Ronald S. Bultje2017-04-063-160/+171
|
* x86/xvididct: remove use of ff_put/add_pixels_clamped function pointer.Ronald S. Bultje2017-04-061-4/+4
| | | | | Since there's separate SSE2 implementations of xvid_idct_put/add, this patch has no practical impact on performance.
* idct_arm: remove use of ff_put/add_pixels_clamped function pointer.Ronald S. Bultje2017-04-061-4/+4
| | | | | | | Instead, hardcode the use of the _arm implementation of add_pixels, and use the C version for put_pixels (as no arm-optimized version exists). Since there's separate implementations of idct{,_put,_add} for neon, this has no practical impact on performance.
* pthread_frame: allow per-field ThreadFrame owners.Ronald S. Bultje2017-04-064-15/+20
| | | | | | | | | | | | | | | | | | | This tries to handle cases where separate invocations of decode_frame() (each running in separate threads) write to respective fields in the same AVFrame->data[]. Having per-field owners makes interaction between readers (the referencing thread) and writers (the decoding thread) slightly more optimal if both accesses are field-based, since they will use the respective producer's thread objects (mutex/cond) instead of sharing the thread objects of the first field's producer. In practice, this fixes the following tsan-warning in fate-h264: WARNING: ThreadSanitizer: data race (pid=21615) Read of size 4 at 0x7d640000d9fc by thread T2 (mutexes: write M1006): #0 ff_thread_report_progress pthread_frame.c:569 (ffmpeg:x86_64+0x100f7cf54) [..] Previous write of size 4 at 0x7d640000d9fc by main thread (mutexes: write M1004): #0 update_context_from_user pthread_frame.c:335 (ffmpeg:x86_64+0x100f81abb)
* avcodec/dvbsubdec: Replace fprintf(stderr) by av_log()Michael Niedermayer2017-04-051-4/+4
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* bitpacked: fix potential overflowRostislav Pehlivanov2017-04-051-1/+1
| | | | | | Fixes: CID1404842 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* huffyuv: assign correct per-thread avctx pointer to HYuvContext::avctx.Ronald S. Bultje2017-04-051-0/+2
| | | | | | | | | | | Fixes the following tsan warning when running fate-vsynth_lena-ffvhuff: WARNING: ThreadSanitizer: data race (pid=6484) Write of size 8 at 0x7d64000154b8 by main thread (mutexes: write M1331): #0 update_context_from_user src/libavcodec/pthread_frame.c:331 (ffmpeg+0x000000dca887) [..] Previous read of size 8 at 0x7d64000154b8 by thread T2 (mutexes: write M1334): #0 draw_slice src/libavcodec/huffyuvdec.c:857 (ffmpeg+0x000000bcc86f)
* codec: bitpacked: add decoderDamien Riegel2017-04-056-1/+164
| | | | | | | | | | | Add a codec capable of decoding some formats of the RFC4175. For now it's only capable of handling YCbCr-4:2:2 with 8-bit or 10-bit depth. For 8-bit it's a simple pass-through, for 10-bit it depacks the stream in the AV_PIX_FMT_YUV422P10 pixel format. Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* lavc: add AV_ prefix to CODEC_CAP_DELAY in doxyClément Bœsch2017-04-041-2/+2
|
* lavc/mediacodecdec: set AV_CODEC_CAP_AVOID_PROBING capabilityMatthieu Bouron2017-04-041-5/+5
|
* lavc/mediacodecdec: switch to AV_CODEC_CAP_DELAYMatthieu Bouron2017-04-041-5/+5
|
* avcodec/Makefile: fix truehd encoder dependenciesJames Almer2017-04-031-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'b34c6cd57a2e8aad5f773aea933f77883de320ec'Clément Bœsch2017-04-031-64/+62
|\ | | | | | | | | | | | | * commit 'b34c6cd57a2e8aad5f773aea933f77883de320ec': dvbsub: cosmetics: Group all debug code together Merged-by: Clément Bœsch <u@pkh.me>
| * dvbsub: cosmetics: Group all debug code togetherDiego Biurrun2016-11-231-64/+62
| |
* | Merge commit 'b8cd7a3c8df2c3aac8d7a0b5a02d83caf61bd769'Clément Bœsch2017-04-031-2/+8
|\ \ | |/ | | | | | | | | | | | | | | * commit 'b8cd7a3c8df2c3aac8d7a0b5a02d83caf61bd769': dvbsub: Check for errors from system() printf(...) replaced with fprintf(stderr, ...) for logging errors. Merged-by: Clément Bœsch <u@pkh.me>
| * dvbsub: Check for errors from system()Diego Biurrun2016-11-231-2/+8
| | | | | | | | | | libavcodec/dvbsubdec.c:145:5: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result] libavcodec/dvbsubdec.c:148:5: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result]
| * als: Restructure DEBUG ifdefs to avoid unused function parameter warningsDiego Biurrun2016-11-221-2/+4
| |
| * ac3enc: Restructure DEBUG ifdefs to avoid unused function parameter warningsDiego Biurrun2016-11-221-2/+4
| |
* | png: set AVFrame flags/fields before calling setup_finished().Ronald S. Bultje2017-04-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | Fixes tsan warnings in fate-apng: WARNING: ThreadSanitizer: data race (pid=51230) Read of size 4 at 0x7d50000042fc by main thread (mutexes: write M1000): #0 frame_copy_props frame.c:302 (ffmpeg:x86_64+0x1019a35d6) [..] Previous write of size 4 at 0x7d50000042fc by thread T1 (mutexes: write M997): #0 decode_idat_chunk pngdec.c:708 (ffmpeg:x86_64+0x100f5562a)
* | Merge commit '81a3c42abe17e757fe890607f67201a240648993'Clément Bœsch2017-04-031-3/+0
|\ \ | |/ | | | | | | | | | | | | | | * commit '81a3c42abe17e757fe890607f67201a240648993': Drop some bogus Doxygen documentation. See 9365dfcbf665b83b2e60c5ec5e2abf1f0a49e2c3 Merged-by: Clément Bœsch <u@pkh.me>
| * Drop some bogus Doxygen documentation.Diego Biurrun2016-11-211-3/+0
| |
* | Merge commit 'a1d9de304fe63614e3aa8117fef17491fa80093d'Clément Bœsch2017-04-031-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'a1d9de304fe63614e3aa8117fef17491fa80093d': Fix some mismatches between function parameter and doxygen parameter names. Merged-by: Clément Bœsch <u@pkh.me>
| * Fix some mismatches between function parameter and doxygen parameter names.Diego Biurrun2016-11-211-1/+1
| |
| * aarch64: vp9itxfm: Use w3 instead of x3 for the int eob parameterMartin Storsjö2016-11-181-4/+4
| | | | | | | | | | | | | | | | The clobbering tests in checkasm are only invoked when testing correctness, so this bug didn't show up when benchmarking the dc-only version. Signed-off-by: Martin Storsjö <martin@martin.st>
| * arm: vp9itxfm: Simplify the stack alignment codeJanne Grunau2016-11-181-16/+12
| | | | | | | | | | | | | | This is one instruction less for thumb, and only have got 1/2 arm/thumb specific instructions. Signed-off-by: Martin Storsjö <martin@martin.st>
| * qdm2: Convert to the new bitstream readerAlexandra Hájková2016-11-181-100/+100
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * qcelp: Convert to the new bitstream readerAlexandra Hájková2016-11-181-4/+5
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * pcx: Convert to the new bitstream readerAlexandra Hájková2016-11-181-4/+5
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * opus: Convert to the new bitstream readerAlexandra Hájková2016-11-182-6/+6
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * nellymoser: Convert to the new bitstream readerAlexandra Hájková2016-11-181-8/+8
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * jvdec: Convert to the new bitstream readerAlexandra Hájková2016-11-181-26/+26
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * hqx: Convert to the new bitstream headerAlexandra Hájková2016-11-182-34/+35
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * hq_hqa: Convert to the new bitstream readerAlexandra Hájková2016-11-181-24/+24
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * gsm: Convert to the new bitstream readerAlexandra Hájková2016-11-183-26/+28
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * g72x: Convert to the new bitstream readerAlexandra Hájková2016-11-183-47/+49
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * g2meet: Convert to the new bitstream readerAlexandra Hájková2016-11-181-15/+15
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * fraps: Convert to the new bitstream readerAlexandra Hájková2016-11-181-5/+5
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * flashsv: Convert to the new bitstream readerAlexandra Hájková2016-11-181-28/+29
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * faxcompr: Convert to the new bitstream readerAlexandra Hájková2016-11-181-17/+17
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * exr: Convert to the new bitstream readerAlexandra Hájková2016-11-181-6/+6
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * escape130: Convert to the new bitstream readerAlexandra Hájková2016-11-181-23/+23
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * escape124: Convert to the new bitstream readerAlexandra Hájková2016-11-181-44/+41
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * dvdsubdec: Convert to the new bitstream readerAlexandra Hájková2016-11-181-17/+17
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * dss_sp: Convert to the new bitstream readerAlexandra Hájková2016-11-181-11/+11
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * cook: Convert to the new bitstream readerAlexandra Hájková2016-11-181-26/+27
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>