[FFmpeg-cvslog] diracdec: Add 10-bits to pix_fmt table

Kieran Kunhya git at videolan.org
Wed Dec 16 23:34:56 CET 2015


ffmpeg | branch: master | Kieran Kunhya <kierank at ob-encoder.com> | Tue Dec  8 23:52:54 2015 +0000| [037960363249b8903d8bb78d55def7fa66cb1b69] | committer: Kieran Kunhya

diracdec: Add 10-bits to pix_fmt table

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

 libavcodec/dirac.c |   15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/libavcodec/dirac.c b/libavcodec/dirac.c
index 7546bd5..9bf0fd4 100644
--- a/libavcodec/dirac.c
+++ b/libavcodec/dirac.c
@@ -109,10 +109,11 @@ static const struct {
     { AVCOL_PRI_BT709,     AVCOL_SPC_BT709,   AVCOL_TRC_UNSPECIFIED /* DCinema */ },
 };
 
-/* [DIRAC_STD] Table 10.2 Supported chroma sampling formats + luma Offset */
-static const enum AVPixelFormat dirac_pix_fmt[2][3] = {
-    { AV_PIX_FMT_YUV444P,  AV_PIX_FMT_YUV422P,  AV_PIX_FMT_YUV420P  },
-    { AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P },
+/* [DIRAC_STD] Table 10.2 Supported chroma sampling formats */
+static const enum AVPixelFormat dirac_pix_fmt[][3] = {
+    {AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12},
+    {AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12},
+    {AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12},
 };
 
 /* [DIRAC_STD] 10.3 Parse Source Parameters.
@@ -236,13 +237,9 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb,
         avctx->color_range = pixel_range_presets[idx].color_range;
     }
 
-    if (luma_depth > 8)
-        av_log(avctx, AV_LOG_WARNING, "Bitdepth greater than 8\n");
-
-
     *bit_depth = luma_depth;
 
-    avctx->pix_fmt = dirac_pix_fmt[!luma_offset][source->chroma_format];
+    avctx->pix_fmt = dirac_pix_fmt[source->chroma_format][source->pixel_range_index-2];
     avcodec_get_chroma_sub_sample(avctx->pix_fmt, &chroma_x_shift, &chroma_y_shift);
     if ((source->width % (1<<chroma_x_shift)) || (source->height % (1<<chroma_y_shift))) {
         av_log(avctx, AV_LOG_ERROR, "Dimensions must be an integer multiple of the chroma subsampling\n");



More information about the ffmpeg-cvslog mailing list