]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mediacodecdec.c
Merge commit '31aa5335c390c83a6c3ea955b155067c36c4a2c4'
[ffmpeg] / libavcodec / mediacodecdec.c
index df60104e161fb5ebf016e81a4ce753334ea674dd..6683de77518c4f74447daadee515987a30b50be4 100644 (file)
@@ -202,12 +202,17 @@ static int mediacodec_wrap_hw_buffer(AVCodecContext *avctx,
     frame->format = avctx->pix_fmt;
 
     if (avctx->pkt_timebase.num && avctx->pkt_timebase.den) {
-        frame->pkt_pts = av_rescale_q(info->presentationTimeUs,
+        frame->pts = av_rescale_q(info->presentationTimeUs,
                                       av_make_q(1, 1000000),
                                       avctx->pkt_timebase);
     } else {
-        frame->pkt_pts = info->presentationTimeUs;
+        frame->pts = info->presentationTimeUs;
     }
+#if FF_API_PKT_PTS
+FF_DISABLE_DEPRECATION_WARNINGS
+    frame->pkt_pts = frame->pts;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
     frame->pkt_dts = AV_NOPTS_VALUE;
 
     buffer = av_mallocz(sizeof(AVMediaCodecBuffer));
@@ -278,7 +283,12 @@ static int mediacodec_wrap_sw_buffer(AVCodecContext *avctx,
      * on the last avpacket received which is not in sync with the frame:
      *   * N avpackets can be pushed before 1 frame is actually returned
      *   * 0-sized avpackets are pushed to flush remaining frames at EOS */
+    frame->pts = info->presentationTimeUs;
+#if FF_API_PKT_PTS
+FF_DISABLE_DEPRECATION_WARNINGS
     frame->pkt_pts = info->presentationTimeUs;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
     frame->pkt_dts = AV_NOPTS_VALUE;
 
     av_log(avctx, AV_LOG_DEBUG,
@@ -565,7 +575,6 @@ int ff_mediacodec_dec_decode(AVCodecContext *avctx, MediaCodecDecContext *s,
     }
 
     while (offset < pkt->size || (need_draining && !s->draining)) {
-        int size;
 
         index = ff_AMediaCodec_dequeueInputBuffer(codec, input_dequeue_timeout_us);
         if (ff_AMediaCodec_infoTryAgainLater(codec, index)) {
@@ -758,3 +767,10 @@ AVHWAccel ff_h264_mediacodec_hwaccel = {
     .id      = AV_CODEC_ID_H264,
     .pix_fmt = AV_PIX_FMT_MEDIACODEC,
 };
+
+AVHWAccel ff_hevc_mediacodec_hwaccel = {
+    .name    = "mediacodec",
+    .type    = AVMEDIA_TYPE_VIDEO,
+    .id      = AV_CODEC_ID_HEVC,
+    .pix_fmt = AV_PIX_FMT_MEDIACODEC,
+};