The documentation for CODEC_CAP_PARSE_ONLY and AVCodecContext.parse_only
indicates that they are utilized through avcodec_parse_frame(), which was
never actually implemented.
Its functionality was removed several years ago, so it doesn't do anything.
AVCodecContext.frame_number could serve the same purpose if someone
wants to debug the frame count.
On frame decoding failure, return an error if the frame is the same size as
the whole packet, otherwise just log an error message and return the number
of bytes consumed.
Some parameters passed to the av_dlog can be either float or int, depending on
the mode the file is being compiled as. Cast those parameters to float and use
appropriate conversion specifiers.
This merges the float and fixed-point versions of the compute_antialias
function, fixes invalid array indexing, and eliminates a dead copy of
csa_table.
Signed-off-by: Mans Rullgard <mans@mansr.com>
These structs are only used in mpegaudiodec.c, so move them there
and remove no longer needed #include lines from mpegaudio.h.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This separation allows these functions to be used in a cleaner
fashion from other codecs (e.g. qdm2) and simplifies creating
optimised versions of them.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This adds a _fixed suffix to the fixed-point versions of things
with both float and fixed-point variants. This makes it more
consistent with other dual-implementation things, e.g. fft.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This builds the float and fixed-point versions of dct32 separately
instead of #including the file in dct.c and mpegaudiodec.c.
Signed-off-by: Mans Rullgard <mans@mansr.com>
These macros are no longer needed after the s32 output was removed.
Change the relevant code to use av_clip_int16() instead of using
explicit limits.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The low quality mode is off by default and never tested. The high
quality mode is also plenty fast enough.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Also put compute_antialias_integer() under !CONFIG_FLOAT and change
forward declarations to declare only the relevant one of these.
Fixes warnings about unused functions and pointer type mismatches.
Originally committed as revision 23950 to svn://svn.ffmpeg.org/ffmpeg/trunk
The mmx code is floating-point only, and this function does not know
from which decoder it is called. Without this change, the integer
decoder only "works" because the size of the context struct is smaller
in this case, and the mmx init function writes the function pointer
outside the allocated context.
Fixes issue 2054.
Originally committed as revision 23949 to svn://svn.ffmpeg.org/ffmpeg/trunk