vlc/vlc-3.0 | branch: master | Steve Lhomme <[email protected]> | Fri Jan 26 10:47:14 2018 +0100| [a4029ace81dad34e1c898144f2cbafc71f923590] | committer: Jean-Baptiste Kempf
avcodec: assume a source is full range if not specified and an RGB format There's a good chance that codec decoding to RGB are capture formats from computers using full range display. Ref #19127 (cherry picked from commit fd92c52e36832ee54207e095a9747e4d70145234) Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=a4029ace81dad34e1c898144f2cbafc71f923590 --- modules/codec/avcodec/video.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c index a25f6ca461..3bdbd46a93 100644 --- a/modules/codec/avcodec/video.c +++ b/modules/codec/avcodec/video.c @@ -204,8 +204,21 @@ static int lavc_GetVideoFormat(decoder_t *dec, video_format_t *restrict fmt, * __MAX(ctx->ticks_per_frame, 1); } - if( ctx->color_range == AVCOL_RANGE_JPEG ) + /* FIXME we should only set the known values and let the core decide + * later of fallbacks, but we can't do that with a boolean */ + switch ( ctx->color_range ) + { + case AVCOL_RANGE_JPEG: fmt->b_color_range_full = true; + break; + case AVCOL_RANGE_UNSPECIFIED: + fmt->b_color_range_full = !vlc_fourcc_IsYUV( fmt->i_chroma ); + break; + case AVCOL_RANGE_MPEG: + default: + fmt->b_color_range_full = false; + break; + } switch( ctx->colorspace ) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
