intel / vpl-gpu-rt

MIT License
109 stars 92 forks source link

sample decode lost frames #268

Open mamingy2 opened 1 year ago

mamingy2 commented 1 year ago

System information

Issue behavior

Describe the current behavior

There are 50 frames in the HEVC video stream, but the output file only has 34 frames. Also can be reproduced in ADL platform.

Both ffprobe and VQA show the Video file has 50 frames: _ffprobe -v error -count_frames -show_entries stream=nb_readframes xxx.h265 nb_read_frames=50

Command

_sampledecode h265 -i xxx.h265 -o xxx.yuv

Loaded Library configuration: Version: 2.7 ImplName: mfx-gen Adapter number : 0 Adapter type: integrated DRMRenderNodeNum: 128 Used implementation number: 0

Input video HEVC Output format NV12 Input: (Hide) Output: (Hide) Frame rate 25.00 Memory type system MediaSDK impl hw MediaSDK version 2.7

Decoding started Frame number: 34, fps: 16.279, fread_fps: 0.000, fwrite_fps: 23.011 Decoding finished

mamingy2 commented 1 year ago

Hi, could you please leave an e-mail or something else, I can send you the file but only inside Intel.

brmarkus commented 1 year ago

I have copied the file 8k.h265 to the mentioned folder.

mav-intel commented 1 year ago

Root caused to Intel® oneVPL GPU Runtime. Transferring issue to that project.

Jexu commented 1 year ago

Do you check if the lost frames are non-display frame since these frames will not have output yuv. @wangyan-intel can correct me .

mamingy2 commented 1 year ago

Yes, the lost frames are not non-display frames. Other decoders can decode without loss.

Jexu commented 1 year ago

Ok, therefore we may need to check if this bitstream has violation that vpl may skip decoding some error frames.

brmarkus commented 1 year ago

@Jexu can you clarify where to find whether a frame is marked as a non-display frame? We checked various players, we checked with VQA/Video Codec Analyzer/VQ Analyzer - different tools and players were able to decode and output and render raw YUV/NV12. But there might be a flag somewhere we and other players&tools overlooked...

brmarkus commented 1 year ago

Ok, therefore we may need to check if this bitstream has violation that vpl may skip decoding some error frames.

We checked with the corrupted flag (like modifying sample_decode to print each frame's corrupted flag), but no bitmask indicated for a decoder error. See also our feedback on the MediaSDK-github issue created: "https://github.com/Intel-Media-SDK/MediaSDK/issues/3007#issuecomment-1409820983".

intel-mediadev commented 1 year ago

Auto Created VSMGWL-63156 for further analysis.