[FFmpeg-devel] [PATCH] Add SHA-2

Michael Niedermayer michaelni
Wed Jul 8 20:43:43 CEST 2009


On Wed, Jul 08, 2009 at 06:50:10PM +0300, Kostya wrote:
> On Wed, Jul 08, 2009 at 05:25:24PM +0200, Michael Niedermayer wrote:
> > On Wed, Jul 08, 2009 at 07:44:31AM +0300, Kostya wrote:
> > > I intend to at least try pushing RTMP client before continuing work on
> > > it, and SHA-2 is used there. That's why this patch is appearing again.
> > > 
> > > Note: files are renamed to sha.h and sha.c since they will contain code
> > > for both SHA-1 and SHA-2. Same for functions inside.
> > 
> [...]
> > > Index: libavutil/avutil.h
> > > ===================================================================
> > > --- libavutil/avutil.h	(revision 19141)
> > > +++ libavutil/avutil.h	(working copy)
> > > @@ -35,7 +35,7 @@
> > >  #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
> > >  
> > >  #define LIBAVUTIL_VERSION_MAJOR 50
> > > -#define LIBAVUTIL_VERSION_MINOR  3
> > > +#define LIBAVUTIL_VERSION_MINOR  4
> > >  #define LIBAVUTIL_VERSION_MICRO  0
> > >  
> > >  #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
> > 
> > you cannot rename public headers (without a major version bump)
> > but iam not in favor of bumping now ...
> 
> First, this is unused inside FFmpeg (and Google code search shows only two
> projects which use it).
> Second, I'm pretty sure that there's no good time to bump major version.
> 
> Any suggestions on how to get the code in and/or justify major version bump are
> welcome.

if you really insist then rename the header, it just breaks compilation in a
fixable way not runtime. But iam not ok with any ABI breaks


[...]
> > > @@ -43,9 +49,8 @@
> > >  #define R3(v,w,x,y,z,i) z += (((w|x)&y)|(w&x)) + blk (i) + 0x8F1BBCDC + rol(v, 5); w = rol(w, 30);
> > >  #define R4(v,w,x,y,z,i) z += ( w^x     ^y)     + blk (i) + 0xCA62C1D6 + rol(v, 5); w = rol(w, 30);
> > >  
> > > -/* Hash a single 512-bit block. This is the core of the algorithm. */
> > >  
> > 
> > 
> > > -static void transform(uint32_t state[5], const uint8_t buffer[64])
> > > +static void sha1_transform(uint32_t *state, const uint8_t buffer[64])
> > >  {
> > >      uint32_t block[80];
> > >      unsigned int i, a, b, c, d, e;
> > 
> > probably belongs to the sha/sha1 rename
>  
> I think this one can be changed any time.

of course


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090708/6b0966ee/attachment.pgp>



More information about the ffmpeg-devel mailing list