[FFmpeg-cvslog] avcodec/hevc: Export picture type

Michael Niedermayer git at videolan.org
Wed Mar 26 04:23:42 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Mar 26 02:48:12 2014 +0100| [6795dcfa659c5f1f00c8db4eb3cb565939023e78] | committer: Michael Niedermayer

avcodec/hevc: Export picture type

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 at gmx.at>

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

 libavcodec/hevc.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
index 4aa1e55..63097ed 100644
--- a/libavcodec/hevc.c
+++ b/libavcodec/hevc.c
@@ -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)



More information about the ffmpeg-cvslog mailing list