[FFmpeg-cvslog] diracdec: fix full range videos

Rostislav Pehlivanov git at videolan.org
Fri Jan 22 18:15:10 CET 2016


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Fri Jan 22 17:07:16 2016 +0000| [ce855bf43bcb3e217266653281db63c94e34c700] | committer: Rostislav Pehlivanov

diracdec: fix full range videos

Full range video had been broken by the introduction of the < 2U check
at the following line. The bitstream format kind of implies that the full
and limited ranges use different pix_fmts but that's incorrect since we
have the avctx->color_range flag. So adjust the pixel range index to
be mapped to the same pix_fmts as limited range index.

Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ce855bf43bcb3e217266653281db63c94e34c700
---

 libavcodec/dirac.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/dirac.c b/libavcodec/dirac.c
index faf5534..39df2a8 100644
--- a/libavcodec/dirac.c
+++ b/libavcodec/dirac.c
@@ -262,6 +262,9 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
 
     dsh->bit_depth = luma_depth;
 
+    /* Full range 8 bts uses the same pix_fmts as limited range 8 bits */
+    dsh->pixel_range_index += dsh->pixel_range_index == 1;
+
     if (dsh->pixel_range_index < 2U)
         return AVERROR_INVALIDDATA;
 



More information about the ffmpeg-cvslog mailing list