diff options
author | dec05eba <dec05eba@protonmail.com> | 2023-07-23 04:21:38 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2023-07-23 04:21:38 +0200 |
commit | fafb1e84f0347834c60fd8824d1f42062fc08a6f (patch) | |
tree | 2bfe15dc089be3a9a0a4ca49a6960cfe5d849bf2 /src | |
parent | 41883be88960e552c72d1e33ece6a74da9d89777 (diff) |
Improve color accuracy on amd/intel
Diffstat (limited to 'src')
-rw-r--r-- | src/color_conversion.c | 8 | ||||
-rw-r--r-- | src/main.cpp | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/color_conversion.c b/src/color_conversion.c index 8f8d4bc..06d3ebe 100644 --- a/src/color_conversion.c +++ b/src/color_conversion.c @@ -18,10 +18,10 @@ static float abs_f(float v) { " 0.0, 0.0, 0.0, 1.0);\n" \ "}\n" -#define RGB_TO_YUV "const mat4 RGBtoYUV = mat4(0.257, 0.439, -0.148, 0.0,\n" \ - " 0.504, -0.368, -0.291, 0.0,\n" \ - " 0.098, -0.071, 0.439, 0.0,\n" \ - " 0.0625, 0.500, 0.500, 1.0);" +#define RGB_TO_YUV "const mat4 RGBtoYUV = mat4(0.2126, 0.5000, -0.1146, 0.0,\n" \ + " 0.7152, -0.4542, -0.3854, 0.0,\n" \ + " 0.0722, -0.0468, 0.5000, 0.0,\n" \ + " 0.0, 0.500, 0.500, 1.0);" static int load_shader_rgb(gsr_shader *shader, gsr_egl *egl, int *rotation_uniform) { char vertex_shader[2048]; diff --git a/src/main.cpp b/src/main.cpp index 22f929e..56ff05f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -301,10 +301,10 @@ static AVCodecContext *create_video_codec_context(AVPixelFormat pix_fmt, } codec_context->max_b_frames = 0; codec_context->pix_fmt = pix_fmt; - //codec_context->color_range = AVCOL_RANGE_JPEG; // TODO: Amd/nvidia? - //codec_context->color_primaries = AVCOL_PRI_BT709; - //codec_context->color_trc = AVCOL_TRC_BT709; - //codec_context->colorspace = AVCOL_SPC_BT709; + codec_context->color_range = AVCOL_RANGE_JPEG; // TODO: Amd/nvidia? + codec_context->color_primaries = AVCOL_PRI_BT709; + codec_context->color_trc = AVCOL_TRC_BT709; + codec_context->colorspace = AVCOL_SPC_BT709; //codec_context->chroma_sample_location = AVCHROMA_LOC_CENTER; if(codec->id == AV_CODEC_ID_HEVC) codec_context->codec_tag = MKTAG('h', 'v', 'c', '1'); |