[FFmpeg-cvslog] avcodec/dnxhddec: Do not overwrite colorspace if the container has set it.

2017-11-29 Thread Steven Robertson
ffmpeg | branch: master | Steven Robertson  | Tue Nov 28 
16:49:46 2017 -0800| [c6a905b91d935f78f5c33f6ce2dbe294b3353b77] | committer: 
Michael Niedermayer

avcodec/dnxhddec: Do not overwrite colorspace if the container has set it.

The existing logic overrides container metadata even in cases where the
container metadata must be trusted (e.g. HDR). The original spec had no
provision for specifying color volume, so many files rely on the
assumption of Rec. 709.

An update to the spec included a 'clv' field for explicitly signaling
that the container should be trusted in an existing bitfield in the
frame header, but the default of 0 from old encoders forces Rec. 709,
which would break any HDR stream. Because there is no place in DNxHR for
specifying a transfer function, DNxHR HDR files must include
container-level color information.

This patch maintains the existing behavior of choosing the 709 over the
601 matrix when container-level information is missing, and allows
container-level information to win if present.

Signed-off-by: Steven Robertson 
Signed-off-by: Michael Niedermayer 

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

 libavcodec/dnxhddec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index f46e41a456..05f4458f99 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -93,7 +93,9 @@ static av_cold int dnxhd_decode_init(AVCodecContext *avctx)
 
 ctx->avctx = avctx;
 ctx->cid = -1;
-avctx->colorspace = AVCOL_SPC_BT709;
+if (avctx->colorspace == AVCOL_SPC_UNSPECIFIED) {
+avctx->colorspace = AVCOL_SPC_BT709;
+}
 
 avctx->coded_width  = FFALIGN(avctx->width,  16);
 avctx->coded_height = FFALIGN(avctx->height, 16);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avformat/movenc: Add support for more colorspaces

2017-12-14 Thread Steven Robertson
ffmpeg | branch: master | Steven Robertson  | Thu Dec 14 
11:52:45 2017 -0800| [2d131fc31bcd3a6cd0ddee689d1e4fc9741dc32e] | committer: 
Michael Niedermayer

avformat/movenc: Add support for more colorspaces

With FCPX 10.4, Apple has expanded the set of colorspace, primaries,
and trc flags officially supported in QuickTime files. The expanded set
matches the codepoints used in ffmpeg and many other specs.

Signed-off-by: Michael Niedermayer 

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

 libavformat/movenc.c | 25 -
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 901577401e..a597b0853d 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1809,23 +1809,30 @@ static int mov_write_colr_tag(AVIOContext *pb, MOVTrack 
*track)
 ffio_wfourcc(pb, "nclc");
 switch (track->par->color_primaries) {
 case AVCOL_PRI_BT709: avio_wb16(pb, 1); break;
+case AVCOL_PRI_BT470BG:   avio_wb16(pb, 5); break;
 case AVCOL_PRI_SMPTE170M:
 case AVCOL_PRI_SMPTE240M: avio_wb16(pb, 6); break;
-case AVCOL_PRI_BT470BG:   avio_wb16(pb, 5); break;
+case AVCOL_PRI_BT2020:avio_wb16(pb, 9); break;
+case AVCOL_PRI_SMPTE431:  avio_wb16(pb, 11); break;
+case AVCOL_PRI_SMPTE432:  avio_wb16(pb, 12); break;
 default:  avio_wb16(pb, 2);
 }
 switch (track->par->color_trc) {
-case AVCOL_TRC_BT709: avio_wb16(pb, 1); break;
-case AVCOL_TRC_SMPTE170M: avio_wb16(pb, 1); break; // remapped
-case AVCOL_TRC_SMPTE240M: avio_wb16(pb, 7); break;
-default:  avio_wb16(pb, 2);
+case AVCOL_TRC_BT709:avio_wb16(pb, 1); break;
+case AVCOL_TRC_SMPTE170M:avio_wb16(pb, 1); break; // remapped
+case AVCOL_TRC_SMPTE240M:avio_wb16(pb, 7); break;
+case AVCOL_TRC_SMPTEST2084:  avio_wb16(pb, 16); break;
+case AVCOL_TRC_SMPTE428: avio_wb16(pb, 17); break;
+case AVCOL_TRC_ARIB_STD_B67: avio_wb16(pb, 18); break;
+default: avio_wb16(pb, 2);
 }
 switch (track->par->color_space) {
-case AVCOL_SPC_BT709: avio_wb16(pb, 1); break;
+case AVCOL_SPC_BT709:  avio_wb16(pb, 1); break;
 case AVCOL_SPC_BT470BG:
-case AVCOL_SPC_SMPTE170M: avio_wb16(pb, 6); break;
-case AVCOL_SPC_SMPTE240M: avio_wb16(pb, 7); break;
-default:  avio_wb16(pb, 2);
+case AVCOL_SPC_SMPTE170M:  avio_wb16(pb, 6); break;
+case AVCOL_SPC_SMPTE240M:  avio_wb16(pb, 7); break;
+case AVCOL_SPC_BT2020_NCL: avio_wb16(pb, 9); break;
+default:   avio_wb16(pb, 2);
 }
 
 if (track->mode == MODE_MP4) {

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] vf_lut: Add support for RGB48 and RGBA64.

2015-10-29 Thread Steven Robertson
ffmpeg | branch: master | Steven Robertson  | Sat Oct 10 
18:27:17 2015 -0700| [b38e685c053786bc20743cc6b3e54e6ae1fe957b] | committer: 
Michael Niedermayer

vf_lut: Add support for RGB48 and RGBA64.

Signed-off-by: Steven Robertson 
Reviewed-by: Paul B Mahol 
Signed-off-by: Michael Niedermayer 

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

 libavfilter/vf_lut.c  |   50 +++--
 tests/ref/fate/filter-pixfmts-lut |2 ++
 2 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c
index f0a2aba..38a25fe 100644
--- a/libavfilter/vf_lut.c
+++ b/libavfilter/vf_lut.c
@@ -125,7 +125,8 @@ static av_cold void uninit(AVFilterContext *ctx)
 #define RGB_FORMATS \
 AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA, \
 AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, \
-AV_PIX_FMT_RGB24,AV_PIX_FMT_BGR24
+AV_PIX_FMT_RGB24,AV_PIX_FMT_BGR24,\
+AV_PIX_FMT_RGB48LE,  AV_PIX_FMT_RGBA64LE
 
 static const enum AVPixelFormat yuv_pix_fmts[] = { YUV_FORMATS, 
AV_PIX_FMT_NONE };
 static const enum AVPixelFormat rgb_pix_fmts[] = { RGB_FORMATS, 
AV_PIX_FMT_NONE };
@@ -260,6 +261,11 @@ static int config_props(AVFilterLink *inlink)
 max[V] = 240 * (1 << (desc->comp[2].depth - 8));
 max[A] = (1 << desc->comp[3].depth) - 1;
 break;
+case AV_PIX_FMT_RGB48LE:
+case AV_PIX_FMT_RGBA64LE:
+min[0] = min[1] = min[2] = min[3] = 0;
+max[0] = max[1] = max[2] = max[3] = 65535;
+break;
 default:
 min[0] = min[1] = min[2] = min[3] = 0;
 max[0] = max[1] = max[2] = max[3] = 255;
@@ -272,6 +278,9 @@ static int config_props(AVFilterLink *inlink)
 if (s->is_rgb) {
 ff_fill_rgba_map(rgba_map, inlink->format);
 s->step = av_get_bits_per_pixel(desc) >> 3;
+if (s->is_16bit) {
+s->step = s->step >> 1;
+}
 }
 
 for (color = 0; color < desc->nb_components; color++) {
@@ -336,7 +345,44 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 av_frame_copy_props(out, in);
 }
 
-if (s->is_rgb) {
+if (s->is_rgb && s->is_16bit) {
+/* packed, 16-bit */
+uint16_t *inrow, *outrow, *inrow0, *outrow0;
+const int w = inlink->w;
+const int h = in->height;
+const uint16_t (*tab)[256*256] = (const uint16_t (*)[256*256])s->lut;
+const int in_linesize  =  in->linesize[0] / 2;
+const int out_linesize = out->linesize[0] / 2;
+const int step = s->step;
+
+inrow0  = (uint16_t*) in ->data[0];
+outrow0 = (uint16_t*) out->data[0];
+
+for (i = 0; i < h; i ++) {
+inrow  = inrow0;
+outrow = outrow0;
+for (j = 0; j < w; j++) {
+
+switch (step) {
+#if HAVE_BIGENDIAN
+case 4:  outrow[3] = av_bswap16(tab[3][av_bswap16(inrow[3])]); 
// Fall-through
+case 3:  outrow[2] = av_bswap16(tab[2][av_bswap16(inrow[2])]); 
// Fall-through
+case 2:  outrow[1] = av_bswap16(tab[1][av_bswap16(inrow[1])]); 
// Fall-through
+default: outrow[0] = av_bswap16(tab[0][av_bswap16(inrow[0])]);
+#else
+case 4:  outrow[3] = tab[3][inrow[3]]; // Fall-through
+case 3:  outrow[2] = tab[2][inrow[2]]; // Fall-through
+case 2:  outrow[1] = tab[1][inrow[1]]; // Fall-through
+default: outrow[0] = tab[0][inrow[0]];
+#endif
+}
+outrow += step;
+inrow  += step;
+}
+inrow0  += in_linesize;
+outrow0 += out_linesize;
+}
+} else if (s->is_rgb) {
 /* packed */
 uint8_t *inrow, *outrow, *inrow0, *outrow0;
 const int w = inlink->w;
diff --git a/tests/ref/fate/filter-pixfmts-lut 
b/tests/ref/fate/filter-pixfmts-lut
index 150157c..8d50f3e 100644
--- a/tests/ref/fate/filter-pixfmts-lut
+++ b/tests/ref/fate/filter-pixfmts-lut
@@ -3,7 +3,9 @@ argb4f575be3cd02799389f581df99c4de38
 bgr24   fa43e3b2abfde8d9e60e157a9acc553d
 bgra4e2e689897ee7a8e42b16234597bab35
 rgb24   a356171207723a580e7d277078072005
+rgb48le 5c7dd8575836d18c91e09f1915cf9aa9
 rgba7bc854c2698b78af3e9159a19c2d9d21
+rgba64le3a087ecab583d1930220592731f282b4
 yuv410p 51b39a0e33f108e652457a26667319ea
 yuv411p 9204c5af92aef4922a05f58c1f6c095e
 yuv420p 7c43bb0cae8dee633375c89295598508

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] libavcodec/dnxhd: Enable 12-bit DNxHR support.

2016-08-02 Thread Steven Robertson
ffmpeg | branch: master | Steven Robertson  | Mon Aug  1 
23:26:12 2016 -0700| [e1be80aa11cca765881d04f21119487db53c4ffa] | committer: 
Michael Niedermayer

libavcodec/dnxhd: Enable 12-bit DNxHR support.

10- and 12-bit DNxHR use the same DC coefficient decoding process and
VLC table, just with a different shift value. From SMPTE 2019-1:2016,
8.2.4 DC Coefficient Decoding:

"For 8-bit video sampling, the maximum value of η=11 and for
10-/12-bit video sampling, the maximum value of η=13."

A sample file will be uploaded to show that with this patch, things
decode correctly:
dnxhr_hqx_12bit_1080p_smpte_colorbars_davinci_resolve.mov

Signed-off-by: Steven Robertson 
Signed-off-by: Michael Niedermayer 

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

 libavcodec/dnxhddec.c | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 4d3a4a6..4d1b006 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -119,11 +119,6 @@ static int dnxhd_init_vlc(DNXHDContext *ctx, uint32_t cid, 
int bitdepth)
 av_log(ctx->avctx, AV_LOG_ERROR, "bit depth mismatches %d %d\n", 
ff_dnxhd_cid_table[index].bit_depth, bitdepth);
 return AVERROR_INVALIDDATA;
 }
-if (bitdepth > 10) {
-avpriv_request_sample(ctx->avctx, "DNXHR 12-bit");
-if (ctx->avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL)
-return AVERROR_PATCHWELCOME;
-}
 ctx->cid_table = &ff_dnxhd_cid_table[index];
 av_log(ctx->avctx, AV_LOG_VERBOSE, "Profile cid %d.\n", cid);
 
@@ -134,7 +129,7 @@ static int dnxhd_init_vlc(DNXHDContext *ctx, uint32_t cid, 
int bitdepth)
 init_vlc(&ctx->ac_vlc, DNXHD_VLC_BITS, 257,
  ctx->cid_table->ac_bits, 1, 1,
  ctx->cid_table->ac_codes, 2, 2, 0);
-init_vlc(&ctx->dc_vlc, DNXHD_DC_VLC_BITS, bitdepth + 4,
+init_vlc(&ctx->dc_vlc, DNXHD_DC_VLC_BITS, bitdepth > 8 ? 14 : 12,
  ctx->cid_table->dc_bits, 1, 1,
  ctx->cid_table->dc_codes, 1, 1, 0);
 init_vlc(&ctx->run_vlc, DNXHD_VLC_BITS, 62,

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] libavcodec/dnxhd: Enable 12-bit DNxHR support.

2016-08-05 Thread Steven Robertson
ffmpeg | branch: release/3.1 | Steven Robertson  | Mon Aug  1 
23:26:12 2016 -0700| [5222f660d7fb52ef447e8b8ee5f92615e9fcf5ec] | committer: 
Carl Eugen Hoyos

libavcodec/dnxhd: Enable 12-bit DNxHR support.

10- and 12-bit DNxHR use the same DC coefficient decoding process and
VLC table, just with a different shift value. From SMPTE 2019-1:2016,
8.2.4 DC Coefficient Decoding:

"For 8-bit video sampling, the maximum value of η=11 and for
10-/12-bit video sampling, the maximum value of η=13."

A sample file will be uploaded to show that with this patch, things
decode correctly:
dnxhr_hqx_12bit_1080p_smpte_colorbars_davinci_resolve.mov

Signed-off-by: Steven Robertson 
Signed-off-by: Michael Niedermayer 
(cherry picked from commit e1be80aa11cca765881d04f21119487db53c4ffa)

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

 libavcodec/dnxhddec.c | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 1808080..cb1fc79 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -118,11 +118,6 @@ static int dnxhd_init_vlc(DNXHDContext *ctx, uint32_t cid, 
int bitdepth)
 av_log(ctx->avctx, AV_LOG_ERROR, "bit depth mismatches %d %d\n", 
ff_dnxhd_cid_table[index].bit_depth, bitdepth);
 return AVERROR_INVALIDDATA;
 }
-if (bitdepth > 10) {
-avpriv_request_sample(ctx->avctx, "DNXHR 12-bit");
-if (ctx->avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL)
-return AVERROR_PATCHWELCOME;
-}
 ctx->cid_table = &ff_dnxhd_cid_table[index];
 av_log(ctx->avctx, AV_LOG_VERBOSE, "Profile cid %d.\n", cid);
 
@@ -133,7 +128,7 @@ static int dnxhd_init_vlc(DNXHDContext *ctx, uint32_t cid, 
int bitdepth)
 init_vlc(&ctx->ac_vlc, DNXHD_VLC_BITS, 257,
  ctx->cid_table->ac_bits, 1, 1,
  ctx->cid_table->ac_codes, 2, 2, 0);
-init_vlc(&ctx->dc_vlc, DNXHD_DC_VLC_BITS, bitdepth + 4,
+init_vlc(&ctx->dc_vlc, DNXHD_DC_VLC_BITS, bitdepth > 8 ? 14 : 12,
  ctx->cid_table->dc_bits, 1, 1,
  ctx->cid_table->dc_codes, 1, 1, 0);
 init_vlc(&ctx->run_vlc, DNXHD_VLC_BITS, 62,

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] libavformat/mov: Accept known codepoints in 'colr'

2016-08-20 Thread Steven Robertson
ffmpeg | branch: master | Steven Robertson  | Wed Aug 17 
00:25:47 2016 -0700| [a3cab3d43387add8914c1c471fc99d733227d81b] | committer: 
Michael Niedermayer

libavformat/mov: Accept known codepoints in 'colr'

This change relaxes the whitelist on reading color metadata in MOV/BMFF
containers. The whitelist on writing values is still in place.

As a consequence it also fixes an apparent bug in reading 'nclc' values.
The 'nclc' spec [1] is in harmony with ISO 23001-8 for the values it
lists, but the code getting removed was remapping 5->6 and 6->7 for
primaries, which is incorrect, and was remapping 6->5 for color matrix
("colorspace" in the code), which is equivalent but an unnecessary
inconsistency. This logic error doesn't appear in movenc.

Removing the whitelist allows proper conversion when the source codec
relies on the container for proper signaling of newer codepoints, such
as DNxHR and VP9. If converting to a codec or container that has updated
its spec to include the new codepoints, the metadata will be preserved.
If going back to MOV/BMFF, the output whitelist will still kick in, so
this won't result in out-of-spec files being created.

[1] https://developer.apple.com/library/mac/technotes/tn2162/_index.html

Signed-off-by: Steven Robertson 
Signed-off-by: Michael Niedermayer 

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

 libavformat/mov.c | 40 +---
 1 file changed, 9 insertions(+), 31 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 0dfdec0..1bc3800 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1325,38 +1325,16 @@ 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;
-} else if (!strncmp(color_parameter_type, "nclc", 4)) {
-/* color primaries, Table 4-4 */
-switch (color_primaries) {
-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;
-}
-/* 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;
-}
-/* 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;
-}
 }
+if (color_primaries >= AVCOL_PRI_NB)
+color_primaries = AVCOL_PRI_UNSPECIFIED;
+if (color_trc >= AVCOL_TRC_NB)
+color_trc = AVCOL_TRC_UNSPECIFIED;
+if (color_matrix >= AVCOL_SPC_NB)
+color_matrix = AVCOL_SPC_UNSPECIFIED;
+st->codecpar->color_primaries = color_primaries;
+st->codecpar->color_trc   = color_trc;
+st->codecpar->color_space = color_matrix;
 av_log(c->fc, AV_LOG_TRACE, "\n");
 
 return 0;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] fate: add DNxHR 12-bit example.

2016-08-20 Thread Steven Robertson
ffmpeg | branch: master | Steven Robertson  | Tue Aug 16 
22:22:54 2016 -0700| [cf7b0b5050e82451ff75ec5ad9f0f222e90030d5] | committer: 
Michael Niedermayer

fate: add DNxHR 12-bit example.

Signed-off-by: Steven Robertson 
Signed-off-by: Michael Niedermayer 

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

 tests/fate/dnxhd.mak   | 2 ++
 tests/ref/fate/dnxhr-12bit | 6 ++
 2 files changed, 8 insertions(+)

diff --git a/tests/fate/dnxhd.mak b/tests/fate/dnxhd.mak
index 4008e6c..60bfd34 100644
--- a/tests/fate/dnxhd.mak
+++ b/tests/fate/dnxhd.mak
@@ -1,5 +1,6 @@
 FATE_DNXHD = fate-dnxhd-mbaff \
  fate-dnxhr-444   \
+ fate-dnxhr-12bit \
  fate-dnxhr-parse \
  fate-dnxhr-prefix1   \
  fate-dnxhr-prefix2   \
@@ -12,6 +13,7 @@ fate-dnxhd: $(FATE_DNXHD) $(FATE_VCODEC_DNXHD)
 
 fate-dnxhd-mbaff: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/dnxhd/dnxhd100_cid1260.mov -pix_fmt yuv422p10le
 fate-dnxhr-444:   CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/dnxhd/dnxhr444_cid1270.mov -pix_fmt yuv444p10le
+fate-dnxhr-12bit: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/dnxhd/dnxhr_cid1271_12bit.mov -pix_fmt yuv422p12le
 fate-dnxhr-parse: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/dnxhd/dnxhr_cid1274.dnxhr -pix_fmt yuv422p
 fate-dnxhr-prefix1: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/dnxhd/prefix-256x1536.dnxhr -pix_fmt yuv422p
 fate-dnxhr-prefix2: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/dnxhd/prefix-256x1716.dnxhr -pix_fmt yuv422p
diff --git a/tests/ref/fate/dnxhr-12bit b/tests/ref/fate/dnxhr-12bit
new file mode 100644
index 000..eb57167
--- /dev/null
+++ b/tests/ref/fate/dnxhr-12bit
@@ -0,0 +1,6 @@
+#tb 0: 1/24
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 1920x1080
+#sar 0: 1/1
+0,  0,  0,1,  8294400, 0x31bfa8f1

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog