[x265] [PATCH] Add reorderedPts to x265_picture to signal the reordered pts value of each picture in encode order

Ashok Kumar Mishra ashok at multicorewareinc.com
Mon Mar 5 12:01:47 CET 2018


On Mon, Mar 5, 2018 at 3:58 PM, Divya Manivannan <divya at multicorewareinc.com
> wrote:

> # HG changeset patch
> # User Divya Manivannan <divya at multicorewareinc.com>
> # Date 1520243074 -19800
> #      Mon Mar 05 15:14:34 2018 +0530
> # Node ID 0cdb54dc3f66e6986689adb72a67387a4fa3378c
> # Parent  59c02e68410fcb2846cd7a021e2639f96e0a9609
> Add reorderedPts to x265_picture to signal the reordered pts value of each
> picture in encode order.
> Also shared the reordered pts value when analysis load is done by
> disabling lookahead.
>
> diff -r 59c02e68410f -r 0cdb54dc3f66 source/CMakeLists.txt
> --- a/source/CMakeLists.txt     Tue Feb 27 15:50:42 2018 +0530
> +++ b/source/CMakeLists.txt     Mon Mar 05 15:14:34 2018 +0530
> @@ -29,7 +29,7 @@
>  option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF)
>  mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD)
>  # X265_BUILD must be incremented each time the public API is changed
> -set(X265_BUILD 153)
> +set(X265_BUILD 154)
>  configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
>                 "${PROJECT_BINARY_DIR}/x265.def")
>  configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
> diff -r 59c02e68410f -r 0cdb54dc3f66 source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp        Tue Feb 27 15:50:42 2018 +0530
> +++ b/source/encoder/encoder.cpp        Mon Mar 05 15:14:34 2018 +0530
> @@ -1146,6 +1146,7 @@
>
>                  pic_out->pts = outFrame->m_pts;
>                  pic_out->dts = outFrame->m_dts;
> +                pic_out->reorderedPts = outFrame->m_reorderedPts;
>                  pic_out->sliceType = outFrame->m_lowres.sliceType;
>                  pic_out->planes[0] = recpic->m_picOrg[0];
>                  pic_out->stride[0] = (int)(recpic->m_stride *
> sizeof(pixel));
> @@ -1178,6 +1179,7 @@
>                              factor = m_param->scaleFactor * 2;
>                          pic_out->analysisData.numCuInHeight =
> outFrame->m_analysisData.numCuInHeight;
>                          pic_out->analysisData.lookahead.dts =
> outFrame->m_dts;
> +                        pic_out->analysisData.lookahead.reorderedPts =
> outFrame->m_reorderedPts;
>                          pic_out->analysisData.satdCost *= factor;
>                          pic_out->analysisData.lookahead.keyframe =
> outFrame->m_lowres.bKeyframe;
>                          pic_out->analysisData.lookahead.lastMiniGopBFrame
> = outFrame->m_lowres.bLastMiniGopBFrame;
> @@ -1370,6 +1372,7 @@
>              if (m_param->analysisLoad && m_param->bDisableLookahead)
>              {
>                  frameEnc->m_dts = frameEnc->m_analysisData.lookahead.dts;
> +                frameEnc->m_reorderedPts = frameEnc->m_analysisData.
> lookahead.reorderedPts;
>                  if (m_rateControl->m_isVbv)
>                  {
>                      for (uint32_t index = 0; index <
> frameEnc->m_analysisData.numCuInHeight; index++)
> diff -r 59c02e68410f -r 0cdb54dc3f66 source/x265.h
> --- a/source/x265.h     Tue Feb 27 15:50:42 2018 +0530
> +++ b/source/x265.h     Mon Mar 05 15:14:34 2018 +0530
> @@ -105,6 +105,7 @@
>      int       lastMiniGopBFrame;
>      int       plannedType[X265_LOOKAHEAD_MAX + 1];
>      int64_t   dts;
> +    int64_t   reorderedPts;
>  } x265_lookahead_data;
>
>  /* Stores all analysis data for a single frame */
> @@ -363,6 +364,9 @@
>      int    height;
>
>      x265_analysis_2Pass analysis2Pass;
> +
> +    // pts is reordered in the order of encoding.
> +    int64_t reorderedPts;
>  } x265_picture;
>
>  typedef enum
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
Pushed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20180305/6b5bed76/attachment.html>


More information about the x265-devel mailing list