mirror of https://git.ffmpeg.org/ffmpeg.git
make count count bytes not bits (this is simpler and leads to a very slightly smaller object file)
Originally committed as revision 8357 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
de953b6b67
commit
11bf0eb69a
|
@ -73,8 +73,8 @@ void av_sha1_init(AVSHA1* context){
|
||||||
void av_sha1_update(AVSHA1* context, uint8_t* data, unsigned int len){
|
void av_sha1_update(AVSHA1* context, uint8_t* data, unsigned int len){
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
j = (context->count >> 3) & 63;
|
j = context->count & 63;
|
||||||
context->count += len << 3;
|
context->count += len;
|
||||||
if ((j + len) > 63) {
|
if ((j + len) > 63) {
|
||||||
memcpy(&context->buffer[j], data, (i = 64-j));
|
memcpy(&context->buffer[j], data, (i = 64-j));
|
||||||
transform(context->state, context->buffer);
|
transform(context->state, context->buffer);
|
||||||
|
@ -88,10 +88,10 @@ void av_sha1_update(AVSHA1* context, uint8_t* data, unsigned int len){
|
||||||
|
|
||||||
void av_sha1_final(AVSHA1* context, uint8_t digest[20]){
|
void av_sha1_final(AVSHA1* context, uint8_t digest[20]){
|
||||||
int i;
|
int i;
|
||||||
uint64_t finalcount= be2me_64(context->count);
|
uint64_t finalcount= be2me_64(context->count<<3);
|
||||||
|
|
||||||
av_sha1_update(context, "\200", 1);
|
av_sha1_update(context, "\200", 1);
|
||||||
while ((context->count & 504) != 448) {
|
while ((context->count & 63) != 56) {
|
||||||
av_sha1_update(context, "\0", 1);
|
av_sha1_update(context, "\0", 1);
|
||||||
}
|
}
|
||||||
av_sha1_update(context, &finalcount, 8); /* Should cause a transform() */
|
av_sha1_update(context, &finalcount, 8); /* Should cause a transform() */
|
||||||
|
|
Loading…
Reference in New Issue