Re: [FFmpeg-devel] [RFC][PATCH] web: News about FFmpeg in Debian
On Sun, Oct 05, 2014 at 09:19:34PM -0400, compn wrote: > On Sun, 05 Oct 2014 21:55:51 -0300 > James Almer wrote: > > > On 05/10/14 9:47 PM, compn wrote: > > > On Sun, 5 Oct 2014 22:58:34 +0200 > > > Alexander Strasser wrote: > > >> This is all RFC as marked in the subject. Please give me some > > >> feed back! > > > > > > could someone please add a note about the deprecated message. > > > > > > something like: > > > > > > users on debian and ubuntu may have seen this message when using > > > ffmpeg "*** THIS PROGRAM IS DEPRECATED *** > > > This program is only provided for compatibility and will be > > > removed in a future release. Please use avconv instead." > > > > > > this message was in the libav.org version of the ffmpeg program. > > > this message has confused many users and caused us a lot of user > > > support issues. if you see this message it means you are using > > > libav.org's ffmpeg and not our ffmpeg. please use "apt-get install > > > ffmpeg" to use the correct ffmpeg program. > > > > > > > Wasn't this fixed by now, anyway? Afaik it was only on libav 0.8 > > i havent checked, but i dont think the new message is any more helpful? > [...] commit 554fd5cd630073b8273aa044a6bdfd6f608209e9 Author: Diego Biurrun Date: Wed Aug 20 10:50:33 2014 -0700 ffmpeg: Clarify wording of ffmpeg --> avconv deprecation message diff --git a/ffmpeg.c b/ffmpeg.c index f61de33..1069c3e 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -4376,9 +4376,11 @@ int main(int argc, char **argv) show_banner(); -av_log(NULL, AV_LOG_WARNING, "This program is not developed anymore and is only " - "provided for compatibility. Use avconv instead " - "(see Changelog for the list of incompatible changes).\n"); +av_log(NULL, AV_LOG_WARNING, + "The ffmpeg program is only provided for script compatibility and will be removed\n" + "in a future release. It has been deprecated in the Libav project to allow for\n" + "incompatible command line syntax improvements in its replacement called avconv\n" + "(see Changelog for details). Please use avconv instead.\n"); /* parse options */ parse_options(NULL, argc, argv, options, opt_output_file); The new message is OK in my opinion. The "deprecated in the Libav project" is the important point, as it suggests it is very specific to that project. I don't know if it's been released already though. Anyway, I don't think it's relevant to talk about that in that news. Let's just move on. Libav fixed the message, it's cool, but it has nothing to do with FFmpeg getting into Debian. -- Clément B. pgp3fBAy_3mOg.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 02/14] libavcodec: Implementation of AAC_fixed_decoder (LC-module) [2/5]
Hi and sorry for such a late response. It looks that I misplaced this mail... > From: Djordje Pesut >> >> Add float emulation >> >> Signed-off-by: Nedeljko Babic >> --- >> libavcodec/float_emu.h | 295 >> + >> libavcodec/float_emu_tab.c | 293 >> >> 2 files changed, 588 insertions(+) >> create mode 100644 libavcodec/float_emu.h >> create mode 100644 libavcodec/float_emu_tab.c > >theres libavutil/softfloat > >I dont see why this should be re implemented in each decoder >If you can improve softfloat, please do > >[...] > If I am not mistaking, there is one (possibly two) more implementations of float emulation besides softfloat in ffmpeg (dca encoder and lagarith decoder), but I do agree that it is more maintainable to have one float emulation and I am willing to integrate our emulation in softfloat. However, there is a difference in some conventions used (for example is it more important to represent exactly 0.5 or 1, order of fields in struct that represents emulated float, etc.) and our aac implementation is tailored to use our float emulation. Could I assume that in such cases I can change convention that is used in softfloat with convection that we use, since I don't see that softfloat is used anywhere in ffmpeg currently? That way we could integrate our code without need to change aac implementation and without need for changes in parts of float emulation that are not supported in softfloat currently (sqrt and sincos). Also, there is a question that Reimar initiated in his review of whether it's more important to optimize the case where an operand is 0 or to reduce the number of branches. We have optimized cases when operands are zero for some operations. Should I include this in softfloat, or should this kind of optimizations be left for architecture/codec specific optimizations? >> +typedef struct aac_float_t { >> +int mant; >> +int expo; >> +} aac_float_t; > >float "emulation" isnt aac specific and *_t are reserved in POSIX >IIRC > This float emulation was sent as part of implementation of aac fixed point decoder. It is currently used only here and we did not know if/when it will be used in any other codec. On the other hand, I do agree that it is not aac specific and it will be renamed in the new patch (when we integrate it with softfloat). > >[...] >> diff --git a/libavcodec/float_emu_tab.c b/libavcodec/float_emu_tab.c >> new file mode 100644 >> index 000..396a7a3 >> --- /dev/null >> +++ b/libavcodec/float_emu_tab.c >> @@ -0,0 +1,293 @@ >> +/* >> + * Copyright (c) 2012 >> + * MIPS Technologies, Inc., California. >> + * >> + * Redistribution and use in source and binary forms, with or without >> + * modification, are permitted provided that the following conditions >> + * are met: >> + * 1. Redistributions of source code must retain the above copyright >> + *notice, this list of conditions and the following disclaimer. >> + * 2. Redistributions in binary form must reproduce the above copyright >> + *notice, this list of conditions and the following disclaimer in the >> + *documentation and/or other materials provided with the distribution. >> + * 3. Neither the name of the MIPS Technologies, Inc., nor the names of is >> + *contributors may be used to endorse or promote products derived from >> + *this software without specific prior written permission. >> + * >> + * THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND >> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >> PURPOSE >> + * ARE DISCLAIMED. IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE >> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >> CONSEQUENTIAL >> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS >> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) >> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, >> STRICT >> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY >> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF >> + * SUCH DAMAGE. >> + * >> + * Author: Stanislav Ocovaj (stanislav.ocovaj imgtec com) >> + * >> + * 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 r
[FFmpeg-devel] [PATCH] avfilter: add w/h parameters in timeline
Fixes Ticket #4008. --- libavfilter/avfilter.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 7b11467..3805912 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -381,8 +381,23 @@ int ff_poll_frame(AVFilterLink *link) return min; } -static const char *const var_names[] = { "t", "n", "pos",NULL }; -enum { VAR_T, VAR_N, VAR_POS, VAR_VARS_NB }; +static const char *const var_names[] = { +"t", +"n", +"pos", +"w", +"h", +NULL +}; + +enum { +VAR_T, +VAR_N, +VAR_POS, +VAR_W, +VAR_H, +VAR_VARS_NB +}; static int set_enable_expr(AVFilterContext *ctx, const char *expr) { @@ -1071,6 +1086,8 @@ static int ff_filter_frame_framed(AVFilterLink *link, AVFrame *frame) int64_t pos = av_frame_get_pkt_pos(out); dstctx->var_values[VAR_N] = link->frame_count; dstctx->var_values[VAR_T] = pts == AV_NOPTS_VALUE ? NAN : pts * av_q2d(link->time_base); +dstctx->var_values[VAR_W] = link->w; +dstctx->var_values[VAR_H] = link->h; dstctx->var_values[VAR_POS] = pos == -1 ? NAN : pos; dstctx->is_disabled = fabs(av_expr_eval(dstctx->enable, dstctx->var_values, NULL)) < 0.5; -- 2.1.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] ffmpeg.texi examples: output opt -r -> -framerate
Novice users reading the documentation would expect the behaviour of -framerate, not -r when 'creating a video from many images' or 'force the frame rate of the output' --- doc/ffmpeg.texi | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 4fc7682..059ae3e 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -58,14 +58,14 @@ ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi @item To force the frame rate of the output file to 24 fps: @example -ffmpeg -i input.avi -r 24 output.avi +ffmpeg -i input.avi -framerate 24 output.avi @end example @item To force the frame rate of the input file (valid for raw formats only) to 1 fps and the frame rate of the output file to 24 fps: @example -ffmpeg -r 1 -i input.m2v -r 24 output.avi +ffmpeg -r 1 -i input.m2v -framerate 24 output.avi @end example @end itemize @@ -1436,7 +1436,7 @@ combination with -ss to start extracting from a certain point in time. For creating a video from many images: @example -ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi +ffmpeg -f image2 -i foo-%03d.jpeg -framerate 12 -s WxH foo.avi @end example The syntax @code{foo-%03d.jpeg} specifies to use a decimal number @@ -1451,7 +1451,7 @@ image2-specific @code{-pattern_type glob} option. For example, for creating a video from filenames matching the glob pattern @code{foo-*.jpeg}: @example -ffmpeg -f image2 -pattern_type glob -i 'foo-*.jpeg' -r 12 -s WxH foo.avi +ffmpeg -f image2 -pattern_type glob -i 'foo-*.jpeg' -framerate 12 -s WxH foo.avi @end example @item -- 2.1.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] ffmpeg.texi examples: output opt -r -> -framerate
Ben Price gmail.com> writes: > -ffmpeg -i input.avi -r 24 output.avi > +ffmpeg -i input.avi -framerate 24 output.avi I didn't really test but I don't think this is correct: As said on irc, there is an INPUT option -r that is different from the INPUT option -framerate but I wonder if there is an output option framerate at all. Could you explain how I can reproduce the issue you see? Carl Eugen ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC][PATCH] web: News about FFmpeg in Debian
On Mon, 6 Oct 2014 09:24:45 +0200 Clément Bœsch wrote: > Anyway, I don't think it's relevant to talk about that in that news. > Let's just move on. Libav fixed the message, it's cool, but it has > nothing to do with FFmpeg getting into Debian. i brought it up because its debian (and ubuntu) users who saw the message. because after searching for it in google, theres lots of people explaining the deprecation message to each other and saying how 'they couldnt find anything about this on ffmpeg.org'. if you dont think it belongs there, i wont push the issue further. -compn ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC][PATCH] web: News about FFmpeg in Debian
On 06.10.2014 14:05, compn wrote: On Mon, 6 Oct 2014 09:24:45 +0200 Clément Bœsch wrote: Anyway, I don't think it's relevant to talk about that in that news. Let's just move on. Libav fixed the message, it's cool, but it has nothing to do with FFmpeg getting into Debian. i brought it up because its debian (and ubuntu) users who saw the message. because after searching for it in google, theres lots of people explaining the deprecation message to each other and saying how 'they couldnt find anything about this on ffmpeg.org'. if you dont think it belongs there, i wont push the issue further. Maybe put it in the FAQ (http://ffmpeg.org/faq.html) instead? ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] FFmpeg IRC meeting October 4th 2014, UTC 16
On date Saturday 2014-10-04 17:45:32 +0200, Stefano Sabatini encoded: [...] > The meeting will happen in a few minutes, 16 UTC, on the freenode IRC > channel #ffmpeg-meeting. Please join if interested. > > Topics of the day: > http://trac.ffmpeg.org/wiki/FFmeeting/2014-10 Full log published in this page of the wiki: http://trac.ffmpeg.org/wiki/FFmeeting/2014-10 Next meeting should be scheduled in about 6 months unless there is an urgent need for it before that period. Thanks all for your participation. -- FFmpeg = Fast and Faithless Most Portentous Ecumenical Generator ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add w/h parameters in timeline
On date Monday 2014-10-06 13:11:03 +0200, Clément Bœsch encoded: > Fixes Ticket #4008. > --- > libavfilter/avfilter.c | 21 +++-- > 1 file changed, 19 insertions(+), 2 deletions(-) Missing docs updates, and micro bump. > > diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c > index 7b11467..3805912 100644 > --- a/libavfilter/avfilter.c > +++ b/libavfilter/avfilter.c > @@ -381,8 +381,23 @@ int ff_poll_frame(AVFilterLink *link) > return min; > } > > -static const char *const var_names[] = { "t", "n", "pos",NULL > }; > -enum { VAR_T, VAR_N, VAR_POS, VAR_VARS_NB > }; > +static const char *const var_names[] = { > +"t", > +"n", > +"pos", > +"w", > +"h", > +NULL > +}; > + > +enum { > +VAR_T, > +VAR_N, > +VAR_POS, > +VAR_W, > +VAR_H, > +VAR_VARS_NB > +}; > > static int set_enable_expr(AVFilterContext *ctx, const char *expr) > { > @@ -1071,6 +1086,8 @@ static int ff_filter_frame_framed(AVFilterLink *link, > AVFrame *frame) > int64_t pos = av_frame_get_pkt_pos(out); > dstctx->var_values[VAR_N] = link->frame_count; > dstctx->var_values[VAR_T] = pts == AV_NOPTS_VALUE ? NAN : pts * > av_q2d(link->time_base); > +dstctx->var_values[VAR_W] = link->w; > +dstctx->var_values[VAR_H] = link->h; > dstctx->var_values[VAR_POS] = pos == -1 ? NAN : pos; > > dstctx->is_disabled = fabs(av_expr_eval(dstctx->enable, > dstctx->var_values, NULL)) < 0.5; > -- LGTM otherwise, thanks. -- FFmpeg = Freak and Friendly Mortal Ponderous Extravagant Gospel ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] ffmpeg.texi examples: output opt -r -> -framerate
On Mon, Oct 06, 2014 at 11:29:56AM +, Carl Eugen Hoyos wrote: > Ben Price gmail.com> writes: > > > -ffmpeg -i input.avi -r 24 output.avi > > +ffmpeg -i input.avi -framerate 24 output.avi > > I didn't really test but I don't think this is > correct: As said on irc, there is an INPUT option > -r that is different from the INPUT option > -framerate but I wonder if there is an output > option framerate at all. > > Could you explain how I can reproduce the issue > you see? Oh, wait, I think I'm wrong on all this. The output framerate actually isn't set to 24 for the second. It appears that I don't actually understand this very well. Please ignore this, sorry for the noise. Perhaps having (from man ffmpeg-all, image2) > ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv instead of (from man ffmpeg, examples) > ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi or a mixture (both -framerate input, and -r output) would be good in the ffmpeg(1) page examples, to stop others just reading that and getting in a mess as I did. I could do the patch if you think it's a good idea. Ben ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v2] avformat/mxfdec: read reel_name and source timecode from physical source package
On Sat, 2014-10-04 at 17:42 -0700, Mark Reid wrote: > --- > libavformat/mxfdec.c | 120 > ++- > 1 file changed, 99 insertions(+), 21 deletions(-) > > diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c > index 7a4633f..ef4c4ec 100644 > --- a/libavformat/mxfdec.c > +++ b/libavformat/mxfdec.c Looks OK.. /Tomas signature.asc Description: This is a digitally signed message part ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC][PATCH] web: News about FFmpeg in Debian
On 2014-10-06 01:35 +, Carl Eugen Hoyos wrote: > Timothy Gu gmail.com> writes: > > > The bad news is that the package probably won't migrate to Debian > > testing in time for the upcoming release "Jessie". The Debian release > > and security teams have made this decision because of concerns of > > security and stability with interactions with other Debian packages. > > I am mildly against this wording: > Iirc, the security team said that they consider FFmpeg slightly > better in security issues but would still prefer avconv and I > am not sure anybody from the release team ever commented. I am against that wording too. The problem with Timothy's wording is it contains way to much interpretation! My wording only had "unfortunately" and "bad" because FFmpeg will very likely not be part of the next Debian release; which I think is fair enough. The *important* part in my version is that I encourage people to read the discussion and directly give them a means to do so by providing a link the relevant bug on the Debian bug tracker. TL;DR I really think it is important people read the original discussion at Debian and build up their own opinions about what was said and done. > Perhaps we should just omit the "bad news" paragraph. I am obviously against that. I have locally changed all other things requested by Timothy and Carl Eugen. I do not think the Libav deprecation message should be part of this news article. Probably putting it in the FAQ/other place on the homepage or writing another news article would be helpful. Though I am not volunteering for that ATM. I will wait another day or two. So if you do have objections voice them soon please. Thank you all for the feedback so far, Alexander pgpoZMebEJ0GI.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v2] avformat/mxfdec: read reel_name and source timecode from physical source package
On Mon, Oct 06, 2014 at 11:17:21PM +0200, Tomas Härdin wrote: > On Sat, 2014-10-04 at 17:42 -0700, Mark Reid wrote: > > --- > > libavformat/mxfdec.c | 120 > > ++- > > 1 file changed, 99 insertions(+), 21 deletions(-) > > > > diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c > > index 7a4633f..ef4c4ec 100644 > > --- a/libavformat/mxfdec.c > > +++ b/libavformat/mxfdec.c > > > Looks OK.. applied thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The worst form of inequality is to try to make unequal things equal. -- Aristotle signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [OPW 201412] Please help track ongoing qualification tasks
Hi everyone Also linked from our landing page, you will find qualification tasks been tracked here: https://trac.ffmpeg.org/wiki/SponsoringPrograms/OPW/2014-12-Qualis Please help updating that. If you already helped an applicant selecting a suitable qualification tasks, then you are "qualification mentor" for it. [bikesheding alert] Complexity index We will need a way to measure the applicant's performance against some kind of common complexity index. Quite humorously and naive, I stabbed there a mmh unit, meaning "Median Michael Hours", or, how many days would it take Michael to come up with a proper fix for the task at hand. Pretty sure those who aren't laughing at this already will have a better idea for a complexity index. If so, please discuss on a separate thread and we can change it once something less LOLable has been choosen. Oh, almost forgot, it's the Qualification Mentor's task to suggest that number, Guess Michael can have a run at them latter and correct any wrongs. Please do reserve some time to keep the table updated. Thanks for all your help ppl! Bests, -- Reynaldo H. Verdejo Pinochet Open Source Group Samsung Research America / Silicon Valley ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [RFC] Direct Stream Transfer (DST) decoder
Thanks for the review (also thanks compn). I will address all your comments -- some further questions below: On Tue, Sep 30, 2014 at 09:00:12PM +0200, Reimar Döffinger wrote: > On Tue, Sep 30, 2014 at 11:42:20PM +1000, Peter Ross wrote: > > +/** > > + * Calculate FS44 ratio > > + */ > > +#define DSD_FS44(sample_rate) (sample_rate / 44100) > > + > > +/** > > + * Calculate DST frame size > > + * @return samples per frame (1-bit samples) > > + */ > > +#define DST_SAMPLES_PER_FRAME(sample_rate) (588 * DSD_FS44(sample_rate)) > > A header for just these seems a bit overkill. > Also I'd prefer static inline functions over macros when there is no > reason to use macros. Agree. These are used by the DSDIFF/DST demuxer (and my experimental DST encoder.) > > +for (k = 0; k < 256; k++) { > > +int v = 0; > > +for (l = 0; l < total; l++) > > +v += (((k >> l) & 1) * 2 - 1) * fsets->coeff[i][j * 8 > > + l]; > > Is this faster in a relevant way than something more readable like > coeff = fsets->coeff[i][j * 8 + l]; > v += k & (1 << l) ? coeff : -coeff; > ? Faster! > > +unsigned int half_prob[DST_MAX_CHANNELS]; > > +unsigned int map_ch_to_felem[DST_MAX_CHANNELS]; > > +unsigned int map_ch_to_pelem[DST_MAX_CHANNELS]; > > +DECLARE_ALIGNED(16, uint8_t, status)[DST_MAX_CHANNELS][16]; > > +DECLARE_ALIGNED(16, int16_t, filter)[DST_MAX_ELEMENTS][16][256]; > > At least the last one is quite large I think. Other structures (not shown above) are also large, so I have moved these into the context. > Please consider putting it in the context or so instead. > That's also less problematic with alignment. The 'filter' array is ~100 kilobytes ((6ch x 2) x 16 x 256 x sizeof(int16_t)). It is a lookup table, and is used _a lot_. When I move this into the context struct, decoder performance drops 15%. What is a reasonable size for on-stack variables? > > +if ((ret = init_get_bits8(&gb, avpkt->data, avpkt->size)) < 0) > > +if ((ret = read_map(&gb, &fsets, map_ch_to_felem, avctx->channels)) < > > 0) > > +if ((ret = read_map(&gb, &probs, map_ch_to_pelem, > > avctx->channels)) < 0) > > I still think putting assignments into an if is really bad idea all > around. No exception for simple error return codes? I will post the updated decoder soon, along with AV_SAMPLE_FMT_DSD patches :) -- Peter (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B) signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel