enc->enc_pic.enc_pic_order_cnt_type always zero even if pic->pic_order_cnt_type non-zero that application set
Submitted by wangfengjuan
Assigned to Default DRI bug account
Link to original bug (#110639)
Description
Created attachment 144193 glxinfo
when process yuv encode to h264, player set pic_order_cnt_type non-zero value, but h264 SPS pic_order_cnt_type member always zero.
I have found that enc->enc_pic.pc.enc_pic_order_cnt_type always print zero in mesa/src/gallium/drivers/radeon/radeon_vce_52.c:452.
but add enc->enc_pic.pc.enc_pic_order_cnt_type = pic->pic_order_cnt_type;at fun get_pic_control_param in mesa/src/gallium/drivers/radeon/radeon_vce_52.c:92 can resove the bug.
Please help to check and commit if the above method is right.
ps:
(gdb) bt
#0 pic_control (enc=0xaaaaaacc2d30) at radeon_vce_52.c:527
#1 0x0000ffffbf1620b0 in config (enc=0xaaaaaacc2d30) at radeon_vce_52.c:452
#2 0x0000ffffbf164d34 in rvce_begin_frame (encoder=0xaaaaaacc2d30, source=0xaaaaaabfbc50, picture=0xaaaaaabe2828) at radeon_vce.c:292
#3 0x0000ffffbef076f0 in vlVaEndPicture (ctx=0xaaaaaaae0c80, context_id=2) at picture.c:700
#4 0x0000ffffbf695cb8 in vaEndPicture (dpy=0xaaaaaaae0b10, context=2) at va.c:1520
#5 0x0000aaaaaaaaf258 in avcenc_render_picture () at src/va_encode_impl.cpp:831
#6 0x0000aaaaaaab1030 in encode_picture (is_idr=1, slice_type=2) at src/va_encode_impl.cpp:1482
#7 0x0000aaaaaaab16e0 in vaapi_encode_yuv_to_h264 (frame_index=0) at src/va_encode_impl.cpp:1613
#8 0x0000aaaaaaab17a4 in vaapi_encode_frame (frame_index=0) at src/va_encode_impl.cpp:1640
#9 0x0000aaaaaaaabba4 in va_encode_frame (frame_index=0) at src/va_encode_api2.cpp:118
#10 0x0000aaaaaaab26dc in main (argc=5, argv=0xfffffffff678) at demo/test_va_encode.cpp:164
Thanks.
Attachment 144193, "glxinfo":
glxinfo.log
Version: 19.1