mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-11 09:59:50 +00:00
lavc/videotoolboxdec: fix crop handling when multithreaded
This was partially fixed by 233cd89
, but it made changes to AVFrame fields
from within end_frame, which doesn't work consistently when multithreading
is enabled. This is what the post_process function is for.
Signed-off-by: Aman Gupta <aman@tmm1.net>
This commit is contained in:
parent
81abf90aea
commit
77937a42e7
@ -91,6 +91,11 @@ static int videotoolbox_postproc_frame(void *avctx, AVFrame *frame)
|
||||
return AVERROR_EXTERNAL;
|
||||
}
|
||||
|
||||
frame->crop_right = 0;
|
||||
frame->crop_left = 0;
|
||||
frame->crop_top = 0;
|
||||
frame->crop_bottom = 0;
|
||||
|
||||
frame->data[3] = (uint8_t*)ref->pixbuf;
|
||||
|
||||
if (ref->hw_frames_ctx) {
|
||||
@ -898,11 +903,6 @@ static int videotoolbox_common_end_frame(AVCodecContext *avctx, AVFrame *frame)
|
||||
AVVideotoolboxContext *videotoolbox = videotoolbox_get_context(avctx);
|
||||
VTContext *vtctx = avctx->internal->hwaccel_priv_data;
|
||||
|
||||
frame->crop_right = 0;
|
||||
frame->crop_left = 0;
|
||||
frame->crop_top = 0;
|
||||
frame->crop_bottom = 0;
|
||||
|
||||
if (vtctx->reconfig_needed == true) {
|
||||
vtctx->reconfig_needed = false;
|
||||
av_log(avctx, AV_LOG_VERBOSE, "VideoToolbox decoder needs reconfig, restarting..\n");
|
||||
|
Loading…
Reference in New Issue
Block a user