For 'nclx', the latest edition of the standard switched from JPEG XR
to 23001-8, which matches the current order of our entries.
For 'nclc', qtff edition 2016-09-13 introduced a few new entries.

Signed-off-by: Vittorio Giovara <vittorio.giov...@gmail.com>
---
 libavformat/mov.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 36e75d5..e1d87cd 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1083,16 +1083,7 @@ static int mov_read_colr(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
             st->codecpar->color_range = AVCOL_RANGE_JPEG;
         else
             st->codecpar->color_range = AVCOL_RANGE_MPEG;
-        /* 14496-12 references JPEG XR specs (rather than the more complete
-         * 23001-8) so some adjusting is required */
-        if (color_primaries >= AVCOL_PRI_FILM)
-            color_primaries = AVCOL_PRI_UNSPECIFIED;
-        if ((color_trc >= AVCOL_TRC_LINEAR &&
-             color_trc <= AVCOL_TRC_LOG_SQRT) ||
-            color_trc >= AVCOL_TRC_BT2020_10)
-            color_trc = AVCOL_TRC_UNSPECIFIED;
-        if (color_matrix >= AVCOL_SPC_BT2020_NCL)
-            color_matrix = AVCOL_SPC_UNSPECIFIED;
+
         st->codecpar->color_primaries = color_primaries;
         st->codecpar->color_trc       = color_trc;
         st->codecpar->color_space     = color_matrix;
@@ -1102,17 +1093,22 @@ static int mov_read_colr(MOVContext *c, AVIOContext 
*pb, MOVAtom atom)
         case 1: st->codecpar->color_primaries = AVCOL_PRI_BT709; break;
         case 5: st->codecpar->color_primaries = AVCOL_PRI_SMPTE170M; break;
         case 6: st->codecpar->color_primaries = AVCOL_PRI_SMPTE240M; break;
+        case 9: st->codecpar->color_primaries = AVCOL_PRI_BT2020; break;
+        case 10: st->codecpar->color_primaries = AVCOL_PRI_SMPTE431; break;
+        case 11: st->codecpar->color_primaries = AVCOL_PRI_SMPTE432; break;
         }
         /* color transfer, Table 4-5 */
         switch (color_trc) {
         case 1: st->codecpar->color_trc = AVCOL_TRC_BT709; break;
         case 7: st->codecpar->color_trc = AVCOL_TRC_SMPTE240M; break;
+        case 17: st->codecpar->color_trc = AVCOL_TRC_SMPTE428; break;
         }
         /* color matrix, Table 4-6 */
         switch (color_matrix) {
         case 1: st->codecpar->color_space = AVCOL_SPC_BT709; break;
         case 6: st->codecpar->color_space = AVCOL_SPC_BT470BG; break;
         case 7: st->codecpar->color_space = AVCOL_SPC_SMPTE240M; break;
+        case 9: st->codecpar->color_space = AVCOL_SPC_BT2020_NCL; break;
         }
     }
     av_log(c->fc, AV_LOG_TRACE, "\n");
-- 
2.10.0

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to