gpt4 book ai didi

c++ - Opengl sws_scale 不工作(段错误)

转载 作者:行者123 更新时间:2023-12-04 23:32:21 32 4
gpt4 key购买 nike

我正在开发一个 OpenGL 视频应用程序,我想在其中以全屏模式渲染视频。我正在尝试使用以下代码渲染视频:

GLFWmonitor* monitor = glfwGetPrimaryMonitor();
const GLFWvidmode* mode = glfwGetVideoMode(monitor);
glfwWindowHint(GLFW_RED_BITS, mode->redBits);
glfwWindowHint(GLFW_GREEN_BITS, mode->greenBits);
glfwWindowHint(GLFW_BLUE_BITS, mode->blueBits);
glfwWindowHint(GLFW_REFRESH_RATE, mode->refreshRate);

但是,当我尝试缩放视频帧时,它会产生段错误。
我正在使用 ffmpegsws颜色转换的刻度。
sws_scaler_ctx = sws_getContext(width, height, av_codec_ctx->pix_fmt,
width, height, AV_PIX_FMT_RGB0,
SWS_FAST_BILINEAR, NULL, NULL, NULL);

uint8_t* dest[4] = { frame_buffer, NULL, NULL, NULL };
int dest_linesize[4] = { width*4, 0, 0, 0 };
sws_scale(sws_scaler_ctx, av_frame->data, av_frame->linesize, 0, av_frame->height, dest, dest_linesize);

有谁知道为什么在尝试缩放视频帧时会导致段错误?

最佳答案

 sws_scale(data->conv_ctx, data->av_frame->data, data->av_frame->linesize, 0,
data->codec_ctx->height, data->gl_frame->data, data->gl_frame->linesize);

它正在缩放 Windows 监视器并解决我的问题。

关于c++ - Opengl sws_scale 不工作(段错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61074327/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com