On Wed, Sep 21, 2011 at 03:42:38AM +0200, Maxim wrote:
> 
> Yes, it's no mistake! What you see is just another code implementing
> ProRes decoder.
> 
> Now I'm going to explain that confusion.
> Writing a ProRes compatible decoder began as team project in 2010.
> During this period, I created an internal documentation on the coding
> algorithm (entropy coding, slicing and inverse transform); a part of
> this doc has been published at
> 
> http://wiki.multimedia.cx/index.php?title=Apple_ProRes&action=history
> 
> already in 2010 (see my nickname "Maxpol" for a proof), but not to much
> to avoid an implementation by someone else.
> 
> Later I wrote a working decoder. Due to the lack for interlaced frames
> it was incomplete, but it could handle the most of samples available.
> 
> Further I shared my docs and code with another developer, whose name I
> don't want to mention here. He wrote his own code, heavily based on my work.
> 
> The team suffered from poor communication and political intrigues...
> 
> A few days ago that other developer has submitted his decoder
> anonymously. I feel that the code, containing a significant part of my
> work, was released without proper credit.

It seems some people should not be trusted.

> My code may be of particular interest because of:
> - compatible license (LGPL)
> - a full description of the codec (especially its headers and encoding
> algorithms) I'm going to make publicitly available soon
> - maintainership by a real person instead of an anonymous one
> 
> Therefore I let you, crews, to make a final decision about all that...

I will send a proper git patch with some cleanup in a moment.

> /*
>  * Apple ProRes compatible decoder
>  *
>  * Copyright (c) 2010-2011 Maxim Poliakovski
>  *
>  * This file is part of FFmpeg.
>  *
>  * FFmpeg is free software; you can redistribute it and/or
>  * modify it under the terms of the GNU Lesser General Public
>  * License as published by the Free Software Foundation; either
>  * version 2.1 of the License, or (at your option) any later version.
>  *
>  * FFmpeg is distributed in the hope that it will be useful,
>  * but WITHOUT ANY WARRANTY; without even the implied warranty of
>  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>  * Lesser General Public License for more details.
>  *
>  * You should have received a copy of the GNU Lesser General Public
>  * License along with FFmpeg; if not, write to the Free Software
>  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
> USA
>  */

This is Libav now ;)

> /**
>  * @file libavcodec/proresdec.c

Drop the filename.

>  * This is a decoder for Apple ProRes 422 SD/HQ/LT/Proxy and ProRes 4444.
>  * It is used for storing and editing high definition video data in Apple's 
> Final Cut Pro.
>  * For a detailed description click here: 
> http://wiki.multimedia.cx/index.php?title=Apple_ProRes

@see

> #define       BITS_PER_SAMPLE 10 ///< output precision of that decoder
> #define BIAS (1 << (BITS_PER_SAMPLE - 1)) ///< bias value for converting 
> signed pixels into unsigned ones
> #define CLIP_MIN (1 << (BITS_PER_SAMPLE - 8)) ///< minimum value for clipping 
> resulting pixels
> #define CLIP_MAX (1 << BITS_PER_SAMPLE) - CLIP_MIN - 1 ///< maximum value for 
> clipping resulting pixels

This could look nicer aligned, more below

> /**
>  *  Decode a slice.
>  */
> static int decode_slice(ProresContext * ctx, int pic_num, int slice_num,
>                         int mb_x_pos, int mb_y_pos, int mbs_per_slice,
>                         AVCodecContext * avctx)

That comment does not really add information, more below.

> static av_cold int decode_close(AVCodecContext * avctx)

Here and in other places: *avctx

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to