[FFmpeg-cvslog] avcodec/dnxhddec: ask for samples with alpha

Paul B Mahol git at videolan.org
Thu Sep 6 14:48:30 EEST 2018


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Sep  6 13:39:22 2018 +0200| [237bbf6678a0c3fc6962716edf72db1063de860c] | committer: Paul B Mahol

avcodec/dnxhddec: ask for samples with alpha

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

 libavcodec/dnxhddec.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 11d0bf424a..ae8b0ffafa 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -67,6 +67,8 @@ typedef struct DNXHDContext {
     const CIDEntry *cid_table;
     int bit_depth; // 8, 10, 12 or 0 if not initialized at all.
     int is_444;
+    int alpha;
+    int lla;
     int mbaff;
     int act;
     int (*decode_dct_block)(const struct DNXHDContext *ctx,
@@ -205,6 +207,10 @@ static int dnxhd_decode_header(DNXHDContext *ctx, AVFrame *frame,
         ctx->cur_field = 0;
     }
     ctx->mbaff = (buf[0x6] >> 5) & 1;
+    ctx->alpha = buf[0x7] & 1;
+    ctx->lla   = (buf[0x7] >> 1) & 1;
+    if (ctx->alpha)
+        avpriv_request_sample(ctx->avctx, "alpha");
 
     ctx->height = AV_RB16(buf + 0x18);
     ctx->width  = AV_RB16(buf + 0x1a);



More information about the ffmpeg-cvslog mailing list