aboutsummaryrefslogtreecommitdiff
path: root/src/capture
diff options
context:
space:
mode:
Diffstat (limited to 'src/capture')
-rw-r--r--src/capture/nvfbc.c4
-rw-r--r--src/capture/xcomposite_cuda.c5
-rw-r--r--src/capture/xcomposite_drm.c5
3 files changed, 12 insertions, 2 deletions
diff --git a/src/capture/nvfbc.c b/src/capture/nvfbc.c
index 5371d02..68732f9 100644
--- a/src/capture/nvfbc.c
+++ b/src/capture/nvfbc.c
@@ -377,6 +377,10 @@ static void gsr_capture_nvfbc_tick(gsr_capture *cap, AVCodecContext *video_codec
(*frame)->hw_frames_ctx = video_codec_context->hw_frames_ctx;
(*frame)->buf[0] = av_buffer_pool_get(((AVHWFramesContext*)video_codec_context->hw_frames_ctx->data)->pool);
(*frame)->extended_data = (*frame)->data;
+ (*frame)->color_range = video_codec_context->color_range;
+ (*frame)->color_primaries = video_codec_context->color_primaries;
+ (*frame)->color_trc = video_codec_context->color_trc;
+ (*frame)->colorspace = video_codec_context->colorspace;
}
}
diff --git a/src/capture/xcomposite_cuda.c b/src/capture/xcomposite_cuda.c
index 7280835..ecb5c80 100644
--- a/src/capture/xcomposite_cuda.c
+++ b/src/capture/xcomposite_cuda.c
@@ -389,7 +389,10 @@ static void gsr_capture_xcomposite_cuda_tick(gsr_capture *cap, AVCodecContext *v
(*frame)->format = video_codec_context->pix_fmt;
(*frame)->width = video_codec_context->width;
(*frame)->height = video_codec_context->height;
- (*frame)->color_range = AVCOL_RANGE_JPEG;
+ (*frame)->color_range = video_codec_context->color_range;
+ (*frame)->color_primaries = video_codec_context->color_primaries;
+ (*frame)->color_trc = video_codec_context->color_trc;
+ (*frame)->colorspace = video_codec_context->colorspace;
if(av_hwframe_get_buffer(video_codec_context->hw_frames_ctx, *frame, 0) < 0) {
fprintf(stderr, "gsr error: gsr_capture_xcomposite_cuda_tick: av_hwframe_get_buffer failed\n");
diff --git a/src/capture/xcomposite_drm.c b/src/capture/xcomposite_drm.c
index 0f8115f..a4810a8 100644
--- a/src/capture/xcomposite_drm.c
+++ b/src/capture/xcomposite_drm.c
@@ -372,7 +372,10 @@ static void gsr_capture_xcomposite_drm_tick(gsr_capture *cap, AVCodecContext *vi
(*frame)->format = video_codec_context->pix_fmt;
(*frame)->width = video_codec_context->width;
(*frame)->height = video_codec_context->height;
- (*frame)->color_range = AVCOL_RANGE_JPEG;
+ (*frame)->color_range = video_codec_context->color_range;
+ (*frame)->color_primaries = video_codec_context->color_primaries;
+ (*frame)->color_trc = video_codec_context->color_trc;
+ (*frame)->colorspace = video_codec_context->colorspace;
int res = av_hwframe_get_buffer(video_codec_context->hw_frames_ctx, *frame, 0);
if(res < 0) {