avcodec: Add support for per-frame AFD output in h264
[ffmpeg.git] / libavcodec / h264.c
index 9be317c..1cbd4cb 100644 (file)
@@ -608,6 +608,7 @@ static int h264_init_context(AVCodecContext *avctx, H264Context *h)
     h->frame_recovered       = 0;
     h->prev_frame_num        = -1;
     h->sei_fpa.frame_packing_arrangement_cancel_flag = -1;
+    h->has_afd               = 0;
 
     h->next_outputed_poc = INT_MIN;
     for (i = 0; i < MAX_DELAYED_PIC_COUNT; i++)
@@ -869,6 +870,15 @@ static void decode_postinit(H264Context *h, int setup_finished)
         }
     }
 
+    if (h->has_afd) {
+        AVFrameSideData *sd =
+            av_frame_new_side_data(cur->f, AV_FRAME_DATA_AFD, 1);
+        if (sd) {
+            *sd->data   = h->afd;
+            h->has_afd = 0;
+        }
+    }
+
     cur->mmco_reset = h->mmco_reset;
     h->mmco_reset = 0;