aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhong Li <zhong.li@intel.com>2019-03-26 06:08:37 +0800
committerZhong Li <zhong.li@intel.com>2019-03-29 09:51:09 +0800
commit520226b6835f649c2804698ebcf4e4e16acab514 (patch)
tree0cf01c78401d22c9184b701096e8d22c27449fb2
parent8865ae959b18af7a400dc391d6d1e13c6027119f (diff)
downloadffmpeg-520226b6835f649c2804698ebcf4e4e16acab514.tar.gz
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>
-rw-r--r--libavcodec/hevc_ps_enc.c8
1 files 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;
}