[FFmpeg-devel] [PATCH 69/87] avutil/pixdesc: Remove deprecated AV_PIX_FMT_FLAG_PSEUDOPAL

James Almer jamrial at gmail.com
Wed Apr 21 20:44:46 EEST 2021


On 4/20/2021 10:40 AM, Michael Niedermayer wrote:
> On Mon, Apr 19, 2021 at 11:10:06AM -0300, James Almer wrote:
>> From: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>>
>> Deprecated in d6fc031caf64eed921bbdef86d79d56bfc2633b0.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
>> ---
>>   libavcodec/decode.c          |  5 +----
>>   libavcodec/ffv1dec.c         |  3 +--
>>   libavcodec/rawdec.c          | 17 +++++------------
>>   libavfilter/drawutils.c      |  2 +-
>>   libavfilter/framepool.c      |  6 ++----
>>   libavfilter/vf_crop.c        |  2 +-
>>   libavfilter/vf_pixdesctest.c |  3 +--
>>   libavfilter/vf_scale.c       |  3 +--
>>   libavfilter/vf_untile.c      |  2 +-
>>   libavutil/frame.c            |  2 +-
>>   libavutil/imgutils.c         | 15 ++++-----------
>>   libavutil/internal.h         |  9 ---------
>>   libavutil/pixdesc.c          |  9 ++++-----
>>   libavutil/pixdesc.h          | 20 --------------------
>>   libavutil/version.h          |  3 ---
>>   tests/ref/fate/imgutils      | 10 +++++-----
>>   16 files changed, 28 insertions(+), 83 deletions(-)
> 
> breaks:
> ./ffmpeg -i ticket/3933/128.jls
> 
>    libswscale      5. 10.100 /  5. 10.100
>    libswresample   3. 10.100 /  3. 10.100
>    libpostproc    55. 10.100 / 55. 10.100
> ==30215== Invalid write of size 4
> ==30215==    at 0x9D4457: ff_jpegls_decode_lse (jpeglsdec.c:130)
> ==30215==    by 0xA26145: ff_mjpeg_receive_frame (mjpegdec.c:2542)
> ==30215==    by 0x85A2B9: decode_receive_frame_internal (decode.c:527)
> ==30215==    by 0x85A565: avcodec_send_packet (decode.c:593)
> ==30215==    by 0x70F684: try_decode_frame (utils.c:3072)
> ==30215==    by 0x712CF4: avformat_find_stream_info (utils.c:3923)
> ==30215==    by 0x22D58A: open_input_file (ffmpeg_opt.c:1198)
> ==30215==    by 0x23C0C0: open_files (ffmpeg_opt.c:3340)
> ==30215==    by 0x23C274: ffmpeg_parse_options (ffmpeg_opt.c:3380)
> ==30215==    by 0x25BA4E: main (ffmpeg.c:4991)
> ==30215==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
> ==30215==
> ==30215==
> ==30215== Process terminating with default action of signal 11 (SIGSEGV)
> ==30215==  Access not within mapped region at address 0x0
> ==30215==    at 0x9D4457: ff_jpegls_decode_lse (jpeglsdec.c:130)
> ==30215==    by 0xA26145: ff_mjpeg_receive_frame (mjpegdec.c:2542)
> ==30215==    by 0x85A2B9: decode_receive_frame_internal (decode.c:527)
> ==30215==    by 0x85A565: avcodec_send_packet (decode.c:593)
> ==30215==    by 0x70F684: try_decode_frame (utils.c:3072)
> ==30215==    by 0x712CF4: avformat_find_stream_info (utils.c:3923)
> ==30215==    by 0x22D58A: open_input_file (ffmpeg_opt.c:1198)
> ==30215==    by 0x23C0C0: open_files (ffmpeg_opt.c:3340)
> ==30215==    by 0x23C274: ffmpeg_parse_options (ffmpeg_opt.c:3380)
> ==30215==    by 0x25BA4E: main (ffmpeg.c:4991)
> ==30215==  If you believe this happened as a result of a stack
> ==30215==  overflow in your program's main thread (unlikely but
> ==30215==  possible), you can try to increase the size of the
> ==30215==  main thread stack using the --main-stacksize= flag.
> ==30215==  The main thread stack size used in this run was 8388608.
> ==30215==

I just sent "avcodec/mjpegdec: postpone calling ff_get_buffer() until 
the SOS marker" as an attempt to work around this issue.

Better solutions are of course welcome.


More information about the ffmpeg-devel mailing list