diff options
author | Zhong Li <zhong.li@intel.com> | 2019-03-26 06:08:37 +0800 |
---|---|---|
committer | Zhong Li <zhong.li@intel.com> | 2019-03-29 09:51:09 +0800 |
commit | 520226b6835f649c2804698ebcf4e4e16acab514 (patch) | |
tree | 0cf01c78401d22c9184b701096e8d22c27449fb2 /libavcodec/hevc_ps_enc.c | |
parent | 8865ae959b18af7a400dc391d6d1e13c6027119f (diff) | |
download | ffmpeg-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>
Diffstat (limited to 'libavcodec/hevc_ps_enc.c')
-rw-r--r-- | libavcodec/hevc_ps_enc.c | 8 |
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; } |