This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:TDA4_SDK_08_01:编码1080p 图像错误

Guru**** 655270 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1118680/tda4vm-tda4_sdk_08_01-encode-1080p-image-error

器件型号:TDA4VM

您好 TI:

我使用 my_encoder 内核对1080p 图像进行编码并获取一个 h.264文件。 当在 电脑播放机上播放时,图像 在图像的末尾(右下)似乎缺少一小部分。播放机解析的分辨率为1920*1072。

提示:my_encoder kernle 是通过 对 tirc_encode 源代码的 regerence 实现的、该源代码基于 V4L2。

我认为原因与本链接中提到的原因相同:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1065184/tda4vm-color-shift-after-decoding-of-tda4-s-h264-stream/3956563#3956563

然后我将高度设置为1088 (从另一个中学到)。 我只得到下面显示的图像。

 需要的是:  SDK_08_01_LA 中 vxe_v4l2.c 中的函数'vxe_s_fmt ()' 似乎不提供用于设置'cROP_params'的接口。 此参数在该函数内静态设置为0。 因此、我无法在外部设置"Bottom_cROP_OFFSET = 8"、除非手动修改此功能。

您对此有什么建议吗?

此致、

Damon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 TI:

    我在 SDK_08_01_LA: Topaz_api.c 和 vxe_v4l2.c 上找到了用于配置 v4l2编码器的裁剪参数的相关文件

    因此我尝试在 vxe_v4l2.c 文件中的函数'vxe_s_fmt ()'中修改一些配置参数:

     ‘行:940:我注释掉了此行,使“enable_scaler = true”。

      

    	if (V4L2_TYPE_IS_OUTPUT(f->type)) {
    		ctx->vparams.format = fmt->fmt;
    		ctx->vparams.source_width = pix_mp->width;
    		ctx->vparams.source_frame_height = pix_mp->height;
    		ctx->vparams.csc_preset = fmt->csc_preset;
    //		if (ctx->vparams.csc_preset != IMG_CSC_NONE)
    			ctx->vparams.enable_scaler = TRUE;
    

     (因为可以从上下文中知道 ctx->vparams.csc_preset 始终等于 IMG_CSC_NONE)

     2.在第1167行:我设置'ctx->vparams.cROP_Bottom = 8;'(裁剪1920 * 1088图像的下8行)

    	ctx->vparams.crop_left = 0;
    	ctx->vparams.crop_right = 0;
    	ctx->vparams.crop_top = 0;
    	ctx->vparams.crop_bottom = 8;//4;
    

    也许您  可以预见我的测试结果:它长时间被阻止,并显示错误日志:"timeout: topazdd_wait_ON_SYNC 超时等待写回0x05aa0000"。

    然后我意识到:SDK_08_01上的 V4L2编码器驱动程序可能不支持裁剪...我是否正确?

    对于  图像上的小黑块现象、您有没有解决方案?

    正在等待回复...

    此致、

    Damon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    请允许我获得一些帮助!...T_T

    此致、

    Damon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    上述问题已在 SDK8.4中解决、补丁文件附在下面。  

    请参阅 https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/drivers/media/platform/vxe-vxd/encoder/vxe_v4l2.c?h=ti-linux-5.10.y 

    由于 SDK8.4上的许多其他问题都已解决、因此建议迁移到 SDK8.4


    Fix_Buffer_Alignment of _Encoder_buffer.patch

    此致

    Nikshith