[FFmpeg-trac] #10210(avcodec:new): On Windows with x86 build, calling avcodec_send_packet does not free FPU registers
FFmpeg
trac at avcodec.org
Fri Mar 10 18:14:32 EET 2023
#10210: On Windows with x86 build, calling avcodec_send_packet does not free FPU
registers
-------------------------------------+-------------------------------------
Reporter: Kevin | Owner: (none)
Coulombe |
Type: defect | Status: new
Priority: normal | Component: avcodec
Version: git-master | Resolution:
Keywords: avcodec FPU | Blocked By:
fld ST0 x87 |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by Sebas):
I can reproduce this issue after recompiling FFmpeg 5.1.2 in x86 mode with
Visual Studio 2022.
The call to `send_packet_proc()` incorrectly keeps the FPU registers in
the used state if decoding the input JPEG returns an error. After that,
any instruction using the FPU fails (For example '4.22/2.11' returns
'NaN').
This happens because `ff_mjpeg_decode_sos()` doesn't call `emms_c()` to
make the FPU available after `mjpeg_decode_scan()` returns an error.
`emms_c()` is called only on success.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/10210#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list