<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: imx-gst1.0-plugin / VPU Encoding firmware Issue for setting the QP in VBR mode in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2162041#M240459</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/253254"&gt;@KrishnaraoP&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wanted to share please if you can use gstreamer pipeline in order to run the encoder on i.MX8MPlus. There is no issue in the VPU firmware and we can control QP for the I and P frames.&lt;/P&gt;
&lt;DIV id="tinyMceEditorTashia_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;Few things to consider: talking about QP for I frame, that&amp;nbsp;if frame_level_rate_control is 1, hevc_minimum_qp_value and hevc_maximum_qp_value are used in the pipeline. If frame_level_rate_control is 0 then only hevc_i_frame_qp_value take into effect (or try modifying all the controls).&lt;/P&gt;
&lt;DIV id="tinyMceEditorTashia_1" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN&gt;for example: frame_level_rate_control is 0 :&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;v4l2h265enc extra-controls="controls,hevc_profile=1,hevc_level=15,hevc_i_frame_qp_value =20"&lt;/EM&gt;&lt;SPAN&gt;)and check if it works as expected, or modify all the controls to get it working. (qpMin/qpMax and qp in this case -&amp;nbsp; for example:&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;v4l2h265enc extra-controls="controls,hevc_profile=1,hevc_level=15,hevc_maximum_qp_value=20, hevc_i_frame_qp_value=19"&lt;/EM&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;For V4L2 codec observations:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tashia_5-1756805606312.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/355175i4383CDD6155E5F63/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tashia_5-1756805606312.png" alt="Tashia_5-1756805606312.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;you can list the V4L2 control supported by the device.&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;root@imx8mpevk:~# v4l2-ctl -d /dev/video0 -l&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tashia_4-1756801401177.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/355146i465DF966A899A10F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tashia_4-1756801401177.png" alt="Tashia_4-1756801401177.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;i.MX Linux User guide has numerous gstreamer pipeline to get an idea about usage of different plugins.&amp;nbsp;Topic especially related to encoding section 7.3.3 Video encoding page 63.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For h265 as an example a gstreamer pipeline, as follows:&lt;/P&gt;
&lt;PRE&gt;gst-launch-1.0 filesrc location=out.nv12 ! rawvideoparse width=3840 height=2160 format=nv12 framerate=30/1 colorimetry=bt709 ! v4l2h264enc extra-controls="controls,h264_profile=1,h264_level=15,h264_minimum_qp_value=20, h264_i_frame_qp_value=22" ! filesink location=qp22_test.h264&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Moreover,&amp;nbsp;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/8M-Plus-H264-Encoding-issues-unreliable-firmware/m-p/2144507" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/8M-Plus-H264-Encoding-issues-unreliable-firmware/m-p/2144507&amp;nbsp;&lt;/A&gt;seems to be the same issue kindly let me know if further information is required.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind Regards,&lt;/P&gt;
&lt;P&gt;Tashia&lt;/P&gt;</description>
    <pubDate>Tue, 02 Sep 2025 09:38:13 GMT</pubDate>
    <dc:creator>Tashia</dc:creator>
    <dc:date>2025-09-02T09:38:13Z</dc:date>
    <item>
      <title>imx-gst1.0-plugin / VPU Encoding firmware Issue for setting the QP in VBR mode</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2143422#M239693</link>
      <description>&lt;P&gt;I am using 8M Plus SOM and using imx-gst1.0-plugin in our application for H264 encoding.&lt;/P&gt;&lt;P&gt;There is no API to limit the QP for I frame.&lt;/P&gt;&lt;P&gt;We decided to use VBR hence set the bitrate as zero i.e. enc-&amp;gt;open_param.nBitRate = 0.&lt;/P&gt;&lt;P&gt;After that setting the QP for I frame as 35 and for Pframe as 25 through enc_enc_param.nQuantParam.&lt;/P&gt;&lt;P&gt;After encoding, observed QP 35 for I frames and QP 40 for P frames.&lt;/P&gt;&lt;P&gt;As per the manual&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;bitRate is the target bit rate in kbps. If 0, there is no rate control and pictures are encoded with a quantization parameter equal to quantParam in EncParam.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;quantParam is used for all quantization parameters with VBR (no rate control). The range of value is 1-31 for MPEG-4 and 0-51 for H.264. When rate control is enabled, this field is ignored.&lt;/P&gt;&lt;P&gt;Clearly it's a bug in the Plug-in / firmware.&lt;/P&gt;&lt;P&gt;Please look into the issue and provide a solution.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Jul 2025 09:34:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2143422#M239693</guid>
      <dc:creator>KrishnaraoP</dc:creator>
      <dc:date>2025-07-30T09:34:34Z</dc:date>
    </item>
    <item>
      <title>Re: imx-gst1.0-plugin / VPU Encoding firmware Issue for setting the QP in VBR mode</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2147701#M239906</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Please send is you BSP and the whole steps you made to see that VPU does not work.&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Wed, 06 Aug 2025 14:09:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2147701#M239906</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2025-08-06T14:09:25Z</dc:date>
    </item>
    <item>
      <title>Re: imx-gst1.0-plugin / VPU Encoding firmware Issue for setting the QP in VBR mode</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2149051#M239974</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Linux version 6.6.52-lts-next (aarch64-poky-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT&amp;nbsp;&lt;/P&gt;&lt;P&gt;in imx-gst1.0-plugin i.e.&amp;nbsp;imx-gst1.0-plugin\plugins\vpu\gstvpuenc.c file&lt;/P&gt;&lt;P&gt;a) set the bitrate to zero i.e. in&amp;nbsp;&lt;SPAN&gt;gst_vpu_enc_set_format function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;enc&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;open_param&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;nBitRate = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;b) assigning the quantiztion parameter based on the frametype&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;in gst_vpu_enc_handle_frame&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if (&lt;SPAN&gt;enc_enc_param&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;nForceIPicture == 1&lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; enc_enc_param&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;nQuantParam&amp;nbsp; = 35;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;SPAN&gt;enc_enc_param&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;nQuantParam&amp;nbsp; = 30;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;it is not working, no support in&amp;nbsp;imx-vpuwrap package.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Aug 2025 08:44:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2149051#M239974</guid>
      <dc:creator>KrishnaraoP</dc:creator>
      <dc:date>2025-08-08T08:44:52Z</dc:date>
    </item>
    <item>
      <title>Re: imx-gst1.0-plugin / VPU Encoding firmware Issue for setting the QP in VBR mode</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2162041#M240459</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/253254"&gt;@KrishnaraoP&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wanted to share please if you can use gstreamer pipeline in order to run the encoder on i.MX8MPlus. There is no issue in the VPU firmware and we can control QP for the I and P frames.&lt;/P&gt;
&lt;DIV id="tinyMceEditorTashia_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;Few things to consider: talking about QP for I frame, that&amp;nbsp;if frame_level_rate_control is 1, hevc_minimum_qp_value and hevc_maximum_qp_value are used in the pipeline. If frame_level_rate_control is 0 then only hevc_i_frame_qp_value take into effect (or try modifying all the controls).&lt;/P&gt;
&lt;DIV id="tinyMceEditorTashia_1" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN&gt;for example: frame_level_rate_control is 0 :&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;v4l2h265enc extra-controls="controls,hevc_profile=1,hevc_level=15,hevc_i_frame_qp_value =20"&lt;/EM&gt;&lt;SPAN&gt;)and check if it works as expected, or modify all the controls to get it working. (qpMin/qpMax and qp in this case -&amp;nbsp; for example:&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;v4l2h265enc extra-controls="controls,hevc_profile=1,hevc_level=15,hevc_maximum_qp_value=20, hevc_i_frame_qp_value=19"&lt;/EM&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;For V4L2 codec observations:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tashia_5-1756805606312.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/355175i4383CDD6155E5F63/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tashia_5-1756805606312.png" alt="Tashia_5-1756805606312.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;you can list the V4L2 control supported by the device.&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;root@imx8mpevk:~# v4l2-ctl -d /dev/video0 -l&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tashia_4-1756801401177.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/355146i465DF966A899A10F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tashia_4-1756801401177.png" alt="Tashia_4-1756801401177.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;i.MX Linux User guide has numerous gstreamer pipeline to get an idea about usage of different plugins.&amp;nbsp;Topic especially related to encoding section 7.3.3 Video encoding page 63.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For h265 as an example a gstreamer pipeline, as follows:&lt;/P&gt;
&lt;PRE&gt;gst-launch-1.0 filesrc location=out.nv12 ! rawvideoparse width=3840 height=2160 format=nv12 framerate=30/1 colorimetry=bt709 ! v4l2h264enc extra-controls="controls,h264_profile=1,h264_level=15,h264_minimum_qp_value=20, h264_i_frame_qp_value=22" ! filesink location=qp22_test.h264&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Moreover,&amp;nbsp;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/8M-Plus-H264-Encoding-issues-unreliable-firmware/m-p/2144507" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/8M-Plus-H264-Encoding-issues-unreliable-firmware/m-p/2144507&amp;nbsp;&lt;/A&gt;seems to be the same issue kindly let me know if further information is required.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind Regards,&lt;/P&gt;
&lt;P&gt;Tashia&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 09:38:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2162041#M240459</guid>
      <dc:creator>Tashia</dc:creator>
      <dc:date>2025-09-02T09:38:13Z</dc:date>
    </item>
    <item>
      <title>Re: imx-gst1.0-plugin / VPU Encoding firmware Issue for setting the QP in VBR mode</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2162221#M240468</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I observed two issues,&amp;nbsp;&lt;/P&gt;&lt;P&gt;extra-controls="controls,video_bitrate_mode=1,video_bitrate=4000000,video_gop_size=60, slice_partitioning_method=1, number_of_mbs_in_a_slice=17, frame_level_rate_control_enable=1, h264_profile=4, h264_minimum_qp_value=25, h264_maximun_qp_value=45"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;a) encoding in baseline profile only&lt;/P&gt;&lt;P&gt;b)&amp;nbsp;frame_level_rate_control_enable=1, and h264_minimum_qp_value=25, h264_maximun_qp_value=45 but I observed qp=48 for the first and second frame, third frame qp as 46.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 14:34:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx-gst1-0-plugin-VPU-Encoding-firmware-Issue-for-setting-the-QP/m-p/2162221#M240468</guid>
      <dc:creator>KrishnaraoP</dc:creator>
      <dc:date>2025-09-02T14:34:48Z</dc:date>
    </item>
  </channel>
</rss>

