Hi anton, everyone else the "cosmetic" commits from yesterday (665e0c10a63d31dd6c7b1fba14db074625d54614..fa7c08d5e192aea77fdfb7f52c44c196a3ba4452) / (d8a45d2d49f54fde042b195f9d5859251252493d..c28ed1d743443e783537d279ae721be3bbdf7646)
cause a ~1% speed loss in the H.264 decoder which is probably the most important decoder in the codebase after the patchset: -threads 1 -benchmark -i cathedral-beta2-400extra-crop-avc.mp4 -an -f null - utime=5.448s utime=5.424s utime=5.436s utime=5.428s utime=5.448s before the patchset: -threads 1 -benchmark -i cathedral-beta2-400extra-crop-avc.mp4 -an -f null - utime=5.360s utime=5.328s utime=5.356s utime=5.376s utime=5.360s Testing has been done with a single thread as the results with multiple threads where inconsistent/unstable The speedloss is reproduceable with ffmpeg as well as libav also in some of the commits there where hidden optimizations: for example in a12d3188cbec15e22070e139fa5cc541da07e2c3 there was: - for (list = 0; list < 2; list++) { + for (list = 0; list < sl->list_count; list++) { @@ -130,16 +130,20 @@ void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext * cur->mbaff = FRAME_MBAFF(h); sl->col_fieldoff = 0; + + if (sl->list_count != 2 || !sl->ref_count[1]) + return; + @@ -340,20 +340,24 @@ int ff_h264_decode_ref_pic_list_reordering(H264Context *h, H264SliceContext *sl) void ff_h264_fill_mbaff_ref_list(H264Context *h, H264SliceContext *sl) { int list, i, j; - for (list = 0; list < 2; list++) { //FIXME try list_count + for (list = 0; list < sl->list_count; list++) { //FIXME try list_count -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 3 "Rare item" - "Common item with rare defect or maybe just a lie" "Professional" - "'Toy' made in china, not functional except as doorstop" "Experts will know" - "The seller hopes you are not an expert"
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel