invalid frame was output by a decoder #191

Closed
opened 2025-12-23 10:35:35 +01:00 by backuprepo · 4 comments
Owner

Originally created by @ryanloee on GitHub (Jul 10, 2025).

"Attempting continuous hardware decoding for several hours or multi-channel decoding often results in the following error. Is this a normal occurrence?
[hevc_rkmpp @ 0x7f2c030d60] An invalid frame was output by a decoder. This is a bug, please report it.

Also, is the configuration method for RGA filters in the code the same as in original FFmpeg? I'm not very familiar with how to use filters."

Originally created by @ryanloee on GitHub (Jul 10, 2025). "Attempting continuous hardware decoding for several hours or multi-channel decoding often results in the following error. Is this a normal occurrence? [hevc_rkmpp @ 0x7f2c030d60] An invalid frame was output by a decoder. This is a bug, please report it. Also, is the configuration method for RGA filters in the code the same as in original FFmpeg? I'm not very familiar with how to use filters."
backuprepo 2025-12-23 10:35:35 +01:00
  • closed this issue
  • added the
    question
    label
Author
Owner

@nyanmisaka commented on GitHub (Jul 10, 2025):

What is the video codec and file container? Is the file local or remote (via what protocol)? Can you provide a sample for reproduction?

RGA filter is a hardware filter, which requires an extra step to set the hardware context. Other than that, it is similar to software filters in usage. Here is a demo for reference.

https://github.com/cbalint13/ffmpeg-bindings/blob/main/cpp/ffmpeg-read.cpp

@nyanmisaka commented on GitHub (Jul 10, 2025): What is the video codec and file container? Is the file local or remote (via what protocol)? Can you provide a sample for reproduction? RGA filter is a hardware filter, which requires an extra step to set the hardware context. Other than that, it is similar to software filters in usage. Here is a demo for reference. https://github.com/cbalint13/ffmpeg-bindings/blob/main/cpp/ffmpeg-read.cpp
Author
Owner

@ryanloee commented on GitHub (Jul 10, 2025):

Thanks for your reply. I will study the filter part carefully.

From the logs, the video file is an ​​HEVC (H.265) Main Profile​​ stream inside an ​​MP4 container​​, with the following details:

​​Codec:​​ HEVC (hvc1)
​​Resolution:​​ 1920x1080 (16:9)
​​Bitrate:​​ ~6.5 Mbps
​​Framerate:​​ 30 fps
​​Audio:​​ AAC-LC, 44.1 kHz stereo
​​Source:​​ Local file (3.mp4)
This problem also occurs on other videos.
I wrote a video playback library, but it is too complicated to provide a reproducible example.

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/usr/3.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 creation_time : 2025-06-21T08:13:53.000000Z Hw : 1 bitrate : 10200000 maxrate : 0 te_is_reencode : 1 encoder : Lavf61.1.100 Duration: 00:00:42.12, start: 0.000000, bitrate: 6662 kb/s Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 6491 kb/s, 30 fps, 30 tbr, 30 tbn (default) Metadata: creation_time : 2025-06-21T08:13:53.000000Z handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 168 kb/s (default) Metadata: creation_time : 2025-06-21T08:13:53.000000Z handler_name : SoundHandler vendor_id : [0][0][0][0]

@ryanloee commented on GitHub (Jul 10, 2025): Thanks for your reply. I will study the filter part carefully. From the logs, the video file is an ​​HEVC (H.265) Main Profile​​ stream inside an ​​MP4 container​​, with the following details: ​​Codec:​​ HEVC (hvc1) ​​Resolution:​​ 1920x1080 (16:9) ​​Bitrate:​​ ~6.5 Mbps ​​Framerate:​​ 30 fps ​​Audio:​​ AAC-LC, 44.1 kHz stereo ​​Source:​​ Local file (3.mp4) This problem also occurs on other videos. I wrote a video playback library, but it is too complicated to provide a reproducible example. `Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/usr/3.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 creation_time : 2025-06-21T08:13:53.000000Z Hw : 1 bitrate : 10200000 maxrate : 0 te_is_reencode : 1 encoder : Lavf61.1.100 Duration: 00:00:42.12, start: 0.000000, bitrate: 6662 kb/s Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 6491 kb/s, 30 fps, 30 tbr, 30 tbn (default) Metadata: creation_time : 2025-06-21T08:13:53.000000Z handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 168 kb/s (default) Metadata: creation_time : 2025-06-21T08:13:53.000000Z handler_name : SoundHandler vendor_id : [0][0][0][0]`
Author
Owner

@nyanmisaka commented on GitHub (Jul 10, 2025):

Adjust ffmpeg's log level to verbose -v verbose. The next time a problem occurs, upload that log for further investigation.

@nyanmisaka commented on GitHub (Jul 10, 2025): Adjust ffmpeg's log level to verbose `-v verbose`. The next time a problem occurs, upload that log for further investigation.
Author
Owner

@nyanmisaka commented on GitHub (Jul 28, 2025):

Should be fixed in 7ed6bee

@nyanmisaka commented on GitHub (Jul 28, 2025): Should be fixed in 7ed6bee
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/ffmpeg-rockchip#191
No description provided.