avcodec/hevc: Export picture type
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 26 Mar 2014 01:48:12 +0000 (02:48 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 26 Mar 2014 03:20:52 +0000 (04:20 +0100)
This only uses the first slice, improvement here is welcome
analyzing all slices the trivial way would interfere with threads

Fixes Ticket3185

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/hevc.c

index 4aa1e55..63097ed 100644 (file)
@@ -2227,6 +2227,7 @@ static int hevc_frame_start(HEVCContext *s)
     int pic_size_in_ctb  = ((s->sps->width  >> s->sps->log2_min_cb_size) + 1) *
                            ((s->sps->height >> s->sps->log2_min_cb_size) + 1);
     int ret;
+    AVFrame *cur_frame;
 
     memset(s->horizontal_bs, 0, 2 * s->bs_width * (s->bs_height + 1));
     memset(s->vertical_bs,   0, 2 * s->bs_width * (s->bs_height + 1));
@@ -2255,6 +2256,9 @@ static int hevc_frame_start(HEVCContext *s)
     if (ret < 0)
         goto fail;
 
+    cur_frame = s->sps->sao_enabled ? s->sao_frame : s->frame;
+    cur_frame->pict_type = 3 - s->sh.slice_type;
+
     av_frame_unref(s->output_frame);
     ret = ff_hevc_output_frame(s, s->output_frame, 0);
     if (ret < 0)