Skip to content

Commit

Permalink
Merge branch 'h264-colour-spaces' of https://github.com/any1/tigervnc
Browse files Browse the repository at this point in the history
  • Loading branch information
CendioOssman committed Aug 23, 2024
2 parents e6fb057 + c68714a commit cfed31b
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion common/rfb/H264LibavDecoderContext.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,22 @@ void H264LibavDecoderContext::decode(const uint8_t* h264_in_buffer,

sws = sws_getCachedContext(sws, frame->width, frame->height, avctx->pix_fmt,
frame->width, frame->height, AV_PIX_FMT_RGB32,
0, nullptr, nullptr, nullptr);
SWS_POINT, nullptr, nullptr, nullptr);

int inFull, outFull, brightness, contrast, saturation;
const int* inTable;
const int* outTable;

sws_getColorspaceDetails(sws, (int**)&inTable, &inFull, (int**)&outTable,
&outFull, &brightness, &contrast, &saturation);
if (frame->colorspace != AVCOL_SPC_UNSPECIFIED) {
inTable = sws_getCoefficients(frame->colorspace);
}
if (frame->color_range != AVCOL_RANGE_UNSPECIFIED) {
inFull = frame->color_range == AVCOL_RANGE_JPEG;
}
sws_setColorspaceDetails(sws, inTable, inFull, outTable, outFull, brightness,
contrast, saturation);

if (rgbFrame && (rgbFrame->width != frame->width || rgbFrame->height != frame->height)) {
av_frame_free(&rgbFrame);
Expand Down

0 comments on commit cfed31b

Please sign in to comment.