Message ID | 20190326194651.7121-1-zhong.li@intel.com |
---|---|
State | Accepted |
Commit | 520226b6835f649c2804698ebcf4e4e16acab514 |
Headers | show |
> 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 --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; }
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(-)