[FFmpeg-devel] [PATCH 1/4] lavc/hevc_ps_enc: fix vps nal issues

Li, Zhong zhong.li at intel.com
Thu Mar 28 16:17:18 EET 2019


> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of Zhong Li
> Sent: Wednesday, March 27, 2019 3:47 AM
> To: ffmpeg-devel at ffmpeg.org
> Cc: Li, Zhong <zhong.li at intel.com>
> Subject: [FFmpeg-devel] [PATCH 1/4] lavc/hevc_ps_enc: fix vps nal issues
> 
> 1. write vps_num_hrd_parameters element
> 2. flush left bits
> 
> Signed-off-by: Zhong Li <zhong.li at intel.com>
> ---
>  libavcodec/hevc_ps_enc.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/hevc_ps_enc.c b/libavcodec/hevc_ps_enc.c index
> 4c71cf41ca..78a73a5c0a 100644
> --- a/libavcodec/hevc_ps_enc.c
> +++ b/libavcodec/hevc_ps_enc.c
> @@ -67,7 +67,7 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned
> int id,
>                             uint8_t *buf, int buf_size)  {
>      PutBitContext pb;
> -    int i;
> +    int i, data_size;
> 
>      init_put_bits(&pb, buf, buf_size);
>      put_bits(&pb,  4, id);
> @@ -103,6 +103,7 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps,
> unsigned int id,
>          if (vps->vps_poc_proportional_to_timing_flag)
>              set_ue_golomb(&pb, vps->vps_num_ticks_poc_diff_one - 1);
> 
> +        set_ue_golomb(&pb, vps->vps_num_hrd_parameters);
>          if (vps->vps_num_hrd_parameters) {
>              avpriv_report_missing_feature(NULL, "Writing HRD
> parameters");
>              return AVERROR_PATCHWELCOME; @@ -114,5 +115,8 @@
> int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
>      put_bits(&pb, 1, 1);    // stop bit
>      avpriv_align_put_bits(&pb);
> 
> -    return put_bits_count(&pb) / 8;
> +    data_size = put_bits_count(&pb) / 8;
> +    flush_put_bits(&pb);
> +
> +    return data_size;
>  }
> --
> 2.17.1

Ping? Will apply if nobody against.


More information about the ffmpeg-devel mailing list