1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-06-14 22:15:12 +02:00
Commit Graph

173 Commits

Author SHA1 Message Date
a8c5ae4511 avcodec/dvbsubdec: Check object position
Reference: ETSI EN 300 743 V1.2.1  7.2.2 Region composition segment

Fixes: Timeout
Fixes: 13325/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVBSUB_fuzzer-5143979392237568

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-14 16:24:35 +01:00
71ba79702d avcodec/dvbsubdec: Compute scoretab without iterating over pixels multiple times in compute_default_clut()
Improves speed 102->2 sec
Testcase: 8655/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVBSUB_fuzzer-6277869285146624
Fixes: Timeout

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-06-27 13:43:39 +02:00
eec67f7b24 avcodec/dvbsubdec: Avoid re-computing clut
Fixes: Timeout
Fixes: 3218/clusterfuzz-testcase-5390672154591232

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-15 17:31:09 +01:00
7d1c79f533 Merge commit 'a594f17f83a1ffdc1eec18818208fe39487dd5d7'
* commit 'a594f17f83a1ffdc1eec18818208fe39487dd5d7':
  dvbsubdec: Free subrect memory on allocation error
  dvbsubdec: Fixed segfault when decoding subtitles

See
fbb59a3bf4
39dfe6801a

Merged-by: James Almer <jamrial@gmail.com>
2017-11-06 18:46:05 -03:00
963247b5f3 avcodec/dvbsubdec: Split best score computation out of loop in compute_default_clut()
3% faster

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
cd2f69cdd6 avcodec/dvbsubdec: Factor a few expressions out of compute_default_clut()
32% faster loop

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
7c10068da1 avcodec/dvbsubdec: Check for duplicate regions in dvbsub_parse_page_segment()
Fixes: OOM
Fixes: 3051/clusterfuzz-testcase-minimized-5745818336231424

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-25 23:38:24 +02:00
a594f17f83 dvbsubdec: Free subrect memory on allocation error
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-06-28 09:44:09 -04:00
1cfd566324 dvbsubdec: Fixed segfault when decoding subtitles
This fixes a segfault (originally found in Movian, but traced to libav)
when decoding subtitles because only an array of rects is allocated,
but not the actual structs it contains. The issue was probably
introduced in commit 2383323 where the loop to allocate the rects in
the array was thrown away.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-06-28 09:44:09 -04:00
e1b0044c23 avcodec/dvbsubdec: Check pixel buffer size constraint from ETSI EN 300 743 V1.3.1
Fixes: OOM
Fixes: 2143/clusterfuzz-testcase-minimized-5482288060039168

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-10 00:48:07 +02:00
4bcde26172 avcodec/dvbsubdec: Use av_image_check_size2()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-10 00:48:07 +02:00
8a69f2602f avcodec/dvbsubdec: Check entry_id
Fixes: randomly writing over the array end
Fixes: 1473/clusterfuzz-testcase-minimized-5768907824562176

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-11 15:51:08 +02:00
0075d9eced avcodec/dvbsubdec: check region dimensions
Fixes: 1408/clusterfuzz-testcase-minimized-6529985844084736
Fixes: integer overflow

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-08 15:28:26 +02:00
b02027c79d avcodec/dvbsubdec: Replace fprintf(stderr) by av_log()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-05 23:57:08 +02:00
7650bccdb1 Merge commit 'b34c6cd57a2e8aad5f773aea933f77883de320ec'
* commit 'b34c6cd57a2e8aad5f773aea933f77883de320ec':
  dvbsub: cosmetics: Group all debug code together

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 21:02:54 +02:00
9f7ba0ac9d Merge commit 'b8cd7a3c8df2c3aac8d7a0b5a02d83caf61bd769'
* 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>
2017-04-03 21:01:40 +02:00
ff66ba6feb Merge commit '7effebde78977fafce935776153ea2f7c0981fa3'
* commit '7effebde78977fafce935776153ea2f7c0981fa3':
  dvbsubdec: Remove disabled, near-duplicate debug code

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 16:10:17 +01:00
a25dac976a Use bitstream_init8() where appropriate 2017-02-07 18:27:21 +01:00
9aec009f65 dvbsubdec: Convert to the new bitstream reader 2017-01-09 15:21:47 +01:00
b34c6cd57a dvbsub: cosmetics: Group all debug code together 2016-11-23 07:40:46 +01:00
b8cd7a3c8d dvbsub: Check for errors from system()
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]
2016-11-23 07:36:32 +01:00
c82b8ef0e4 dvbsubdec: fix division by zero in compute_default_clut
This problem was introduced in commit
4b90dcb849.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-11-10 21:01:59 +01:00
7effebde78 dvbsubdec: Remove disabled, near-duplicate debug code 2016-08-17 12:16:42 +02:00
e723dce6f8 dvbsubdec: Use NULL instead of 0 as pointer value 2016-08-03 08:26:40 +02:00
a4403e49b9 Merge commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376'
* commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376':
  Reduce the scope of some variables

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:40:56 +02:00
b7e64fba7f Reduce the scope of some variables
This avoids unused variable warnings after the next version bump.
Also drop a trace level av_log() call that is in the way.
2016-05-11 12:21:25 +02:00
fb99ef0bd3 avcodec: use AV_OPT_TYPE_BOOL in a bunch of places 2015-12-04 15:37:05 +01:00
ee573b4d31 Merge commit 'a17a7661906ba295d67afd80ac0770422e1b02b3'
* commit 'a17a7661906ba295d67afd80ac0770422e1b02b3':
  lavc: Add data and linesize to AVSubtitleRect

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-22 21:41:53 +02:00
a17a766190 lavc: Add data and linesize to AVSubtitleRect
Use the new fields directly instead of the ones from AVPicture.
This removes a layer of indirection which serves no pratical purpose
whatsoever, and will help in removing AVPicture structure completely
later.

Every subtitle encoder/decoder seamlessly points to the new arrays,
so it is possible to deprecate AVSubtitleRect.pict.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-21 12:02:29 +02:00
fbd71bba85 Merge commit '1da2a20763ae9ca579d5fd20763065871ddf6311'
* commit '1da2a20763ae9ca579d5fd20763065871ddf6311':
  dvbsubdec: Fix function return type

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:25:40 +02:00
1da2a20763 dvbsubdec: Fix function return type 2015-10-04 13:07:12 +02:00
6471040f56 FF_OPT_TYPE_* -> AV_OPT_TYPE_*. 2015-08-18 11:48:49 -04:00
d21ab8e411 avcodec/dvbsubdec: Print field lens in case they are too lerge
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-13 01:50:08 +02:00
daf2c35f52 lavc: Remove newline from avpriv_request_sample() calls. 2015-08-11 22:50:45 +02:00
e5774f28d1 avcodec/dvbsubdec: Do not stop decoding at a invalid depth
This corrects parsing the later elements

Fixes Ticket4754

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-05 00:16:43 +02:00
087c0a0a93 lavc/dvbsub: Do not fail on clut depth 0.
Fixes ticket #4752.
2015-08-04 15:01:22 +02:00
3f87a17063 avcodec/dvbsubdec: Allow selecting the substream, or all substreams
Fixes Ticket 2161

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-04 14:24:13 +02:00
1fc20af6af avcodec/dvbsubdec: Implement display definition segment fallback from ETSI EN 300 743 V1.3.1
Fixes: subtitles.ts
Fixes: Ticket679

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-29 18:02:07 +02:00
d41dceb14e avcodec/dvbsubdec: Add option to select when to computer clut (always/never/"if needed")
Reviewed-by: Anshul <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 00:02:48 +02:00
4b90dcb849 avcodec/dvbsubdec: Compute default CLUT based on bitmap analysis
Fixes displaying subtitles before any CLUT has been received
Fixes Ticket153

This will of course not display these initial subtitles in the correct
color (as that is not known at that point) but they should look clean
and not corrupted

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 14:39:55 +02:00
debf4d6e67 avcodec/dvbsubdec: Fix buf_size check in dvbsub_parse_display_definition_segment()
Fixes Ticket4326

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 04:29:58 +02:00
9f0b898e82 avcodec/dvbsubdec: Clear w/h/size on region buffer allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 23:25:39 +02:00
e06dde52d7 avcodec/dvbsubdec: Do not return a value from a function returning void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 13:47:12 +02:00
8f7b022c8c Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
* 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>
2015-04-20 04:10:10 +02:00
6a85dfc830 lavc: Replace av_dlog and tprintf with internal macros 2015-04-19 12:41:59 +01:00
c5b6b711b2 Merge commit '607ad990d31e6be52980970e5ce8cd25ab3de812'
* commit '607ad990d31e6be52980970e5ce8cd25ab3de812':
  dvbsubdec: check memory allocations and propagate errors

Conflicts:
	libavcodec/dvbsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:25:40 +01:00
607ad990d3 dvbsubdec: check memory allocations and propagate errors 2015-01-27 15:26:37 +00:00
8de0990e9f avcodec/dvbsubdec: Check get_region() return value
Fixes null pointer dereference with DEBUG enabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 16:33:02 +01:00
1bf747ae84 avcodec/dvbsubdec: Return proper error codes from more functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:24:27 +01:00
ebe3a41ea3 avcodec/dvbsubdec: Add some av_malloc() failure checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:21:58 +01:00