chromeos / cros-codecs

BSD 3-Clause "New" or "Revised" License
30 stars 11 forks source link

Fix MR3_TANDBERG_B on Intel #23

Closed dwlsalmeida closed 1 year ago

dwlsalmeida commented 1 year ago

Fixes MR3_TANDBERG_B on Intel. Test remains broken on AMD both on GStreamer and cros-codecs.

Compared with JM, saw no difference in terms of the data sent at the affected frames (#283-#299)

ffmpeg reverts to software decoding.

My guess is that the AMD driver probably dislikes the long term reference introduced on frame #283 somehow.

ccdec.zip (on AMD)

Partially addresses #9

Gnurou commented 1 year ago

Merged! Minus the last commit as I could not see how it improves clarity - add_to_ready_queue is the only method where we add a frame to the queue, the other times we access it is to use extend. The new name was more confusing to me if anything. :)

One more test down, thanks!

dwlsalmeida commented 1 year ago

@Gnurou it was a bit confusing when I was reading it again, because normal operation is to add to the dpb first until it fills up, then bump images from the DPB into the ready queue. add_to_ready_queue is only executed on a corner case when the dpb is full and the frame is not a reference frame. It can cause a bit of confusion if one assumes that's the main function being used to fill the ready queue, that's my point.

But anyhow, a very minor commit, that's fine then