| From 64f8cf79f9ce82cbfea2319bb88d3983c1cbe052 Mon Sep 17 00:00:00 2001 |
| From: XinfengZhang <carl.zhang@intel.com> |
| Date: Thu, 22 Jul 2021 12:34:02 -0400 |
| Subject: [PATCH] reset brc when frame rate changes for VP8e |
| |
| Signed-off-by: XinfengZhang <carl.zhang@intel.com> |
| --- |
| media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.cpp | 5 +++++ |
| media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.h | 1 + |
| 2 files changed, 6 insertions(+) |
| |
| diff --git a/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.cpp b/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.cpp |
| index 9a69be8f..2a3a599b 100644 |
| --- a/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.cpp |
| +++ b/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.cpp |
| @@ -710,6 +710,11 @@ void DdiEncodeVp8::ParseMiscParamFR(void *data) |
| tmpId = vaFrameRate->framerate_flags.bits.temporal_id; |
| #endif |
| seqParams->FramesPer100Sec[tmpId] = numerator/denominator; |
| + if(m_framesPer100Sec && m_framesPer100Sec != seqParams->FramesPer100Sec[tmpId]) |
| + { |
| + seqParams->ResetBRC = 0x1; |
| + } |
| + m_framesPer100Sec = seqParams->FramesPer100Sec[tmpId]; |
| } |
| |
| void DdiEncodeVp8::ParseMiscParamRC(void *data) |
| diff --git a/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.h b/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.h |
| index 4ffde91b..f42f3309 100644 |
| --- a/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.h |
| +++ b/media_driver/linux/common/codec/ddi/media_ddi_encode_vp8.h |
| @@ -287,4 +287,5 @@ private: |
| bool picReference); |
| |
| uint32_t m_mvOffset = 0; //!< Motion vector offset. |
| + uint32_t m_framesPer100Sec = 0; |
| }; |
| -- |
| 2.25.1 |
| |