diff mbox

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

Message ID 20190326194651.7121-1-zhong.li@intel.com
State Accepted
Commit 520226b6835f649c2804698ebcf4e4e16acab514
Headers show

Commit Message

Zhong Li March 26, 2019, 7:46 p.m. UTC
1. write vps_num_hrd_parameters element
2. flush left bits

Signed-off-by: Zhong Li <zhong.li@intel.com>
---
 libavcodec/hevc_ps_enc.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Zhong Li March 28, 2019, 2:17 p.m. UTC | #1
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf

> Of Zhong Li

> Sent: Wednesday, March 27, 2019 3:47 AM

> To: ffmpeg-devel@ffmpeg.org

> Cc: Li, Zhong <zhong.li@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@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.
diff mbox

Patch

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;
 }