mirror of https://git.ffmpeg.org/ffmpeg.git
avutil/hwcontext_vulkan: cuda doesn't belong to valid_sw_formats
Move it to transfer_get_formats. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
This commit is contained in:
parent
891f70c6d5
commit
63078b4599
|
@ -1664,11 +1664,6 @@ static int vulkan_frames_get_constraints(AVHWDeviceContext *ctx,
|
||||||
NULL, NULL, NULL, NULL, 0, 0) >= 0;
|
NULL, NULL, NULL, NULL, 0, 0) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_CUDA
|
|
||||||
if (p->dev_is_nvidia)
|
|
||||||
count++;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
constraints->valid_sw_formats = av_malloc_array(count + 1,
|
constraints->valid_sw_formats = av_malloc_array(count + 1,
|
||||||
sizeof(enum AVPixelFormat));
|
sizeof(enum AVPixelFormat));
|
||||||
if (!constraints->valid_sw_formats)
|
if (!constraints->valid_sw_formats)
|
||||||
|
@ -1684,10 +1679,6 @@ static int vulkan_frames_get_constraints(AVHWDeviceContext *ctx,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_CUDA
|
|
||||||
if (p->dev_is_nvidia)
|
|
||||||
constraints->valid_sw_formats[count++] = AV_PIX_FMT_CUDA;
|
|
||||||
#endif
|
|
||||||
constraints->valid_sw_formats[count++] = AV_PIX_FMT_NONE;
|
constraints->valid_sw_formats[count++] = AV_PIX_FMT_NONE;
|
||||||
|
|
||||||
constraints->min_width = 1;
|
constraints->min_width = 1;
|
||||||
|
@ -2416,12 +2407,22 @@ static int vulkan_transfer_get_formats(AVHWFramesContext *hwfc,
|
||||||
enum AVHWFrameTransferDirection dir,
|
enum AVHWFrameTransferDirection dir,
|
||||||
enum AVPixelFormat **formats)
|
enum AVPixelFormat **formats)
|
||||||
{
|
{
|
||||||
enum AVPixelFormat *fmts = av_malloc_array(2, sizeof(*fmts));
|
enum AVPixelFormat *fmts;
|
||||||
|
int n = 2;
|
||||||
|
|
||||||
|
#if CONFIG_CUDA
|
||||||
|
n++;
|
||||||
|
#endif
|
||||||
|
fmts = av_malloc_array(n, sizeof(*fmts));
|
||||||
if (!fmts)
|
if (!fmts)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
fmts[0] = hwfc->sw_format;
|
n = 0;
|
||||||
fmts[1] = AV_PIX_FMT_NONE;
|
fmts[n++] = hwfc->sw_format;
|
||||||
|
#if CONFIG_CUDA
|
||||||
|
fmts[n++] = AV_PIX_FMT_CUDA;
|
||||||
|
#endif
|
||||||
|
fmts[n++] = AV_PIX_FMT_NONE;
|
||||||
|
|
||||||
*formats = fmts;
|
*formats = fmts;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue