avcodec/hevcdec: export cropping information instead of handling it internally
[ffmpeg.git] / libavcodec / hevc_parser.c
index 2b58eb6..dc63c6b 100644 (file)
@@ -57,6 +57,7 @@ static int hevc_parse_slice_header(AVCodecParserContext *s, H2645NAL *nal,
     HEVCSEIContext *sei = &ctx->sei;
     SliceHeader *sh = &ctx->sh;
     GetBitContext *gb = &nal->gb;
+    const HEVCWindow *ow;
     int i, num = 0, den = 0;
 
     sh->first_slice_in_pic_flag = get_bits1(gb);
@@ -83,11 +84,12 @@ static int hevc_parse_slice_header(AVCodecParserContext *s, H2645NAL *nal,
         ps->sps = (HEVCSPS*)ps->sps_list[ps->pps->sps_id]->data;
         ps->vps = (HEVCVPS*)ps->vps_list[ps->sps->vps_id]->data;
     }
+    ow  = &ps->sps->output_window;
 
     s->coded_width  = ps->sps->width;
     s->coded_height = ps->sps->height;
-    s->width        = ps->sps->output_width;
-    s->height       = ps->sps->output_height;
+    s->width        = ps->sps->width  - ow->left_offset - ow->right_offset;
+    s->height       = ps->sps->height - ow->top_offset  - ow->bottom_offset;
     s->format       = ps->sps->pix_fmt;
     avctx->profile  = ps->sps->ptl.general_ptl.profile_idc;
     avctx->level    = ps->sps->ptl.general_ptl.level_idc;