diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-04-20 04:10:33 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-06-12 10:47:44 +0200 |
commit | d4b63885a6011ff13a3a80c616a905f526a113c0 (patch) | |
tree | 10a294340bd15bad2304e58f30c055fe134841a4 /libavcodec/ppc/mpeg4videodsp.c | |
parent | 0aaabe1fd72fb4d302a433ce33e45fb8c2301d6f (diff) | |
download | ffmpeg-d4b63885a6011ff13a3a80c616a905f526a113c0.tar.gz |
avcodec/mpegpicture: Store linesize in ScratchpadContext
The mpegvideo-based codecs currently require the linesize to be
constant (except when the frame dimensions change); one reason
for this is that certain scratch buffers whose size depend on
linesize are only allocated once and are presumed to be correctly
sized if the pointers are != NULL.
This commit changes this by storing the actual linesize these
buffers belong to and reallocating the buffers if it does not
suffice. This is not enough to actually support changing linesizes,
but it is a start. And it is a prerequisite for the next patch.
Also don't emit an error message in case the source ctx's
edge_emu_buffer is unset in ff_mpeg_update_thread_context().
It need not be an error at all; e.g. it is a perfectly normal
state in case a hardware acceleration is used as the scratch
buffers are not allocated in this case (it is easy to run into
this issue with MPEG-4) or if the src context was not initialized
at all (e.g. because the first packet contained garbage).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/ppc/mpeg4videodsp.c')
0 files changed, 0 insertions, 0 deletions