[FFmpeg-devel] [PATCH v2 5/8] libkvazaar: Set pts and dts

Arttu Ylä-Outinen arttu.yla-outinen at tut.fi
Tue Sep 29 15:29:12 CEST 2015


Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen at tut.fi>
---
 libavcodec/libkvazaar.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c
index a15700a..9c59cad 100644
--- a/libavcodec/libkvazaar.c
+++ b/libavcodec/libkvazaar.c
@@ -141,6 +141,7 @@ static int libkvazaar_encode(AVCodecContext *avctx,
 
     kvz_data_chunk *data_out = NULL;
     uint32_t len_out = 0;
+    kvz_picture *recon_pic = NULL;
     kvz_frame_info frame_info;
 
     LibkvazaarContext *ctx = avctx->priv_data;
@@ -192,11 +193,13 @@ static int libkvazaar_encode(AVCodecContext *avctx,
                 dst += width;
             }
         }
+
+        img_in->pts = frame->pts;
     }
 
     if (!ctx->api->encoder_encode(ctx->encoder, img_in,
                                   &data_out, &len_out,
-                                  NULL, NULL,
+                                  &recon_pic, NULL,
                                   &frame_info)) {
         av_log(avctx, AV_LOG_ERROR, "Failed to encode frame.\n");
         retval = AVERROR_EXTERNAL;
@@ -223,6 +226,9 @@ static int libkvazaar_encode(AVCodecContext *avctx,
         ctx->api->chunk_free(data_out);
         data_out = NULL;
 
+        avpkt->pts = recon_pic->pts;
+        avpkt->dts = recon_pic->dts;
+
         avpkt->flags = 0;
         // IRAP VCL NAL unit types span the range
         // [BLA_W_LP (16), RSV_IRAP_VCL23 (23)].
@@ -234,6 +240,7 @@ static int libkvazaar_encode(AVCodecContext *avctx,
 
 done:
     ctx->api->picture_free(img_in);
+    ctx->api->picture_free(recon_pic);
     ctx->api->chunk_free(data_out);
     return retval;
 }
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list