]> granicus.if.org Git - libx264/commit
Fix regression in r736
authorFiona Glaser <fiona@x264.com>
Thu, 12 Jun 2008 00:23:00 +0000 (18:23 -0600)
committerFiona Glaser <fiona@x264.com>
Thu, 12 Jun 2008 00:23:00 +0000 (18:23 -0600)
commitd4e077867f79a555efb83e45d93dc6f170b1fb3e
tree0454fe9c54ea19633988d50530d123a51aa53319
parent3a095b2ce5c30eea665f0e6fb44ba2b3510adf65
Fix regression in r736
r736 added intra RD refinement to B-frames; however, it is possible for subme=7 to be used without b-rdo.
This means intra RD isn't run, and therefore it is possible for intra chroma analysis to not have been run, since update_cache was never called for an intra block, and chroma ME is not required even at subme=7.
r801, which removed a memset, made this worse because previously the chroma prediction mode was at least initialized to zero; now it was not initialized at all.
Therefore, --no-chroma-me, --subme 7, and no --b-rdo had the potential to crash.
This change restricts intra RD refinement to only be run when --b-rdo is enabled (sensible to begin with), thus preventing a crash in this case.
encoder/analyse.c