The CrystalHD hardware decoder is an excellent example of something that was ill-suited to the old 1:1 decode API. I had to put in a ton of fragile heuristics and sleep()s to make it mostly work.
By switching to the new m:n decode API, all that crap can get tossed out, and things actually look sane now. Obviously, switching to the new API while dropping support for the old one is an incompatible change, but the decoder functionality with the old API was so fragile that it just isn't worth maintaing - and obviously, retaining support for the old API means keeping all the hacks, so we'd gain nothing. Philip Langdale (10): crystalhd: Fix up the missing first sample crystalhd: Switch to new decode API and remove the insanity crystalhd: Revert back to letting hardware handle packed b-frames crystalhd: Remove trust_interlaced heuristic crystalhd: We don't need the track the last picture number anymore crystalhd: Remove h.264 parser crystalhd: Keep NOPTS_VALUE so we know it's not there. crystalhd: Loop for a frame internally where possible. crystalhd: Simplify output frame handling crystalhd: Update high level description libavcodec/crystalhd.c | 699 +++++++++++++------------------------------------ libavcodec/version.h | 2 +- 2 files changed, 178 insertions(+), 523 deletions(-) -- 2.9.3 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel